diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 09c3b2a4c26a85..df11b24c9b0edb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -171,6 +171,9 @@ /src/permission/* @nodejs/security-wg /test/parallel/test-permission-* @nodejs/security-wg +# Security Release +/doc/contributing/security-release-process.md @nodejs/security-stewards + # Dependency Update Tools /.github/workflows/tools.yml @nodejs/security-wg diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 33aaa6304fee00..b9770e23a2e353 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,7 +8,7 @@ updates: interval: monthly commit-message: prefix: meta - open-pull-requests-limit: 10 + open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}} - package-ecosystem: npm directory: /tools/eslint @@ -16,7 +16,7 @@ updates: interval: monthly commit-message: prefix: tools - open-pull-requests-limit: 10 + open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}} groups: eslint: applies-to: version-updates @@ -29,7 +29,7 @@ updates: interval: monthly commit-message: prefix: tools - open-pull-requests-limit: 10 + open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}} groups: lint-md: applies-to: version-updates diff --git a/.github/workflows/build-tarball.yml b/.github/workflows/build-tarball.yml index 7d8b38a21f8831..2ed30ba0c6c568 100644 --- a/.github/workflows/build-tarball.yml +++ b/.github/workflows/build-tarball.yml @@ -105,4 +105,4 @@ jobs: - name: Test run: | cd $TAR_DIR - make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" + make run-ci -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml index 1977eda3f97e03..e88310dc414cab 100644 --- a/.github/workflows/coverage-linux-without-intl.yml +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -68,7 +68,7 @@ jobs: # TODO(bcoe): fix the couple tests that fail with the inspector enabled. # The cause is most likely coverage's use of the inspector. - name: Test - run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0 + run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0 - name: Report JS run: npx c8 report --check-coverage env: diff --git a/.github/workflows/coverage-linux.yml b/.github/workflows/coverage-linux.yml index 164c0b540a9f45..770205a317088c 100644 --- a/.github/workflows/coverage-linux.yml +++ b/.github/workflows/coverage-linux.yml @@ -68,7 +68,7 @@ jobs: # TODO(bcoe): fix the couple tests that fail with the inspector enabled. # The cause is most likely coverage's use of the inspector. - name: Test - run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=spec' --measure-flakiness 9" || exit 0 + run: NODE_V8_COVERAGE=coverage/tmp make test-cov -j4 V=1 TEST_CI_ARGS="-p dots --node-args='--test-reporter=./test/common/test-error-reporter.js' --measure-flakiness 9" || exit 0 - name: Report JS run: npx c8 report --check-coverage env: diff --git a/.github/workflows/create-release-proposal.yml b/.github/workflows/create-release-proposal.yml index f3add22090cbc0..0b580eab81ac76 100644 --- a/.github/workflows/create-release-proposal.yml +++ b/.github/workflows/create-release-proposal.yml @@ -61,7 +61,7 @@ jobs: - name: Set up ghauth config (Ubuntu) run: | mkdir -p "${XDG_CONFIG_HOME:-~/.config}/changelog-maker" - echo '{}' | jq '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json" + jq --null-input '{user: env.GITHUB_ACTOR, token: env.TOKEN}' > "${XDG_CONFIG_HOME:-~/.config}/changelog-maker/config.json" env: TOKEN: ${{ github.token }} @@ -73,9 +73,8 @@ jobs: - name: Start git node release prepare # The curl command is to make sure we run the version of the script corresponding to the current workflow. run: | - git update-index --assume-unchanged tools/actions/create-release.sh - curl -fsSLo tools/actions/create-release.sh https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release.sh - ./tools/actions/create-release.sh "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}" + curl -fsSL https://github.com/${GITHUB_REPOSITORY}/raw/${GITHUB_SHA}/tools/actions/create-release-proposal.sh |\ + sh -s -- "${RELEASE_DATE}" "${RELEASE_LINE}" "${GITHUB_ACTOR}" env: GH_TOKEN: ${{ github.token }} # We want the bot to push the push the release commit so CI runs on it. diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 5ab4277879ecb9..c86d0c5822f82f 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -40,4 +40,4 @@ jobs: name: docs path: out/doc - name: Test - run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" + run: NODE=$(command -v node) make test-doc-ci TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" diff --git a/.github/workflows/lint-release-proposal.yml b/.github/workflows/lint-release-proposal.yml index 1ea2b4b1b173e2..9d8ba5998a7a5c 100644 --- a/.github/workflows/lint-release-proposal.yml +++ b/.github/workflows/lint-release-proposal.yml @@ -19,6 +19,8 @@ permissions: jobs: lint-release-commit: runs-on: ubuntu-latest + permissions: + pull-requests: read steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: @@ -33,30 +35,43 @@ jobs: echo "COMMIT_SUBJECT=$COMMIT_SUBJECT" >> "$GITHUB_ENV" - name: Lint release commit message trailers run: | - EXPECTED_TRAILER="^PR-URL: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$" + EXPECTED_TRAILER="^$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/pull/[[:digit:]]+\$" echo "Expected trailer format: $EXPECTED_TRAILER" - ACTUAL="$(git --no-pager log -1 --format=%b | git interpret-trailers --parse --no-divider)" + PR_URL="$(git --no-pager log -1 --format='%(trailers:key=PR-URL,valueonly)')" echo "Actual: $ACTUAL" - echo "$ACTUAL" | grep -E -q "$EXPECTED_TRAILER" + echo "$PR_URL" | grep -E -q "$EXPECTED_TRAILER" - PR_URL="${ACTUAL:8}" PR_HEAD="$(gh pr view "$PR_URL" --json headRefOid -q .headRefOid)" echo "Head of $PR_URL: $PR_HEAD" echo "Current commit: $GITHUB_SHA" [ "$PR_HEAD" = "$GITHUB_SHA" ] env: GH_TOKEN: ${{ github.token }} + - name: Verify it's release-ready + run: | + SKIP_XZ=1 make release-only - name: Validate CHANGELOG id: releaser-info run: | EXPECTED_CHANGELOG_TITLE_INTRO="## $COMMIT_SUBJECT, @" echo "Expected CHANGELOG section title: $EXPECTED_CHANGELOG_TITLE_INTRO" - CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "doc/changelogs/CHANGELOG_V${COMMIT_SUBJECT:20:2}.md")" + MAJOR="$(awk '/^#define NODE_MAJOR_VERSION / { print $3 }' src/node_version.h)" + CHANGELOG_PATH="doc/changelogs/CHANGELOG_V${MAJOR}.md" + CHANGELOG_TITLE="$(grep "$EXPECTED_CHANGELOG_TITLE_INTRO" "$CHANGELOG_PATH")" echo "Actual: $CHANGELOG_TITLE" [ "${CHANGELOG_TITLE%%@*}@" = "$EXPECTED_CHANGELOG_TITLE_INTRO" ] - - name: Verify NODE_VERSION_IS_RELEASE bit is correctly set - run: | - grep -q '^#define NODE_VERSION_IS_RELEASE 1$' src/node_version.h - - name: Check for placeholders in documentation - run: | - ! grep "REPLACEME" doc/api/*.md + gh api \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + --jq '.commits.[] | { smallSha: .sha[0:10] } + (.commit.message|capture("^(?.+)\n\n(.*\n)*PR-URL: (?<prURL>.+)\n"))' \ + "/repos/${GITHUB_REPOSITORY}/compare/v${MAJOR}.x...$GITHUB_SHA" --paginate \ + | node tools/actions/lint-release-proposal-commit-list.mjs "$CHANGELOG_PATH" "$GITHUB_SHA" \ + | while IFS= read -r PR_URL; do + LABEL="dont-land-on-v${MAJOR}.x" gh pr view \ + --json labels,url \ + --jq 'if (.labels|map(.name==env.LABEL)|any) then error("\(.url) has the \(env.LABEL) label, forbidding it to be in this release proposal") end' \ + "$PR_URL" > /dev/null + done + shell: bash # See https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference, we want the pipefail option. + env: + GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/test-asan.yml b/.github/workflows/test-asan.yml index d918fa7d87300b..e579e9e2fd2275 100644 --- a/.github/workflows/test-asan.yml +++ b/.github/workflows/test-asan.yml @@ -63,4 +63,4 @@ jobs: - name: Build run: make build-ci -j4 V=1 - name: Test - run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9" + run: make run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9" diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml index bfe9885afb7b46..e899e12fdfdefe 100644 --- a/.github/workflows/test-linux.yml +++ b/.github/workflows/test-linux.yml @@ -54,7 +54,7 @@ jobs: - name: Build run: make -C node build-ci -j4 V=1 CONFIG_FLAGS="--error-on-warn" - name: Test - run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" + run: make -C node run-ci -j4 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" - name: Re-run test in a folder whose name contains unusual chars run: | mv node "$DIR" diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index f73c0b2e656751..94d0d1585bfc87 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -89,7 +89,7 @@ jobs: - name: Free Space After Build run: df -h - name: Test - run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" + run: make -C node run-ci -j$(getconf _NPROCESSORS_ONLN) V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' --measure-flakiness 9" - name: Re-run test in a folder whose name contains unusual chars run: | mv node "$DIR" diff --git a/.github/workflows/test-ubsan.yml b/.github/workflows/test-ubsan.yml index 9f33fa670b8231..3587e9d3125666 100644 --- a/.github/workflows/test-ubsan.yml +++ b/.github/workflows/test-ubsan.yml @@ -64,4 +64,4 @@ jobs: - name: Build run: make build-ci -j2 V=1 - name: Test - run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=spec' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9" + run: make run-ci -j2 V=1 TEST_CI_ARGS="-p actions --node-args='--test-reporter=./test/common/test-error-reporter.js' --node-args='--test-reporter-destination=stdout' -t 300 --measure-flakiness 9" diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index ea8aa33868fdf9..b768638d9d9cbd 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -22,7 +22,6 @@ on: - cjs-module-lexer - corepack - doc - - github_reporter - googletest - gyp-next - histogram @@ -135,14 +134,6 @@ jobs: npm install --ignore-scripts $NEW_VERSION npm install --ignore-scripts fi - - id: github_reporter - subsystem: tools - label: tools - run: | - ./tools/dep_updaters/update-github-reporter.sh > temp-output - cat temp-output - tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true - rm temp-output - id: googletest subsystem: deps label: dependencies, test @@ -293,6 +284,10 @@ jobs: tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true rm temp-output steps: + - name: Setup Git config + run: | + git config --global user.name "Node.js GitHub Bot" + git config --global user.email "github-bot@iojs.org" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id with: @@ -310,17 +305,15 @@ jobs: if: env.COMMIT_MSG == '' && (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id) run: | echo "COMMIT_MSG=${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}" >> "$GITHUB_ENV" - - uses: gr2m/create-or-update-pull-request-action@86ec1766034c8173518f61d2075cc2a173fb8c97 # v1.9.4 + - uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 if: github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id # Creates a PR or update the Action's existing PR, or # no-op if the base branch is already up-to-date. - env: - GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }} with: - author: Node.js GitHub Bot <github-bot@iojs.org> - body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}. + token: ${{ secrets.GH_USER_TOKEN }} branch: actions/tools-update-${{ matrix.id }} # Custom branch *just* for this Action. + delete-branch: true commit-message: ${{ env.COMMIT_MSG }} labels: ${{ matrix.label }} title: '${{ matrix.subsystem }}: update ${{ matrix.id }} to ${{ env.NEW_VERSION }}' - update-pull-request-title-and-body: true + body: This is an automated update of ${{ matrix.id }} to ${{ env.NEW_VERSION }}. diff --git a/BUILDING.md b/BUILDING.md index eab25373225045..c112104459dd13 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -241,7 +241,7 @@ Consult previous versions of this document for older versions of Node.js: Installation via Linux package manager can be achieved with: -* Ubuntu, Debian: `sudo apt-get install python3 g++ make python3-pip` +* Ubuntu, Debian: `sudo apt-get install python3 g++-12 gcc-12 make python3-pip` * Fedora: `sudo dnf install python3 gcc-c++ make python3-pip` * CentOS and RHEL: `sudo yum install python3 gcc-c++ make python3-pip` * OpenSUSE: `sudo zypper install python3 gcc-c++ make python3-pip` @@ -269,6 +269,7 @@ fail. To build Node.js: ```bash +export CXX=g++-12 ./configure make -j4 ``` diff --git a/CHANGELOG.md b/CHANGELOG.md index 02effa0e4d5af5..0c023987b5e6bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,8 @@ release. </tr> <tr> <td valign="top"> -<b><a href="doc/changelogs/CHANGELOG_V23.md#23.6.1">23.6.1</a></b><br/> +<b><a href="doc/changelogs/CHANGELOG_V23.md#23.7.0">23.7.0</a></b><br/> +<a href="doc/changelogs/CHANGELOG_V23.md#23.6.1">23.6.1</a><br/> <a href="doc/changelogs/CHANGELOG_V23.md#23.6.0">23.6.0</a><br/> <a href="doc/changelogs/CHANGELOG_V23.md#23.5.0">23.5.0</a><br/> <a href="doc/changelogs/CHANGELOG_V23.md#23.4.0">23.4.0</a><br/> diff --git a/LICENSE b/LICENSE index cedb4caec177f4..41585ea6c97d5a 100644 --- a/LICENSE +++ b/LICENSE @@ -2098,7 +2098,7 @@ The externally maintained libraries used by Node.js are: OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ -- inspector_protocol, located at tools/inspector_protocol, is licensed as follows: +- inspector_protocol, located at deps/inspector_protocol, is licensed as follows: """ // Copyright 2016 The Chromium Authors. All rights reserved. // diff --git a/Makefile b/Makefile index b043fdb2bb5389..419aa6c64f00f6 100644 --- a/Makefile +++ b/Makefile @@ -294,7 +294,6 @@ coverage-report-js: ## Report JavaScript coverage results. cctest: all ## Run the C++ tests using the built `cctest` executable. @out/$(BUILDTYPE)/$@ --gtest_filter=$(GTEST_FILTER) $(NODE) ./test/embedding/test-embedding.js - $(NODE) ./test/sqlite/test-sqlite-extensions.mjs .PHONY: list-gtests list-gtests: ## List all available C++ gtests. @@ -312,7 +311,7 @@ v8: ## Build deps/v8. tools/make-v8.sh $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS) .PHONY: jstest -jstest: build-addons build-js-native-api-tests build-node-api-tests ## Run addon tests and JS tests. +jstest: build-addons build-js-native-api-tests build-node-api-tests build-sqlite-tests ## Run addon tests and JS tests. $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) \ $(TEST_CI_ARGS) \ --skip-tests=$(CI_SKIP_TESTS) \ @@ -338,6 +337,7 @@ test: all ## Run default tests, linters, and build docs. $(MAKE) -s build-addons $(MAKE) -s build-js-native-api-tests $(MAKE) -s build-node-api-tests + $(MAKE) -s build-sqlite-tests $(MAKE) -s cctest $(MAKE) -s jstest @@ -346,6 +346,7 @@ test-only: all ## Run default tests, without linters or building the docs. $(MAKE) build-addons $(MAKE) build-js-native-api-tests $(MAKE) build-node-api-tests + $(MAKE) build-sqlite-tests $(MAKE) cctest $(MAKE) jstest $(MAKE) tooltest @@ -356,6 +357,7 @@ test-cov: all ## Run coverage tests. $(MAKE) build-addons $(MAKE) build-js-native-api-tests $(MAKE) build-node-api-tests + $(MAKE) build-sqlite-tests $(MAKE) cctest CI_SKIP_TESTS=$(COV_SKIP_TESTS) $(MAKE) jstest @@ -501,6 +503,23 @@ benchmark/napi/.buildstamp: $(ADDONS_PREREQS) \ $(BENCHMARK_NAPI_BINDING_GYPS) $(BENCHMARK_NAPI_BINDING_SOURCES) @$(call run_build_addons,"$$PWD/benchmark/napi",$@) +SQLITE_BINDING_GYPS := $(wildcard test/sqlite/*/binding.gyp) + +SQLITE_BINDING_SOURCES := \ + $(wildcard test/sqlite/*/*.c) + +# Implicitly depends on $(NODE_EXE), see the build-sqlite-tests rule for rationale. +test/sqlite/.buildstamp: $(ADDONS_PREREQS) \ + $(SQLITE_BINDING_GYPS) $(SQLITE_BINDING_SOURCES) + @$(call run_build_addons,"$$PWD/test/sqlite",$@) + +.PHONY: build-sqlite-tests +# .buildstamp needs $(NODE_EXE) but cannot depend on it +# directly because it calls make recursively. The parent make cannot know +# if the subprocess touched anything so it pessimistically assumes that +# .buildstamp is out of date and need a rebuild. +build-sqlite-tests: | $(NODE_EXE) test/sqlite/.buildstamp ## Build SQLite tests. + .PHONY: clear-stalled clear-stalled: ## Clear any stalled processes. $(info Clean up any leftover processes but don't error if found.) @@ -511,7 +530,7 @@ clear-stalled: ## Clear any stalled processes. fi .PHONY: test-build -test-build: | all build-addons build-js-native-api-tests build-node-api-tests ## Build all tests. +test-build: | all build-addons build-js-native-api-tests build-node-api-tests build-sqlite-tests ## Build all tests. .PHONY: test-build-js-native-api test-build-js-native-api: all build-js-native-api-tests ## Build JS Native-API tests. @@ -519,6 +538,10 @@ test-build-js-native-api: all build-js-native-api-tests ## Build JS Native-API t .PHONY: test-build-node-api test-build-node-api: all build-node-api-tests ## Build Node-API tests. +.PHONY: test-build-sqlite +test-build-sqlite: all build-sqlite-tests ## Build SQLite tests. + + .PHONY: test-all test-all: test-build ## Run default tests with both Debug and Release builds. $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=debug,release @@ -546,7 +569,7 @@ endif # Related CI job: node-test-commit-arm-fanned test-ci-native: LOGLEVEL := info ## Build and test addons without building anything else. -test-ci-native: | benchmark/napi/.buildstamp test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp +test-ci-native: | benchmark/napi/.buildstamp test/addons/.buildstamp test/js-native-api/.buildstamp test/node-api/.buildstamp test/sqlite/.buildstamp $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ $(TEST_CI_ARGS) $(CI_NATIVE_SUITES) @@ -569,13 +592,12 @@ test-ci-js: | clear-stalled ## Build and test JavaScript with building anything .PHONY: test-ci # Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned test-ci: LOGLEVEL := info ## Build and test everything (CI). -test-ci: | clear-stalled bench-addons-build build-addons build-js-native-api-tests build-node-api-tests doc-only +test-ci: | clear-stalled bench-addons-build build-addons build-js-native-api-tests build-node-api-tests build-sqlite-tests doc-only out/Release/cctest --gtest_output=xml:out/junit/cctest.xml $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ $(TEST_CI_ARGS) $(CI_JS_SUITES) $(CI_NATIVE_SUITES) $(CI_DOC) $(NODE) ./test/embedding/test-embedding.js - $(NODE) ./test/sqlite/test-sqlite-extensions.mjs $(info Clean up any leftover processes, error if found.) ps awwx | grep Release/node | grep -v grep | cat @PS_OUT=`ps awwx | grep Release/node | grep -v grep | awk '{print $$1}'`; \ @@ -609,6 +631,10 @@ test-debug: BUILDTYPE_LOWER=debug ## Run tests on a debug build. test-release test-debug: test-build ## Run tests on a release or debug build. $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) +.PHONY: test-test426 +test-test426: all ## Run the Web Platform Tests. + $(PYTHON) tools/test.py $(PARALLEL_ARGS) test426 + .PHONY: test-wpt test-wpt: all ## Run the Web Platform Tests. $(PYTHON) tools/test.py $(PARALLEL_ARGS) wpt @@ -677,6 +703,16 @@ test-node-api-clean: ## Remove Node-API testing artifacts. $(RM) -r test/node-api/*/build $(RM) test/node-api/.buildstamp +.PHONY: test-sqlite +test-sqlite: test-build-sqlite ## Run SQLite tests. + $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) sqlite + +.PHONY: test-sqlite-clean +.NOTPARALLEL: test-sqlite-clean +test-sqlite-clean: ## Remove SQLite testing artifacts. + $(RM) -r test/sqlite/*/build + $(RM) test/sqlite/.buildstamp + .PHONY: test-addons test-addons: test-build test-js-native-api test-node-api ## Run addon tests. $(PYTHON) tools/test.py $(PARALLEL_ARGS) --mode=$(BUILDTYPE_LOWER) addons @@ -1442,7 +1478,7 @@ LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \ test/cctest/*.h \ test/embedding/*.cc \ test/embedding/*.h \ - test/sqlite/*.c \ + test/sqlite/*/*.c \ test/fixtures/*.c \ test/js-native-api/*/*.cc \ test/node-api/*/*.cc \ @@ -1466,6 +1502,7 @@ FORMAT_CPP_FILES += $(wildcard \ test/js-native-api/*/*.h \ test/node-api/*/*.c \ test/node-api/*/*.h \ + test/sqlite/*/*.c \ ) # Code blocks don't have newline at the end, diff --git a/README.md b/README.md index 563e89a2807b9a..c66bc8a36231e0 100644 --- a/README.md +++ b/README.md @@ -197,8 +197,6 @@ For information about the governance of the Node.js project, see #### TSC regular members -* [apapirovski](https://github.com/apapirovski) - - **Anatoli Papirovski** <<apapirovski@mac.com>> (he/him) * [BethGriggs](https://github.com/BethGriggs) - **Beth Griggs** <<bethanyngriggs@gmail.com>> (she/her) * [bnoordhuis](https://github.com/bnoordhuis) - @@ -222,6 +220,8 @@ For information about the governance of the Node.js project, see * [addaleax](https://github.com/addaleax) - **Anna Henningsen** <<anna@addaleax.net>> (she/her) +* [apapirovski](https://github.com/apapirovski) - + **Anatoli Papirovski** <<apapirovski@mac.com>> (he/him) * [ChALkeR](https://github.com/ChALkeR) - **Сковорода Никита Андреевич** <<chalkerx@gmail.com>> (he/him) * [chrisdickinson](https://github.com/chrisdickinson) - @@ -291,8 +291,6 @@ For information about the governance of the Node.js project, see **Antoine du Hamel** <<duhamelantoine1995@gmail.com>> (he/him) - [Support me](https://github.com/sponsors/aduh95) * [anonrig](https://github.com/anonrig) - **Yagiz Nizipli** <<yagiz@nizipli.com>> (he/him) - [Support me](https://github.com/sponsors/anonrig) -* [apapirovski](https://github.com/apapirovski) - - **Anatoli Papirovski** <<apapirovski@mac.com>> (he/him) * [atlowChemi](https://github.com/atlowChemi) - **Chemi Atlow** <<chemi@atlow.co.il>> (he/him) * [Ayase-252](https://github.com/Ayase-252) - @@ -475,6 +473,8 @@ For information about the governance of the Node.js project, see **Anna M. Kedzierska** <<anna.m.kedzierska@gmail.com>> * [antsmartian](https://github.com/antsmartian) - **Anto Aravinth** <<anto.aravinth.cse@gmail.com>> (he/him) +* [apapirovski](https://github.com/apapirovski) - + **Anatoli Papirovski** <<apapirovski@mac.com>> (he/him) * [aqrln](https://github.com/aqrln) - **Alexey Orlenko** <<eaglexrlnk@gmail.com>> (he/him) * [AshCripps](https://github.com/AshCripps) - diff --git a/benchmark/es/error-stack.js b/benchmark/es/error-stack.js index 907f308ea41558..3b373dcdae63c8 100644 --- a/benchmark/es/error-stack.js +++ b/benchmark/es/error-stack.js @@ -2,13 +2,19 @@ const common = require('../common.js'); const modPath = require.resolve('../fixtures/simple-error-stack.js'); +const nodeModulePath = require.resolve('../fixtures/node_modules/error-stack/simple-error-stack.js'); +const Module = require('node:module'); const bench = common.createBenchmark(main, { - method: ['without-sourcemap', 'sourcemap'], + method: [ + 'without-sourcemap', + 'sourcemap', + 'node-modules-without-sourcemap', + 'node-module-sourcemap'], n: [1e5], }); -function runN(n) { +function runN(n, modPath) { delete require.cache[modPath]; const mod = require(modPath); bench.start(); @@ -22,11 +28,23 @@ function main({ n, method }) { switch (method) { case 'without-sourcemap': process.setSourceMapsEnabled(false); - runN(n); + runN(n, modPath); break; case 'sourcemap': process.setSourceMapsEnabled(true); - runN(n); + runN(n, modPath); + break; + case 'node-modules-without-sourcemap': + Module.setSourceMapsSupport(true, { + nodeModules: false, + }); + runN(n, nodeModulePath); + break; + case 'node-modules-sourcemap': + Module.setSourceMapsSupport(true, { + nodeModules: true, + }); + runN(n, nodeModulePath); break; default: throw new Error(`Unexpected method "${method}"`); diff --git a/benchmark/fixtures/node_modules/error-stack/simple-error-stack.js b/benchmark/fixtures/node_modules/error-stack/simple-error-stack.js new file mode 100644 index 00000000000000..33c3ad7f324d40 --- /dev/null +++ b/benchmark/fixtures/node_modules/error-stack/simple-error-stack.js @@ -0,0 +1,16 @@ +'use strict'; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.simpleErrorStack = simpleErrorStack; +// Compile with `tsc --inlineSourceMap benchmark/fixtures/node_modules/error-stack/simple-error-stack.ts`. +var lorem = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; +function simpleErrorStack() { + [1].map(function () { + try { + lorem.BANG(); + } + catch (e) { + return e.stack; + } + }); +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLWVycm9yLXN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2ltcGxlLWVycm9yLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFpQlgsNENBQWdCO0FBZmxCLGlGQUFpRjtBQUVqRixJQUFNLEtBQUssR0FBRywrYkFBK2IsQ0FBQztBQUU5YyxTQUFTLGdCQUFnQjtJQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNOLElBQUksQ0FBQztZQUNGLEtBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIn0= diff --git a/benchmark/fixtures/node_modules/error-stack/simple-error-stack.ts b/benchmark/fixtures/node_modules/error-stack/simple-error-stack.ts new file mode 100644 index 00000000000000..58d3d7eedd2f1b --- /dev/null +++ b/benchmark/fixtures/node_modules/error-stack/simple-error-stack.ts @@ -0,0 +1,19 @@ +'use strict'; + +// Compile with `tsc --inlineSourceMap benchmark/fixtures/node_modules/error-stack/simple-error-stack.ts`. + +const lorem = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; + +function simpleErrorStack() { + [1].map(() => { + try { + (lorem as any).BANG(); + } catch (e) { + return e.stack; + } + }) +} + +export { + simpleErrorStack, +}; diff --git a/benchmark/test_runner/run-single-test-file.js b/benchmark/test_runner/run-single-test-file.js new file mode 100644 index 00000000000000..00e95e088a223e --- /dev/null +++ b/benchmark/test_runner/run-single-test-file.js @@ -0,0 +1,62 @@ +'use strict'; +const common = require('../common'); + +const tmpdir = require('../../test/common/tmpdir'); +const { run } = require('node:test'); +const { writeFileSync, mkdirSync } = require('node:fs'); +const { join } = require('node:path'); + +const fixtureContent = "const test = require('node:test'); test('test has ran');"; + +function makeTestDirWithFiles(dirPath, count) { + mkdirSync(dirPath); + for (let i = 0; i < count; i++) { + writeFileSync(join(dirPath, `test-${i}.js`), fixtureContent); + } +} + +function getTestDirPath(numberOfTestFiles) { + return join(tmpdir.path, `${numberOfTestFiles}-tests`); +} + +function setup(numberOfTestFiles) { + tmpdir.refresh(); + const dirPath = getTestDirPath(numberOfTestFiles); + makeTestDirWithFiles(dirPath, numberOfTestFiles); +} + +/** + * This benchmark evaluates the overhead of running a single test file under different + * isolation modes. + * Specifically, it compares the performance of running tests in the + * same process versus creating multiple processes. + */ +const bench = common.createBenchmark(main, { + numberOfTestFiles: [1, 10, 100], + isolation: ['none', 'process'], +}, { + // We don't want to test the reporter here + flags: ['--test-reporter=./benchmark/fixtures/empty-test-reporter.js'], +}); + +async function runBenchmark({ numberOfTestFiles, isolation }) { + const dirPath = getTestDirPath(numberOfTestFiles); + const stream = run({ + cwd: dirPath, + isolation, + concurrency: false, // We don't want to run tests concurrently + }); + + // eslint-disable-next-line no-unused-vars + for await (const _ of stream); + + return numberOfTestFiles; +} + +function main(params) { + setup(params.numberOfTestFiles); + bench.start(); + runBenchmark(params).then(() => { + bench.end(1); + }); +} diff --git a/benchmark/util/style-text.js b/benchmark/util/style-text.js index 195907bba5c628..282a96150f0b94 100644 --- a/benchmark/util/style-text.js +++ b/benchmark/util/style-text.js @@ -3,14 +3,16 @@ const common = require('../common.js'); const { styleText } = require('node:util'); +const assert = require('node:assert'); const bench = common.createBenchmark(main, { messageType: ['string', 'number', 'boolean', 'invalid'], format: ['red', 'italic', 'invalid'], + validateStream: [1, 0], n: [1e3], }); -function main({ messageType, format, n }) { +function main({ messageType, format, validateStream, n }) { let str; switch (messageType) { case 'string': @@ -29,8 +31,10 @@ function main({ messageType, format, n }) { bench.start(); for (let i = 0; i < n; i++) { + let colored = ''; try { - styleText(format, str); + colored = styleText(format, str, { validateStream }); + assert.ok(colored); // Attempt to avoid dead-code elimination } catch { // eslint-disable no-empty } diff --git a/deps/amaro/dist/errors.js b/deps/amaro/dist/errors.js new file mode 100644 index 00000000000000..bf6711a4ab00d1 --- /dev/null +++ b/deps/amaro/dist/errors.js @@ -0,0 +1,17 @@ +"use strict"; +export function isSwcError(error) { + return error.code !== void 0; +} +export function wrapAndReThrowSwcError(error) { + switch (error.code) { + case "UnsupportedSyntax": { + const unsupportedSyntaxError = new Error(error.message); + unsupportedSyntaxError.name = "UnsupportedSyntaxError"; + throw unsupportedSyntaxError; + } + case "InvalidSyntax": + throw new SyntaxError(error.message); + default: + throw new Error(error.message); + } +} diff --git a/deps/amaro/dist/index.js b/deps/amaro/dist/index.js index 9ca8c78ce23f0f..b5a4bdea564f1c 100644 --- a/deps/amaro/dist/index.js +++ b/deps/amaro/dist/index.js @@ -38,21 +38,11 @@ var require_wasm = __commonJS({ imports["__wbindgen_placeholder__"] = module2.exports; var wasm; var { TextDecoder, TextEncoder } = require("util"); - var cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - cachedTextDecoder.decode(); - var cachedUint8ArrayMemory0 = null; - function getUint8ArrayMemory0() { - if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { - cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8ArrayMemory0; - } - function getStringFromWasm0(ptr, len) { - ptr = ptr >>> 0; - return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); - } var heap = new Array(128).fill(void 0); heap.push(void 0, null, true, false); + function getObject(idx) { + return heap[idx]; + } var heap_next = heap.length; function addHeapObject(obj) { if (heap_next === heap.length) heap.push(heap.length + 1); @@ -61,60 +51,32 @@ var require_wasm = __commonJS({ heap[idx] = obj; return idx; } - function getObject(idx) { - return heap[idx]; - } - var WASM_VECTOR_LEN = 0; - var cachedTextEncoder = new TextEncoder("utf-8"); - var encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } : function(arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; - }; - function passStringToWasm0(arg, malloc, realloc) { - if (realloc === void 0) { - const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length, 1) >>> 0; - getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr2; - } - let len = arg.length; - let ptr = malloc(len, 1) >>> 0; - const mem = getUint8ArrayMemory0(); - let offset = 0; - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 127) break; - mem[ptr + offset] = code; + function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_export_0(addHeapObject(e)); } - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; - const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - offset += ret.written; - ptr = realloc(ptr, len, offset, 1) >>> 0; + } + var cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); + cachedTextDecoder.decode(); + var cachedUint8ArrayMemory0 = null; + function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); } - WASM_VECTOR_LEN = offset; - return ptr; + return cachedUint8ArrayMemory0; } - function isLikeNone(x) { - return x === void 0 || x === null; + function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); } - var cachedDataViewMemory0 = null; - function getDataViewMemory0() { - if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) { - cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + function getCachedStringFromWasm0(ptr, len) { + if (ptr === 0) { + return getObject(len); + } else { + return getStringFromWasm0(ptr, len); } - return cachedDataViewMemory0; } function dropObject(idx) { if (idx < 132) return; @@ -126,6 +88,35 @@ var require_wasm = __commonJS({ dropObject(idx); return ret; } + function isLikeNone(x) { + return x === void 0 || x === null; + } + var CLOSURE_DTORS = typeof FinalizationRegistry === "undefined" ? { register: () => { + }, unregister: () => { + } } : new FinalizationRegistry((state) => { + wasm.__wbindgen_export_1.get(state.dtor)(state.a, state.b); + }); + function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_1.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; + } function debugString(val) { const type = typeof val; if (type == "number" || type == "boolean" || val == null) { @@ -164,7 +155,7 @@ var require_wasm = __commonJS({ } const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); let className; - if (builtInMatches.length > 1) { + if (builtInMatches && builtInMatches.length > 1) { className = builtInMatches[1]; } else { return toString.call(val); @@ -182,34 +173,54 @@ ${val.stack}`; } return className; } - var CLOSURE_DTORS = typeof FinalizationRegistry === "undefined" ? { register: () => { - }, unregister: () => { - } } : new FinalizationRegistry((state) => { - wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b); - }); - function makeMutClosure(arg0, arg1, dtor, f) { - const state = { a: arg0, b: arg1, cnt: 1, dtor }; - const real = (...args) => { - state.cnt++; - const a = state.a; - state.a = 0; - try { - return f(a, state.b, ...args); - } finally { - if (--state.cnt === 0) { - wasm.__wbindgen_export_2.get(state.dtor)(a, state.b); - CLOSURE_DTORS.unregister(state); - } else { - state.a = a; - } - } + var WASM_VECTOR_LEN = 0; + var cachedTextEncoder = new TextEncoder("utf-8"); + var encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) { + return cachedTextEncoder.encodeInto(arg, view); + } : function(arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length }; - real.original = state; - CLOSURE_DTORS.register(real, state, state); - return real; + }; + function passStringToWasm0(arg, malloc, realloc) { + if (realloc === void 0) { + const buf = cachedTextEncoder.encode(arg); + const ptr2 = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr2; + } + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + const mem = getUint8ArrayMemory0(); + let offset = 0; + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 127) break; + mem[ptr + offset] = code; + } + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + WASM_VECTOR_LEN = offset; + return ptr; } - function __wbg_adapter_38(arg0, arg1, arg2) { - wasm.__wbindgen_export_3(arg0, arg1, addHeapObject(arg2)); + var cachedDataViewMemory0 = null; + function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; } module2.exports.transform = function(input, options) { const ret = wasm.transform(addHeapObject(input), addHeapObject(options)); @@ -230,53 +241,69 @@ ${val.stack}`; wasm.__wbindgen_add_to_stack_pointer(16); } }; - function getCachedStringFromWasm0(ptr, len) { - if (ptr === 0) { - return getObject(len); - } else { - return getStringFromWasm0(ptr, len); - } - } - function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_export_4(addHeapObject(e)); - } + function __wbg_adapter_38(arg0, arg1, arg2) { + wasm.__wbindgen_export_4(arg0, arg1, addHeapObject(arg2)); } function __wbg_adapter_57(arg0, arg1, arg2, arg3) { wasm.__wbindgen_export_5(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); } - module2.exports.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); + module2.exports.__wbg_buffer_61b7ce01341d7f88 = function(arg0) { + const ret = getObject(arg0).buffer; return addHeapObject(ret); }; - module2.exports.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === "string" ? obj : void 0; - var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len1 = WASM_VECTOR_LEN; - getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); - getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + module2.exports.__wbg_call_500db948e69c7330 = function() { + return handleError(function(arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments); }; - module2.exports.__wbindgen_is_string = function(arg0) { - const ret = typeof getObject(arg0) === "string"; + module2.exports.__wbg_call_b0d8e36992d9900d = function() { + return handleError(function(arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }; + module2.exports.__wbg_entries_4f2bb9b0d701c0f6 = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + module2.exports.__wbg_get_9aa3dff3f0266054 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + module2.exports.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + module2.exports.__wbg_instanceof_ArrayBuffer_670ddde44cdb2602 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; return ret; }; - module2.exports.__wbindgen_is_object = function(arg0) { - const val = getObject(arg0); - const ret = typeof val === "object" && val !== null; + module2.exports.__wbg_instanceof_Uint8Array_28af5bc19d6acad8 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; return ret; }; - module2.exports.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === void 0; + module2.exports.__wbg_length_65d1cd11729ced11 = function(arg0) { + const ret = getObject(arg0).length; return ret; }; - module2.exports.__wbindgen_in = function(arg0, arg1) { - const ret = getObject(arg0) in getObject(arg1); + module2.exports.__wbg_length_d65cf0786bfc5739 = function(arg0) { + const ret = getObject(arg0).length; return ret; }; - module2.exports.__wbg_new_1073970097e5a420 = function(arg0, arg1) { + module2.exports.__wbg_new_3d446df9155128ef = function(arg0, arg1) { try { var state0 = { a: arg0, b: arg1 }; var cb0 = (arg02, arg12) => { @@ -294,183 +321,148 @@ ${val.stack}`; state0.a = state0.b = 0; } }; - module2.exports.__wbindgen_is_falsy = function(arg0) { - const ret = !getObject(arg0); - return ret; + module2.exports.__wbg_new_3ff5b33b1ce712df = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); }; - module2.exports.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { - const ret = getObject(arg0)[getObject(arg1)]; + module2.exports.__wbg_new_688846f374351c92 = function() { + const ret = new Object(); return addHeapObject(ret); }; - module2.exports.__wbg_length_f217bbbf7e8e4df4 = function(arg0) { - const ret = getObject(arg0).length; - return ret; + module2.exports.__wbg_newnoargs_fd9e4bf8be2bc16d = function(arg0, arg1) { + var v0 = getCachedStringFromWasm0(arg0, arg1); + const ret = new Function(v0); + return addHeapObject(ret); }; - module2.exports.__wbg_get_5419cf6b954aa11d = function(arg0, arg1) { - const ret = getObject(arg0)[arg1 >>> 0]; + module2.exports.__wbg_queueMicrotask_2181040e064c0dc8 = function(arg0) { + queueMicrotask(getObject(arg0)); + }; + module2.exports.__wbg_queueMicrotask_ef9ac43769cbcc4f = function(arg0) { + const ret = getObject(arg0).queueMicrotask; return addHeapObject(ret); }; - module2.exports.__wbg_new_e69b5f66fda8f13c = function() { - const ret = new Object(); + module2.exports.__wbg_resolve_0bf7c44d641804f9 = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); return addHeapObject(ret); }; - module2.exports.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + module2.exports.__wbg_set_23d69db4e5c66a6e = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + module2.exports.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) { getObject(arg0)[takeObject(arg1)] = takeObject(arg2); }; - module2.exports.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); + module2.exports.__wbg_static_accessor_GLOBAL_0be7472e492ad3e3 = function() { + const ret = typeof global === "undefined" ? null : global; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + module2.exports.__wbg_static_accessor_GLOBAL_THIS_1a6eb482d12c9bfb = function() { + const ret = typeof globalThis === "undefined" ? null : globalThis; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + module2.exports.__wbg_static_accessor_SELF_1dc398a895c82351 = function() { + const ret = typeof self === "undefined" ? null : self; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + module2.exports.__wbg_static_accessor_WINDOW_ae1c80c7eea8d64a = function() { + const ret = typeof window === "undefined" ? null : window; + return isLikeNone(ret) ? 0 : addHeapObject(ret); + }; + module2.exports.__wbg_then_0438fad860fe38e1 = function(arg0, arg1) { + const ret = getObject(arg0).then(getObject(arg1)); + return addHeapObject(ret); }; module2.exports.__wbindgen_boolean_get = function(arg0) { const v = getObject(arg0); const ret = typeof v === "boolean" ? v ? 1 : 0 : 2; return ret; }; - module2.exports.__wbg_self_bf91bf94d9e04084 = function() { - return handleError(function() { - const ret = self.self; - return addHeapObject(ret); - }, arguments); - }; - module2.exports.__wbg_window_52dd9f07d03fd5f8 = function() { - return handleError(function() { - const ret = window.window; - return addHeapObject(ret); - }, arguments); - }; - module2.exports.__wbg_globalThis_05c129bf37fcf1be = function() { - return handleError(function() { - const ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments); - }; - module2.exports.__wbg_global_3eca19bb09e9c484 = function() { - return handleError(function() { - const ret = global.global; - return addHeapObject(ret); - }, arguments); + module2.exports.__wbindgen_cb_drop = function(arg0) { + const obj = takeObject(arg0).original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; }; - module2.exports.__wbg_newnoargs_1ede4bf2ebbaaf43 = function(arg0, arg1) { - var v0 = getCachedStringFromWasm0(arg0, arg1); - const ret = new Function(v0); + module2.exports.__wbindgen_closure_wrapper7374 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 687, __wbg_adapter_38); return addHeapObject(ret); }; - module2.exports.__wbg_call_a9ef466721e824f2 = function() { - return handleError(function(arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments); + module2.exports.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }; - module2.exports.__wbg_call_3bfa248576352471 = function() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments); + module2.exports.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); }; - module2.exports.__wbg_length_9254c4bd3b9f23c4 = function(arg0) { - const ret = getObject(arg0).length; + module2.exports.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); return ret; }; - module2.exports.__wbindgen_memory = function() { - const ret = wasm.memory; - return addHeapObject(ret); + module2.exports.__wbindgen_is_falsy = function(arg0) { + const ret = !getObject(arg0); + return ret; }; - module2.exports.__wbg_buffer_ccaed51a635d8a2d = function(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); + module2.exports.__wbindgen_is_function = function(arg0) { + const ret = typeof getObject(arg0) === "function"; + return ret; }; - module2.exports.__wbg_new_fec2611eb9180f95 = function(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); + module2.exports.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof val === "object" && val !== null; + return ret; }; - module2.exports.__wbg_set_ec2fcf81bc573fd9 = function(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); + module2.exports.__wbindgen_is_string = function(arg0) { + const ret = typeof getObject(arg0) === "string"; + return ret; }; - module2.exports.__wbindgen_error_new = function(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); + module2.exports.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === void 0; + return ret; }; module2.exports.__wbindgen_jsval_loose_eq = function(arg0, arg1) { const ret = getObject(arg0) == getObject(arg1); return ret; }; + module2.exports.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; module2.exports.__wbindgen_number_get = function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof obj === "number" ? obj : void 0; getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); }; - module2.exports.__wbg_instanceof_Uint8Array_df0761410414ef36 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Uint8Array; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - module2.exports.__wbg_instanceof_ArrayBuffer_74945570b4a62ec7 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof ArrayBuffer; - } catch (_) { - result = false; - } - const ret = result; - return ret; - }; - module2.exports.__wbg_entries_c02034de337d3ee2 = function(arg0) { - const ret = Object.entries(getObject(arg0)); - return addHeapObject(ret); - }; module2.exports.__wbindgen_object_clone_ref = function(arg0) { const ret = getObject(arg0); return addHeapObject(ret); }; - module2.exports.__wbindgen_debug_string = function(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len1 = WASM_VECTOR_LEN; + module2.exports.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + module2.exports.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === "string" ? obj : void 0; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_2, wasm.__wbindgen_export_3); + var len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }; - module2.exports.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - module2.exports.__wbg_then_748f75edfb032440 = function(arg0, arg1) { - const ret = getObject(arg0).then(getObject(arg1)); - return addHeapObject(ret); - }; - module2.exports.__wbg_queueMicrotask_c5419c06eab41e73 = function(arg0) { - queueMicrotask(getObject(arg0)); - }; - module2.exports.__wbg_queueMicrotask_848aa4969108a57e = function(arg0) { - const ret = getObject(arg0).queueMicrotask; - return addHeapObject(ret); - }; - module2.exports.__wbindgen_is_function = function(arg0) { - const ret = typeof getObject(arg0) === "function"; - return ret; - }; - module2.exports.__wbg_resolve_0aad7c1484731c99 = function(arg0) { - const ret = Promise.resolve(getObject(arg0)); + module2.exports.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); }; - module2.exports.__wbindgen_cb_drop = function(arg0) { - const obj = takeObject(arg0).original; - if (obj.cnt-- == 1) { - obj.a = 0; - return true; - } - const ret = false; - return ret; - }; - module2.exports.__wbindgen_closure_wrapper7281 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 685, __wbg_adapter_38); - return addHeapObject(ret); + module2.exports.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); }; var { Buffer: Buffer2 } = require("node:buffer"); - var bytes = Buffer2.from("AGFzbQEAAAABzgRJYAJ/fwBgAX8AYAJ/fwF/YAN/f38Bf2ADf39/AGABfwF/YAR/f39/AGAFf39/f38AYAZ/f39/f38AYAR/f39/AX9gAAF/YAd/f39/f39/AGADf39/AX5gA39+fwBgBX9/f39/AX9gAX8BfmACf38BfmAHf39/f39/fwF/YAN/fn4AYAAAYAZ/f39/f38Bf2ACfn8AYAJ/fgBgA39+fgF/YAF+AX5gAn5+AGAEf35/fwBgBH9/f34AYAN/f34Bf2ABfgBgBH98f38Bf2ANf39/f39/f39/f39/fwBgAn98AGAGf39/f35/AGAPf39/f39/f39/f39/f39/AX9gBH9/fn8AYAZ/f39+f38AYAN/fn8Bf2ACf34Bf2AEfn5/fwF+YAN+f38AYAJ+fwF/YAJ+fgF+YAN/f34AYA5/f39/f39/f39/f39/fwF/YAh/f39/f39/fwF/YAl/f39/f39/f38AYAR/fn9+AX5gCX9/f39/f35+fgBgBX9/f39/AXxgAXwBfGAGf39+f35/AGADfn9/AX9gAX8BfGAFf39/f34AYAN/f38BfGAXf39/f39/f39/f39/f39/f39/f39/f38Bf2ATf39/f39/f39/f39/f39/f39/fwF/YAt/f39/f39/f39/fwF/YAR/f398AGABfAF/YAR+fn5/AX5gBH9+fn8AYAR/f39/AXxgB35+fn9/f38BfmAAAX5gAn5/AX5gA398fwBgBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AAKmEisYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFV9fd2JpbmRnZW5fc3RyaW5nX25ldwACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAABhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18UX193YmluZGdlbl9pc19zdHJpbmcABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18UX193YmluZGdlbl9pc19vYmplY3QABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18XX193YmluZGdlbl9pc191bmRlZmluZWQABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18NX193YmluZGdlbl9pbgACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19uZXdfMTA3Mzk3MDA5N2U1YTQyMAACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxNfX3diaW5kZ2VuX2lzX2ZhbHN5AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fJF9fd2JnX2dldHdpdGhyZWZrZXlfZWRjMmM4OTYwZjBmMTE5MQACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19sZW5ndGhfZjIxN2JiYmY3ZThlNGRmNAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19nZXRfNTQxOWNmNmI5NTRhYTExZAACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19uZXdfZTY5YjVmNjZmZGE4ZjEzYwAKGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19zZXRfZjk3NTEwMjIzNmQzYzUwMgAEGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgABGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JnX3NlbGZfYmY5MWJmOTRkOWUwNDA4NAAKGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ193aW5kb3dfNTJkZDlmMDdkMDNmZDVmOAAKGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyFfX3diZ19nbG9iYWxUaGlzXzA1YzEyOWJmMzdmY2YxYmUAChhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18dX193YmdfZ2xvYmFsXzNlY2ExOWJiMDllOWM0ODQAChhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18gX193YmdfbmV3bm9hcmdzXzFlZGU0YmYyZWJiYWFmNDMAAhhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18bX193YmdfY2FsbF9hOWVmNDY2NzIxZTgyNGYyAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JnX2NhbGxfM2JmYTI0ODU3NjM1MjQ3MQADGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19sZW5ndGhfOTI1NGM0YmQzYjlmMjNjNAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxFfX3diaW5kZ2VuX21lbW9yeQAKGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19idWZmZXJfY2NhZWQ1MWE2MzVkOGEyZAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19uZXdfZmVjMjYxMWViOTE4MGY5NQAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19zZXRfZWMyZmNmODFiYzU3M2ZkOQAEGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxRfX3diaW5kZ2VuX2Vycm9yX25ldwACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxlfX3diaW5kZ2VuX2pzdmFsX2xvb3NlX2VxAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyxfX3diZ19pbnN0YW5jZW9mX1VpbnQ4QXJyYXlfZGYwNzYxNDEwNDE0ZWYzNgAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXy1fX3diZ19pbnN0YW5jZW9mX0FycmF5QnVmZmVyXzc0OTQ1NTcwYjRhNjJlYzcABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18eX193YmdfZW50cmllc19jMDIwMzRkZTMzN2QzZWUyAAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwAAGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxBfX3diaW5kZ2VuX3Rocm93AAAYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JnX3RoZW5fNzQ4Zjc1ZWRmYjAzMjQ0MAACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyVfX3diZ19xdWV1ZU1pY3JvdGFza19jNTQxOWMwNmVhYjQxZTczAAEYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fJV9fd2JnX3F1ZXVlTWljcm90YXNrXzg0OGFhNDk2OTEwOGE1N2UABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18WX193YmluZGdlbl9pc19mdW5jdGlvbgAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx5fX3diZ19yZXNvbHZlXzBhYWQ3YzE0ODQ3MzFjOTkABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18SX193YmluZGdlbl9jYl9kcm9wAAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHl9fd2JpbmRnZW5fY2xvc3VyZV93cmFwcGVyNzI4MQADA5Auji4ICAAAAAQGBAQEBgYEBAcHBxEUBgYeAAYEAAQGAgcEBAAAAAAABAQAAAIIBAAAAAgHBwQAAwUEBAYGBAgEAAYAAgIGAAALCwgABgYAAgYCBgAGBgYJAAAACAQECAYAAAAAAgAOCR8fAAYGBgQEAgIHCAgEBAIAAAQIBAAHCwAHAAAGAAAICAggAAAFAgUGBAAGBAAEISEHCwgGBAIBBAAEAAADAgQECwQGCAALAAAHEQcHBwcAAAAABwIAAAcAAAAABAQEAAAEAAQIAgYGBgAAAA4FBQkGAgYEAQQAAAYGAAABAgUAAQEBCAAIAAQCCAcFBwAEBAAKAAEAAQABBAQLBwEEBgAAAAcEAQQBBAYHBgABAwEBCAYBAgYAAAECBwYACAABAAQABAEEBAAEBAAEBgEBAQEBAQcHAwEBAQAGBgAGBgAAAQAAAAsJAQsACQQAAAAEBAUiAAcCAgssBwMCBAAAAAAGBAYGBgAFAQQJAgQLCwABCwgCAAUBAAABAwMHAAEAAAcCAQAtABEGAgABBQAAAAkABgQGAAQEBAAJAAAHCAcGAAEAAAQEAgEBBAEHAAACBgUBAAcBAQYCBAMDBwAABx4CAQYABAMHBwAAAAQEAAICAgAFAAAUAwAICAIABgEGCAQuAwAOAwkBAQEAAAAEBAYEBgMIBgAGBgADAwYAAAIBAAADCAQABAIABAAEBgYABAAAAwIAAAgIBgEEBBoEAgAJAAEACAAAAAAAAAAAAQEAAgAUCAYGAAYCAAAvAAEEAgEBAQEBAQEBAAEBAwEACAMCAQEBAAIEAgEBAQEBAQEBAQEBAQEUAAAAAAQEAAEBBAAECwACAAAHAAQAAAMBAQYLBwEAAAcGAwEPEgIBAQkABAIIAAAAAgQIBwAFBQUAAQEBAQEAAQEBAQQFBgQAAQcBABUBAAAEAQIGAgQEAwAHAAAAAAAAAAAIAAQCMAQAAggAAAEABAcFCgQAAAAEGgIAAgEABAQGAgQECAYGBgEEBAIBAAAEAgYGAwAEEQAABAAAAAEABgEGAA8AMQYEAAYGBgIFBAIUBAUFBQACAgQEAAcBAAEyAgQCBgAABAQIBQAAAgYGEQAAMwQEAAAGAgEBAQEBDgQFBAsPASMDNBsEBgcFAgQGBwIAAAIICAMAAgQCAwgEAAADAgc1AAcAAQEEAQAABwQCAgAEAAYIBAAEAgAABwcGBgIFAgABAAQEBAACAgABAAAEAAQEBgYAAAQ2AAABAAIAAgEHAQgJBAEHAgYGAgACAwEGBAUBJAABAAIAAAAEAAkCAgIJAgMAAAA3BAEIAAAAAgUIAAEBCAAEBAcDAwgCAAkEAAEFAgQACAAIBAAEACQEAgAAAAQNAAABBQEDCAABAAECAAQECQQAAAICAQAlAQEAAAEABAgRAgAEDwANBAAABgIHAgQAAgACAgEAAQECBAQBAgAEAAQEAgYGAAEAAQUABAQAAQICBAIAAAgIAgAABgEAAQIEAQAIAAYEBAAAAgAACAQJCQMEAAAAAAEACAgABAQBBAECAAEEBgAACQAAAAECAgABFgEDAQAEAAQBBgEAAAAGBAAAAQEBAQEBBAEAAAYEBAMBAQAEBQABAQIHAQECBgQAAQAAAgQHBAYGBAQDAQQGABYAAgQACDgBBwAEAAADAAQGAQECBAQCBwYACQgBAgAEAAQACAQABAICBAECAAEFEQYDAgICADkJEAQDAQQACQACBAYAAQEEBAEADgABAgcAAAABAgQAAwYCBgACBQIGBwQAAAIiAgADBgQCAgIBAQMCAAYCCwIEBAQGAAYEAAAGBiYAAAAGAgIEAwAFAwQABAUECAICOgABAAEFBAUJAAUIBgYGBgMFAAAAAAMLAwAABQUICAIABgIAAgQAAAAAAAQDAAUAAAACEQQCAgABAgIAAgQAAQEBAQAAAAAFBQAFFg4QBgYCAgEGBgIAAAAGAAAGBgIBAgIBAAEBAQYIBQUFAAAAAAAAAQAAAQEEBQQAAAAAAAAGAQAAAAMGBgMAAgAFAgAAAAAAAAAAAAAEBAEHBQQFAgAABQICAgIPAAAAAAECAAIFBgIAAAAFAAICAQMHAAAABQACAAICAgIAAQMDBAALAAUCAAAFAQABAgECAAsCAgICAgICAgICAgICAgICAQAEAgEGAQAABAIAAAAAAgICAgIJAAAACQICAgIAAgIABAAEBAICAgIAAAQCAgICAgICAgICAgICAgICAgUAAAAAAAAAAAQEBgYGAAAFBQUABQAKBQIEAwYCAAAAAAICAQQGAgUEAQUFBQYECQIFAgIWAgAAAAEIAAEIAQgGBgEAAQIAAQcBAwICAwgMBwkAAgIAAgIAAgEBAAEAAgAGAg0OAAEAAgAEBQQABgQABgQFAAIEAAEAAQcCOwAAAAAAAAAAAwASBwMEAAAEAAYCADwGAAADBAAHCAg9AAIFBgYGBggCBQkAAQABBAUEAAAAAQUFAQgDHAAAAgUCAgABBQUAAgAEAAUCAAQBCQUEAQAFAwAFBQgAAQUEBQMHCQAFBAUFAgAFAAAAAAYAAAYABwQABQIACAICAAInJwACBQMAAAAAAAAABQAAAAAAAAAAAAAAAAIDAAAAAAAEAAgEAAIAAQAAAAAGAAABBAQACQAABQAAABICAAUAAAUBAQAABgICAgICAQAGAQIHBAAHAAkAAAcBAQICAgICAgICAgICAgAHAAAAAAcCAgAFBAQEBAAEBAQABAgAAwIABQEAAAABBQgAAAANAQABAQIACAkECQcBBAIAAwABHAADBQEAAhwBBgACAAECBAAFAgIBAwcDAgICAAUBBAABAQYGBgIBAQEBAQEBAQEEAAEAAgQAAQYDAQEABAIFDwEAAgICAgICAgICAgAAAAAAAAAFABMAAD4AAAAEAQkJBQAFAQAHAgICAgIAAAAAAQAAAAYAAQAEAgICCAYAAAAGAgIBAAUEAgIFBQQABQUEAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUABQ0AAAQDAgAABgABAQEBAQAAAAABAQABAAAAAAEBAQEAAQAGAQAAAgACBAIBGAAABwIDCAEAAQEHAQEAAAAAAAQEBQIAAQICAgICAQAAAQAFBAQEAgAAAAYAAgQAAAICAgIGAAICAgAAAgICAgICAgIAAAAQAAAFAAQCAgICAgIAAQUAAgQBAAAECQAFBAIDAQAIAAUGAAYEBAQEBQIAAQAHBAQFBQABAgIHBwABAgICAgICAgICAwIAAAcHBAEBBQICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAPAQEAAAAAAAIEBAICAgIEAAIABAQCBQIAAQIFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAEAAAABAAEAAQYAAgAGAAQEAgUBCAoFBAcCAgIBAgACAQICAgICAgIBKAECAAABAQEBAQEBAgcBAQAEBAICAQQAAQEAAAACAgAEBAEABgEEAAMEBQUFBQAABgYEAgACAAEAAAUFAAEAAQEEAAQAAAADBgoBAAYEAAQAAQcDBAQAAQAAAQEBAAAAAAAAAAEHBgQBBAAGBAEFAQAFAAQBDwABAQYEAAQBAA0FAQEAAAICAgIABgIAAAAAAAAAAAADAAgAAQADAggFAQEEBQQBAQIBAgIAAQEBAAEBAQEBAQECAAICAgECAgICAgQEAgIBAQQCAgECAgICAgICAgICAgICAgECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBBQABAAEBAQEBAQEEARABBQABAQEBCAEBAwMBAQECAQAAAQEBAQQCAQUBAQcBCgEBBQEBAQEBAAEBAQEBAAE/AQAAAAAAAAAAAAAAAAAAAgIHAgICAQIAAAcCCQYBAgICAgICAgIIAAICAgABBwECAAICAgIAAQEAAAEFAQEBAQABAgECAAACAQEAAQEBAQEBAQAAAAcAAAAFAAQBBQEEAQUBBQAAAAAFAgAAAAECAAAAAQAAAUACAgEBAAIAAgINAQQABQQABAAJCAQEAgAGAgICBQEFBQMFBQUFBQUFBQUBAQEBAQEBAQABKQEBAQEFAQEBAQUBAAEBAQIAAgsGAABBBAQBCQQJAAQHAwUCAAEAHQEBAQEBAQEBAAAAAQANAAAAAAEBAQwBAAAAAAAAAAEBAQEBAQEBAAEBAQEEAAEAAAABAAEBBAUCDwYCAgIECQYBAQALAgABBQAMDAMCBAABAQEBAQUJBQIGAgIGBQEBAQEBAAEAAQEBAQEGAhcXAAUCAgUAAwYOAgAAAAECAgQAAAICAAAAAAQCAgUFAQICAAAAAAAAAAIMAgYGBgYCAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwIHBAICARAQAgUCAAYCAgICAgUAAgIGAAICAgIGBAICAAAFAB0MBhgBAgAAAgIBAQEBAgEBAgACAQENAAABAQEBAQEBAQEBAQUBAQEBAQESARcCAAIAExMBAgEBExMAACAABQMTEwUCAQECAwICAgIJABYCAgICAgICAAICAwICAAABAgUFAAEFAAUBAgEBFQAAAgUCAgIHBwUCAgYCBgcCAgICAgICAgACAgAEBwIABwAEAgMCAQIFBQcHAgUBAwUCKgICBQEBAQEBAQABAQACBQAABQICAgABAQEBAEIAAAAAAAEBAQEAAAAoAAABBQEBAQUFAQEBAAEBAQYABAADAAAABwAEAAABAAEJAAUAAAAAAAUEKgAAAQAAAAQFAAAAAAUBAAUCAgQBAgABAAEAAQQABAASBAABAQIbBwUAEAABAQEMAAACBwYCBwUBAQEBAQEGAQAABQABGwUADQEBAQEBAQEBAQAABAQBAAICBQACAgErASMCCQECAgIAAQEHAgIBAAACAQICAgAAAQAKAQEKAAACAgILBgQEBQEBBAAEAgICAgsCBgYGAgIJAAAAAAABAQEFAQEGBgYGAQEAAAAAAQEBAQECAgIBAwAAAAEHBgQFCQIGAgEBBwcBBAIFBQYpAgIMBgAAAAEFAgICAgIFAAYCAgEBAAAAAAEAAgYAAAAAAAEIAgEAAQAAAAcAAAAJAgEBAQEBAAAAAAYBBQAAAQEAAAkDBQIAAQMDBgAAAAABARABAQAAAwAAAAAAAAAEAgAAABgAAAAAAAEAAAAAAEMAAAEAEAAAAAAAAAMJCQkJAQkDBwcBARQDCQQDAysBAwMDAwcDCQIWCQIJBgIFDAAFBAIMAQEADAIBCQQJAQABCQQBBQQAAQcOREZIAAMBAQUFBRABCQQCAgIDBAQGBgYBAQEBDAIBAQABAQEBAQEBAQEEAAAEBgAFBAQKCgICCQIXFwYAAQEBAQAFAAIBBQAAAAAAFQUCBQEBAQEBCgEBAQEBAQEAAgICAQABAQIFAQEEBQEBAQEEBAUEBAQKAQUFBAQAAQIAAgMJAAQDAQIABQICBAMHBAwBAQEBBQUBAQUBAQEBCgEBDAEBAQEBAAAAAQAAAQEAAQwBAQABAQEBAQEBAQEBCgEBAQEBAQEKBQEBBQEBAAEBBAQCAQEEAQkJAQICAgUEAwIAAQEBAQUBAQEBAgEBAQYGAQEBAQEBAQEBAQEAAAABAAEAAAQAAAAABAQAAAABAQEBAQEBAAAAAAAAAAEBAQAAAAAAAAAAAAABAQEBDAQBAQEBAQEBAQEBAQEBAQEBAAABAQEBAQEAAQQBAQEAAAAAAAAAAAAAAQEBAAEBAQEBBgABAgEBAQEBAQcDAQEAAQAAAQAEAQQCAQoKCgoKAAoKCgoKCgoKAQEAAQEBAQ8KAgUBAQEBAQEBAQEBAQwMAAABAQEBAAAAAQECAQEBAAAAAAUCAgICAQIFCgMBAAQEAwcCAgwFABgBARUBDQEBAQoBAQEBAQoKCgoKBQEEBQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAIAAAAAAAAAAAEBAAABAAABAgEBAAEAAAEBAQEBAQEBAQEAAAIAAAAAAAAAAAABAAAAAAAAAAABAgICAgEEAAMAAgICBAICAgIBEhIAAAIAAQICAgICAgICBAEBAQECAQEBAQEBAQEBAAEFAQEBAQEBAQEBAQECAQEBAQEBAgICAgYCAgICBQUBAQEBAQEBAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAEBAQAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEAAQEBAQEAAQEBAQEAAAAAAAAAAQEBAQEBAQEBAAAAAQEBAQEBAQEAAAABAQEBAQEBAQEAAQAAAAEBAQAAAAEBAQEAAAEBAQEBAAABAQEBAQEAAQEBAQEBAQEBBAMBAwAAAAAABAAAAAABAAAAAAAAAAAAAAEBAQEBAQECAQUFBQMFAgcCAQABAQEBAgUBAAEDAQEGAQEBAQEBAQEBAR0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQkBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAQEBAQEBAQEBAQEBAQEBARkBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAQAAAAABAQEBAQEBAQEAAAEAAgICAgICAQIAAAEAAAAAAAIEBgEBAQEBAgMAAQEB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AgghCiAFKAIEIQMgBSgCACEEIAJBqARqIAVBDGpBJBD8BhogAkGgBGogBUFAaykCADcDACACQZgEaiAFQThqKQIANwMAIAIgBSkCMDcDkAQgBRCLKwsgFyACKQPIAzcDACAXQQhqIB4pAwA3AwAgF0EQaiAdKQMANwMAIAIgATYC8AQgAiARNgLUBCACIBY2AtAEIAIgAkH0Amo2AvgEIAIgAkHgA2o2AvQEIARBgICAgHhHBEAgAiAKNgKIBSACIAM2AoQFIAIgBDYCgAUgLyACQagEakEkEPwGIChBEGogAkGgBGopAwA3AgAgKEEIaiACQZgEaikDADcCACAoIAIpA5AENwIAIAIgCjYC1AUgAiADNgLQBSACIAQ2AswFIAJBBzYC2AUgAiAKQQJPBH8gAkHIB2oiBCACQcwFahCuFSACQdgFaiIDEIklIAMgBEEoEPwGGiAsEOwmIAIoAtAFIQMgAigC1AUhCiACKALMBQUgBAs2AuAGIAIgAzYC2AYgAiADIApBBnRqNgLkBiACIAM2AtwGAkACQCAKBEAgAygCCCEFIAMoAgQhBCADKAIAIQ4gAkHABmoiBiADQRRqKQIANwMAIAJByAZqIgggA0EcaikCADcDACACQdAGaiIKIANBJGooAgA2AgAgAykCDCEyIAJBqAZqIhEgA0EwaikDADcDACACQbAGaiIQIANBOGopAwA3AwAgAiADQUBrNgLcBiACIAMpAyg3A6AGIAIgMjcDuAYgDkEHRw0BCyACKALgAyEEIAIoAuQDIQMgAkESOgDIByABIAQgAyACQcgHahC+GUEFIQ5BACEFQQAhBAwBCyAgIAIpA7gGNwIAICcgAikDoAY3AwAgIEEIaiAGKQMANwIAICBBEGogCCkDADcCACAgQRhqIAooAgA2AgAgJ0EIaiARKQMANwMAICdBEGogECkDADcDACACIAU2AtAHIAIgBDYCzAcgAiAONgLIByACQZgGaiAKKAIANgIAIAJBkAZqIAgpAwA3AwAgAkGIBmogBikDADcDACACIAIpA7gGNwOABiAsEOwmC0EoQQgQoSAiAyAFNgIIIAMgBDYCBCADIA42AgAgAyACKQOABjcCDCADQRRqIAJBiAZqKQMANwIAIANBHGogAkGQBmopAwA3AgAgA0EkaiACQZgGaigCADYCACACQdgGahDP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AiABNgLwBCACIBE2AtQEIAIgFjYC0AQgAiACQfQCajYC+AQgAiACQeADajYC9AQgBEGAgICAeEYNASACIAM2AuwGIAIgBDYC6AYgDyACQdgFakEoEPwGGiAkQRBqIAJBkAZqKQMANwIAICRBCGogAkGIBmopAwA3AgAgJCACKQOABjcCACACKAKoByEGAkAgAS0AoAJBAkcNACABLQDHAg0AIAIoAuQDIQQgAigC4AMhAyACQYABOgCABSABIAMgBCACQYAFahC+GQsgAkHQB2ogFykDADcDACACQdgHaiACQeAEaikDADcDACACQeAHaiACQegEaikDADcDACAjICIpAgA3AgAgI0EIaiAiQQhqKQIANwIAICNBEGogIkEQaikCADcCACACIAIpA9AENwPIByABKAKcAyEEIAIoAvQCIQMgFCACQcgHakE4EPwGGkHwAEEIEKEgIg5BCDYCACAOQQRqIAJBgAVqQTwQ/AYaIA4gBjYCSCAOIAMgBCADIARLGzYCRCAOIAMgBCADIARJGzYCQCACQegGahD6JiAVEOwmIAIoAqQHENkoC0EAIQNBAAwCCyACQdAEahCbFgtBAQshBSACQegDahCEJSACKQOYAxDxGiACKAL4AkUNACACQfgCahCbFgsgBQ0BCyACKALwAiIEIAIoAugCRgRAIAJB6AJqEP4WCyACKALsAiAEQQxsaiIGIDA2AgggBiAONgIEIAYgAzYCACACIARBAWo2AvACIAcQzQ0iBARAIAQoAgBBDkYNBAsgBxDNDSIEBEAgBCgCAEEQRg0CCyACQfAGaiAHEJIQIAIgBxCAFCACQcjE4AA2AuwGIAJBNDoA6AYgAigCACACKAIEIAJB6AZqEP0UIQMgBxDNDSIERQ0AIAQoAgBBJEcNACABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQIgASABKALMAhD/CwsgAkHoAmoQ4iYMAwsgDSAMKQIANwIAIAEoAsgCIQQgAUElNgLIAiABIAEpA+ACNwOYAyANQQhqIAxBCGopAgA3AgAgDUEQaiAMQRBqKAIANgIAIAIgBDYC6AYgAkHoBmoQwgogBxDNDSIERQ0BQQEgKSAEKAIAQQ5GIgQbISkgASkDmAMgMSAEGyExDAELC0Hd6+AAQShBlKzgABDuFwALQQELIQEgAkHEAmoQ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wAUgBEHMAWogBEHABWoQxAQMAgsgZBCJJyAEKALgASIBIAQoAuQBEI4fIAQoAtwBIAEQ3SkMBQtBwN3fABDtFAALIAUhFCADISwMAAsACyABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRGBEAgASABKALMAhD/CwwDC0Hd6+AAQShB9OjfABDuFwALIAkQzQ0EQCABKALIAiEDIAFBJTYCyAIgASABKQPgAjcDmAMgBEHMBWogFUEIaikCADcCACAEQdQFaiAVQRBqKAIANgIAIAQgFSkCADcCxAUgBCADNgLABSAEQcAFahDCCgsgCSAEQagBahDQCCAEQZgBaiAEQcwBahCLBiAEKAKcASEMIAQoApgBIgNBgICAgHhGDQAgACAEKAKgATYCCCAAIAw2AgQgACADNgIAIAAgMiABKAKcAyIBIAEgMkkbNgIQIAAgMiABIAEgMksbNgIMDAILIABBgICAgHg2AgAgACAMNgIEDAELIABBgICAgHg2AgAgACADNgIECyAEQfAHaiQAC6BWAiN/A34jAEHgA2siAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw4HABYBAgMEBwULIAMgAigCBCIFIAIoAghqNgL0AiADIAU2AvACIAMgATYC+AICQCABLQALQQFxRQRAIANB8ABqIANB8AJqEP4XDAELIANB8ABqIANB8AJqEP8XCyADKAJwIgVBK0YNBCADKAJ4IQIgAygCdCEEIAVBKkcNFCADQdQBaiEIA0ACQCABLQALQQFxRQRAIANByAFqIANB8AJqEP4XDAELIANByAFqIANB8AJqEP8XCyADKALIASIGQStGBEAgACACNgIIIAAgBDYCBCAAQSo2AgAMHAsgAygC0AEhBSADKALMASEHIAZBKkcNFCADQYADaiABIAIgBxDYCCADKAKAAyICQSpGBEAgBSECDAELCyAAQQRqIANBgANqQQRyQTwQ/AYaIAAgAjYCAAwaCyACKAIEaEECdEHw2OMAaigCACECIAEtAAtBAXEEQCACaEECdEG42eMAaigCACECCyADQdAAaiABQSBqQaC3wwAQtx0gAygCVCEBIAMoAlAhBSADIAI2AtABIANCAzcCyAEgA0GAA2ogBSAD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BiAEENgIIAMoAoADIgZBKkYNAAsgAEEEaiACQQRyQTwQ/AYaIAAgBjYCAAweCyABLQALIQZBGEEEEKEgIgtCBDcCECALQgA3AgggC0KAgICAwAA3AgAgAyAGQQFxOgB8IANBATYCeCADIAs2AnQgA0EBNgJwQQEhCkEBIQdBASEEAkACQANAIAUgDEYEQCADQeAAaiABQSBqQaC1wwAQtx0gAygCZCEKIANBgANqIAMoAmAiCBD0HiADKAKEAyEGIAMoAoADIgFBKkcNHSADQQA2ApQCIANCgICAgMAANwKMAiADQZgCaiADKAJ0IAMoAnhBAEHshsQAEMgfEMEKIAatIScgA0GcAmohCSADQbACaiEFIANBpAJqIQcgA0HYAWohDgJAA0AgAygCeCECIAMoAnQhBANAIAMoAsgCIgEgAygCzAJHBEAgAyABQQhqNgLIAiAEIAIgASgCACILQfyGxAAQyB8gATEABCImQiiGICZCIIaEISYoAghFBEAgByAmICeEEL8bDAILIAcgJhC/GyADKAKUAiIPIAMoAowCRgRAIwBBEGsiASQAIAFBCGogA0GMAmoiDCAMKAIAQQFBBEE4EM0IIAEoAggiDEGBgICAeEcEQCAMIAEoAgwQ3CkACyABQRBqJAALIAMoApACIA9BOGxqIANBmAJqIgFBOBD8BhogAyAPQQFqNgKUAiABIAQgAiALQYyHxAAQyB8QwQoMAQsLAkACQAJAAkAgAygCrAIOAgMAAQsgA0EANgKsAiADQYADaiAIIAMoAqgCKQIAEMIdIAMoAoQDIQIgAygCgAMiBEEqRg0BDCMLIANB2AJqIAdBCGooAgA2AgAgAyAHKQIANwPQAiADQQA2AqwCIANCgICAgMAANwKkAiADQYADaiAIIANB0AJqEJ4YIAMoAoQDIQIgAygCgAMiBEEqRg0ADCILIANBmAJqIAIQohsLIANB2ABqIAUQyw0gAygCWCIBBEAgAygCXCECIANBmAJqIAYQohsgAyABNgLIAiADIAEgAkEDdGo2AswCDAELIANB6AJqIANBoAJqKAIANgIAIAMgAykCmAI3A+ACIANBgANqIAggA0HgAmoQnxggAygChAMhAiADKAKAAyIBQSpGBEACQCADKAKUAiIBBEAgAyABQQFrIgE2ApQCIAMoApACIAFBOGxqIgEoAgAi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QTQQ/AYaIAAgBjYCCCAAIAc2AgQgACAENgIADAgLIABBCGogA0GIA2pBOBD8BhogACACNgIEIAAgBTYCAAwHCyAAQQxqIAhBNBD8BhogACAFNgIIIAAgBzYCBCAAIAY2AgAMBgsgAEEMaiADQfwAakE0EPwGGiAAIAI2AgggACAENgIEIAAgBTYCAAwFCwJAAkACQAJAIAIoAgRFBEAgAigCDCIMIAIoAhAiAhDJHw0BAkAgAS0AC0EBcUUEQCADQcgAaiABQSBqQcC1wwAQtx0gAygCTCEFIAMoAkghBCADQUBrIAFB4ABqQdC1wwAQtx0gAygCRCEBIANBgANqIAQgAygCQBDHBiADQdABaiIEIANBjANqKAIANgIAIAMgAykChAM3A8gBIAMoAoADIgZBKkcNASADQfgAaiAEKAIANgIAIAMgAykDyAE3A3AgDCACQQN0aiECA0AgAiAMRgRAIAAgA0HwAGoQ7AYgASABKAIAQQFqNgIAIAUgBSgCAEEBajYCAAwNCyADQcgBaiAMKAIAIAwoAgQQ6hwgDEEIaiEMA0AgA0HgAmogA0HIAWoQ7gIgAy0A4AJBBEYEQCADKALIASADKALMARDgKQwCCyADQfgCaiADQegCai0AADoAACADIAMpAOACNwPwAiADQThqIANB8AJqEK4gIANBgANqIgQgA0HwAGogAygCOCADKAI8EOQEIAMoAoADIgZBKkYNAAsLIABBBGogBEEEckE8EPwGGiAAIAY2AgAgAygCyAEgAygCzAEQ4CkMBgsCQAJAIAEtAAxBAXFFBEAgASgC2AENAiABQX82AtgBIAFB3AFqIQUgASgC5AFFDQEgASABLwHsAUEBaiIEOwHsASAEQf//A3EgBEYNByADQQA2AogDIANCADcDgAMgA0EAOwGMAyADQcgBaiADQYADaiABKALoARD0ByABKALcASABQeABaigCABDoKSAFQQhqIANB0AFqKAIANgIAIAUgAykCyAE3AgAMBwsgASgChAFFBEAgAUF/NgKEASABQYgBaiIQEJ4HIAFBoAFqIRggAUGsAWohGSAMIAJBA3RqIR0gA0HMAWohDyADQfAAakECciEUIANB4QJqIRogAUGwAWohHiABQZABaiEVIAFBjAFqIRYgA0HUAWohHyADQc4BaiEgIANB0QFqISEgAUGkAWoh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IAQgAjYCkAMCQAJAAkACQAJAAkACQAJAAkACQCACQQdrQQAgAkEITxtBAWsOCAABAgMEBQYHCAsgBEGAA2ogBigCADYCACAEIAEpAgA3A/gCIARByAJqIARB+AJqENsQDAgLIARBATYCrAEgBEGkycQANgKoASAEQgA3ArQBIAQgBEHQAGo2ArABIARBqAFqQazJxAAQuh0ACyAEQQE2AqwBIARBjMrEADYCqAEgBEIANwK0ASAEIARB0ABqNgKwASAEQagBakGUysQAELodAAsgBEEBNgKsASAEQfTKxAA2AqgBIARCADcCtAEgBCAEQdAAajYCsAEgBEGoAWpB/MrEABC6HQALIARBATYCrAEgBEHYy8QANgKoASAEQgA3ArQBIAQgBEHQAGo2ArABIARBqAFqQeDLxAAQuh0ACyAEQQE2AqwBIARBxMzEADYCqAEgBEIANwK0ASAEIARB0ABqNgKwASAEQagBakHMzMQAELodAAsgBEEINgLIAgwCCyAEQQE2AqwBIARBtM3EADYCqAEgBEIANwK0ASAEIARB0ABqNgKwASAEQagBakG8zcQAELodAAsgBEHgAmogBEGoA2ooAgA2AgAgBEHYAmogBEGgA2opAgA3AwAgBEHQAmogBEGYA2opAgA3AwAgBCAEKQKQAzcDyAILIAJBCU8EQCAEQZADahD6FAsgBCgCyAJBCEYNAiAEQagBaiADEJcMIAQoAqgBQRBGDQ0gBEGoA2ogBEHAAWooAgA2AgAgBEGgA2ogBEG4AWopAgA3AwAgBEGYA2ogBEGwAWopAgA3AwAgBCAEKQKoASIWNwOQAyAWp0EPRw0OIARBkANqEPoUIARBvAJqIARByAJqELsQDAELCyAEQQg2AsgCCyAEQcgCahDjJCAEKALAAiAEKALEAhCqCCAEQagBaiIBIARBvAJqEFkgAyABEJsYDBMLIARBADYCnAIgBEKAgICAwAA3ApQCIAEoAgAhBSAEQZQDaiEBIARBrAFqIQMDQCAEQagBaiAFEJcMAkACQCAEKAKoASICQRBHBEAgASADKQIANwIAIAFBEGogA0EQaikCADcCACABQQhqIgYgA0EIaikCADcCACAEIAI2ApADAkACQAJAAkACQAJAAkACQAJAAkAgAkEHa0EAIAJBCE8bQQFrDggAAQIDBAUGBwgLIARBgANq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chCMCiABEJoIIARBhANqIARB7AJqKQIANwIAIAQgBCkC5AI3AvwCIARBATYC+AIgBEGQA2ogBEH4AmoQygkMBgsgBkEBcQ0CIANBAE4NAUECIQgMBgsgBUEBcQ0DIARB/AJqQYD+AxCMCiAEQQE2AvgCIARBkANqIARB+AJqEMoJDAQLIARB5AJqIgEgA61C/wGDIhZCIIYgFoQQ/gkgARCyCCAEQYQDaiAEQewCaikCADcCACAEIAQpAuQCNwL8AiAEQQA2AvgCIARBkANqIARB+AJqEMoJDAMLIARCjoCAgPD/vwg3AogDIARCi4CAgMABNwKAAyAEQoCAgICQATcC+AIgBEHoAmohBSMAQUBqIgEkACABQTBqIARB+AJqIgNBEGopAgA3AwAgAUEoaiADQQhqKQIANwMAIAEgAykCADcDICABQQhqQQNBBEEIEPkUQQAhAyABQQA2AhggASABKQMINwMQIAFBEGpBAxD+HiABKAIYIgdBA2ohBiABKAIUIAdBA3RqIQcDQCADQRhHBEAgAyAHaiABQSBqIANqKQIANwIAIANBCGohAwwBCwsgASkDECEWIAFBKGoiAyAGNgIAIAEgBkU6ACwgASAWNwMgIAFBIGoQiAUgBUEIaiADKQMANwIAIAUgASkDIDcCACABQUBrJAAgBEEANgLkAiAEQZADaiAEQeQCahDKCQwCCyAEQY7+AzsA6AIgBEGAkqzgADYA5AIgBEH8AmohBSMAQTBrIgEkACABQSxqIARB5AJqIgNBBGovAAA7AQAgASADKAAANgIoIAFBCGpBA0EBQQIQ+RQgAUEANgIYIAEgASkDCDcDECABQRBqQQMQ/x4gASgCGCIDQQNqIQYgASgCFCADQQF0aiEHQXohAwNAIAMEQCADIAdqQQZqIAEgA2pBLmovAQA7AAAgA0ECaiEDDAELCyABKQMQIRYgAUEoaiIDIAY2AgAgASAGRToALCABIBY3AyAgAUEgahD8BCAFQQhqIAMpAwA3AgAgBSABKQMgNwIAIAFBMGokACAEQQE2AvgCIARBkANqIARB+AJqEMoJDAELIARB/AJqQoCAgIDw/78IEP4JIARBADYC+AIgBEGQA2ogBEH4AmoQygkLIARBxAFqIARBqANqKAIANgIAIARBvAFqIARBoANqKQIANwIAIARBtAFqIARBmANqKQIANwIAIAQgBCkCkAM3AqwBDAELIARBqAFqIAEoAgQgASgCCCAEQdAAaiAIEN4YIAQoAqgBIgFBgICAgHhHDQILIARByABqIARBxAFqKAIANgIAIARBQGsgBEG8AWopAgA3AwAgBEE4aiAEQbQBaikCADcDACAEIAQpAqwBNwMwIAIgBEEwahCbGAsgAEGAgICAeDYCAAwBCyAEQcgAaiAEQcQBaigCACICNgIAIARBQGsgBEG8AWopAgAiFjcDACAEQThqIARBtAFqKQIAIhc3AwAgBCAEKQKsASIYNwMwIAQpAsgBIRkgAEEcaiACNgIAIABBFGogFjcCACAAQQxqIBc3AgAgACAYNwIEIAAgGTcCICAAIAE2AgALIARBsANqJAAL3CsCGn8EfiMAQaAKayIDJAACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkAgASkDACIdUEUEQCABKQMIIh5QDQEgASkDECIfUA0CIB0gH3wiICAdVA0DIB0gHlQNBCABLAAaIRMgAS4BGCEBIAMgHT4CACADQQFBAiAdQoCAgIAQVCIEGzYCoAEgA0EAIB1CIIinIAQbNgIEIANBCGpBAEGYARCKCxogAyAePgKkASADQQFBAiAeQoCAgIAQVCIEGzYCxAIgA0EAIB5CIIinIAQbNgKoASADQawBakEAQZgBEIoLGiADIB8+AsgCIANBAUECIB9CgICAgBBUIgQbNgLoAyADQQAgH0IgiKcgBBs2AswCIANB0AJqQQBBmAEQigsaIANB8ANqQQBBnAEQigsaIANBATYC7AMgA0EBNgKMBSABrCAgQgF9eX1CwprB6AR+QoChzaC0AnxCIIinIgTBIQ8CQCABQQBOBEAgAyABEIUFGiADQaQBaiABEIUFGiADQcgCaiABEIUFGgwBCyADQewDakEAIAFrwRCFBRoLAkAgD0EASARAIANBACAPa0H//wNxIgEQhwIgA0GkAWogARCHAiADQcgCaiABEIcCDAELIANB7ANqIARB//8BcRCHAgsgAygCoAEhByADQfwIaiADQaABEPwGGiADIAc2ApwKIAcgAygC6AMiCCAHIAhLGyIEQShLDRACQCAERQRAQQAhBAwBCwJAAkAgBEEBRwRAIARBAXEgBEE+cSENIANByAJqIQYgA0H8CGohAQNAIAEg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IAogCkEHaiIDIAMgCksbIAogAyADIApJGyACQdABahC/ESABQQYQvwUgARDpCCACQagBaiABELsODAELIAMQzhdB/wFxQQdHBEAgAkGoAWogARC7DgwBCyABKAKsASEHIAJBADYCyAEgAkKAgICAEDcCwAEgCiEDAkADQAJAAkACQAJAAkACQAJAAkACQCAEIAYQ9BwiBUHcAGsOBQIBAQEIAAsgBUEkRwRAIAVBgIDEAEcNASACQR86ANABIAJBiAJqIAcgASgC0AEgAkHQAWoQ2iEgAigCjAIhBSACKAKIAiIEQSZHDQQgAkHAAWoQhR4MDwsgBCAGEKIcQfsARg0HCyAFEIQeDQEgCBCvFQwFCyACKALAAUGAgICAeEcEQCACQdAAaiAIIAMgASgC0AEQzhUgAkHAAWogAigCUCACKAJUEO0dCyACQYgCaiABQQEQ+gICQAJAIAIoAogCIgRBgICAgHhrDgIFAAELIAIoAowCIQQgAkHAAWoQhR4gAiAENgLEASACQYCAgIB4NgLAAQwECyACKAKMAiEFIAIoAsABQYCAgIB4RwRAIAIoApACIQMgAiAENgLYASACIAU2AtABIAIgBSADQQJ0IgRqIgM2AtwBA0AgBARAIAJBwAFqIAUoAgAQ2QIgBEEEayEEIAVBBGohBQwBBSACIAM2AtQBIAJB0AFqEOkpDAYLAAsACyAEIAUQ2SkMAwsgAUEBOgC9ASACKALAAUGAgICAeEcEQCACQTBqIAggAyABKALQARDOFSACQcABaiACKAIwIAIoAjQQ7R0LAkACQAJAIAVBCmsOBAQCAgABC0EKIQUgASgCwAEgASgCxAEQohxBCkcNAyAIEK8VDAMLIAVBqMAAa0ECSQ0CC0Hd6+AAQShB4O7YABDuFwALIAIpA5gCIRQgAikDkAIhFSACQcABahCFHiAEQSVGDQoMBQsgCBCvFSACKALAAUGAgICAeEYNACACQcABaiAFEP4HCyABKALQASEDCyABKALEASEGIAEoAsABIQQMAQsLAkACQAJ/AkACQAJAIAEoAtABIgQgCkYEQCABLQC6AUECRg0BCyADIApGIgYNASACKALAAUGAgICAeEYNAiACQcgAaiAIIAMgBBDOFSACQcABaiIEIAIoAkggAigCTBDtHSACKALAAUGAgICAeEYNAiABKALoAUEI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aiAGQaQPai0AADoAACAGIAc6ALgNIAYgBigCoA82ALkNIAYgCTYCtA0gBiA0NgKwDSAGQcCf4wApAwAiPzcDoA0gBkGgDWohEkEAIQRCACE9QQAhBUEAIQkjAEHgBmsiCiQAAkAgBkHQB2oiFykDACI8pyITDQAgEi0AGw0AIBcoAiBBOGwhCyAXKAIcIQ4DQCALRQ0BIA4gC0E4ayILaiIHKAIAIghBBUsNAAsgB0E4aiEHAn8CQAJAAkACQAJAAkACQAJAIAhBAWsOBwECAwQFBgcACyAHQSBrIQggB0EkawwHCyAHQQRrIQggB0EIawwGCyAHQSRrIQggB0EoawwFCyAHQQRrIQggB0EIawwECyAHQSxrIQggB0EwawwDCyAHQSxrIQggB0EwawwCCyAHQTRrKAIAIgdBJGohCCAHQSBqDAELIAdBLGshCCAHQTBrCygCACEtIAgoAgAhLkEBISELIBdBGGohMAJAIBItABgiHwR+IDwFIBItABohFCAKQagGaiIYQcCf4wApAwAiPjcDACAKQbAGaiIWQcif4wApAwAiPTcDACAKQaAGaiIaIBJBCGoiCCkCADcDACASKQIAITwgEiA+NwIAIAggPTcCACAKIDw3A5gGIApBmANqID03AwAgCkGgA2ogPjcDACAKQagDaiA9NwMAIApBmAFqID03AwAgCkGoAWogPTcDACAKQaABaiA+NwMAIAogPjcDkAMgCkGQBWoiAyA9NwMAIApBmAVqIgsgPjcDACAKQaAFaiIPID03AwAgCkEAOgDQASAKID43A5ABIAogPjcDiAUgCkHIAWoiDiA9NwMAIApBwAFqIgcgPjcDACAKQbgBaiIIID03AwAgCiA+NwOwASAKIBQ6AMgFIA8gFikDADcDACALIBgpAwA3AwAgAyAaKQMANwMAIAogCikDmAY3A4gFIApBwAVqIA4pAwA3AwAgCkG4BWogBykDADcDACAKQbAFaiAIKQMANwMAIAogCikDsAE3A6gFIApBqAVqIRQCQCATRQRAIApByAVqIRogFygCHCIHIBcoAiBBOGwiC2ohAyAHIQgDQCALBEAgC0E4ayELIAggCkGIBWoQpgMgCEE4aiEIDAELCyAKQbgFaiEYA0ACQAJAAkACQAJAAkACQAJAIAMgByIORwRAIAdBOGohByAOKAIAIghBCUYN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ENQaNwPYAyADQgA3A+ADIANB4CZqIgQgA0HYA2oQnBwgA0HAA2oiByAEKQMANwMAIANByANqIgggA0HoJmopAwA3AwAgA0HQA2oiBCADQfAmaikDADcDACADQgA3A7gDQdei2gBBJRDUGiE8QcgAEOMgIgVCADcDOCAFQQA6ADQgBSAJNgIwIAVCADcDKCAFID03AyAgBUEYaiAEKQMANwMAIAVBEGogCCkDADcDACAFQQhqIAcpAwA3AwAgBSADKQO4AzcDACAFQUBrQQA6AAAgA0EBNgLkJiADIAU2AuAmIANBATYC3CZBGBDjICIEQgA3AwggBCA8NwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIA0gA0HYJmoQ9hkLIA4tAAoEQEEAIA8oAgAQigQhCUH8otoAQQwQ1BohPSADQazI3wBBARDUGjcDiAQgA0IANwOQBCADQeAmaiIEIANBiARqEJwcIANB8ANqIgcgBCkDADcDACADQfgDaiIIIANB6CZqKQMANwMAIANBgARqIgQgA0HwJmopAwA3AwAgA0IANwPoA0GIo9oAQRsQ1BohPEHIABDjICIFQgA3AzggBUEAOgA0IAUgCTYCMCAFQgA3AyggBSA9NwMgIAVBGGogBCkDADcDACAFQRBqIAgpAwA3AwAgBUEIaiAHKQMANwMAIAUgAykD6AM3AwAgBUFAa0EAOgAAIANBATYC5CYgAyAFNgLgJiADQQE2AtwmQRgQ4yAiBEIANwMIIAQgPDcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiANIANB2CZqEPYZCyAOLQALBEBBACAPKAIAEIoEIQlBo6PaAEELENQaIT0gA0GsyN8AQQEQ1Bo3A7gEIANCADcDwAQgA0HgJmoiBCADQbgEahCcHCADQaAEaiIHIAQpAwA3AwAgA0GoBGoiCCADQegmaikDADcDACADQbAEaiIEIANB8CZqKQMANwMAIANCADcDmARBrqPaAEEaENQaITxByAAQ4yAiBUIANwM4IAVBADoANCAFIAk2AjAgBUIANwMoIAUgPTcDICAFQRhqIAQpAwA3AwAgBUEQaiAIKQMANwMAIAVBCGogBykDADcDACAFIAMpA5gENwMAIAVB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sdoAQQgQ1BohPSADQazI3wBBARDUGjcDqA8gA0IANwOwDyADQeAmaiIEIANBqA9qEJwcIANBkA9qIgcgBCkDADcDACADQZgPaiIIIANB6CZqKQMANwMAIANBoA9qIgQgA0HwJmopAwA3AwAgA0IANwOID0HusdoAQRcQ1BohPEHIABDjICIFQgA3AzggBUEAOgA0IAUgCTYCMCAFQgA3AyggBSA9NwMgIAVBGGogBCkDADcDACAFQRBqIAgpAwA3AwAgBUEIaiAHKQMANwMAIAUgAykDiA83AwAgBUFAa0EAOgAAIANBATYC5CYgAyAFNgLgJiADQQE2AtwmQRgQ4yAiBEIANwMIIAQgPDcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiANIANB2CZqEPYZCyAOLQApBEBBACAPKAIAEIoEIQlBhbLaAEEEENQaIT0gA0GsyN8AQQEQ1Bo3A9gPIANCADcD4A8gA0HgJmoiBCADQdgPahCcHCADQcAPaiIHIAQpAwA3AwAgA0HID2oiCCADQegmaikDADcDACADQdAPaiIEIANB8CZqKQMANwMAIANCADcDuA9BibLaAEETENQaITxByAAQ4yAiBUIANwM4IAVBADoANCAFIAk2AjAgBUIANwMoIAUgPTcDICAFQRhqIAQpAwA3AwAgBUEQaiAIKQMANwMAIAVBCGogBykDADcDACAFIAMpA7gPNwMAIAVBQGtBADoAACADQQE2AuQmIAMgBTYC4CYgA0EBNgLcJkEYEOMgIgRCADcDCCAEIDw3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgDSADQdgmahD2GQsgDi0AKgRAQQAgDygCABCKBCEJQZyy2gBBERDUGiE9IANBrMjfAEEBENQaNwOIECADQgA3A5AQIANB4CZqIgQgA0GIEGoQnBwgA0HwD2oiByAEKQMANwMAIANB+A9qIgggA0HoJmopAwA3AwAgA0GAEGoiBCADQfAmaikDADcDACADQgA3A+gPQa2y2gBBIBDUGiE8QcgAEOMgIgVCADcDOCAFQQA6ADQgBSAJNgIwIAVCADcDKCAFID03AyAgBUEYaiAEKQMANwMAIAVBEGogCCkDADcDACAFQQhqIAcp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NgIwIAdCADcDKCAHID03AyAgB0EYaiADQdAhaikDADcDACAHQRBqIANByCFqKQMANwMAIAdBCGogBCkDADcDACAHIAMpA7ghNwMAIAdBQGtBADoAACADQQE2AuQmIAMgBzYC4CYgA0EBNgLcJkEYEOMgIgRCADcDCCAEIDw3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgDSADQdgmahD2GQsgDi0AWgRAQQAgDygCABCKBCEIQfjG2gBBJBDUGiE9IANBrMjfAEEBENQaNwOIIiADQgA3A5AiIANB8CFqIgQgA0GIImoQnBwgA0IANwPoIUGcx9oAQTMQ1BohPEHIABDjICIHQgA3AzggB0EAOgA0IAcgCDYCMCAHQgA3AyggByA9NwMgIAdBGGogA0GAImopAwA3AwAgB0EQaiADQfghaikDADcDACAHQQhqIAQpAwA3AwAgByADKQPoITcDACAHQUBrQQA6AAAgA0EBNgLkJiADIAc2AuAmIANBATYC3CZBGBDjICIEQgA3AwggBCA8NwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIA0gA0HYJmoQ9hkLIA4tAFsEQEEAIA8oAgAQigQhCEHPx9oAQQwQ1BohPSADQazI3wBBARDUGjcDuCIgA0IANwPAIiADQaAiaiIEIANBuCJqEJwcIANCADcDmCJB28faAEEbENQaITxByAAQ4yAiB0IANwM4IAdBADoANCAHIAg2AjAgB0IANwMoIAcgPTcDICAHQRhqIANBsCJqKQMANwMAIAdBEGogA0GoImopAwA3AwAgB0EIaiAEKQMANwMAIAcgAykDmCI3AwAgB0FAa0EAOgAAIANBATYC5CYgAyAHNgLgJiADQQE2AtwmQRgQ4yAiBEIANwMIIAQgPDcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiANIANB2CZqEPYZCyAOLQBcBEBBACAPKAIAEIoEIQhB9sfaAEENENQaIT0gA0GsyN8AQQEQ1Bo3A+giIANCADcD8CIgA0HQImoiBCADQegiahCcHCADQgA3A8giQYPI2gBBHBDUGiE8QcgAEOMgIgdCADcDOCAHQQA6ADQg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AmogDUEIaikCADcCACADQdwCaiANQRBqKAIANgIAIAMgDSkCADcCzAIgAyACNgLIAiADQcgCahDDCgJAIAgQ5w0iAgRAIAIoAgBBIkYNAQsgA0HIAmoiAiABEK8DIAMoAsgCIQUgAy0A9AIiBkEGRg0OIANB6AVqQQRyIAJBBHJBKBD8BhogA0GXBmogA0H3AmotAAA6AAAgAyADLwD1AjsAlQYgAyAGOgCUBiADIAU2AugFIAgQ5w0iAgRAIAIoAgBBIkYNBQsgA0HQAmogCBDrCyADQTBqIAgQsxQgA0HQgeAANgLMAiADQTQ6AMgCIAMoAjAgAygCNCADQcgCahD9FCEFIAgQ5w0iAkUNCCACKAIAQSRHDQggASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASABKAIsEIYMDAgLIAEoAighAiABQSU2AiggASABKQNANwN4IANB1AJqIA1BCGopAgA3AgAgA0HcAmogDUEQaigCADYCACADIA0pAgA3AswCIAMgAjYCyAIgA0HIAmoQwwogCyABKAJ8IgIgAiALSxshFiALIAIgAiALSRshCkEGIQYMBgtBoAFBCBChICIGIAU2AgAgBiAHKQIANwIEIAZBDGogB0EIaikCADcCACAGQRRqIAdBEGopAgA3AgAgBkEcaiAHQRhqKQIANwIAIAZBJGogFkHsABD8BhogBiALNgKQASAGIBopAgA3ApQBIAZBnAFqIBpBCGooAgA2AgAgBiEFQQMLIQYgEiADKQPoBTcDACASQRhqIANBgAZqKQMANwMAIBJBEGogA0H4BWopAwA3AwAgEkEIaiADQfAFaikDADcDACADIAU2AuwDIAMgBjYC6AMgA0HoA2ohCgwHC0Hd6+AAQShBkIHgABDuFwALIAEoAighAiABQSU2AiggASABKQNANwN4IANB1AJqIA1BCGopAgA3AgAgA0HcAmogDUEQaigCADYCACADIA0pAgA3AswCIAMgAjYCyAIgA0HIAmoQwwogASgCfCECIANBmAVqIANB6AVqQSwQ/AYaIANBqgZqIANBlQZqIgVBAmotAAA6AAAgAyAFLwAAOwGoBiALIAIgAiALSxshFiALIAIgAiALSRshCgwCC0Hd6+AAQShB6IHgABDuFwALQd3r4ABBKEG4gOAAEO4XAAsgA0GcAmoiAiADQZgFakEsEPwGGiADQZoCaiIFIANBqgZqLQAAOgAAIAMgAy8BqAY7AZgCIANB4AFqEIYhIAMgCjYC5AEgAyAWNgLgASADQegBaiACQSwQ/AYaIANBlwJqIAUtAAA6AAAgAyAGOgCUAiADIAMvAZgCOwCVAgwHCyADQegFahDKFwwFCyABKALYAiEBIANBADoAyAIgASABIANByAJqEP0UIQUMBAsgAygC1AEgDkYEQCADQdQBahCNFwsgAygC2AEgAmogCkEoEPwGGiADIA5BAWoiDjYC3AEgAkEoaiECDAELCyADQegFahC0KQwBCyABKAIsIQULIABBgYCAgHg2ApABIAAgBTYCACADQeABahCGISADQdQBahDqJiATQYCAgIB4Rg0BIANBgAFqEL8jDAELIBsgASgCfCIFIAUgG0sbIQIgGyAFIAUgG0kbIQUgA0GVAmohCyADQegBaiESAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBNBgICAgHhGBEAgBkEGaw4CAgEDCyADQcABaiEOIANBiAFqIQcgBkEGaw4CBAMFC0Hd6+AAQShB6P/fABDuFwALQYCAgIB4IQEgAygC2AEhByADKALUASEGIAIhGSAFIRoMDAsgAyAKNgLMAiADIBY2AsgCIANB0AJqIBJBLBD8BiECIANB/wJqIAtBAmotAAA6AAAgAyAGOgD8AiADIAsvAAA7AP0CIANB1wA6AOgFIBYgCiADQegFahD9FCEFIAgQ5w0iBkUNCSAGKAIAQSRHDQkgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDAkLIANBmAVqIAdBNBD8BhogA0GQBWogDkEIaikDADcDACADIA4pAwA3A4gFQQYhDSADKQLYASEvIAMoAtQBIQEgESELIBAhEiACIQYgBSEHDAoLIAMgEDYCzAIgAyARNgLIAiADQdACaiAHQTQQ/AYaIANBkANqIA5BCGopAwA3AwAgAyATNgKEAyADIA4pAwA3A4gDIANByAJqENIIISwgA0HYADoA6AUgAyAsNwPwBSAWIAogA0HoBWoQ/RQhAiAIEOcNIgVFDQYgBSgCAEEkRw0GIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0CIAEgASgCLBCGDAwGCyADIBA2AswCIAMgETYCyAIgA0HQ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AADwv2JyDQEgACABEMwBDAELIAAgARDMAQsgA0HgAWokAA8LIANBCGogACACQQEQzAkgAygCCCICQYGAgIB4Rg0AIAIgAygCDBDcKQALIAAoAgAhBSAAKAIIIQILIAIgBUYEQCAAEIMXCyAAIAJBAWo2AgggACgCBCACQRRsaiICIBg2AhAgAiAXNgIMIAIgFjYCCCACIBU2AgQgAiAUNgIADAALAAvVKgIXfwF+IwBBgANrIgMkAAJAIAFBKGoiBBDnDSIGRQRAIAEoAtgCIQEgA0EAOgCQASABIAEgA0GQAWoQ/RQhASAAQQc2AgAgACABNgIEDAELAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAYoAgAiBkELaw4DAQkCAAsgBkECRwRAIAZBJEcNCSABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNCCABKAIsIQEgAEEHNgIAIAAgATYCBAwMCyADQcgBaiABIAIQoAQgAAJ/IAMtANwBQQJHBEAgA0GsAWogA0HgAWopAwA3AgAgA0GkAWogA0HYAWopAwA3AgAgA0GcAWogA0HQAWopAwA3AgAgAyADKQPIATcClAEgAEEEaiADQZABakEkEPwGGkEADAELIAAgAygCyAE2AgRBBws2AgAMCwsgBBDVICEMIAQQ5w0iAkUEQCABKALYAiEBIANBADoAkAEgASABIANBkAFqEP0UIQEgAEEHNgIAIAAgATYCBAwLCyACKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQYgASgCLCEBIABBBzYCACAAIAE2AgQMCwsgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0GcAWogAUE0aikCADcCACADQaQBaiABQTxqKAIANgIAIAMgASkCLDcClAEgAyACNgKQASADQZABaiICEMMKIANBADYCaCADQoCAgICAATcCYCABQSxqIQYgAkEEciEJIANB0AFqIQ4gA0GYAWohCkEAIQICQANAIAIgDXJFIAJB/v97S3IhCEEAIQUCQAJ/AkACQAJAA0AgBBDnDSILRQ0BIANBADYC4AIgAyALNgLkAiADQeACahCOJCAEEOcNIgsEQCALKAIAQQxGDQMLIAhFBEAgA0E7OgCQASABIAIgDSADQZABahDQGQsCQCAEEOcNIgtFDQAgCygCAEEQRw0AIAkgBikCADcCACABKAIoIQsgAUElNgIoIAEgASkDQDcDeCAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgCzYCkAEgBUEBaiEFIANBkAFqEMMKDAELCyAFBEAgAyAFNgK4ASADQQc2ApABIANB4ABqIANBkAFqEIoJCyAEENUgIQUgBBDnDSIIBEAgCCgCAEEHRg0DCyADQZABaiABEOoEIAMoApQBIQUgAygCkAEiCEEHRg0LIA4gCikDADcDACAOQRhqIApBGGopAwA3AwAgDkEQaiAKQRBqKQMANwMAIA5BCGogCkEIaikDADcDACADIAU2AswBIAMgCDYCyAEgA0HgAGogA0HIAWoQ+RlBAAwDCyABKALYAiECIANBADoAkAEgAyACIAIgA0GQAWoQ/RQ2AuQCIANBATYC4AIgA0HgAmoQjiQLIAQQ5w0iAkUNAiACKAIAQQxHDQIgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDDCiABLQD4AkECRgRAIAEtAPsCQQFxDQULQQAhAiABLQCQA0EBcQ0EDA4LIAkgBikCADcCACABKAIoIQIgAUElNgIoIAEgASkDQDcDeCAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgAjYCkAEgA0GQAWoiDxDDCiABKAJ8IQIgDyABQQAQUCADKAKQASINQQdGDQcgA0HAAmoiByAKQQhqKQMANwMAIANByAJqIhEgCkEQaikDADcDACADQdACaiISIApBGGopAwA3AwAgAyAKKQMANwO4AiADKAKUASEQIAEoAnwhC0EoQQgQoSAiCCAQNgIEIAggDTYCACAIIAMpA7gCNwMIIAhBEGogBykDADcDACAIQRhqIBEpAwA3AwAgCEEgaiASKQMANwMAIANBADYCqAEgAyAFIAIgAiAFSRs2AqQBIAMgBSACIAIgBUsbNgKgASADIAUgCyAFIAtLGyINNgKcASADIAUgCyAFIAtJGyICNgKYASADIAg2ApQBIANBAjYCkAEgA0HgAGogDxD5GUEBCyAEEOcNIggEQCAIKAIAQQxGDQILAkAgBBDnDSIIBEAgCCgCAEEQRg0BCyADQZgBaiAEEOsLIANBEGogBBCzFCADQcjE4AA2ApQBIANBNDoAkAEgAygCECADKAIUIANBkAFqEP0UIQUgBBDnDSICRQ0IIAIoAgBBJEcNCCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBiABIAEoAiwQhgwMCAsgCSAGKQIANwIAIAEoAighCCABQSU2AiggASABKQNANwN4IAlBCGogBkEIaikCADcCACAJQRBqIAZBEGooAgA2AgAgAyAINgKQASADQZABaiIQEMMKRQ0BIAQQ5w0iBUUNASAFKAIAQQxHDQEgASgCfCEFIAEoAnghCCADQTo6AJABIAEgCCAFIBAQ0BkMAQsLIANBmAFqIAQQ6wsgA0EIaiAEELMUIANBkOTfADYClAEgA0E0OgCQASADKAIIIAMoAgwgA0GQAWoQ/RQhBSAEEOcNIgJFDQUgAigCAEEkRw0FIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0CIAEgASgCLBCGDAwFC0EAIQIgBBDnDSIERQ0JIAQoAgBBF0cNCSABKAIoIQIgAUElNgIoIAEgASkDQDcDeCADQZwBaiAGQQhqKQIANwIAIANBpAFqIAZBEGooAgA2AgAgAyAGKQIANwKUASADIAI2ApABIANBkAFqEMMKQQEhAgwJCyADQQA6AFMgAyABKQGCAzcAQyADIAEpAJMDNwBUIAMgASgAmwM2AFwgAyABQYoDaiICKQEANwBLIANB+QBqIAFBlwNqKQAANwAAIANB9ABqIAFBkgNqKQEANwIAIANB7ABqIAIpAQA3AgAgAyABKQGCAzcCZCABQYABaiADQcMAahDICCADIAE2AmAgBBDVICEOIAQQ5w0iAkUEQCABKALYAiEBIANBADoAkAEgASABIANBkAFqEP0UIQEgAEEHNgIAIAAgATYCBAwICwJAIAIoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEYNAUHd6+AAQShBhKzgABDuFwALIAEoAighAiABQSU2AiggASABKQNANwN4IANBnAFqIAFBNGopAgA3AgAgA0GkAWogAUE8aigCADYCACADIAEpAiw3ApQBIAMgAjYCkAEgA0GQAWoiAhDDCiADQQA2AowBIANCgICAgIABNwKEASABQSxqIQYgAkEEciELIANBuAJqQQRyIQkgA0HE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IAhBAWshCCAFQThrIQUMAQsLIANBMGogAhCuDyADKAI0IQIgAygCMCADQe0AOgCQASACIANBkAFqEP0UIQIgBBDnDSIERQ0EIAQoAgBBJEcNBCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAyABIAEoAiwQhgwMBAsgAyACNgKUASAHRQ0FCyADQZgCahDeFiADKAKUASECDAYLQd3r4ABBKEH4qeAAEO4XAAtB3evgAEEoQdip4AAQ7hcACyAAQQc2AgAgACACNgIEIANBhAFqEIgnDBILIAAgAykChAE3AgQgACACOgAcIABBADYCGCAAIAw2AhQgACAKNgIQIABBAzYCACAAQQxqIANBjAFqKAIANgIADBELIAMpA6ACEPEaDAELIAMoApQBIQcgA0HIAWogGUEwEPwGGiADKAKEASAIRgRAIANBhAFqEI4XIAMoAogBIRALIBAgEmoiBSACNgIAIAVBBGogBzYCACAFQQhqIANByAFqQTAQ/AYaIAMgCEEBaiIINgKMASAEEOcNIgIEQCACKAIAQQ5GDQMLIAQQ5w0iAgRAIAIoAgBBEEYNAgsgA0GYAWogBBDrCyADQRhqIAQQsxQgA0HIxOAANgKUASADQTQ6AJABIAMoAhggAygCHCADQZABahD9FCECIAQQ5w0iBEUNACAEKAIAQSRHDQAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASABKAIsEIYMCyAAQQc2AgAgACACNgIEIANBhAFqEIgnDA4LIAsgBikCADcCACABKAIoIQIgAUElNgIoIAEgASkDQDcDeCALQQhqIAZBCGopAgA3AgAgC0EQaiAGQRBqKAIANgIAIAMgAjYCkAEgA0GQAWoQwwogBBDnDSICDQELIBJBOGohEgwBCwtBASARIAIoAgBBDkYiAhshESABKQN4IBogAhshGgwBCwtB3evgAEEoQZSs4AAQ7hcACyABKAIsIQEgAEEHNgIAIAAgATYCBAwHC0Hd6+AAQShBlITgABDuFwALQd3r4ABBKEGEhOAAEO4XAAsgAygClAEhBQsgAEEHNgIAIAAgBTYCBCADQeAAahCHJwwFC0Hd6+AAQShB9IPgABDuFwALQd3r4ABBKEHUhOAAEO4XAAsgA0GcAWogBBDrCyADIAQQsxQgA0EcNgKYASADQeSE4AA2ApQBIANBMDoAkAEgAygCACADKAIEIANBkAFqEP0UIQICQCAEEOcNIgRFDQAgBCgCAEEkRw0AIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRgRAIAEgASgCLBCGDAwBC0Hd6+AAQShBgIXgABDuFwALIABBBzYCACAAIAI2AgQMAgsgA0HgAGoQoCYMAQsgACADKQJgNwIEIAAgAjoAHCAAQQA2AhggAEEBNgIAIABBDGogA0HoAGooAgA2AgAgACAMIAEoAnwiASABIAxJGzYCFCAAIAwgASABIAxLGzYCEAsgA0GAA2okAAvEKwIXfwF+IwBBgANrIgMkAAJAIAFBKGoiBBDNDSIGRQRAIAEoAoACIQEgA0EAOgCQASABIAEgA0GQAWoQ/RQhASAAQQc2AgAgACABNgIEDAELAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAYoAgAiBkELaw4DAQkCAAsgBkECRwRAIAZBJEcNCSABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQggASgCzAIhASAAQQc2AgAgACABNgIEDAwLIANByAFqIAEgAhCeBCAAAn8gAy0A3AFBAkcEQCADQawBaiADQeABaikDADcCACADQaQBaiADQdgBaikDADcCACADQZwBaiADQdABaikDADcCACADIAMpA8gBNwKUASAAQQRqIANBkAFqQSQQ/AYaQQAMAQsgACADKALIATYCBEEHCzYCAAwLCyAEELogIQwgBBDNDSICRQRAIAEoAoACIQEgA0EAOgCQASABIAEgA0GQAWoQ/RQhASAAQQc2AgAgACABNgIEDAsLIAIoAgBBJEYEQCABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQYgASgCzAIhASAAQQc2AgAgACABNgIEDAsLIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyADQZwBaiABQdQCaikCADcCACADQaQBaiABQdwCaigCADYCACADIAEpAswCNwKUASADIAI2ApABIANBkAFqIgIQwgogA0EANgJoIANCgICAgIABNwJgIAFBzAJqIQYgAkEEciEJIANB0AFqIQ4gA0GYAWohCkEAIQICQANAIAIgDXJFIAJB/v97S3IhCEEAIQUCQAJ/AkACQAJAA0AgBBDNDSILRQ0BIANBADYC4AIgAyALNgLkAiADQeACahC5IyAEEM0NIgsEQCALKAIAQQxGDQMLIAhFBEAgA0E7OgCQASABIAIgDSADQZABahC+GQsCQCAEEM0NIgtFDQAgCygCAEEQRw0AIAkgBikCADcCACABKALIAiELIAFBJTYCyAIgASABKQPgAjcDmAMgCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAs2ApABIAVBAWohBSADQZABahDCCgwBCwsgBQRAIAMgBTYCuAEgA0EHNgKQASADQeAAaiADQZABahCKCQsgBBC6ICEFIAQQzQ0iCARAIAgoAgBBB0YNAwsgA0GQAWogARDpBCADKAKUASEFIAMoApABIghBB0YNCyAOIAopAwA3AwAgDkEYaiAKQRhqKQMANwMAIA5BEGogCkEQaikDADcDACAOQQhqIApBCGopAwA3AwAgAyAFNgLMASADIAg2AsgBIANB4ABqIANByAFqEPkZQQAMAwsgASgCgAIhAiADQQA6AJABIAMgAiACIANBkAFqEP0UNgLkAiADQQE2AuACIANB4AJqELkjCyAEEM0NIgJFDQIgAigCAEEMRw0CIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyADQZwBaiAGQQhqKQIANwIAIANBpAFqIAZBEGooAgA2AgAgAyAGKQIANwKUASADIAI2ApABIANBkAFqEMIKIAEtAKACQQJGBEAgAS0AowJBAXENBQtBACECIAEtALgCQQFxDQQMDgsgCSAGKQIANwIAIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgAjYCkAEgA0GQAWoiDxDCCiABKAKcAyECIA8gAUEAEFEgAygCkAEiDUEHRg0HIANBwAJqIgcgCkEIaikDADcDACADQcgCaiIRIApBEGopAwA3AwAgA0HQAmoiEiAKQRhqKQMANwMAIAMgCikDADcDuAIgAygClAEhECABKAKcAyELQShBCBChICIIIBA2AgQgCCANNgIAIAggAykDuAI3AwggCEEQaiAHKQMANwMAIAhBGGogESkDADcDACAIQSBqIBIpAwA3AwAgA0EANgKoASADIAUgAiACIAVJGzYCpAEgAyAFIAIgAiAFSxs2AqABIAMgBSALIAUgC0sbIg02ApwBIAMgBSALIAUgC0kbIgI2ApgBIAMgCDYClAEgA0ECNgKQASADQeAAaiAPEPkZQQELIAQQzQ0iCARAIAgoAgBBDEYNAgsCQCAEEM0NIggEQCAIKAIAQRBGDQELIANBmAFqIAQQkhAgA0EQaiAEEIAUIANByMTgADYClAEgA0E0OgCQASADKAIQIAMoAhQgA0GQAWoQ/RQhBSAEEM0NIgJFDQggAigCAEEkRw0IIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEcNBiABIAEoAswCEP8LDAgLIAkgBikCADcCACABKALIAiEIIAFBJTYCyAIgASABKQPgAjcDmAMgCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAg2ApABIANBkAFqIhAQwgpFDQEgBBDNDSIFRQ0BIAUoAgBBDEcNASABKAKcAyEFIAEoApgDIQggA0E6OgCQASABIAggBSAQEL4ZDAELCyADQZgBaiAEEJIQIANBCGogBBCAFCADQZDk3wA2ApQBIANBNDoAkAEgAygCCCADKAIMIANBkAFqEP0UIQUgBBDNDSICRQ0FIAIoAgBBJEcNBSABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQIgASABKALMAhD/CwwFC0EAIQIgBBDNDSIERQ0JIAQoAgBBF0cNCSABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDCCkEBIQIMCQsgA0EAOgBTIAMgASkBqgI3AEMgAyABKQC7AjcAVCADIAEoAMMCNgBcIAMgAUGyAmoiAikBADcASyADQfkAaiABQb8CaikAADcAACADQfQAaiABQboCaikBADcCACADQewAaiACKQEANwIAIAMgASkBqgI3AmQgBCADQcMAahDQCCADIAE2AmAgBBC6ICEOIAQQzQ0iAkUEQCABKAKAAiEBIANBADoAkAEgASABIANBkAFqEP0UIQEgAEEHNgIAIAAgATYCBAwICwJAIAIoAgBBJEYEQCABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRGDQFB3evgAEEoQYSs4AAQ7hcACyABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0GcAWogAUHUAmopAgA3AgAgA0GkAWogAUHcAmooAgA2AgAgAyABKQLMAjcClAEgAyACNgKQASADQZABaiICEMIKIANBADYCjAEgA0KAgICAgAE3AoQBIAFBzAJqIQYgAkEEciELIANBuAJqQQRyIQkgA0HEAmohFyADQbwCaiENIANBwAJqIQogA0GgAmohDCADQaABaiEYIANBmAFqIRlBCCEQA0AgCEE4bCESAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQQzQ0iAgRAIAIoAgBBDkYNAQsgBBC6ICEFAkACQAJAAkAgBBDNDSICBEAgAigCAEEHRg0BCyADQbgCaiABEK4BIAMoArwCIQIgAygCuAIiB0EFRg0NIAwgCikDADcDACAMQRBqIApBEGoiDykDADcDACAMQQhqIApBCGoiFCkDADcDACADIAI2ApwCIAMgBzYCmAIgBBDNDSICBEAgAigCAEETRg0CCyAHDQJBACECAkAgBBDNDSIHRQ0AIAcoAgBBFUcNACAHLQAEDQAgCSAGKQIANwIAIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgAjYCuAIgA0G4AmoiDxDCCiAPIAFBARDLEiADQSBqIAMoArgCELgGIAMoAiQhAiADKAIgIA8QhCUNBAsgASgCnAMhByAYIAwQ9CIgAyACNgLAAUEBIQIgA0EBNgKQASADIAUgByAFIAdLGzYCnAEgAyAFIAcgBSAHSRs2ApgBDAwLIAkgBikCADcCACABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAI2ArgCIANBuAJqIgIQwgogASgCnAMhByACIAFBABBRIAMoArgCIg9BB0cEQCADQYACaiIUIApBCGopAwA3AwAgA0GIAmoiFSAKQRBqKQMANwMAIANBkAJqIhYgCkEYaikDADcDACADIAopAwA3A/gBIAMoArwCIRNBKEEIEKEgIgIgEzYCBCACIA82AgAgAiADKQP4ATcDCCACQRBqIBQpAwA3AwAgAkEYaiAVKQMANwMAIAJBIGogFikDADcDACADQQA2AqgBIAMgBSAHIAUgB0sbNgKkASADIAUgByAFIAdJGzYCoAEgAyACNgKUAUECIQIgA0ECNgKQASADIAUgASgCnAMiByAFIAdLGzYCnAEgAyAFIAcgBSAHSRs2ApgBDAwLIAMoArwCIQIMDAsgCSAGKQIANwIAIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgAjYCuAIgA0G4AmoiExDCCiATIAEQ6QQgAygCvAIhAiADKAK4AiIVQQdGDQMgA0H4AmoiByAKQRhqKQMANwMAIANB8AJqIhYgDykDADcDACADQegCaiIPIBQpAwA3AwAgAyAKKQMANwPgAkEoQQgQoSAiBSACNgIEIAUgFTYCACAFIAMpA+ACNwMIIAVBEGogDykDADcDACAFQRhqIBYpAwA3AwAgBUEgaiAHKQMANwMAIA1BGGogA0GwAmopAwA3AgAgDUEQaiADQagCaikDADcCACANQQhqIAwpAwA3AgAgDSADKQOYAjcCAEEAIQIgA0EANgKQASALIBNBJBD8BhogAyAFNgK4AQwKCyAXIAQQkhAgA0EoaiAEEIAUIANBDTYCwAIgA0HoqeAANgK8AiADQTA6ALgCIAMoAiggAygCLCADQbgCahD9FCECAkAgBBDNDSIERQ0AIAQoAgBBJEcNACABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQUgASABKALMAhD/CwsgAyACNgKUAQwDCyADKQOgAhDxGgwJCyABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDCCiAOIAEoApwDIgIgAiAOSxshCiAOIAIgAiAOSRshDCADKAKMASICQThsIQUgAkEBayEIIBpCIIinIQ4gGqchCyADKAKIASECIBFBAXEhDQNAIAVFBEACQCABLQCgAkECRgRAIAEtAKMCQQFxDQELQQAhAiABLQC4AkEBcUUNCAtBACECIAQQzQ0iBEUNByAEKAIAQRdHDQcgASgCyAIhAiABQSU2AsgCIAEgASkD4AI3A5gDIANBnAFqIAZBCGopAgA3AgAgA0GkAWogBkEQaigCADYCACADIAYpAgA3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QaABaiACQdgBakE0EPwGGiACQZ4BaiACQY8Cai0AADoAACACIAIvAI0COwGcASACLQCMAiEECyADIAU2AgQgAyAHNgIAIANBCGogAkGgAWpBNBD8BhogAyAEOgA8IAMgAi8BnAE7AD0gA0E/aiACQZ4Bai0AADoAACADQUBrIAJBQGtB0AAQ/AYaIANBmAFqIAJBmAFqKAIANgIAIAMgAikDkAE3A5ABIABBJzYCACAAIAM2AgQMDwsgASkDECENIAEpAxghDiACQUBrIgQgAUEEahCyBiACIA43AlQgAiANNwJMIAIgASkDIDcCXCAAQQRqIARBJBD8BhogAEEoNgIADA4LIAJBQGsgAUEEahD/HSAAQSk2AgAgAEEMaiACQcgAaikCADcCACAAIAIpAkA3AgQMDQsgASkDCCENIAFBBGoQ8BwhASAAIA03AwggACABNgIEIABBKjYCAAwMCyACQUBrIAFBBGoQ6SIgAEErNgIAIABBDGogAkHIAGooAgA2AgAgACACKQJANwIEDAsLIAJBQGsgAUEEahD/HSAAQSw2AgAgAEEMaiACQcgAaikCADcCACAAIAIpAkA3AgQMCgsgAkFAayABQQRqEIAeIABBLTYCACAAQQxqIAJByABqKQIANwIAIAAgAikCQDcCBAwJCyACQUBrIAFBBGoQ/x0gAEEuNgIAIABBDGogAkHIAGopAgA3AgAgACACKQJANwIEDAgLIAJBQGsgAUEIahDMISAAQS82AgAgAEEQaiACQcgAaikDADcDACAAIAIpA0A3AwgMBwsgAkFAayABQQRqEM4HIABBMDYCACAAQQxqIAJByABqKQIANwIAIAAgAikCQDcCBAwGCyAAQTE2AgAgACABKQIENwIEDAULAAsgAigCTCEIIAIoAkghBSACKAJAIQkgAigCRAwCCyACQUBrIAFBBGoQ6SIgAigCSCEFIAIoAkAhCSACKAJEDAELIAJBmAJqIAJB1ABqKQIANwMAIAIgAikCTDcDkAIgAigCSCEIIAIoAkQhBSACKAJcIQYgAikDYCENIAIoAkALIQcgAUE4ahDwHCEBIAAgCDYCECAAIAU2AgwgACAHNgIIIAAgCTYCBCAAIAQ2AgAgACAKOgA8IAAgATYCOCAAIAs2AjQgACAMNgIwIAAgDTcDKCAAIAY2AiQgACACKQOQAjcC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IAQOBAIEAQMBCyADKQJMIRkgA0GAA2oiASADQbgBahD+BRCpISABQcAAEPwGIQEgAyAEOgDsASADIBk3AuQBIAMgATYC4AEgA0HgAWoQwxghASAAQQI2AgAgACABNgIEDAQLQd3r4ABBKEGcxd8AEO4XAAsgEJohEAwBCyAQENAOQX9ztyEQCyAAQQE2AgAgACAQOQMIIANBuAFqEJEgCyACKAIAQRBrIgBBE0sNJUEBIAB0QZWoIHENJyAAQQtGDSQMJQsgA0HgAGogAkEMaikCACIaNwMAIANB6ABqIAJBFGooAgAiCzYCACADIAIpAgQiGTcDWCAZpyIIEKkdIQcgAygCXCIFEKkdIQQgAyALOgDcASADIBo3AtQBIAMgBDYC0AEgAyAHNgLMASALQf8BcSIEQRdNQQBBASAEdEGA/p8EcRtFBEAgA0HMAWoQkBUhASAAQQI2AgAgACABNgIEIANB2ABqEKEpDCMLIANB4AFqIAEgCBBWIANB8AFqIgggASAFEFYgAyALOgCAAiADKALwASEBAkACQAJAAkACQAJAAkACQCADKALgASIPDgIAAQULIAEOAgECJgsgAQ4CAgklCyALQf8BcUELRg0DDCMLIAtB/wFxQQtHBEBBASEBDCQLIAMgAykD6AE3A4gCIANBmAJqIgEgAysD+AEQsgEgA0ECNgKEAyADQbjR3wA2AoADIANCAjcCjAMgA0E+NgLMAiADQcMCNgLEAiADIANBwAJqNgKIAyADIAE2AsgCIAMgA0GIAmo2AsACIANB2AJqIgEgA0GAA2oQ6gsgARCeGSEZIABBADYCACAAIBk3AwggAygCmAIgAygCnAIQ1ikgAykDiAIQ8RpBAAwgCyALQf8BcUELRw0hIAMrA+gBIRAgAyADKQP4ATcDiAIgA0GYAmoiASAQELIBIANBAjYChAMgA0G40d8ANgKAAyADQgI3AowDIANBwwI2AswCIANBPjYCxAIgAyADQcACajYCiAMgAyADQYgCajYCyAIgAyABNgLAAiADQdgCaiIBIANBgANqEOoLIAEQnhkhGSAAQQA2AgAgACAZNwMIIAMoApgCIAMoApwCENYpDAILIANB0AJqIANB3AFqKAIANgIAIANByAJqIANB1AFqKQIANwMAIAMgAykCzAE3A8ACQQEMIgsgAyADKQPoATcDiAIg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AAsACyABKAJMIgMEQCACQdgCahCvEyACIAM2AoADIAIgASgCQCIDNgL4AiACIANBCGo2AvACIAIgAyABKAJEakEBajYC9AIgAiADKQMAQn+FQoCBgoSIkKDAgH+DNwPoAiACQegCahDBDAsgAkEANgL4AiACQfACakHIn+MAKQMANwMAIAJBwJ/jACkDADcD6AIgAkH8AGogAkHoAWogAUEwaiACQegCaiIDIAggAkHYAmogAigC3AIgAigC2AIbEK8BIAMQygggASgCAEUNASABIAIoAvQBEMApIAIoAugBIgMpAwAhCSACKALsASEEIAIgAigC9AE2AsABIAIgAzYCuAEgAiADIARqQQFqNgK0ASACIANBCGo2ArABIAIgCUJ/hUKAgYKEiJCgwIB/gzcDqAEDQCACQRhqIAJBqAFqELUVIAIoAhgiA0UNAiACIAIoAhwiBDYCuAIgAkEIaiADKQMAIANBCGooAgAQtyMgAkHoAmoiBSABIAIpAwggAigCEBD7BiACKQPoAlANHyAFIAQpAwAQ9BoQ3gsMAAsACyAGIAEQvC0MHAsgAkGwAWogAkHwAWopAwA3AwAgAiACKQPoATcDqAEgAkHYAmoQlyggAkH8AGoQ4B8gAigCtAEEQCACQfQCaiABQUBrEIAdIAJBADYC8AIgAkKAgICAgAE3AugCIAAtABwgAiACQagBaiIDNgKMA0ECRwRAIAMgBhD7BRoLIAAoAiAgAkHoAmoiABCNEiAAELciCyACQagBahDGCgwbCyAAQQRqIAEQtC0MGgsgAEEMaiABELQtDBkLIABBBGogARC0LSAAQQhqIAEQtC0MGAsgAEE4agJAAkACQAJAAkACQAJAAkACQAJAAkAgA0EBaw4LAAECAwQFBgcICgkKCyAAQQhqIAEQrB8MCQsgAEEIaiABEL8iDAgLIABBBGogARC0LQwHCyAAQQRqIAEQ1RwMBgsgAEEEaiABELQtDAULIABBBGogARC0LQwECyAAQQRqIAEQtC0MAwsgAEEEaiABELQtDAILIABBBGogARC0LQwBCyAAQQhqIQMCQAJAIAAoAgRBAWsOAgECAAsgAyABEMoaDAELIAMgARDYDwsgARC0LQwXCyAAQQhqIAEQrB8MFgsgAEEIaiABEL8iDBULIABBBGogARC0LSAAQQhqIAEQtC0gAEEM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CyADQfgAaiACIAEoAgggASgCDCADKAIwIgQgAygCNBCVDyADLQB4QQRGDQEgAykDeCIXQv8Bg0IEUQ0BIAAgFzcCAAsgAygCLCAEENYpDAELIAMoAiwgBBDWKSAAQQQ6AAALIANB8AZqJAALrCECBn8CfiMAQcABayICJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDhIPDwECAw8PBAUGBwgJCgsMDQ4ACyABIABBBGoQ2QQMDgsgAEEEaiABEM0sIABBCGogARDkLAwNCyAAQQxqIAEQvCUMDAsgAEEoaiABEOQsDAsLIABBBGogARDNLCAAQQhqIAEQ5CwgACgCFEUNCiAAQRRqIAEQ5CwMCgsgAEEQaiABEM0sIAAoAgxBGGwhAyAAKAIIIQADQCADRQ0KIABBFGogARC8JSAAIAEQmRogA0EYayEDIABBGGohAAwACwALIABBBGogARDNLAwICyABIAAoAgQiBEHIAGoQ2QQCQCAEKAIAQQhGDQAgAkGUAWpByJ/jACkDADcCACACQQA6AL8BIAJBADsAvQEgAkEANgK0ASACQoCAgICAATcCrAEgAkEBOgCoASACQQA2AqQBIAJCgICAgMAANwKcASACQQA2AogBIAJCgICAgIABNwKAASACQcCf4wApAwA3AowBIAIgAS0APDoAvAEgAiABKAI4NgK4ASABLQA9IQAgBEEoaiACQYABaiIDEJkaIAJBAToAvwEgAkEBOgC9ASAEKAIAQQdHBEAgBCADEKkRCyACQawBaiEFIAJBADoAvwEgAiAAOgC9AQJAIAIoArQBIgAEQCABQQxqIAAQgCkgAkHQAGogAigCsAEgAigCtAEQnQogAiACKAJQNgIIIAIgAigCVCIANgIAIAIgACACKAJYQQR0IgNqIgY2AgwDQCADRQ0CIAJBgAFqIAApAwAgACgCCBDHECADQRBrIQMgAEEQaiEADAALAAsgAUEcaiACIAJBgAFqQSwQ/AYQmhogBRCFIwwBCyACIAY2AgQgAhCTFyABLQAoRQRAIAEgAigCtAEQjR4gAiACKAKsATYCCCACIAIoArABIgA2AgAgAiAAIAIoArQBQQR0IgNqIgU2AgwDQCADBEAgASAAKQMAIAAoAghBARCOBiADQRBrIQMgAEEQaiEADAELCyAC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sAEiADYCUCACIAAgAigCtAFBBHQiA2oiBTYCXANAIAMEQCACIAApAwAgACgCCEEBEI4GIANBEGshAyAAQRBqIQAMAQsLIAIgBTYCVCACQdAAaiIAEJMXIAAgAkGAAWpBLBD8BhogBiAAEJoaDAELIAJB2ABqIAVBCGooAgA2AgAgAiAFKQIANwNQIAQgAkHQAGoiABCiECAAIAJBgAFqQSwQ/AYaIAYgABCaGgsCQCACKAI0IgAEQCABQQxqIAAQgCkgAkHQAGogAigCMCACKAI0EJ0KIAIgAigCUDYCiAEgAiACKAJUIgA2AoABIAIgACACKAJYQQR0IgNqIgU2AowBA0AgA0UNAiACIAApAwAgACgCCBDHECADQRBrIQMgAEEQaiEADAALAAsgAkGAAWoiACACQSwQ/AYaIAFBHGogABCaGiAEEIUjDAQLIAIgBTYChAEgAkGAAWoQkxcgAS0AKEUEQCABIAIoAjQQjR4gAiACKAIsNgKIASACIAIoAjAiADYCgAEgAiAAIAIoAjRBBHQiA2oiBDYCjAEDQCADBEAgASAAKQMAIAAoAghBARCOBiADQRBrIQMgAEEQaiEADAELCyACIAQ2AoQBIAJBgAFqIgAQkxcgACACQSwQ/AYaIAFBHGogABCaGgwECyACQYgBaiAEQQhqKAIANgIAIAIgBCkCADcDgAEgAUEsaiACQYABaiIAEKIQIAAgAkEsEPwGGiABQRxqIAAQmhoMAwsgAkEUakHIn+MAKQMAIgg3AgAgAkEAOwE+IAJBADYCNCACQoCAgICAATcCLCACQQE6ACggAkEANgIkIAJCgICAgMAANwIcIAJBADYCCCACQoCAgICAATcCACACQcCf4wApAwAiCTcCDCACIAEvATw7ATwgAiABKAI4NgI4IABBBGogAhCwHCAAQQxqIAIQzSwgAkGUAWogCDcCACACIAk3AowBIAJBADsBvgEgAiACLwE8OwG8ASACIAIoAjg2ArgBIAJBADYCtAEgAkKAgICAgAE3AqwBIAJBAToAqAEgAkEANgKkASACQoCAgIDAADcCnAEgAkEANgKIASACQoCAgICAATcCgAEgAkGAAWogACgCEBDNICACQawBaiEFIAJBLGohBCACQRxqIQYCQAJAIAIoArQBIgAEQCACQQxqIAAQgCkgAkHEAGogAigCsAEgAigCtAEQnQogAiACKAJENgJYIAIgAigCSCIANgJQIAIgACACKAJMQQR0IgNqIgc2AlwDQCADRQ0CIAJBgAFqIAApAwAgACgCCBDHECADQRBrIQMgAEEQaiEADAALAAsgAkHQAGoiACACQYABakEsEPwGGiAGIAAQmhogBRCFIwwBCyACIAc2AlQgAkHQAGoQkxcgAi0AKEUEQCACIAIoArQBEI0eIAIgAigCrAE2AlggAiACKAKwASIANgJQIAIgACACKAK0AUEEdCIDaiIFNgJcA0AgAwRAIAIgACkDACAAKAIIQQEQjgYgA0EQayEDIABBEGohAAwBCwsgAiAFNgJUIAJB0ABqIgAQkxcgACACQYABakEsEPwGGiAGIAAQmhoMAQsgAkHYAGogBUEIaigCADYCACACIAUpAgA3A1AgBCACQdAAaiIAEKIQIAAgAkGAAWpBLBD8BhogBiAAEJoaCwJAIAIoAjQiAARAIAFBDGogABCAKSACQdAAaiACKAIwIAIoAjQQnQogAiACKAJQNgKIASACIAIoAlQiADYCgAEgAiAAIAIoAlhBBHQiA2oiBTYCjAEDQCADRQ0CIAIgACkDACAAKAIIEMcQIANBEGshAyAAQRBqIQAMAAsACyACQYABaiIAIAJBLBD8BhogAUEcaiAAEJoaIAQQhSMMAwsgAiAFNgKEASACQYABahCTFyABLQAoRQRAIAEgAigCNBCNHiACIAIoAiw2AogBIAIgAigCMCIANgKAASACIAAgAigCNEEEdCIDaiIENgKMAQNAIAMEQCABIAApAwAgACgCCEEBEI4GIANBEGshAyAAQRBqIQAMAQsLIAIgBDYChAEgAkGAAWoiABCTFyAAIAJBLBD8BhogAUEcaiAAEJoaDAMLIAJBiAFqIARBCGooAgA2AgAgAiAEKQIANwOAASABQSxqIAJBgAFqIgAQohAgACACQSwQ/AYaIAFBHGogABCaGgwCCyAAQQhqIAEQ+wIMAQsgAEEEaiABEM0sCyACQcABaiQAC4UjAhd/CH4jAEGwAmsiAyQAAkACQCACKAIEIgUgAigCCCIEQf/9AxDfGEUNAEEDIARBxMrYABDvIBoCQCAEQQRPBEAgBSwAA0G/f0oNAQwDCyAEQQNHDQIgAkEANgIIDAELIAJBADYCCCAFIAVBA2ogBEEDayIEENAtGiACIAQ2AggLQRRBBBChICIOQoGAgIAQNwIAIA4gAikCADcCCCAOQRBqIAJBCGooAgA2AgAgASABKAIAIgJBAWo2AgAgAyABNgIsAkAgAkEASA0AIAEiAigCCCIXQQJGBEAgACgCUCIYIAAoAlRBGGxqIRMgA0G5AWohFSADQfkBaiEUIAIoAhQhDyACKAIQIRECQANAIBggEyIMRyIZRQRAIANB8AFqIBEgDxD3EwwCCyAMQRBrKAIAIQJBACEIIA8EQCARLQAAQS9GIQgLIAxBFGsoAgAhBCAMQRhrIRMgAyACBH8gBC0AAEEvRgVBAAs6AM4BQQYhBSADQQY6ALgBIAMgAjYCtAEgAyAENgKwASADQYAEOwHMAUEAIQpBAiEJIA8hBCARIQYCQANAIAVB/wFxIg1BBkYiEEUEQCADQacBaiADQdcAaigAADYAACADQaABaiADQdAAaikAADcDACADIAMpAEg3A5gBCyAUIAMpA5gBNwAAIBRBCGoiEiADQaABaikDADcAACAUQQ9qIhYgA0GnAWooAAA2AAAgAyAFOgD4ASADIAQ2AvQBIAMgBjYC8AEgAyAIOgCOAiADIAk6AI0CIAMgCjoAjAIgA0HgAGogA0HwAWoQggMgA0H8AGogA0GwAWoQggMgAy0AfCECAkACQAJAIAMtAGAiC0EKRgRAIAJBCkYNAQwDCyACQQpHDQELIANBP2oiAiADQdcAaigAADYAACADQThqIgsgA0HQAGopAwA3AwAgAyADKQNINwMwQQAhByAIQQJGDQMgEEUEQCADQf8BaiACKAAANgAAIANB+AFqIAspAwA3AwAgAyADKQMwNwPwAQsgFSADKQPwATcAACAVQQhqIANB+AFqKQMANwAAIBVBD2ogA0H/AWooAAA2AAAgAyAFOgC4ASADIAQ2ArQBIAMgBjYCsAEgAyAIOgDOASADIAk6AM0BIAMgCjoAzAECQCAKQQJHBEAgBiEHDAELIARFBEBBACEEIAYhBwwFCwJAAkACQCANQQNPBEAgBiEHA0BBACECAn8DQEEBIAIgB2otAABBL0YNARogBCACQQFqIgJHDQALIAQhAkEACyEFAkACQCACDgIBAAULIActAABBLkcNBAsgAiAFaiICIARNBEAgAiAHaiEHIAQgAmsiBA0BDAMLCyACIARB9LDYABCuEAALIAQgBmohBwNAQQAhAgJAA0AgAiAGai0AAEEvRg0BIAQgAkEBaiICRw0ACyADIAY2ArABIAYhBwwECyACBEAgBiEHDAMLIAZBAWohBiAEQQFrIgQNAAsLQQAhBAsgAyAHNgKwAQsgAyAENgK0AQsgCUECRw0DQQAhBUEAIQJBACEGAkACQAJAAkACQAJAIApBAUsNAAJAIAhBAXEgDUEFSXINACAKIBByRQRAQQIhBSAEQQFNDQMLIAQgBUYNACAFIAdqIgktAAAhBQJAIAlBAWoiCSAEIAdqRiILIAVBLkdyRQRAIAktAABBL0YNAQwCCyALRSAFQS5Hcg0BC0EBIQILAkAgCg0AIAghBQJAAkACQAJAAkACQCANQQFrDgYBBQIDBAcACyADKALAAUEEaiEGDAULIAMoAsABIAMoAsgBIgVBAWpBACAFG2pBCGohBgwECyADKALAAUEEaiEGDAMLIAMoAsABIAMoAsgBIgVBAWpBACAFG2pBAmohBgwCC0ECIQYMAQtBBiEGCyAIIQULIAQgAiAFQf8BcWogBmpNDQggCkECTwRAA0AgA0HwAWogA0GwAWoQ/QMgAy0A9AFBCkcNCiAEIAMoAvABIgVrIQIgBCAFSQRAIAQhBSACIQQMBgsgAyACNgK0ASACIgQNAAtBACEEDAkLIAMoAsABIgJBBGohBiACIAMoAsgBIgVBAWpBACAFG2oiAkEIaiEJIAJBAmohCyAIQQFxIA1BBUlyDQIgECAKQQBHciEQA0AgBCEFIANB8AFqIANBsAFqEP0DIAMtAPQBQQpHDQUgBCADKALwASICayEEIAIgBUsNBCADIAQ2ArQBQQAhBUEAIQIgEEUEQEECIQIgBEEBTQ0DCwJAIAIgBEYNACACIAdqIhItAAAhAgJAIBJBAWoiEiAEIAdqRiIWIAJBLkdyRQRAIBItAABBL0YNAQwCCyAWRSACQS5Hcg0BC0EBIQULQQAhAgJAIAoNAAJAAkACQAJAAkAgDUEBaw4GAAQBAgMFAQsgCSECDAQLIAYhAgwDCyALIQIMAgtBAiECDAELQQYhAgsgBCAFIAhqIAJqSw0ACwwIC0ECIARBxLDYABCuEAALQQIgBEHEsNgAEK4QAAsgCkUEQANAIAQhBSADQfABaiADQbABahD9AyADLQD0AUEKRw0DIAQgAygC8AEiAmshBCACIAVLDQIgAyAENgK0AUEAIQICQAJAAkACQAJAAkAgDUEBaw4GAwIEAQAFBAtBAiECDAQLIAshAgwDC0EGIQIMAgsgCSECDAELIAYhAgsgBCACIAhqSw0ADAcLAAsDQCADQfABaiADQbABahD9AyADLQD0AUEKRw0GIAQgAygC8AEiBWshAiAEIAVJBEAgBCEFIAIhBAwCCyADIAI2ArQBIAIiBCAISw0ACwwFCyAEIAVBhLHYABCvEAALIAUhBAwDCyALQQVrQQAgC0EGa0H/AXFBBEkbIgggAkEFa0EAIAJBBk8bRw0AIAMoAoQBIQUgAygCgAEhBiADKAJoIQQgAygCZCEHAkACQAJAIAgOBQACAgIBAgsgAkEFSw0BIAIgC0cNAiADKAKMASEIIAMoAogBIQkgAy0AfSEKIAMoAnAhAiADKAJsIQ0gAy0AYSEQAkACQAJAAkACQAJAIAtBAWsOBQECAwQFAAsgBCAFRw0HIAcgBiAEEJwVDQcMBgsgBCAFRw0GIAcgBiAEEJwVIAIgCEdyDQYgDSAJIAIQnBUNBgwFCyAKIBBHDQUMBAsgBCAFRw0EIAcgBiAEEJwVDQQMAwsgBCAFRw0DIAcgBiAEEJwVIAIgCEdyDQMgDSAJIAIQnBUNAwwCCyAKIBBHDQIMAQsgBCAFRw0BIAcgBiAEEJwVDQELIANB0ABqIBIpAAA3AwAgA0HXAGogFigAADYAACADIBQpAAA3A0ggAy0AjgIhCCADLQCNAiEJIAMtAIwCIQogAy0A+AEhBSADKAL0ASEEIAMoAvABIQYMAQsLQQAhBwsgB0UNAAsgA0HwAWogDEEIaygCACAMQQRrKAIAIAcgBBDZBwsgA0G4AWoiBCADQfgBaigCADYCACADIAMpAvABNwOwAUHQAEEEEKEgIgJBAjYCCCACQoGAgIAQNwIAIAIgAykDsAE3AgwgAkEUaiAEKAIANgIACyAAQeAAahDQHyAAIAAoAoABIgUgDigCEGpBAWo2AoABIANB6AFqQgA3AwAgA0HgAWpCADcDACADQdgBakIANwMAIANCADcD0AEgA0LzytHLp4zZsvQANwPIASADQoPfkfOWzNy35AA3A8ABIANC4eSV89bs2bzsADcDuAEgA0L1ys2D16zbt/MANwOwASADQbABaiIEIA4oAgwgDigCECIGEO4IIANBGGogBBCzCSADQSBqKQMAIRogAykDGCEbIANBqAJqQgA3AwAgA0GgAmpCADcDACADQZgCakIANwMAIANCADcDkAIgA0LzytHLp4zZsvQANwOIAiADQoPfkfOWzNy35AA3A4ACIANC4eSV89bs2bzsADcD+AEgA0L1ys2D16zbt/MANwPwASACIANB8AFqIgQQwAQgA0EIaiAEELMJIANBEGopAwAhHCADKQMIIR1B8ABBCBChICIEIBw3AyAgBCAdNwMYIAQgGjcDECAEIBs3AwggBCAZOgBoIAQgBSAGajYCZCAEIAU2AmAgBEEANgJcIAQgATYCWCAEIA42AlQgBCACNgJQIARCgICAgICAgICAfzcDKCAEQoKAgIAQNwIAIAAoAmwiASAAKAJkRgRAIABB5ABqEPsWCyAAKAJoIAFBAnRqIAQ2AgAgACABQQFqNgJsIANBqAJqQgA3AwAgA0GgAmpCADcDACADQZgCakIANwMAIANCADcDkAIgA0LzytHLp4zZsvQANwOIAiADQoPfkfOWzNy35AA3A4ACIANC4eSV89bs2bzsADcD+AEgA0L1ys2D16zbt/MANwPwASACIANB8AFqIgEQwAQgASAELQBoEOIMIAEgBCgCWCICQQBHEOIMIAIEQCACIAEQwAQLIAMpA6ACIRogAzUCqAIhGyADQcABaiICIANBgAJqKQMANwMAIANBuAFqIgEgA0H4AWopAwA3AwAgA0HIAWoiBSAaIBtCOIaEIhogA0GIAmopAwCFNwMAIAMgAykD8AE3A7ABIANBsAFqIgYQlwsgASABKQMAQu4BhTcDACADIAMpA7ABIBqFNwOwASAGEJ8HIAIgAikDACIaQt0BhTcDACAFKQMAIRsgASkDACEcIAMpA7ABIR0gBhCfByAFKQMAIR4gASkDACEfIAIpAwAhICADKQOwASEhIAQgBCgCACIBQQFqNgIAIAFBAEgNACADICAgIYUgH4UgHoUiHjcD+AEgAyAcIB2FIBuFIBqFIho3A/ABIABB8ABqIQEgGiAeEI8cIRsgAyADQfABajYCfCAAKAJ4RQRAAkBBACEHIwBBQGoiAiQAIAIgAEGAAWo2AgwgASgCDCEFIAIgAkEMajYCECAFQX9HBEACfwJAIAEoAgQiBiAGQQFqQQN2QQdsIAZBCEkbIgZBAXYgBU0EQCACQTBqQRggBSAGIAUgBksbQQFqELgLIAIoAjQiCCACKAIwIgZFDQIaIAIoAjghCyACIAIoAjw2AiwgAiALNgIoIAIgCDYCJCACQpiAgICAATcCGCACIAFBEGo2AhQgAiAGNgIgIAZBCGohEyABKAIAIgkpAwBCf4VCgIGChIiQoMCAf4MhGiACQSBqIQoDQAJAIAUEQANAIBpCAFINAiAHQQhqIQcgCSkDCEJ/hUKAgYKEiJCgwIB/gyEaIAlBCGohCQwACwALIAIgASgCDCIFNgIsIAIgCyAFazYCKCABIAoQghggAkEUahD3FAwDCyAGIAYgCCACQRBqIAEgGnqnQQN2IAdqIg8QtB4iHBD2DiIMaiAcQhmIpyIOOgAAIBMgDEEIayAIcWogDjoAACAGIAxBf3NBGGxqIgwgASgCACAPQX9zQRhsaiIPKQAANwAAIAxBEGogD0EQaikAADcAACAMQQhqIA9BCGopAAA3AAAgBUEBayEFIBpCAX0gGoMhGgwACwALIAEgAkEQakGTAkEYELwEC0EACxogAkFAayQADAELEKkbAAsLIAMgATYCtAEgAEH0AGoiBSgCACEBIAMgA0H8AGo2ArABIAMgACgCcCABIBsgA0GwAWpBkgIQ7AcgACgCcCEBIAMoAgQhAgJ/IAMoAgBFBEAgASACQWhsakEIayICKAIADAELIAEgAmoiBi0AACEHIANB+AFqKQMAIRogAykD8AEhHCAGIBtCGYinIgY6AAAgASAFKAIAIAJBCGtxakEIaiAGOgAAIAAgACgCfEEBajYCfCAAIAAoAnggB0EBcWs2AnggASACQWhsaiIAQRhrIgEgGjcDCCABIBw3AwAgAEEIayECQQALIQAgAiAENgIAIAMgADYCsAEgA0GwAWoQ4SYQ2R4CQCAXQQJHDQAgAygCLCIAIAAoAgAiAEEBazYCACAAQQFHDQAgA0EsahDqDwsgA0GwAmokACAEDwsAC0HUytgAQSxBgMvYABDuFwAL6iICCH8BfgJAAkACQAJAAkACQAJAAkAgAEH1AU8EQCAAQc3/e08NBSAAQQtqIgFBeHEhBUHEj+QAKAIAIghFDQRBHyEHQQAgBWshAyAAQfT//wdNBEAgBUEGIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEHCyAHQQJ0QaiM5ABqKAIAIgFFBEBBACEADAILQQAhACAFQRkgB0EBdmtBACAHQR9HG3QhBANAAkAgASgCBEF4cSIGIAVJDQAgBiAFayIGIANPDQAgASECIAYiAw0AQQAhAyABIQAMBAsgASgCFCIGIAAgBiABIARBHXZBBHFqQRBqKAIAIgFHGyAAIAYbIQAgBEEBdCEEIAENAAsMAQtBwI/kACgCACIEQRAgAEELakH4A3EgAEELSRsiBUEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgVBA3QiAEG4jeQAaiICIABBwI3kAGooAgAiASgCCCIDRwRAIAMgAjYCDCACIAM2AggMAQtBwI/kACAEQX4gBXdxNgIACyABIABBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQMCAsgBUHIj+QAKAIATQ0DAkACQCABRQRAQcSP5AAoAgAiAEUNBiAAaEECdEGojOQAaigCACICKAIEQXhxIAVrIQMgAiEBA0ACQCACKAIQIgANACACKAIUIgANACABKAIYIQcCQAJAIAEgASgCDCIARgRAIAFBFEEQIAEoAhQiABtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAFBFGogAUEQaiAAGyEEA0AgBCEGIAIiAEEUaiAAQRBqIAAoAhQiAhshBCAAQRRBECACG2ooAgAiAg0ACyAGQQA2AgALIAdFDQQgASABKAIcQQJ0QaiM5ABqIgIoAgBHBEAgB0EQQRQgBygCECABRhtqIAA2AgAgAEUNBQwECyACIAA2AgAgAA0DQcSP5ABBxI/kACgCAEF+IAEoAhx3cTYCAAwECyAAKAIEQXhxIAVrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAALAAsCQEECIAB0IgJBACACa3IgASAAdHFoIgZBA3QiAEG4jeQAaiIBIABBwI3kAGooAgAiAigCCCIDRwRAIAMgATYCDCABIAM2AggMAQtBwI/kACAEQX4gBndxNgIACyACIAVBA3I2AgQgAiAFaiIGIAAgBWsiA0EBcjYCBCAAIAJqIAM2AgBByI/kACgCACIBBEAgAUF4cUG4jeQAaiEAQdCP5AAoAgAhBAJ/QcCP5AAoAgAiBUEBIAFBA3Z0IgFxRQRAQcCP5AAgASAFcjYCACAADAELIAAoAggLIQEgACAENgIIIAEgBDYCDCAEIAA2AgwgBCABNgIIC0HQj+QAIAY2AgBByI/kACADNgIAIAJBCGoPCyAAIAc2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgASgCFCICRQ0AIAAgAjYCFCACIAA2AhgLAkACQCADQRBPBEAgASAFQQNyNgIEIAEgBWoiBSADQQFyNgIEIAMgBWogAzYCAEHIj+QAKAIAIgRFDQEgBEF4cUG4jeQAaiEAQdCP5AAoAgAhAgJ/QcCP5AAoAgAiBkEBIARBA3Z0IgRxRQRAQcCP5AAgBCAGcjYCACAADAELIAAoAggLIQQgACACNgIIIAQgAjYCDCACIAA2AgwgAiAENgIIDAELIAEgAyAFaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELQdCP5AAgBTYCAEHIj+QAIAM2AgALDAcLIAAgAnJFBEBBACECQQIgB3QiAEEAIABrciAIcSIARQ0DIABoQQJ0QaiM5ABqKAIAIQALIABFDQELA0AgACACIAAoAgRBeHEiBCAFayIGIANJIgcbIQggACgCECIBRQRAIAAoAhQhAQsgAiAIIAQgBUkiABshAiADIAYgAyAHGyAAGyEDIAEiAA0ACwsgAkUNACAFQciP5AAoAgAiAE0gAyAAIAVrT3ENACACKAIYIQcCQAJAIAIgAigCDCIARgRAIAJBFEEQIAIoAhQiABtqKAIAIgENAUEAIQAMAgsgAigCCCIBIAA2AgwgACABNgIIDAELIAJBFGogAkEQaiAAGyEEA0AgBCEGIAEiAEEUaiAAQRBqIAAoAhQiARshBCAAQRRBECABG2ooAgAiAQ0ACyAGQQA2AgALIAdFDQMgAiACKAIcQQJ0QaiM5ABqIgEoAgBHBEAgB0EQQRQgBygCECACRhtqIAA2AgAgAEUNBAwDCyABIAA2AgAgAA0CQcSP5ABBxI/kACgCAEF+IAIoAhx3cTYCAAwDCwJAAkACQAJAIAVByI/kACgCACIBSwRAIAVBzI/kACgCACIATwRAQQAhAyAFQa+ABGoiAEEQdkAAIgFBf0YiAg0GIAFBEHQiAUUNBkHYj+QAQQAgAEGAgHxxIAIbIgNB2I/kACgCAGoiADYCAEHcj+QAQdyP5AAoAgAiAiAAIAAgAkkbNgIAAkACQEHUj+QAKAIAIgIEQEGojeQAIQADQCAAKAIAIgQgACgCBCIGaiABRg0CIAAoAggiAA0ACwwCC0Hkj+QAKAIAIgBBACAAIAFNG0UEQEHkj+QAIAE2AgALQeiP5ABB/x82AgBBrI3kACADNgIAQaiN5AAgATYCAEHEjeQAQbiN5AA2AgBBzI3kAEHAjeQANgIAQcCN5ABBuI3kADYCAEHUjeQAQciN5AA2AgBByI3kAEHAjeQANgIAQdyN5ABB0I3kADYCAEHQjeQAQciN5AA2AgBB5I3kAEHYjeQANgIAQdiN5ABB0I3kADYCAEHsjeQAQeCN5AA2AgBB4I3kAEHYjeQANgIAQfSN5ABB6I3kADYCAEHojeQAQeCN5AA2AgBB/I3kAEHwjeQANgIAQfCN5ABB6I3kADYCAEG0jeQAQQA2AgBBhI7kAEH4jeQANgIAQfiN5ABB8I3kADYCAEGAjuQAQfiN5AA2AgBBjI7kAEGAjuQANgIAQYiO5ABBgI7kADYCAEGUjuQAQYiO5AA2AgBBkI7kAEGIjuQANgIAQZyO5ABBkI7kADYCAEGYjuQAQZCO5AA2AgBBpI7kAEGYjuQANgIAQaCO5ABBmI7kADYCAEGsjuQAQaCO5AA2AgBBqI7kAEGgjuQANgIAQbSO5ABBqI7kADYCAEGwjuQAQaiO5AA2AgBBvI7kAEGwjuQANgIAQbiO5ABBsI7kADYCAEHEjuQAQbiO5AA2AgBBzI7kAEHAjuQANgIAQcCO5ABBuI7kADYCAEHUjuQAQciO5AA2AgBByI7kAEHAjuQANgIAQdyO5ABB0I7kADYCAEHQjuQAQciO5AA2AgBB5I7kAEHYjuQANgIAQdiO5ABB0I7kADYCAEHsjuQAQeCO5AA2AgBB4I7kAEHYjuQANgIAQfSO5ABB6I7kADYCAEHojuQAQeCO5AA2AgBB/I7kAEHwjuQANgIAQfCO5ABB6I7kADYCAEGEj+QAQfiO5AA2AgBB+I7kAEHwjuQANgIAQYyP5ABBgI/kADYCAEGAj+QAQfiO5AA2AgBBlI/kAEGIj+QANgIAQYiP5ABBgI/kADYCAEGcj+QAQZCP5AA2AgBBkI/kAEGIj+QANgIAQaSP5ABBmI/kADYCAEGYj+QAQZCP5AA2AgBBrI/kAEGgj+QANgIAQaCP5ABBmI/kADYCAEG0j+QAQaiP5AA2AgBBqI/kAEGgj+QANgIAQbyP5ABBsI/kADYCAEGwj+QAQaiP5AA2AgBB1I/kACABNgIAQbiP5ABBsI/kADYCAEHMj+QAIANBKGsiADYCACABIABBAXI2AgQgACABakEoNgIEQeCP5ABBgICAATYCAAwHCyACIARJIAEgAk1yDQAgACgCDEUNAwtB5I/kAEHkj+QAKAIAIgAgASAAIAFJGzYCACABIANqIQRBqI3kACEAAkACQANAIAQgACgCACIGRwRAIAAoAggiAA0BDAILCyAAKAIMRQ0BC0GojeQAIQADQAJAIAIgACgCACIETwRAIAIgBCAAKAIEaiIGSQ0BCyAAKAIIIQAMAQsLQdSP5AAgATYCAEHMj+QAIANBKGsiADYCACABIABBAXI2AgQgACABakEoNgIEQeCP5ABBgICAATYCACACIAZBIGtBeHFBCGsiACAAIAJBEGpJGyIEQRs2AgRBqI3kACkCACEJIARBEGpBsI3kACkCADcCACAEIAk3AghBrI3kACADNgIAQaiN5AAgATYCAEGwjeQAIARBCGo2AgBBtI3kAEEANgIAIARBHGohAANAIABBBzYCACAAQQRqIgAgBkkNAAsgAiAERg0GIAQgBCgCBEF+cTYCBCACIAQgAmsiAEEBcjYCBCAEIAA2AgAgAEGAAk8EQCACIAAQxgcMBwsgAEH4AXFBuI3kAGohAQJ/QcCP5AAoAgAiBEEBIABBA3Z0IgBxRQRAQcCP5AAgACAEcjYCACABDAELIAEoAggLIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAYLIAAgATYCACAAIAAoAgQgA2o2AgQgASAFQQNyNgIEIAZBD2pBeHFBCGsiAyABIAVqIgRrIQUgA0HUj+QAKAIARg0DIANB0I/kACgCAEYNBCADKAIEIgJBA3FBAUYEQCADIAJBeHEiABDQBiAAIAVqIQUgACADaiIDKAIEIQILIAMgAkF+cTYCBCAEIAVBAXI2AgQgBCAFaiAFNgIAIAVBgAJPBEAgBCAFEMYHDAoLIAVB+AFxQbiN5ABqIQACf0HAj+QAKAIAIgJBASAFQQN2dCIDcUUEQEHAj+QAIAIgA3I2AgAgAAwBCyAAKAIICyEFIAAgBDYCCCAFIAQ2AgwgBCAANgIMIAQgBTYCCAwJC0HMj+QAIAAgBWsiATYCAEHUj+QAQdSP5AAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIaiEDDAULQdCP5AAoAgAhAAJAIAEgBWsiAkEPTQRAQdCP5ABBADYCAEHIj+QAQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELQciP5AAgAjYCAEHQj+QAIAAgBWoiBDYCACAEIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAsgAEEIag8LIAAgAyAGajYCBEHUj+QAQdSP5AAoAgAiAEEPakF4cSIBQQhrIgI2AgBBzI/kAEHMj+QAKAIAIANqIgQgACABa2pBCGoiATYCACACIAFBAXI2AgQgACAEakEoNgIEQeCP5ABBgICAATYCAAwCC0HUj+QAIAQ2AgBBzI/kAEHMj+QAKAIAIAVqIgA2AgAgBCAAQQFyNgIEDAULQdCP5AAgBDYCAEHIj+QAQciP5AAoAgAgBWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAQLQQAhA0HMj+QAKAIAIgAgBU0NAEHMj+QAIAAgBWsiATYCAEHUj+QAQdSP5AAoAgAiACAFaiICNgIAIAIgAUEBcjYCBCAAIAVBA3I2AgQgAEEIag8LIAMPCyAAIAc2AhggAigCECIBBEAgACABNgIQIAEgADYCGAsgAigCFCIBRQ0AIAAgATYCFCABIAA2AhgLAkAgA0EQTwRAIAIgBUEDcjYCBCACIAVqIgEgA0EBcjYCBCABIANqIAM2AgAgA0GAAk8EQCABIAMQxgcMAgsgA0H4AXFBuI3kAGohAAJ/QcCP5AAoAgAiBEEBIANBA3Z0IgNxRQRAQcCP5AAgAyAEcjYCACAADAELIAAoAggLIQMgACABNgIIIAMgATYCDCABIAA2AgwgASADNgIIDAELIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIECyACQQhqDwsgAUEIagvJHgIPfwF+IwBB8ABrIgMkACACKAIQIQggA0HgAGogASACKAIMIglBABDTAQJAAn8CfwJAAkAgAy0AYEEERwRAIAMpA2AiEkL/AYNCBFINAQsCQAJAAkACQCAJRQ0AIANB4ABqIAEgCRDLHCADLQBgQQRGDQAgAykDYCISQv8Bg0IEUg0BCyADQQA2AkggA0HgAGogASADQcgAakHatOAAQQEQrBMgAy0AYEEERwRAIAMpA2AiEkL/AYNCBFINAgsgAigCCCEGQZCHkAEhByABLQBNRQ0CQQAMBQsgACASNwIADAYLIAAgEjcCAAwFCyAGRQRAQQAgCSAIIAEoAkQgASgCSBC7GQ0EGgsgA0HgAGogARCwESADLQBgQQRGDQEgAykDYCISQv8Bg0IEUQ0BIAAgEjcCAAwECyAAIBI3AgAMAwtB0YeQASEHQQELIQ8gBgshBiACKAIEIQsgA0HgAGogCSAGIAcgBhDoFwJAAkACQAJAIAMtAGBBBUcEQCADKQNgIRIMAQsgAygCZBoCQAJAIAYEQCADQQE6AFYgA0FAayALELERIAEtAE0hAiAHQQFxRQRAIAJBAXENAiADQeAAaiABEMwRIAMtAGBBBEYNAiADKQNgIhJC/wGDQgRSDQQMAgsCQCACQQFxDQAgA0HgAGogARCwESADLQBgQQRGDQAgAykDYCISQv8Bg0IEUg0ECyADQQA6AFYMAQsgB0EBcUUNASABLQBNDQEgA0HgAGogARCwESADLQBgQQRGDQEgAykDYCISQv8Bg0IEUQ0BDAILAkAgB0HAAHFFDQAgAS0ATUEBRg0AIAEgASgCLEEBajYCLAsgA0EAOgBXIAYhDCALIQIDQCAMRQRAIAMgBkEMbCALakEMaxCxESADQeAAaiABIAkgCCAHIAQgEkIgiKcQ1gEgAy0AYEEERg0CIAMpA2AiEkL/AYNCBFINAwwCCyADIBI3AmQgAyAENgJgIANBOGogAhCxESADQdgAaiABIAggByADQeAAaiADKAI4IAMoAjwgA0HXAGogA0HWAGoQkQQgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAwsCQAJAIAIoAgAEQCADQeAAaiABIAIQrwYgAy0AYEEERg0CIAMpA2AiEkL/AYNCBFINAQwCCwJAAkACQAJAAkACQAJAAkACQAJAAkBBBCACQQRqKAIAIgQoAgBBBWsiBSAFQQZPG0EBaw4FAQIDBAUACyADQeAAaiAEQQhqIAEQ3hIgAy0AYEEERg0LIAMpA2AiEkL/AYNCBFINCQwLCyADQTBqIARBCGoiEBDMHCADKAI0IQ0gA0EoaiAEKAIoEI4DIANB4ABqIAEgAygCMCIFIAMoAiwiCiAFIApJG0EAENMBIAMtAGBBBEcEQCADKQNgIhJC/wGDQgRSDQgLIANBIGogBEEoaiIRKAIAEI4DIAMoAiQhCiADKAIgIQQCQCAFIA1yRSAFQf7/e0tyIg4NACADQeAAaiABIAUQyxwgAy0AYEEERg0AIAMpA2AiEkL/AYNCBFINCAsgA0HgAGogASAQEL8EIAMtAGBBBEcEQCADKQNgIhJC/wGDQgRSDQgLIARB/v97TUEAIAQgCnIbIA5yDQYgA0HgAGogASANEMscIAMtAGBBBEYNBiADKQNgIhJC/wGDQgRRDQYMBwsgA0HgAGogASAEKAIIIgVBABDTAQJAIAMtAGBBBEcEQCADKQNgIhJC/wGDQgRSDQELAkAgBUUNACADQeAAaiABIAUQyxwgAy0AYEEERg0AIAMpA2AiEkL/AYNCBFINAQsgA0HgAGogBEEQaiABEN4SIAMtAGBBBEcEQCADKQNgIhJC/wGDQgRSDQELIANBADYCYCADQdgAaiABIANB4ABqQdGv4ABBARCsEyADLQBYQQRHBEAgAykDWCISQv8Bg0IEUg0BCyADQeAAaiAEQShqIAEQviogAy0AYEEERg0KIAMpA2AiEkL/AYNCBFENCgsgEkL/AYNCBFINBwwJCyADQdgAaiABIAQoAkAiBUEAENMBAkAgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAQsCQCAFRQ0AIANB2ABqIAEgBRDLHCADLQBYQQRGDQAgAykDWCISQv8Bg0IEUg0BCyADQQA2AmAgA0HYAGogASADQeAAakG4xOAAQQMQrBMgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAQsCQAJAAkAgBEEIaiIFKAIAQQFrDgMBAAEACyADQdgAaiABEMwRIAMtAFhBBEYNASADKQNYIhJC/wGDQgRRDQEMAgsgAS0ATQ0AIANB2ABqIAEQzBEgAy0AWEEERg0AIAMpA1giEkL/AYNCBFINAQsgA0HYAGogASAFEL8EIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQELAkAgAS0ATQ0AIANB2ABqIAEQzBEgAy0AWEEERg0AIAMpA1giEkL/AYNCBFINAQsgA0HYAGogASADQeAAakHXtOAAQQEQrBMgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAQsgA0HYAGogASADQeAAakHgoOMAQQEQrBMgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAQsCQCABLQBNDQAgA0HYAGogARDMESADLQBYQQRGDQAgAykDWCISQv8Bg0IEUg0BCyADQdgAaiAEQShqIAEQlSAgAy0AWEEERg0JIAMpA1giEkL/AYNCBFENCQsgEkL/AYNCBFINBgwICyADQdgAaiABIAQoAmAiBUEAENMBIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQMLAkAgBUUNACADQdgAaiABIAUQyxwgAy0AWEEERg0AIAMpA1giEkL/AYNCBFINAwsgA0EANgJgIANB2ABqIAEgA0HgAGpBu8TgAEEDEKwTIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQMLAkACQAJAIAQoAgBBAWsOAwEAAQALIANB2ABqIAEQzBEgAy0AWEEERg0BIAMpA1giEkL/AYNCBFENAQwECyABLQBNDQAgA0HYAGogARDMESADLQBYQQRGDQAgAykDWCISQv8Bg0IEUg0DCyADQdgAaiABIAQQvwQgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAwsCQCABLQBNDQAgA0HYAGogARDMESADLQBYQQRGDQAgAykDWCISQv8Bg0IEUg0DCyADQdgAaiABIANB4ABqQde04ABBARCsEyADLQBYQQRHBEAgAykDWCISQv8Bg0IEUg0DCyAEKAIgQQdGDQEgA0HYAGogASAEQSBqEJ8FIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQMLIANB2ABqIAEgA0HgAGpB+rfgAEEBEKwTIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQMLIAEtAE0NASADQdgAaiABEMwRIAMtAFhBBEYNASADKQNYIhJC/wGDQgRRDQEMAgsgA0HgAGogASAEKAIoKAIwQQAQ0wECQCADLQBgQQRHBEAgAykDYCISQv8Bg0IEUg0BCwJAIAQoAigoAjAiBUUNACADQeAAaiABIAUQyxwgAy0AYEEERg0AIAMpA2AiEkL/AYNCBFINAQsCQCAEKAIoIgUtAEVFDQAgA0EANgJgIANB2ABqIAEgA0HgAGpB+LjgAEEFEKwTIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQILIANB4ABqIAEQzBEgAy0AYEEERg0AIAMpA2AiEkL/AYNCBFINAQsCQCAFLQBERQ0AIANBADYCYCADQdgAaiABIANB4ABqQY+w4ABBARCsEyADLQBYQQRGDQAgAykDWCISQv8Bg0IEUg0BCyADQeAAaiABIARBCGoQvwQgAy0AYEEERwRAIAMpA2AiEkL/AYNCBFINAQsCQCABLQBNDQAgA0HgAGogARDMESADLQBgQQRGDQAgAykDYCISQv8Bg0IEUg0BCyADQeAAaiABIAUQ+wMgAy0AYEEERg0HIAMpA2AiEkL/AYNCBFENBwsgEkL/AYNCBFENBgwECyADQdgAaiAEQegAaiABEMEqIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQELIANB2ABqIAEgA0HgAGpB4KDjAEEBEKwTIAMtAFhBBEcEQCADKQNYIhJC/wGDQgRSDQELIANB2ABqIARByABqIAEQlSAgAy0AWEEERg0FIAMpA1giEkL/AYNCBFENBQsgEkL/AYNCBFINAgwECyADQQA2AmAgA0HYAGogASADQeAAakGcteAAQQEQrBMgAy0AWEEERwRAIAMpA1giEkL/AYNCBFINAQsCQCABLQBNDQAgA0HgAGogARDMESADLQBgQQRGDQAgAykDYCISQv8Bg0IEUg0BCwJAIAQgCnJFIA5FIARB/v97S3JyDQAgA0HgAGogASAEEMscIAMtAGBBBEYNACADKQNgIhJC/wGDQgRSDQELIANB4ABqIBEgARC+KiADLQBgQQRGDQMgAykDYCISQv8Bg0IEUQ0DCyASQv8Bg0IEUQ0CCyASQv8Bg0IEUQ0BCyASQv8Bg0IEUg0DCwJAIAMtAFZFBEAgA0EBOgBWDAELIAEoAkRFDQAgA0HgAGogAQJ/IAIoAgAiBARAIANBGGogBBCOAyACQQRqKAIAIgQgAygCHCIFIAQgBUsbDAELIANBEGogAkEEaigCABD/CSADKAIUC0EAEOwCIAMtAGBBBEYNACADKQNgIhJC/wGDQgRSDQMLIAMtAFcEQCABIAEoAixBAWs2AiwgA0EAOgBXCyAMQQFrIQwgA0EIaiACELERIAJBDGohAkEBIQQgAykDCCESDAALAAsgA0HgAGogASAIIAZFIAcQrw8gAy0AYEEERg0BIAMpA2AiEkL/AYNCBFENAQsgEkL/AYNCBFINAQsgD0UNASADQeAAaiABELARIAMtAGBBBEYNASADKQNgIhJC/wGDQgRRDQEgACASNwIADAILIAAgEjcCAAwBCwJAAkAgCEUNACADQeAAaiABIAhBAWsQyxwgAy0AYEEERg0AIAMpA2AiEkL/AYNCBFINAQsgA0HgAGogASADQcgAakHbtOAAQQEQrBMCQCADLQBgQQRHBEAgAykDYCISQv8Bg0IEUg0BCyAAQQQ6AAAMAgsgACASNwIADAELIAAgEjcCAAsgA0HwAGokAAuQHgIJfwF+IwBBMGsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCAEEBaw4HAQIDBAUGBwALIANBIGogAiABQQhqQQAQtwMgAy0AIEEERg0QIAMpAyAiDEL/AYNCBFENECAAIAw3AgAMEQsgA0EIaiACIAEoAiAiBCgCMEEAENMBIAMtAAhBBEcEQCADKQMIIgxC/wGDQgRSDQ8LAkAgBCgCMCIFRQ0AIANBCGogAiAFEMscIAMtAAhBBEYNACADKQMIIgxC/wGDQgRSDQ8LIAEtACRFDQ0gA0EANgIIIANBGGogAiADQQhqQdy04ABBBxCsEyADLQAYQQRHBEAgAykDGCIMQv8Bg0IEUg0PCyADQQhqIAIQzBEgAy0ACEEERg0NIAMpAwgiDEL/AYNCBFENDQwOCyADQSBqIAIgASgCBCIBEM0EIAMtACBBBEYNBSADKQMgIgxC/wGDQgRRDQUgACAMNwIADA8LIAMgAUEEajYCCCADQSBqIANBCGogAhCUBiADLQAgQQRGDQ0gAykDICIMQv8Bg0IEUQ0NIAAgDDcCAAwOCyADIAFBBGo2AgggA0EgaiADQQhqIAIQ0gIgAy0AIEEERg0MIAMpAyAiDEL/AYNCBFENDCAAIAw3AgAMDQsgA0EIaiACIAEoAgQiASgCAEEAENMBIAMtAAhBBEcEQCADKQMIIgxC/wGDQgRSDQkLIAEtAChFDQcgA0EANgIIIANBGGogAiADQQhqQdy04ABBBxCsEyADLQAYQQRHBEAgAykDGCIMQv8Bg0IEUg0JCyADQQhqIAIQzBEgAy0ACEEERg0HIAMpAwgiDEL/AYNCBFENBwwICyABKAIEIgEoAhwhByADQSBqIAIgASgCGCIIQQAQ0wEgAy0AIEEERwRAIAMpAyAiDEL/AYNCBFINBgsgAS0ALEUNBCADQQA2AiAgA0EYaiACIANBIGpB3LTgAEEHEKwTIAMtABhBBEcEQCADKQMYIgxC/wGDQgRSDQYLIANBIGogAhDMESADLQAgQQRGDQQgAykDICIMQv8Bg0IEUQ0EDAULIANBIGogAiABKAIEIgEoAkhBABDTASADLQAgQQRHBEAgAykDICIMQv8Bg0IEUg0DCyABLQBQRQ0BIANBADYCICADQQhqIAIgA0EgakHctOAAQQcQrBMgAy0ACEEERwRAIAMpAwgiDEL/AYNCBFINAwsgA0EgaiACEMwRIAMtACBBBEYNASADKQMgIgxC/wGDQgRRDQEMAgsgA0EANgIgIANBCGogAiADQSBqEK0TAkAgAy0ACEEERwRAIAMpAwgiDEL/AYNCBFINAQsgASgCECIBRQ0JIANBIGogAiABEMscIAMtACBBBEYNCSADKQMgIgxC/wGDQgRRDQkgACAMNwIADAoLIAAgDDcCAAwJCwJAAkACQCABLQBRRQRAIAEoAgANASADQQA2AiAgA0EIaiACIANBIGpB47TgAEEJEKwTIAMtAAhBBEYNAiADKQMIIgxC/wGDQgRRDQIMBAsgA0EANgIgIANBCGogAiADQSBqQcO14ABBBhCsEyADLQAIQQRGDQIgAykDCCIMQv8Bg0IEUQ0CDAMLIANBADYCICADQQhqIAIgA0EgakG9teAAQQYQrBMgAy0ACEEERg0AIAMpAwgiDEL/AYNCBFINAgsgA0EgaiACEMwRIAMtACBBBEcEQCADKQMgIgxC/wGDQgRSDQILIAFBCGohBAJAIAEoAgBFBEAgA0EgaiAEIAIQ3hIgAy0AIEEERg0CIAMpAyAiDEL/AYNCBFINAQwCCyADQSBqIAQgAhBnIAMtACBBBEYNASADKQMgIgxC/wGDQgRRDQELIAxC/wGDQgRSDQELIAEtAEVBA0YNByABQSBqIQEDQCABLQAlQQJHBEAgA0EANgIgIANBCGogAiADQSBqQby14ABBARCsEyADLQAIQQRHBEAgAykDCCIMQv8Bg0IEUg0DCyADQSBqIAFBCGogAhDeEiADLQAgQQRHBEAgAykDICIMQv8Bg0IEUg0DCyABKAIgIQEMAQsLAkAgAi0ATQ0AIANBIGogAhDMESADLQAgQQRGDQAgAykDICIMQv8Bg0IEUg0BCyADQSBqIAEgAhDuASADLQAgQQRGDQcgAykDICIMQv8Bg0IEUQ0HCyAMQv8Bg0IEUQ0GIAAgDDcCAAwHCwJAIAEtAC1FDQAgA0EANgIgIANBGGogAiADQSBqQbmv4ABBBRCsEyADLQAYQQRHBEAgAykDGCIMQv8Bg0IEUg0CCyADQSBqIAIQzBEgAy0AIEEERg0AIAMpAyAiDEL/AYNCBFINAQsgA0EANgIIIANBIGogAiADQQhqQZ214ABBBBCsEyADLQAgQQRHBEAgAykDICIMQv8Bg0IEUg0BCyADQSBqIAIQzBEgAy0AIEEERwRAIAMpAyAiDEL/AYNCBFINAQsgA0EgaiABIAIQ3hIgAy0AIEEERwRAIAMpAyAiDEL/AYNCBFINAQsCQCACLQBNDQAgA0EgaiACEMwRIAMtACBBBEYNACADKQMgIgxC/wGDQgRSDQELIANBIGogAiADQQhqQdq04ABBARCsEyADLQAgQQRHBEAgAykDICIMQv8Bg0IEUg0BCyABKAIkIQUgA0EgaiAIIAEoAigiBEHRACAEEOgXAkACQCADLQAgQQVHBEAgAykDICEMDAELIAMoAiQaAkACQAJAIAQEQAJAIAItAE0NACADQSBqIAIQsBEgAy0AIEEERg0AIAMpAyAiDEL/AYNCBFINBQsgA0EAOgAWIAItAE1FDQEMAgsgAi0ATQ0CIANBIGogAhCwESADLQAgQQRGDQIgAykDICIMQv8Bg0IEUQ0CDAMLIAIgAigCLEEBajYCLAsgA0EAOgAXIAVBKGohASAEIQUDQCAFRQRAIANBIGogAiAIIAdB0QAgBiAMQiCIpxDWASADLQAgQQRGDQIgAykDICIMQv8Bg0IEUg0DDAILIAMgDDcCJCADIAY2AiAgA0EYaiACIAdB0QAgA0EgaiABQQhrIgYoAgAiCSABQQRrIgooAgAiCyADQRdqIANBFmoQkQQgAy0AGEEERwRAIAMpAxgiDEL/AYNCBFINAwsgA0EgaiACIAYoAgBBABDTAQJAAkAgAy0AIEEERwRAIAMpAyAiDEL/AYNCBFINAQsgAUEgayEGAkACQCABQShrKAIARQRAIANBIGogBiACEN4SIAMtACBBBEYNAiADKQMgIgxC/wGDQgRSDQEMAgsgA0EgaiAGIAIQZyADLQAgQQRGDQEgAykDICIMQv8Bg0IEUQ0BCyAMQv8Bg0IEUg0BCyABKAIARQ0BAkAgAi0ATQ0AIANBIGogAhDMESADLQAgQQRGDQAgAykDICIMQv8Bg0IEUg0BCyADQQA2AiAgA0EYaiACIANBIGpB0a/gAEEBEKwTIAMtABhBBEcEQCADKQMYIgxC/wGDQgRSDQELAkAgAi0ATQ0AIANBIGogAhDMESADLQAgQQRGDQAgAykDICIMQv8Bg0IEUg0BCyADQSBqIAEgAhC+KiADLQAgQQRGDQEgAykDICIMQv8Bg0IEUQ0BCyAMQv8Bg0IEUg0DCwJAIAMtABZFBEAgA0EBOgAWDAELIAIoAkRFDQAgA0EgaiACIAooAgBBABDsAiADLQAgQQRGDQAgAykDICIMQv8Bg0IEUg0DCyADLQAXBEAgAiACKAIsQQFrNgIsIANBADoAFwsgBUEBayEFIAFBMGohASAJrSALrUIghoQhDEEBIQYMAAsACyADQSBqIAIgByAERUHRABCvDyADLQAgQQRGDQEgAykDICIMQv8Bg0IEUQ0BCyAMQv8Bg0IEUg0BCyADQSBqIAIgA0EIakHbtOAAQQEQrBMgAy0AIEEERg0FIAMpAyAiDEL/AYNCBFENBQsgDEL/AYNCBFENBCAAIAw3AgAMBQsgA0EANgIgIANBCGogAiADQSBqQb+24ABBBBCsEyADLQAIQQRHBEAgAykDCCIMQv8Bg0IEUg0BCyADQQhqIAIQzBEgAy0ACEEERwRAIAMpAwgiDEL/AYNCBFINAQsgA0EIaiABQQhqIAIQ3hIgAy0ACEEERwRAIAMpAwgiDEL/AYNCBFINAQsCQCABKAIgRQ0AIAMgAUEgajYCGCADQQhqIANBGGogAhC9KSADLQAIQQRGDQAgAykDCCIMQv8Bg0IEUg0BCwJAIAItAE0NACADQQhqIAIQzBEgAy0ACEEERg0AIAMpAwgiDEL/AYNCBFINAQsgA0EIaiACIANBIGpB0a/gAEEBEKwTIAMtAAhBBEcEQCADKQMIIgxC/wGDQgRSDQELAkAgAi0ATQ0AIANBCGogAhDMESADLQAIQQRGDQAgAykDCCIMQv8Bg0IEUg0BCyADQQhqIAFBJGogAhA3IAMtAAhBBEcEQCADKQMIIgxC/wGDQgRSDQELIANBCGogAiADQSBqEK0TIAMtAAhBBEYNAyADKQMIIgxC/wGDQgRRDQMLIAxC/wGDQgRRDQIgACAMNwIADAMLAkAgBC0ARUUNACADQQA2AgggA0EYaiACIANBCGpB+LjgAEEFEKwTIAMtABhBBEcEQCADKQMYIgxC/wGDQgRSDQILIANBCGogAhDMESADLQAIQQRGDQAgAykDCCIMQv8Bg0IEUg0BCyADQQA2AiAgA0EIaiACIANBIGpB8LjgAEEIEKwTIAMtAAhBBEcEQCADKQMIIgxC/wGDQgRSDQELAkAgBC0AREUEQCADQQhqIAIQzBEgAy0ACEEERg0BIAMpAwgiDEL/AYNCBFENAQwCCyADQQhqIAIgA0EgakGPsOAAQQEQrBMgAy0ACEEERwRAIAMpAwgiDEL/AYNCBFINAgsgAi0ATQ0AIANBCGogAhDMESADLQAIQQRGDQAgAykDCCIMQv8Bg0IEUg0BCyADQQhqIAFBCGogAhDeEiADLQAIQQRHBEAgAykDCCIMQv8Bg0IEUg0BCyADQQhqIAIgBBD7AyADLQAIQQRGDQEgAykDCCIMQv8Bg0IEUQ0BCyAMQv8Bg0IEUQ0AIAAgDDcCAAwBCyAAQQQ6AAALIANBMGokAAvwHQINfwN+IwBBoARrIgQkACAEIAM2AkQCQCADKAIAIgVBMUYEQCAAQQU2AgAgACADKQIENwIEIARBxABqELQpDAELAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQCACQf8BcSILQQJGIAVBDWsiBkECT3FFBEAgBCADNgJMIAQgAjoASyAEQTBqIAMQjgMgBCgCNCEJIAQoAjAhByALQQJrDgIBAgULIAEgA0EBELEJIAQgAzYCTCAEQQI6AEsgBEE4aiADEI4DIAMoAgAiBUENayEGIAQoAjwhCSAEKAI4IQcLIAZBAkkNAyAFQRpGDQEgBUEjRg0CIAAgAzYCBCAAQQY2AgAMEAsCQEEHIAVBDGsiBiAGQSZPG0EBayIGQR9NBEBBASAGdCIGQYTbk4J4cQ0BIAZBwwBxDQQLIARBPjoA6AMgASAHIAkgBEHoA2oQ0BkgAygCACEFDAMLIARBzABqIAEtAIUDQQFxEJ8ORQRAIARBwAA6AOgDIAEgByAJIARB6ANqENAZCyADKAIAQRpGBEAgBEH4AGogA0EYaikDADcDACAEQfAAaiADQRBqKQMANwMAIAQgAykDCDcDaCAEQfADaiAEQegAahDkGCAEQQA2AugDIAAgBEHoA2pBKBD8BhoMBAsgACADNgIEIABBBjYCAAwPCyAEQeAAaiADQRhqKQMANwMAIARB2ABqIANBEGopAwA3AwAgBCADKQMINwNQIARB8ANqIARB0ABqEOQYIARBADYC6AMgACAEQegDakEoEPwGGgwCCyAAIAM2AgQgAEEGNgIADA0LAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAFQQxrIgYgBkEmTxsiBkEBaw4HBAEODg4OAwALAkAgBkEOaw4KAg4ODg4OAA4ODg4LQQEhBSABLQCKA0EBcQ0EDA0LIAQgAykDEDcC8AEgAykCBCERIAQgAygCDCICNgKQAiAEQQA2ApwCIAQgATYC6AIgBEEANgLkAiAEIBFCIIinIgEgAkEMbGo2AuACIAQgET4C3AIgBCABNgLYAiAEIAE2AtQCIAQgBEGcAmo2AvgCIAQgBEHwAWo2AvQCIAQgBEGQAmo2AvACIAQgBEHLAGo2AuwCIARBiANqIARB1AJqIgEQugECQCAEKAKIA0EDRgRAIARBADYChAMgBEKAgICAgAE3AvwCIAEQ9AgMAQsgBEEoakEEQQhBOBC5FCAEKAIoIQIgBCgCLCIBIARBiANqQTgQ0C0hBiAEQQE2AoQDIAQgBjYCgAMgBCACNgL8AiAEQcADaiAEQdQCakEoEPwGGkE4IQVBASECA0AgBEHoA2ogBEHAA2oQugEgBCgC6ANBA0ZFBEAgBCgC/AIgAkYEQCAEQfwCakEBEI8fIAQoAoADIQELIAEgBWogBEHoA2pBOBD8BhogBCACQQFqIgI2AoQDIAVBOGohBQwBCwsgBEHAA2oQ9AgLIAQoApwCIgUEQCAEQfwCahC9ECAEKAL8AiAEKAKAAxCNKgwLCyAEKAKAAyEFIAQoAvwCIgFBgICAgHhGDQogBCgChAMhBiAAQQA6ABwgAEEANgIYIAAgBCkC8AE3AxAgACAGNgIMIAAgBTYCCCAAIAE2AgQgAEEDNgIAQQEhBUEADA4LIARBiAJqIANBGGopAwA3AwAgBEGAAmogA0EQaikDADcDACAEIAMpAwg3A/gBIARB8ANqIARB+AFqEOQYIARBADYC6AMgACAEQegDakEoEPwGGkEHIAMoAgBBDGsiACAAQSZPGyIAQQFrDgcPERQUFBQSAwsgAy0APEUNAwwKCyAEQZgCaiADQQxqKAIAIgo2AgAgBCADKQIENwOQAgJAIAoEQCAKQQR0IQUgBCgClAJBEGshCCAKQf////8AcSELQQAhBgNAAkAgBQRAIAUgCGooAgBBAkYNASAGIQsLIARBIGogCiALayIGQQhBKBC5FCAEQQA2AqQCIAQgBCkDIDcCnAIgBEHAA2ogBEGQAmogBiAKQQFrIAsbEPYVIARBmANqIARB0ANqKAIANgIAIARBkANqIARByANqKQIANwMAIAQgBCkCwAM3A4gDQQNBASACQf8BcUEBSxshCiAEQeACaiEMIARBsAJqIQIgBEHwA2ohBgNAAkACQAJAAkAgBCgCiAMiBSAEKAKMA0YNACAEIAVBEGo2AogDIAUoAgwhCCAFKAIAQQFrDgMCAQADCyAEQYgDahC9ESALDQ4gBCgCmAIiAkUNByAEKAKUAiIGKAIAIghBA0YNByAEKAKQAiAEQZQDaiAGQQxqKAIANgIAIAQgCDYCiAMgBCAGKQIENwKMAyAGQRxqIQUgAkEBa0H/////AHEhAgNAIAIEQCAFQQxrKAIAQQJHBEAgBRDHAgsgAkEBayECIAVBEGohBQwBCwsgBhDoKSAIQQJGBEAgBEGMBGogBEHIA2ooAgA2AgAgBEEHNgLoAyAEIAQpA8ADNwKEBCAEQZwCaiAEQegDahD5GQwPCyAEQRBqIARBiANqEIcQIAgEQCAEKAIUIQIgBCgCECEGIAQoApADIQggBCgCjAMhDCAEKAKUAyIOKAIAQQxrIgVBJU0gBUEHR3FFBEAgBEH/ADoA6AMgASAGIAIgBEHoA2oQ0BkLAkAgASgCIEUNACABKAIUIgJBDGshDyABKAIYIgYgB0G5893xeWwiDXEhBSANQRl2rUKBgoSIkKDAgAF+IRNBACENA0AgAiAFaikAACISIBOFIhFCf4UgEUKBgoSIkKDAgAF9g0KAgYKEiJCgwIB/gyERAkADQCARUEUEQCAHIA9BACAReqdBA3YgBWogBnFrIhBBDGxqKAIARg0CIBFCAX0gEYMhEQwBCwsgEiASQgGGg0KAgYKEiJCgwIB/g1BFDQIgBSANQQhqIg1qIAZxIQUMAQsLIAIgEEEMbGoiAkEEaygCACEGIAJBCGsoAgAhAiAEQTo6AOgDIAEgAiAGIARB6ANqENAZCyAEQQhqIA4QjgMgBCgCDCECIAQoAgghBiAEQegDaiINIAEgCiAOEGMgBCgC6ANBB0cEQEEoQQgQoSAiBSANQSgQ/AYaQQIhAUEAIQoMDwsgBCgC7AMhBQwNCyAEQegDaiABIAogBCgClAMQYyAEKALsAyEFIAQoAugDIgFBB0YNDCAEQcgDaiAEQYwEaigCADYCACAEIAQpAoQENwPAAyAEKAKABCEKIAQoAvwDIQggBCgC+AMhDCAEKAL0AyECIAQoAvADIQYMDQsgBEEHNgLoAyAEQZwCaiAEQegDahD5GQwCCyAFKQIEIREgBCAINgLgAiAEIBE3AtgCIARBATYC1AIgBEEYaiAEQdQCahCHECAEKAIcIQUgBCgCGCEIIARBOzoA6AMgASAIIAUgBEHoA2oQ0BkgDBC0KQwBCyAEQegDaiABIAogCBBjIAQoAuwDIQUgBCgC6AMiCEEHRwRAIAIgBikDADcDACACQRhqIAZBGGopAwA3AwAgAkEQaiAGQRBqKQMANwMAIAJBCGogBkEIaikDADcDACAEIAU2AqwCIAQgCDYCqAIgBEGcAmogBEGoAmoQ+RkMAQsLIABBBzYCACAAIAU2AgQgBEGIA2oQvREgBEGcAmoQhycMBwsgBUEQayEFIAZBAWohBgwACwALIABBADoAHCAAQQA2AhggACAJNgIUIAAgBzYCECAAQgg3AwggAEIBNwMADAQLQcSE4AAQ2ikACyAEQT46AOgDIAEgByAJIARB6ANqENAZIAAgCTYCCCAAIAc2AgQgAEEFNgIADAkLIABBDkYNEQwQCyADKAI0IQsgAygCMCEHIAQgAygCOCIJNgKIAyADQQRqIQYCQAJAIAVBC0cEQCAEQYwBaiAGQQhqKQIANwIAIARBlAFqIAZBEGopAgA3AgAgBEGcAWogBkEYaikCADcCACAEQawBaiADQSxqKAIANgIAIAQgBTYCgAEgBCAGKQIANwKEASAEIAMpAiQ3AqQBIARB6ANqIAEgAiAEQYABahDgAxBjIAQoAuwDIQEgBCgC6AMiAkEHRg0CIARByAFqIgYgBEGIBGopAwA3AwAgBEHAAWoiCiAEQYAEaikDADcDACAEQbgBaiIIIARB+ANqKQMANwMAIAQgBCkD8AM3A7ABQShBCBChICIFIAE2AgQgBSACNgIAIAUgBCkDsAE3AwggBUEQaiAIKQMANwMAIAVBGGogCikDADcDACAFQSBqIAYpAwA3AwAMAQsgBEHoAWogBkEYaikCADcDACAEQeABaiAGQRBqKQIANwMAIARB2AFqIAZBCGopAgA3AwAgBCAGKQIANwPQASAEQdABahCOCyEFCyAAIAs2AhAgACAHNgIMIAAgCTYCCCAAIAU2AgQgAEEENgIAQQAhBUEBDAkLIABBBzYCACAAIAE2AgQgBEGIA2oQtCkMBQsgBEGQAmoQgicMBAsgAEEHNgIAIAAgBTYCBCAEQZwCahCHJwwDCyAEQYwEaiAEQcgDaigCADYCACAEIAo2AoAEIAQgCDYC/AMgBCAMNgL4AyAEIAI2AvQDIAQgBjYC8AMgBCAFNgLsAyAEIAE2AugDIAQgBCkDwAM3AoQEIARBnAJqIARB6ANqEPkZCyAAIAQpApwCNwIEQQAhASAAQQA6ABwgAEEANgIYIAAgCTYCFCAAIAc2AhBBASEFIABBATYCACAAQQxqIARBpAJqKAIANgIAIAsEQCAEQZACahCCJwtBASECDAULIABBBzYCACAAIAU2AgQLQQcgAygCAEEMayIAIABBJk8bIgBBDktBASAAdEGGgQFxRXINCQwKCyAEQT46AOgDIAEgByAJIARB6ANqENAZIAAgCTYCCCAAIAc2AgQgAEEFNgIAQQEhBQtBAQshAkEBIQELAkACQEEHIAMoAgBBDGsiACAAQSZPGyIAQQFrDgcBAwcHBwcABgsgBQ0EDAcLIAFFDQYLIANBBGoQgicMBQsgAkUNBAsgA0EEahDiJgwDCyADELUpDAILIABBDkcNACADKQMIEPEaDAELIAMQ3gQLIAMQiSsLIARBoARqJAAL4R0CDX8DfiMAQaAEayIEJAAgBCADNgJEAkAgAygCACIFQTFGBEAgAEEFNgIAIAAgAykCBDcCBCAEQcQAahDaKAwBCwJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkAgAkH/AXEiC0ECRiAFQQ1rIgZBAk9xRQRAIAQgAzYCTCAEIAI6AEsgBEEwaiADEI0DIAQoAjQhCSAEKAIwIQcgC0ECaw4CAQIFCyABIANBARCsCSAEIAM2AkwgBEECOgBLIARBOGogAxCNAyADKAIAIgVBDWshBiAEKAI8IQkgBCgCOCEHCyAGQQJJDQMgBUEaRg0BIAVBI0YNAiAAIAM2AgQgAEEGNgIADBALAkBBByAFQQxrIgYgBkEmTxtBAWsiBkEfTQRAQQEgBnQiBkGE25OCeHENASAGQcMAcQ0ECyAEQT46AOgDIAEgByAJIARB6ANqEL4ZIAMoAgAhBQwDCyAEQcwAaiABLQCtAkEBcRCfDkUEQCAEQcAAOgDoAyABIAcgCSAEQegDahC+GQsgAygCAEEaRgRAIARB+ABqIANBGGopAwA3AwAgBEHwAGogA0EQaikDADcDACAEIAMpAwg3A2ggBEHwA2ogBEHoAGoQ5BggBEEANgLoAyAAIARB6ANqQSgQ/AYaDAQLIAAgAzYCBCAAQQY2AgAMDwsgBEHgAGogA0EYaikDADcDACAEQdgAaiADQRBqKQMANwMAIAQgAykDCDcDUCAEQfADaiAEQdAAahDkGCAEQQA2AugDIAAgBEHoA2pBKBD8BhoMAgsgACADNgIEIABBBjYCAAwNCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgBUEMayIGIAZBJk8bIgZBAWsOBwQBDg4ODgMACwJAIAZBDmsOCgIODg4ODgAODg4OC0EBIQUgAS0AsgJBAXENBAwNCyAEIAMpAxA3AvABIAMpAgQhESAEIAMoAgwiAjYCkAIgBEEANgKcAiAEIAE2AugCIARBADYC5AIgBCARQiCIpyIBIAJBDGxqNgLgAiAEIBE+AtwCIAQgATYC2AIgBCABNgLUAiAEIARBnAJqNgL4AiAEIARB8AFqNgL0AiAEIARBkAJqNgLwAiAEIARBywBqNgLsAiAEQYgDaiAEQdQCaiIBEL0BAkAgBCgCiANBA0YEQCAEQQA2AoQDIARCgICAgIABNwL8AiABEJoRDAELIARBKGpBBEEIQTgQ+RQgBCgCKCECIAQoAiwiASAEQYgDakE4ENAtIQYgBEEBNgKEAyAEIAY2AoADIAQgAjYC/AIgBEHAA2ogBEHUAmpBKBD8BhpBOCEFQQEhAgNAIARB6ANqIARBwANqEL0BIAQoAugDQQNGRQRAIAQoAvwCIAJGBEAgBEH8AmpBARCPHyAEKAKAAyEBCyABIAVqIARB6ANqQTgQ/AYaIAQgAkEBaiICNgKEAyAFQThqIQUMAQsLIARBwANqEJoRCyAEKAKcAiIFBEAgBEH8AmoQiCcMCwsgBCgCgAMhBSAEKAL8AiIBQYCAgIB4Rg0KIAQoAoQDIQYgAEEAOgAcIABBADYCGCAAIAQpAvABNwMQIAAgBjYCDCAAIAU2AgggACABNgIEIABBAzYCAEEBIQVBAAwOCyAEQYgCaiADQRhqKQMANwMAIARBgAJqIANBEGopAwA3AwAgBCADKQMINwP4ASAEQfADaiAEQfgBahDkGCAEQQA2AugDIAAgBEHoA2pBKBD8BhpBByADKAIAQQxrIgAgAEEmTxsiAEEBaw4HDxEUFBQUEgMLIAMtADxFDQMMCgsgBEGYAmogA0EMaigCACIKNgIAIAQgAykCBDcDkAICQCAKBEAgCkEEdCEFIAQoApQCQRBrIQggCkH/////AHEhC0EAIQYDQAJAIAUEQCAFIAhqKAIAQQJGDQEgBiELCyAEQSBqIAogC2siBkEIQSgQ+RQgBEEANgKkAiAEIAQpAyA3ApwCIARBwANqIARBkAJqIAYgCkEBayALGxD2FSAEQZgDaiAEQdADaigCADYCACAEQZADaiAEQcgDaikCADcDACAEIAQpAsADNwOIA0EDQQEgAkH/AXFBAUsbIQogBEHgAmohDCAEQbACaiECIARB8ANqIQYDQAJAAkACQAJAIAQoAogDIgUgBCgCjANGDQAgBCAFQRBqNgKIAyAFKAIMIQggBSgCAEEBaw4DAgEAAwsgBEGIA2oQvREgCw0OIAQoApgCIgJFDQcgBCgClAIiBigCACIIQQNGDQcgBCgCkAIgBEGUA2ogBkEMaigCADYCACAEIAg2AogDIAQgBikCBDcCjAMgBkEcaiEFIAJBAWtB/////wBxIQIDQCACBEAgBUEMaygCAEECRwRAIAUQ5SgLIAJBAWshAiAFQRBqIQUMAQsLIAYQ6CkgCEECRgRAIARBjARqIARByANqKAIANgIAIARBBzYC6AMgBCAEKQPAAzcChAQgBEGcAmogBEHoA2oQ+RkMDwsgBEEQaiAEQYgDahD/DyAIBEAgBCgCFCECIAQoAhAhBiAEKAKQAyEIIAQoAowDIQwgBCgClAMiDigCAEEMayIFQSVNIAVBB0dxRQRAIARB/wA6AOgDIAEgBiACIARB6ANqEL4ZCwJAIAEoAiBFDQAgASgCFCICQQxrIQ8gASgCGCIGIAdBufPd8XlsIg1xIQUgDUEZdq1CgYKEiJCgwIABfiETQQAhDQNAIAIgBWopAAAiEiAThSIRQn+FIBFCgYKEiJCgwIABfYNCgIGChIiQoMCAf4MhEQJAA0AgEVBFBEAgByAPQQAgEXqnQQN2IAVqIAZxayIQQQxsaigCAEYNAiARQgF9IBGDIREMAQsLIBIgEkIBhoNCgIGChIiQoMCAf4NQRQ0CIAUgDUEIaiINaiAGcSEFDAELCyACIBBBDGxqIgJBBGsoAgAhBiACQQhrKAIAIQIgBEE6OgDoAyABIAIgBiAEQegDahC+GQsgBEEIaiAOEI0DIAQoAgwhAiAEKAIIIQYgBEHoA2oiDSABIAogDhBkIAQoAugDQQdHBEBBKEEIEKEgIgUgDUEoEPwGGkECIQFBACEKDA8LIAQoAuwDIQUMDQsgBEHoA2ogASAKIAQoApQDEGQgBCgC7AMhBSAEKALoAyIBQQdGDQwgBEHIA2ogBEGMBGooAgA2AgAgBCAEKQKEBDcDwAMgBCgCgAQhCiAEKAL8AyEIIAQoAvgDIQwgBCgC9AMhAiAEKALwAyEGDA0LIARBBzYC6AMgBEGcAmogBEHoA2oQ+RkMAgsgBSkCBCERIAQgCDYC4AIgBCARNwLYAiAEQQE2AtQCIARBGGogBEHUAmoQ/w8gBCgCHCEFIAQoAhghCCAEQTs6AOgDIAEgCCAFIARB6ANqEL4ZIAwQ2igMAQsgBEHoA2ogASAKIAgQZCAEKALsAyEFIAQoAugDIghBB0cEQCACIAYpAwA3AwAgAkEYaiAGQRhqKQMANwMAIAJBEGogBkEQaikDADcDACACQQhqIAZBCGopAwA3AwAgBCAFNgKsAiAEIAg2AqgCIARBnAJqIARBqAJqEPkZDAELCyAAQQc2AgAgACAFNgIEIARBiANqEL0RIARBnAJqEIcnDAcLIAVBEGshBSAGQQFqIQYMAAsACyAAQQA6ABwgAEEANgIYIAAgCTYCFCAAIAc2AhAgAEIINwMIIABCATcDAAwEC0HEhOAAENopAAsgBEE+OgDoAyABIAcgCSAEQegDahC+GSAAIAk2AgggACAHNgIEIABBBTYCAAwJCyAAQQ5GDREMEAsgAygCNCELIAMoAjAhByAEIAMoAjgiCTYCiAMgA0EEaiEGAkACQCAFQQtHBEAgBEGMAWogBkEIaikCADcCACAEQZQBaiAGQRBqKQIANwIAIARBnAFqIAZBGGopAgA3AgAgBEGsAWogA0EsaigCADYCACAEIAU2AoABIAQgBikCADcChAEgBCADKQIkNwKkASAEQegDaiABIAIgBEGAAWoQ4AMQZCAEKALsAyEBIAQoAugDIgJBB0YNAiAEQcgBaiIGIARBiARqKQMANwMAIARBwAFqIgogBEGABGopAwA3AwAgBEG4AWoiCCAEQfgDaikDADcDACAEIAQpA/ADNwOwAUEoQQgQoSAiBSABNgIEIAUgAjYCACAFIAQpA7ABNwMIIAVBEGogCCkDADcDACAFQRhqIAopAwA3AwAgBUEgaiAGKQMANwMADAELIARB6AFqIAZBGGopAgA3AwAgBEHgAWogBkEQaikCADcDACAEQdgBaiAGQQhqKQIANwMAIAQgBikCADcD0AEgBEHQAWoQjgshBQsgACALNgIQIAAgBzYCDCAAIAk2AgggACAFNgIEIABBBDYCAEEAIQVBAQwJCyAAQQc2AgAgACABNgIEIARBiANqENooDAULIARBkAJqEIInDAQLIABBBzYCACAAIAU2AgQgBEGcAmoQhycMAwsgBEGMBGogBEHIA2ooAgA2AgAgBCAKNgKABCAEIAg2AvwDIAQgDDYC+AMgBCACNgL0AyAEIAY2AvADIAQgBTYC7AMgBCABNgLoAyAEIAQpA8ADNwKEBCAEQZwCaiAEQegDahD5GQsgACAEKQKcAjcCBEEAIQEgAEEAOgAcIABBADYCGCAAIAk2AhQgACAHNgIQQQEhBSAAQQE2AgAgAEEMaiAEQaQCaigCADYCACALBEAgBEGQAmoQgicLQQEhAgwFCyAAQQc2AgAgACAFNgIEC0EHIAMoAgBBDGsiACAAQSZPGyIAQQ5LQQEgAHRBhoEBcUVyDQkMCgsgBEE+OgDoAyABIAcgCSAEQegDahC+GSAAIAk2AgggACAHNgIEIABBBTYCAEEBIQULQQELIQJBASEBCwJAAkBBByADKAIAQQxrIgAgAEEmTxsiAEEBaw4HAQMHBwcHAAYLIAUNBAwHCyABRQ0GCyADQQRqEIInDAULIAJFDQQLIANBBGoQ4iYMAwsgAxDeKAwCCyAAQQ5HDQAgAykDCBDxGgwBCyADEN0ECyADEIkrCyAEQaAEaiQAC7cdAwt/BX4BfCMAQdAMayIHJAACQCACRQRAIABBADoAAUEBIQMMAQsCQAJAAkACQAJAIAACfwJAAkAgAS0AACIMQStrDgMAAQABC0EBIAJBAWsiAkUNARogAUEBaiEBCyABIQMCQAJAAkACQAJAAn4CQCACIgRBCEkNAANAIAMpAAAiD0LGjJmy5MiRo8YAfCAPQrDgwIGDhoyYMH0iD4RCgIGChIiQoMCAf4NQRQ0BIA5CgMLXL34gD0IKfiAPQgiIfCIOQhCIQv+BgIDwH4NCgYCAgIDiCX4gDkL/gYCA8B+DQuSAgICAyNAHfnxCIIh8IQ4gA0EIaiEDIARBCGsiBEEHSw0ACyAEDQBBASEKQgAMAQsDQCADLQAAIgVBMGsiBkH/AXFBCUsNAiAOQgp+IAatQv8Bg3whDkEBIQogA0EBaiEDIARBAWsiBA0AC0IACyEPQQAhBCACIQgMAQsgAiAEayEIAn4gBUEuRwRAQQAhBiAEIQVCAAwBCyADQQFqIQMCQAJAAkACQCAEQQFrIglBCEkEQCAJIQUMAQsgCSEFA0AgAykAACIPQsaMmbLkyJGjxgB8IA9CsODAgYOGjJgwfSIPhEKAgYKEiJCgwIB/g1BFDQIgDkKAwtcvfiAPQgp+IA9CCIh8Ig5CEIhC/4GAgPAfg0KBgICAgOIJfiAOQv+BgIDwH4NC5ICAgIDI0Ad+fEIgiHwhDiADQQhqIQMgBUEIayIFQQdLDQALCyAFRQ0BCyADIgYgBWohAwNAIAYtAABBMGsiCkH/AXFBCUsEQCAGIQMMAwsgDkIKfiAKrUL/AYN8IQ4gBkEBaiEGIAVBAWsiBQ0ACwtBACEFC0EAIAkgBWsiBmusCyEQIAYgCGoiCEUNAUEBIQpCACEPIAVFDQAgAy0AAEEgckHlAEcEQEEAIQoMAQsgBUEBayIJRQ0BIANBAWoiBi0AACIKIQsCQAJAIApBK2sOAwABAAELIAVBAmsiCUUNAiADQQJqIQYgAy0AAiELCyALQTBrQf8BcUEJSw0BAkADQCAGLQAAQTBrIgNB/wFxQQlLDQEgD0IKfiADrUL/AYN8IhIgDyAPQoCABFMiAxshDyASIBEgAxshESAGQQFqIQYgCUEBayIJDQALQQAhCQtCACARfSARIApBLUYbIg8gEHwhECAJRSEKC0EAIQkCQCAIQRRIDQAgAkEBayEDIAFBAWohBiAIQRNrIQggASEJA0ACQCAGIQUCQCAJLQAAIgZBLmsOAwABAAELIAggBkEvayIJQQAgBiAJTxtrIQggA0UNACAFIANBAEdqIQYgA0EBayEDIAUiCQ0BCwsgCEEASiEJIAhBAEwNAEEAIAJrIQVCACEOIAEhAyAPAn8CQAJ/AkADQCAFIQYgAy0AAEEwayIIQf8BcUEJSw0BIANBAWohAyAOQgp+IAitQv8Bg3wiDkL//4+7utat8A1YQQAgBUEBaiIFGw0ACyAOQv//j7u61q3wDVYNAkEAIAVrIAZBf0cNARpBAUEAQcjZwAAQrhAAC0EAIAZrC0EBayIFRQRAQQAgBWsMAgsgA0EBaiEDIAUhBANAIAQgBWsgAy0AAEEwayIIQf8BcUEJSw0CGiAEQQFrIQYgDkIKfiAIrUL/AYN8Ig5C//+Pu7rWrfANWARAIANBAWohAyAEQQFHIAYhBA0BCwsgBiAFawwBC0EAIAQgBWprC6x8IRALIAoNAQsgAAJ8AkACQCACQQNrDgYBBAQEBAAECyABKQAAQt+///79+/fvX4NCyZyZyuSpkqrZAFINA0QAAAAAAADwfwwBC0QAAAAAAADwfyABMwAAIAExAAJCEIaEQt+//waDIg5CyZyZAlENABogDkLOgrkCUg0CRAAAAAAAAPh/CyITmiATIAxBLUYbOQMIQQAhAwwICwJAIBBCJn1CRFQgDkKAgICAgICAEFZyIAlyDQAgAAJ8AkAgEEIWVwRAIBCnIQEgDrohEyAQQgBTDQEgAUEDdEGo1sAAaisDACATogwCCyAHQShqIA4gEKdBA3RB+NbAAGopAwAQxQ4gBykDMEIAUg0CIAcpAygiD0KAgICAgICAEFYNAiAPukSS1U0Gz/CARKIMAQsgE0Go1sAAIAFBA3RrKwMAowsiE5ogEyAMQS1GGzkDCEEAIQMMCAsgB0EYaiAQIA4QugUgBykDGCEPAkAgCSAHKAIgIgRBAE5xRQRAIARBAEgNAQwICyAHQQhqIBAgDkIBfBC6BSAPIAcpAwhSDQAgBCAHKAIQRg0HC0EAIQggB0HEBmpBAEGJBhCKCxogB0HMBmohCUEAIQMDQCACIANGDQUgASADaiADQQFqIQMtAABBMEYNAAsgAkEBaiEKIAIgA2tBAWohBUEAIQQCQANAIAEgA2oiCEEBayIGLQAAIgtBMGsiDUH/AXFBCUsNASAHIARB/wVNBH8gBCAJaiANOgAAIAcoAsQGBSAEC0EBaiIENgLEBiAFQQFrIQUgCiADQQFqIgNHDQALIAEgA2pBAWshBkEAIQUMBAsgC0EuRw0DIAVBAWshCgJAAkACQAJ/IAQEQCAGQQFqIQYgCgwBCyACIANrIQsgBSAGaiEGQQAhAwNAIAMgC0YEQEEAIQQMBAsgAyAIaiADQQFqIQMtAABBMEYNAAsgAyAIakEBayEGIAUgA2sLIgVBCE8EQANAIARBCGpBgAZPDQIgBikAACIOQsaMmbLkyJGjxgB8IA5CsODAgYOGjJgwfSIOhEKAgYKEiJCgwIB/g0IAUg0CIARBgQZPDQcgBCAJaiAONwAAIAcgBygCxAZBCGoiBDYCxAYgBkEIaiEGIAVBCGsiBUEHSw0ACwsgBUUNAQsDQCAGLQAAQTBrIgNB/wFxQQlLDQIgBkEBaiEGIAcgBEH/BU0EfyAEIAlqIAM6AAAgBygCxAYFIAQLQQFqIgQ2AsQGIAVBAWsiBQ0ACwtBACEFCyAHIAUgCms2AsgGDAMLQQELIgM6AAEMBQsgBEGABkG0ysAAEK4QAAsCQCAERQRAQQAhCAwBCyACIAVrIQMCQCACIAVPBEBBACEIIAIgBUYNASABQQFrIQEDQAJAAkAgASADai0AAEEuaw4DAQQABAsgCEEBaiEICyADQQFrIgMNAAsMAQsgAyACQcTKwAAQrxAACyAHIAcoAsgGIARqNgLIBiAHIAQgCGsiCDYCxAYgCEGABk0NACAHQYAGNgLEBiAHQQE6AMwMQYAGIQgLAkAgBUUNACAGLQAAQSByQeUARw0AIAcgBUEBayIJBH8CQAJAAkACQCAGQQFqIgQtAAAiAUEraw4DAAEAAQsgBUECayIJRQ0BIAZBAmohBAtBACEFQQAhAwNAIAQtAABBMGtB/wFxIgJBCUsNAiADQQpsIAJqIgIgAyADQYCABEgiBhshAyACIAUgBhshBSAEQQFqIQQgCUEBayIJDQALDAELQQAhBQtBACAFayAFIAFBLUYbBUEACyAHKALIBmo2AsgGCyAIQRJLDQELIAcgCGpBzAZqQQBBEyAIaxCKCxoLIAdBOGogB0HEBmpBjAYQ/AYaQQAhBAJAIAcoAjhFDQAgBygCPCIDQbx9SA0AIANBtQJKBEBB/w8hBEIAIQ8MAgsCQCADQQBMBEBBACEFDAELQQAhBQNAQTwhBCADQRNJBEAgA0GU1sAAai0AACEECyAHQThqIAQQ+QMgBygCPCIDQYBwSgRAIAQgBWohBSADQQBMDQIMAQsLQQAhBAwBCyAHQUBrIQYDQAJAIAdBOGoCfyADRQRAIActAEAiAUEESw0CQQJBASABQQJJGwwBC0E8QQAgA2siAUETTw0AGiABQZTWwABqLQAACyIBELgEQf8PIQQgBygCPCIDQf8PSg0CIAUgAWshBSADQQBMDQELCyAFQQFrIgNBgXhMBEADQCAHQThqQTxBgnggA2siASABQTxPGyIBEPkDIAEgA2oiA0GCeEkNAAsLIANB/wdqQf4PSgRAQf8PIQRCACEPDAILIAdBOGpBNRC4BAJAAkACQAJ+AkACQCAHKAI4IgJFDQAgBygCPCIBQQBIDQAgAUESSw0EIAFFBEBCACEODAQLIAFBAUYEQEEAIQlCAAwDCyABQQFxIQUgAUEecSEJQQAhBEIAIQ4DQCAOQgp+IQ4gAiAESwR+IA4gBCAHakFAazEAAHwFIA4LQgp+IQ4gAiAEQQFqIghLBEAgDiAEIAdqQcEAajEAAHwhDgsgCSAIQQFqIgRHDQALDAELIANB/gdqIQRCACEPDAYLIAVFDQEgDkIKfgshDiACIAlNDQAgDiAGIAlqMQAAfCEOCwJAIAEgAk8NAAJAIAIgAUEBakYgASAGaiICLQAAIgRBBUZxRQRAIARBBEsNAQwCCyAHLQDABg0AIAFFDQEgAkEBay0AAEEBcUUNAQsgDkIBfCEOCyAOQoCAgICAgIAQVA0BCyAHQThqIgFBARD5A0IAIQ5BACEEQQAhBgJAIAEoAgAiBUUNACABKAIEIgJBAEgNAEJ/IQ4gAkESSw0AAkAgAkUEQEIAIQ4MAQsgAkEBRgR+QgAFIAJBAXEgAkEecSEGQgAhDgNAIA5CCn4hDiAEIAVJBH4gDiABIARqQQhqMQAAfAUgDgtCCn4hDiAFIARBAWoiCEsEQCAOIAEgBGpBCWoxAAB8IQ4LIAhBAWoiBCAGRw0AC0UNASAOQgp+CyEOIAUgBk0NACAOIAFBCGogBmoxAAB8IQ4LIAIgBU8NAAJAIAUgAkEBakYgAUEIaiACaiIELQAAIgVBBUZxRQRAIAVBBEsNAQwCCyABLQCIBg0AIAJFDQEgBEEBay0AAEEBcUUNAQsgDkIBfCEOC0H/DyEEIANBgAhqQf4PSg0BIANBAWohAwsgDkL/////////B4MhD0H+B0H/ByAOQoCAgICAgIAIVBsgA2ohBAwBC0IAIQ8LIAAgBK1CNIYgD4S/IhOaIBMgDEEtRhs5AwhBACEDCyAAIAM6AAAgB0HQDGokAAvlHQIMfwJ+IwBB4ANrIgYkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAA0ACQCADRQRAQQAhAwwBCyACKAIADQAgA0ECdCEJQQAhCEEAIQcDQCAIIAlGDRUgAiAIaigCAEUEQCAIQQRqIQggB0EBaiEHDAELCyAGQYABaiAHIAIgA0Hkg8IAEOUbIAYoAoQBIQMgBigCgAEhAiAGQfgAaiAHIAAgAUH0g8IAEOUbIAYoAnwhASAGKAJ4IQALAkAgBUUEQEEAIQUMAQsgBCgCAA0AIAVBAnQhCUEAIQhBACEHA0AgCCAJRg0VIAQgCGooAgBFBEAgCEEEaiEIIAdBAWohBwwBCwsgBkHwAGogByAEIAVBhITCABDlGyAGKAJ0IQUgBigCcCEEIAZB6ABqIAcgACABQZSEwgAQ5RsgBigCbCEBIAYoAmghAAsgAyAFIAMgBUsbIQogBCACIAMgBUkiBxshCSACIAQgBxshAiADIAUgBxsiA0EhSQ0DAkAgCiADQQF0SQRAIANBgQJPDQEgBkHIA2oiBCACIAMgA0EBdiICQZSFwgAQjhAgBigCzAMhCCAGKALIAyELIAYoAtADIQwgBigC1AMhBSAEIAkgCiACQaSFwgAQjhAgBigCzAMhCSAGKALIAyEKIAYoAtADIQ0gBkG4A2oiByAFIAYoAtQDIg5qQQFqIg8QkhIgBigCvAMgBigCwAMgDCAFIA0gDhBmIAcQygogBkEoaiACIAAgAUG0hcIAEOUbIAYoAiggBigCLCAGKAK8AyIQIAYoAsADIhEQ6AcgBkEgaiADQf4DcSAAIAFBxIXCABDlGyAGKAIgIAYoAiQgECAREOgHIAZBADYCwAMgByAPEPcOIAYoArwDIAYoAsADIAsgCCAKIAkQZiAHEMoKIAAgASAGKAK8AyIHIAYoAsADIgMQ6AcgBkEYaiACIAAgAUHUhcIAEOUbIAYoAhggBigCHCAHIAMQ6AcgBCAMIAUgCyAIEN8FIAYoAtQDIQUgBigC0AMhAyAGKALMAyEIIAYtAMgDIAQgDSAOIAogCRDfBSAGKALUAyEJIAYoAtADIQQgBigCzAMhCiAGLQDIAxDgFUH/AXFBAWsOAgoEAwsgBkHIA2ogCSAKIApBAXYiB0GEhsIAEI4QIAYoAtQDIQUgBigC0AMhBCAAIAEgAiADIAYoAsgDIAYoAswDEGYgBkHgAGogByAAIAFBlIbCABDlGyAGKAJkIQEgBigCYCEADAELCyAGQYgBaiIFIAIgAyAKQQNuQQFqIgQgAyAESRsiBxCnDiADIAdrIgggBCAEIAhLGyIMIAdqIgggA0sNAyAGQZgBaiILIAIgB0ECdGogDBCnDiAGQdgAaiAIIAIgA0G0hMIAEOUbIAZBqAFqIgcgBigCWCAGKAJcEKcOIApFDQQgBkG4AWoiCCAJIAQQpw4gCiAEayICIAQgAiAESRsiAyAEaiICIApLDQUgBkHIAWoiDCAJIARBAnRqIAMQpw4gBkHQAGogAiAJIApB5ITCABDlGyAGQdgBaiIJIAYoAlAgBigCVBCnDiAGQegBaiICIAUgBxD/CCAGQfgBaiIKIAggCRD/CCAGQYgCaiINIAIgCxC+CCAGQZgCaiIOIAogDBC+CCAGQagCaiAFIAgQ0AsgBkG4AmogByAJENALIAZBuANqIgMgAiALENcGIAZByANqIgIgCiAMENcGIAZByAJqIgogAyACEJsJIAZB2AJqIA0gDhDQCyACIA0gBxDXBiADIAIQ8xYgBkGYA2oiByADIAUQiQYgAiAOIAkQ1wYgAyACEPMWIAIgAyAIEIkGIAZB6AJqIgMgByACEJsJIAIgAyAKEJ8GIAYoAtADIgVBAnQhCCAGLQDUAyEHQQAhAiAGKALMAyEDIAYoAsgDIQkDQCAIBEAgBkHIAGogAkEQdCAIQQRrIgggA2oiCigCACICQRB2ckEDEOIcIAYoAkghCyAGQUBrIAJB//8DcSAGKAJMQRB0ckEDEOIcIAYoAkQhAiAKIAYoAkAgC0EQdHI2AgAMAQsLIAZBwANqIgIgBTYCACAGIAM2ArwDIAYgCTYCuAMgBkG4A2oQygogBkGgA2ogAigCADYCACAGIAYpArgDNwOYAyAGQfgCaiAHIAZBmANqIgkQ5hIgBkHIA2oiCCAGQcgCaiAGQdgCaiICEJ8GIAZBiANqIAgQoAggCSACIAZBqAJqEJ8GIAYtAKQDIQIgBigC/AIhAyAGKAL4AiEFIAYtAIQDIgdBAUcNBiAIIAkQ7SAMEAsgBkEIaiACIAAgAUHkhcIAEOUbIAYoAgggBigCDCADIAUgBCAJEGYMBgsgBkEANgLAAyAGQbgDaiIHIA8Q9w4gBigCvAMgBigCwAMgAyAFIAQgCRBmIAcQygogBkEQaiACIAAgAUH0hcIAEOUbIAYoAhAgBigCFCAGKAK8AyIHIAYoAsADENsFDAULIAIgA0ECdGohC0EAIQMDQCACIAtGDRAgBiADIAAgAUGkhsIAEOUbIANBAWohAyACKAIAIQUgAkEEaiIEIQIgBUUNACAGQcgDaiAGKAIAIAYoAgQgCkGUg8IAEI4QIAYoAswDIgIgCiACIApJGyECIAYoAtQDIQwgBigC0AMhDSAGKALIAyEIIAWtIRNCACESIAkhBwNAIAIEQCAIIBIgCDUCAHwgBzUCACATfnwiEj4CACASQiCIIRIgAkEBayECIAdBBGohByAIQQRqIQgMAQsLIAYgEj4CyAMgBiANIAwgBkHIA2oQwAkiAjYCuAMgAkUEQCAEIQIMAQsLIAZCADcC1AMgBkKBgICAwAA3AswDIAZBzIPCADYCyAMjAEEQayIAJAAgAEGMjeAANgIMIAAgBkG4A2o2AghBACAAQQhqQeCuwgAgAEEMakHgrsIAIAZByANqQdSDwgAQ+AYACyAIIANBpITCABCvEAALIARBAEHEhMIAEK8QAAsgAiAKQdSEwgAQrxAACyAGKAKAAyEJIAJBAWsOAggCAQsgCiAEENkpIAggAxDZKSAGKAK4AyAHENkpDAoLIAdFDQEMAgsgB0UNAQsgBigCnAMiByAGKAKgAyIIIAMgCRDwKUH/AXEOAgIDAQsgBkHQA2ogBkGAA2ooAgA2AgAgBiAGKQL4AjcDyAMgBkG4A2oiAyAGQcgDaiIFIAYoApwDIAYoAqADEPIIIAUgAiADEOYSDAULIAYgCTYC0AMgBiADNgLMAyAGIAU2AsgDIAZBuANqIgMgBkHIA2oiBSAHIAgQ6xsgBUECIAJrIAMQ5hIMBAsgBkHQA2pBmILCACkCADcDACAGQZCCwgApAgA3A8gDDAILIAYgCTYC0AMgBiADNgLMAyAGIAU2AsgDIAZBuANqIgMgByAIIAZByANqIgUQpwQgBSACIAMQ5hIMAgsgBkHQA2ogBkGAA2ooAgA2AgAgBkHXA2ogBkGFA2oiA0ECai0AADoAACAGIAYpAvgCNwPIAyAGQQIgB2s6ANQDIAYgAy8AADsA1QMMAQsgBSADENkpCyAGQbgDaiAGQcgDaiIDEKAIIAYtAMQCIQUCQCAGKALAAgRAIAZBgICAgHg2AsgDIAYgBkG4Amo2AswDIAZBrANqIANBAEEBEOkFDAELIAZBgICAgHg2AsgDIAYgBkG4Amo2AswDIAZBrANqIAZByANqEPQWCyAGQcgDaiIDIAUgBkGsA2oQ5hIgBkH4AmogBkG4A2oiBSADENcGIAUgBkGIA2ogBkG4AmoQvgggBkGgA2oiAygCACEFIAZBpwNqLQAAIQcgBi8ApQMhCSADQZiCwgApAgA3AwAgBkGqA2oiCCAHOgAAIAYoApgDIQcgBigCnAMhAyAGQZCCwgApAgA3A5gDIAYgCTsBqAMCQCAGLQDEAyIJQQFGBEAgBkHXA2ogCC0AADoAACAGIAI6ANQDIAYgBTYC0AMgBiADNgLMAyAGIAc2AsgDIAYgBi8BqAM7ANUDDAELAkACQAJAAkACQAJAAkACQAJAIAJBAWsOAgMAAQsgCUUNAQwHCyAJRQ0GCyADIAUgBigCvAMiCCAGKALAAyIKEPApQf8BcQ4CAgMBCyAGQcgDaiAGQbgDahDtIAwDCyAGIAU2AtADIAYgAzYCzAMgBiAHNgLIAyAGQawDaiICIAggCiAGQcgDaiIDEKcEIAMgCSACEOYSDAQLIAZB0ANqQZiCwgApAgA3AwAgBkGQgsIAKQIANwPIAwwBCyAGIAU2AtADIAYgAzYCzAMgBiAHNgLIAyAGQawDaiIDIAZByANqIgUgCCAKEOsbIAUgAiADEOYSDAILIAcgAxDZKQwBCyAGIAU2AtADIAYgAzYCzAMgBiAHNgLIAyAGQawDaiIDIAZByANqIgUgBigCvAMgBigCwAMQ8gggBSACIAMQ5hILQQBBBBDZKSAGQaADaiAGQdADaiIDKQMANwMAIAYgBikDyAM3A5gDIAYoArgDIAYoArwDENkpIAZBkANqIgIpAwAhEiACQZiCwgApAgA3AwAgBkHAA2ogEjcDACAGKQOIAyESIAZBkILCACkCADcDiAMgBiASNwO4AyAGQcgDaiAGQbgDaiAGQfgCaiIFEJ8GQQBBBBDZKSACIAMpAgA3AwAgBiAGKQLIAzcDiAMgBiAGQbgCajYC2AMgBiAFNgLUAyAGIAZBmANqNgLQAyAGIAZBiANqNgLMAyAGIAZBqAJqNgLIA0EQIQgDQCAIQXxGBEAgBigCmAMgBigCnAMQ2SkgBigCiAMgBigCjAMQ2SkgBigC+AIgBigC/AIQ2SkgBigCuAIgBigCvAIQ2SkgBigCqAIgBigCrAIQ2SkFIAhBAnYhAwJAAkACQCAGQcgDaiAIaigCACICLQAMQQFrDgICAQALIAZBMGogAyAEbCAAIAFB9ITCABDlGyAGKAIwIAYoAjQgAigCBCACKAIIENsFDAELIAZBOGogAyAEbCAAIAFBhIXCABDlGyAGKAI4IAYoAjwgAigCBCACKAIIEOgHCyAIQQRrIQgMAQsLCyAGQeADaiQAC6UfAgt/AX4jAEGAAmsiAyQAIAEoAgwhBSADQaABaiACIAEoAggiBEEAENMBAkACQAJAAkACQAJAAkAgAy0AoAFBBEcEQCADKQOgASIOQv8Bg0IEUg0BCwJAAkACQCAERQ0AIANBoAFqIAIgBBDLHCADLQCgAUEERg0AIAMpA6ABIg5C/wGDQgRSDQELIANB2ABqIAEQlgwgAUEQaiEEIAEpAxAhDiADKAJYIAMoAlxBjLngAEEKEOMfDQEgDlAhBgwFCyAAIA43AgAMBwsgDlAEQCACQcwAaiEHIAItAFEhBQwFCyADQdAAaiAEEJYMIAMoAlAgAygCVEHcABDNHEUNAyACLQBQDQEMAgsgACAONwIADAULIANByABqIAQQlgwgAygCSCADKAJMEI8TDQELIANBQGsgBBCWDCADQaABaiACQQBBACADKAJAIAMoAkQQlQ8CQCADLQCgAUEERwRAIAMpA6ABIg5C/wGDQgRSDQELAkACQCAFRQ0AIANBoAFqIAIgBRDLHCADLQCgAUEERg0AIAMpA6ABIg5C/wGDQgRSDQELIABBBDoAAAwFCyAAIA43AgAMBAsgACAONwIADAMLIAJBzABqIQcgAi0AUSEFIAItAE0gBnINACAHLQAABEAgA0E4aiAEEJYMIAMoAjggAygCPBDFC0UNAQsgAi0AUARAIANBMGogBBCWDCADKAIwIAMoAjQQjxMNAQsgA0EoaiAEEJYMIANBoAFqIAJBAEEAIAMoAiggAygCLBCVDyADLQCgAUEERwRAIAMpA6ABIg5C/wGDQgRSDQILIABBBDoAAAwCCyADQSBqIAEQlgwgBy0AACEKIAMoAiAhASADQRhqIAMoAiQiBEECahDKFCADQQA2AnQgAyADKQMYNwJsIAMgASAEajYCgAEgAyABNgJ8IANBgYDEADYCeCAKIAVB/wFxIgtBAkkiDHJBAXEhDUEAIQdBACEFA0ACQAJAAkACQAJAAkAgA0GgAWoCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgA0H4AGoQwB4iAQ4OCQsLCwsLCwsBBgMFAgQACyABQSJGDQcgAUEnRg0GIAFB3ABGDQkgAUGAgMQARw0KIAUgB0gNCyADQeABaiIBIAMoAnAgAygCdEEiQbzg2AAQ0QYgA0E+NgKUASADQQI2AqQBIANBhODYADYCoAEMDAsgA0HsAGpBlt7YAEECEO0dDBkLIANB7ABqQZje2ABBAhDtHQwYCyADQewAakG039gAQQIQ7R0MFwsgA0HsAGpBtt/YAEECEO0dDBYLIANB7ABqQZre2ABBAhDtHQwVCyADQewAakEJEO0PDBQLIANB7ABqQScQ7Q8gBUEBaiEFDBMLIANB7ABqQSIQ7Q8gB0EBaiEHDBILIAsNDwwQCwJAIANB+ABqEJodIgEEQCABKAIAQfUARg0BCyADQewAakG439gAQQIQ7R0MEQsgAyADKAKAATYC6AEgAyADKQJ4NwLgASADQeABaiIBEMAeGiABEJodIgFBjN7YABDPHSIJDQMgAUGU4NgAEJQqRQ0NIAFBmODYABCUKkUNDSADQewAakHcABDtDwwNCyABQQFrQQ9JDQMgAUHw//8AcUEQRg0EIAFBIGtB3wBJDQUgAUH/AGtBgQFPBEACQAJAAkACQAJAAkACQCABQajAAGsOAgECAAsgAUH//QNGDQIgAUGAAUkNAyABQf//A0sNBSAKQQFxDQQgA0HsAGogARDtDwwWCyADQewAakGc3tgAQQYQ7R0MFQsgA0HsAGpBot7YAEEGEO0dDBQLIANB7ABqQaje2ABBBhDtHQwTCyADQewAaiABEO0PDBILIANBrwI2ApQBIAMgATsBhAEgA0EBNgL0ASADQQE2AuQBIANBzN/YADYC4AEgA0EBNgLsASADIANBhAFqNgKQASADQQM6ALwBIANBCDYCuAEgA0IgNwKwASADQoCAgIDAADcCqAEgA0ECNgKgASADIANBoAFqNgLwASADIANBkAFqNgLoASADQewAaiADQeABahDtJBoMEQsgDA0HIApBAXFFBEAgA0HsAGogARDtDwwRCyADQcoANgKUASADIAE2AoQBIANBATYC9AEgA0ECNgLkASADQdjf2AA2AuABIANBATYC7AEgAyADQYQBajYCkAEgA0EDOgC8ASADQQg2ArgBIANCIDcCsAEgA0KAgICAwAA3AqgBIANBAjYCoAEgAyADQaABajYC8AEgAyADQZABajYC6AEgA0HsAGogA0HgAWoQ7SQaDBALIA0NCyADQewAaiABEO0PDA8LIANB4AFqIgEgAygCcCADKAJ0QSdBvuDYABDRBiADQT42ApQBIANBAjYCpAEgA0HA4NgANgKgAQsgA0IBNwKsASADIAE2ApABIAMgA0GQAWo2AqgBIANB4ABqIANBoAFqEPwUIAMoAuABIAMoAuQBENYpIAMoAmwgAygCcBDWKSACLQBQRQ0IIAMoAmQhBCADKAJoIQEgA0EINgJ4IAMgATYC/AEgAyAENgL4ASADQQA2AvABIAMgASAEajYC7AEgAyAENgLoASADQQI2AuABIAMgA0H4AGo2AvQBIANBEGogA0HoAWoiBRDmBiADIAMoAhQ2AuQBIAMgAygCECIGNgLgASAGQQFxBEAgA0EIaiABEMoUIAMoAgghByADKAIMIgYgBCABEPwGIQQgAyABNgKYASADIAQ2ApQBIAMgBzYCkAEgA0G4AWogA0H4AWopAgA3AwAgA0GwAWogA0HwAWopAgA3AwAgA0GoAWoiByAFKQIANwMAIAMgAykC4AE3A6ABIANBADYCwAEDQCADKAKgASEEIANBAjYCoAECfyAEQQJHBEAgAygCpAEMAQsgAyAHEOYGIAMoAgAhBCADKAIECyEFIARFDQcgAyADKALAASIIQQFqIgQ2AsABAkAgBCAFaiIERQ0AIAEgBEsEQCAEIAZqLAAAQb9/Sg0BDAsLIAEgBEcNCgsgAygCkAEgAUYEQCADQZABaiABQQEQ0gogAygClAEhBgsgBCAGaiIEQQFqIAQgBSAIakF/cyABahDQLRogBEHcADoAACADIAFBAWoiATYCmAEMAAsAC0GAgICAeCEFIAQMBgsgA0HgAWoiARDAHhogARCaHSEBDAkLIANBATYCpAEgA0GM39gANgKgASADQgE3AqwBIANB3gE2AuQBIAMgAToAkAEgAyADQeABajYCqAEgAyADQZABajYC4AEgA0HsAGogA0GgAWoQ7SQaDAsLIANBATYCpAEgA0Gw3tgANgKgASADQgE3AqwBIANB3gE2AuQBIAMgAToAkAEgAyADQeABajYCqAEgAyADQZABajYC4AEgA0HsAGogA0GgAWoQ7SQaDAoLIANB7ABqIAEQ7Q8MCQsgAyABQYCABGtBCnZBgLADajYCjAEgAyABQf8HcUGAuANyNgKEASADQcoANgKcASADQcoANgKUASADQQI2AvQBIANBAjYC5AEgA0Gs4NgANgLgASADIANBhAFqNgKYASADIANBjAFqNgKQASADQQM6ANwBIANBCDYC2AEgA0KggICAEDcC0AEgA0KAgICAwAA3AsgBIANBAjYCwAEgA0EDOgC8ASADQQg2ArgBIANCIDcCsAEgA0KAgICAwAA3AqgBIANBAjYCoAEgAyADQaABajYC8AEgA0ECNgLsASADIANBkAFqNgLoASADQewAaiADQeABahDtJBoMCAsgAygCkAEhBSADKAJkIQQgAygClAELIgYgAUGcueAAQQRBoLngAEEHEKoLIANB4AFqIAMoAqQBIgEgAygCqAFBp7ngAEEDQaq54ABBBhCqCyADKAJgIAQQ1ikgA0HoAGogA0HoAWooAgA2AgAgAyADKQLgATcDYCADKAKgASABENYpIAUgBhCuJAwBC0Hg3NgAQSxBjN3YABDuFwALIANBoAFqIAJBAEEAIAMoAmQiASADKAJoEJUPAkAgAy0AoAFBBEcEQCADKQOgASIOQv8Bg0IEUg0BCyADKAJgIAEQ1ikgAEEEOgAADAcLIAAgDjcCACADKAJgIAEQ1ikMBgsgA0EBNgKkASADQbDe2AA2AqABIANCATcCrAEgA0HeATYC5AEgAyABOgCQASADIANB4AFqNgKoASADIANBkAFqNgLgASADQewAaiADQaABahDtJBoMAwsCQAJAAkACQCABBEAgASgCAEEgckHkAEYNAQsgCQ0BIANB7ABqQdwAEO0PDAYLIANBADYCqAEgA0KAgICAEDcCoAEgA0GgAWoiBEHcABDtDyAEQfUAEO0PIAkNAQwCCyAD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BCgCYCIIQYCwA3NBgIDEAGtBgJC8f0kNACAIQYCAxABHDQQLIARByABqIARBKGooAgA2AgAgBEHUAGogBEE4aigCADYCACAEIAQpAyA3A0AgBCAEKQMwNwJMIARBCDYCXCAFIAEoAgQgCiAEQUBrIARB3ABqEJwPDAQLIARB1ABqIANBCGooAgA2AgAgBEHIAGogBEEYaigCADYCACAEIAQpAxA3A0AgBCADKQIANwJMIARBCjYCXCAFIAEoAgQgCyAEQUBrIARB3ABqEJwPDAMLIARBADYCXCAEQTxqQZSqxAAgBEHcAGpBmKrEABDpGgALIARB1ABqIANBCGooAgA2AgAgBEHIAGogBEEYaigCADYCACAEIAQpAxA3A0AgBCADKQIANwJMIARBBzYCXCAFIAEoAgQgCiAEQUBrIARB3ABqEJwPDAELIARBgAFqIgEgBEEoaigCADYCACAEQYwBaiADQQhqKAIANgIAIAUgCDYCBCAFIAQpAyAiHDcCCCAFIAY6ACEgBUEFOgAgIAQgAykCADcChAEgBUEQaiABKQMANwIAIAVBGGogBEGIAWopAwA3AgAgBCAcNwN4IAVBIjYCAAsgCSAJKAIAQQFqNgIAIARBkAFqJAALIAdBQGskACACQaABaiIBIAJBsAJqKQIANwMAIAJBqAFqIgUgAkG4AmopAgA3AwAgAkGwAWoiBiACQcACaikCADcDACACIAIpAqgCNwOYASACKAKkAiIEQSJGDQcgACACKQLIAjcCJCAAQTxqIAJB4AJqKAIANgIAIABBNGogAkHYAmopAgA3AgAgAEEsaiACQdACaikCADcCACAAQRxqIAYpAwA3AgAgAEEUaiAFKQMANwIAIABBDGogASkDADcCACAAIAIpA5gBNwIEDAgLIAJBpAJqIQhBACEFIwBBgAJrIgMkAAJAAn8CQAJAAkAgARDDDEHwAEcEQCABEMMMQdAARw0BCyADQdgAaiABKAIAIgtBQGtBrKzEABC3HSADKAJcIREgAygCWCIGQQA2AgggARDDDCETIAEQrh5FBEAgA0GUAWogC0HYAGooAgAiBTYCACADQYgBaiAFNgIAIAMgCykCUCIcNwKMASADIBw3A4ABIANBCjYCwAEgCCABKAIEIAEoAgggA0GAAWogA0HAAWoQnA8MBQsgARDDDEH7AEYEQCADQcABaiABEOQKIANB6ABqIANB1AFqKAIANgIAIAMgAykCzAE3A2ADQCABEK4eRQ0EIAEQwwxB/QBGDQQgBiABEMMMEJ0NDAALAAsgA0H4AGogC0HYAGooAgA2AgAgAyALKQJQNwNwIAEQwwwiB0HcAEYNASABEK4eGkGAgICAeCEBIANB8ABqDAMLQaytxABBOkHorcQAEO4XAAsgA0GAAWoiBSABEOQKIANBHzYCwAEgCCABKAIEIAEoAgggBSADQcABahCcDwwCCwJAAkAgCygCUCIFIAEoAghHBEAgAyABEMMMIgU2AmwgBUH9AEcEQCADQQA2AsABIANB7ABqQZSqxAAgA0HAAWpBnK3EABDpGgALIAEQ9wgaIANBwAFqIAYoAgQiCSAGKAIIIgpB+q/gAEECENwBAkAgAygCwAFFBEAgAy0AzgENAyADKAL0ASEFIAMoAvABIQYgAy0AzAEhASADKALEASEHA0AgAyABQX9zQQFxOgDMASADQdAAaiAHIAYgBRCgEyADKAJQIgRFDQIgAygCVCEMIAMgBDYCgAEgAyAEIAxqNgKEASADQcgAaiADQYABahD9CSADKAJIRQRAIAFBAXFFDQUMBgsgAUEBcQ0FIAMtAMwBQQFxIQECf0EBIAMoAkwiBEGAAUkNABpBA0EEIARBgIAESRsgBEGAEE8NABpBAgsgB2ohBwwACwALIAMoAvwBIg0gAygC2AEiFGshBSANQQFrIRUgAygC0AEhBiADKQPIASEcIAMoAtwBIQcgAygC+AEhEiADKAL0ASEMIAMoAvABIQ8gAygC5AEiFiEBA0AgBiAGIAEgASAGSRsgFkF/RiIQGyIEIA0gBCANSxshF0EAIAEgEBshGANAIAcgFWoiASAMTw0EAn8gHCABIA9qMQAAiEIBg1BFBEAgByAPaiEOIAQhAQJAAkACQANAIAEgF0YEQCAGIQEDQCABIBhNDQ0gAUEBayIBIA1PDQMgASAHaiIOIAxPDQQgASASai0AACAOIA9qLQAARg0ACyAHIBRqIQcgEA0HIAUhAQwICyABIAdqIhkgDE8NAyABIA5qIRogASASaiABQQFqIQEtAAAgGi0AAEYNAAsgGSAGa0EBagwECyABIA1B1OngABCtEAALIA4gDEHk6eAAEK0QAAsgDCAEIAdqIgAgACAMSRsgDEH06eAAEK0QAAsgByANagshByAQDQALQQAhAQwACwALIAYgBSAHIAVBwOrgABDQJgALIANBlAFqIAtB0ABqIgZBCGooAgAiBDYCACADQYgBaiAENgIAIAMgBikCACIcNwKMASADIBw3A4ABIANBCjYCwAEgCCABKAIEIAUgA0GAAWogA0HAAWoQnA8MAwsgA0FAayAJIApBOhDtBkEBIQUgAygCQEEBRgRAIANBIGogCSAKIAMoAkQiAUHcrMQAEKcVIANBgAFqIAMoAiAgAygCJBC2ESADQRhqIAkgCiABQQFqQeysxAAQxBQgA0HAAWogAygCGCADKAIcELYRIAM1AogBIAM1AsABQiCGhCEcIAMpAsQBIR0gAygChAEhByADKAKAASEBIANB4ABqDAILIANBOGogCSAKQT0Q7QYgAygCOEEBRgRAIANBMGogCSAKIAMoAjwiAUH8rMQAEKcVIANBgAFqIAMoAjAgAygCNBC2ESADQShqIAkgCiABQQFqQYytxAAQxBQgA0HAAWogAygCKCADKAIsELYRIAM1AogBIAM1AsABQiCGhCEcIAMpAsQBIR0gAygChAEhByADKAKAASEBQQAhBSADQeAAagwCCyADQcABaiAJIAoQthEgAykCxAEhHCADKALAASEHQQAhBUGBgICAeCEBIANB4ABqDAELIANBEGogCSAKIAdBvKzEABCnFSADQYABaiADKAIQIAMoAhQQthFBAiEFIANBCGogCSAKIAdBAmpBzKzEABDEFCADQcABaiADKAIIIAMoAgwQthEgAzUCiAEgAzUCwAFCIIaEIRwgAykCxAEhHSADKAKEASEHIAMoAoABIQEgA0HgAGoLIQYgA0GgAWoiBCAGQQhqKAIAIgk2AgAgA0GsAWogC0HYAGooAgA2AgAgCCAFOgAcIAggHTcCFCAIIBw3AgwgCCAHNgIIIAggATYCBCAIIAYpAgAiHDcCICADQbgBaiAJNgIAIAMgCykCUDcCpAEgCEEoaiAEKQMANwIAIAhBMGogA0GoAWopAwA3AgAgAyAcNwOwASADIBw3A5gBIAhBIjYCACAIIBNB0ABGOgA4CyARIBEoAgBBAWo2AgAgA0GAAmokACACKAKkAiEBIAJBmAFqIgUgAkGoAmpBOBD8BhogAUEiRg0EIAIoAuACIQYgAEEEaiAFQTgQ/AYaIAAgBjYCPAwFCyACQZgDaiABEOQKIAJBnAJqIAJBrANqKAIANgIAIAJBkAJqIAJBGGooAgA2AgAgAiACKQKkAzcClAIgAiACKQMQNwOIAiACQSA2ApgBIAJBpAJqIgUgASgCBCABKAIIIAJBiAJqIAJBmAFqEJwPIAAgBUHAABD8BhoMHgtBASADdEHrm4CAAXFFDQYMBwsgBC0AZUUEQCACQZgDaiABEOQKIAJBnAJqIAJBrANqKAIANgIAIAJBkAJqIAJBGGooAgA2AgAgAiACKQKkAzcClAIgAiACKQMQNwOIAiACQSA2ApgBIAJBpAJqIgUgASgCBCABKAIIIAJBiAJqIAJBmAFqEJwPIAAgBUHAABD8BhoMHQsgAkEgaiEGIwBBIGsiBSQAAkACQCABKAIAIgQtAGUEQCABEMMMQTBJDQEgARDDDEE4Tw0BIAQpAlQhHCAEKAJQIQMDQCABEPcIRQ0DIAEQwwxBMEkNAyABEMMMQTdLDQMgBCgCUCADa0EDSQ0ACwwCC0G4p8QAQSVB4KfEABDuFwALQfCnxABBOkGsqMQAEO4XAAsgBCkCVCEdIAVBCGogASgCBCABKAIIIAMgBCgCUCIBQbyoxAAQ+g0gBUEUaiAFKAIIIAUoAgxBCBDIBAJAAkAgBS0AFEEBRwRAIAUoAhgiBEGAsANzQYCAxABrQf+PvH9NDQEgBkEDOgAcIAYgHTcCFCAGIAE2AhAgBiAcNwIIIAYgAzYCBCAGIAQ2AgAgBUEgaiQADAILIAUgBS0AFToAH0HMqMQAQRIgBUEfakHcncQAQeCoxAAQxg4AC0HwqMQAQRRBhKnEABC1EgALIAJBLGogAkEYaigCADYCACAAQqKAgICggICAgH83AgAgAEEYaiACQTBqKQIANwIAIABBIGogAkE4aikCADcCACACIAIpAxA3AiQgACACKQIgNwIIIABBEGogAkEoaikCADcCAAwcCyACQQA2AqQCIAJBDGpB8KbEACACQaQCakH0psQAEOkaAAsgAkHgAGoiBSACQZgBakE4EPwGGiACQYQBaiACQRhqKAIANgIAIAIgAikDEDcCfCAAQQRqIAVBOBD8BhoLIAAgATYCAAwZCyACQcgAaiIDIAEpAwA3AwAgAkHQAGogBSkDACIcNwMAIAJB2ABqIAYpAwAiHTcDACACQcwAaiACQRhqKAIANgIAIAIgAikDmAE3A0AgAEGCgICAeDYCBCAAQRhqIBw3AgAgAEEgaiAdNwIAIAIgAikDEDcCRCAAIAIpA0A3AgggAEEQaiADKQMANwIACyAAIAQ2AgAMFwsgBUHbAGtBBEkgBUH7AGtBBElyDQAgBUEwa0EKSSAFQf8AS3IgBUHBAGtBGkkgBUHhAGtBGklyckUgBUH9AHFBPEdxDQIgBUE8aw4HDwQQBAQLDgELIAAgAikD8AE3AgwgAEEBOgAkIAAgBTYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADBULAkAgBUHyAGsOCQgDBgMJAwMDCwALIAVB4QBrDgYDCwICAgQBCyAAIAIpA/ABNwIMIABBAjoAJCAAIAU2AgggAEKigICAoICAgIB/NwIAIABBHGogAkGAAmopAwA3AgAgAEEUaiACQfgBaikDADcCAAwTCyAFQe4ARg0ECyACQQs2ApgBIAJBpAJqIgUgASgCBCABKAIIIAJB8AFqIAJBmAFqEJwPIAAgBUHAABD8BhoMEQsgACACKQPwATcCDCAAQQY7ASQgAEEHNgIIIABCooCAgKCAgICAfzcCACAAQRxqIAJBgAJqKQMANwIAIABBFGogAkH4AWopAwA3AgAMEAsgACACKQPwATcCDCAAQYYCOwEkIABBDDYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADA8LIAAgAikD8AE3AgwgAEGGBDsBJCAAQQk2AgggAEKigICAoICAgIB/NwIAIABBHGogAkGAAmopAwA3AgAgAEEUaiACQfgBaikDADcCAAwOCyAAIAIpA/ABNwIMIABBhgY7ASQgAEEKNgIIIABCooCAgKCAgICAfzcCACAAQRxqIAJBgAJqKQMANwIAIABBFGogAkH4AWopAwA3AgAMDQsgACACKQPwATcCDCAAQYYIOwEkIABBDTYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADAwLIAAgAikD8AE3AgwgAEGGCjsBJCAAQQs2AgggAEKigICAoICAgIB/NwIAIABBHGogAkGAAmopAwA3AgAgAEEUaiACQfgBaikDADcCAAwLCyAAIAIpA/ABNwIIIABBAjoAICAAQqKAgICwgICAgH83AgAgAEEYaiACQYACaikDADcCACAAQRBqIAJB+AFqKQMANwIADAoLIAAgAikD8AE3AgggAEEDOgAgIABCooCAgLCAgICAfzcCACAAQRhqIAJBgAJqKQMANwIAIABBEGogAkH4AWopAwA3AgAMCQsgAkGYAmoiCiACQYACaikDADcDACACQZACaiILIAJB+AFqKQMANwMAIAIgAikD8AE3A4gCQQQhBSABKAIIIgMgBigCAEYNByABEMMMQfsARw0HIAIgARDDDCIHNgLkAiAHQfsARw0EIAJB8AJqIAZBCGoiBygCADYCACACIAYpAgA3A+gCIAEQrh4NAyACQawDaiAHKAIANgIAIAJBoANqIAJBGGooAgA2AgAgAiACKQMQNwOYAyACIAYpAgA3AqQDIAJBHjYCmAEgAkGkAmogASgCBCADIAJBmANqIAJBmAFqEJwPDAYLIAAgAikD8AE3AgggAEEFOgAgIABCooCAgLCAgICAfzcCACAAQRhqIAJBgAJqKQMANwIAIABBEGogAkH4AWopAwA3AgAMBwsgACACKQPwATcCCCAAQQg6ACAgAEKigICAsICAgIB/NwIAIABBGGogAkGAAmopAwA3AgAgAEEQaiACQfgBaikDADcCAAwGCyAAIAIpA/ABNwIIIABBCToAICAAQqKAgICwgICAgH83AgAgAEEYaiACQYACaikDADcCACAAQRBqIAJB+AFqKQMANwIADAULIAJBgANqIAcoAgA2AgAgAiAGKQIANwP4AiABEMMMIgdBLUYgB0Hf//8AcUHBAGtBGklyRQRAIAYgAikD6AI3AgAgBkEIaiACQfACaigCADYCAAwECyACIARBQGtBhKfEABC3HSACKAIEIQQgAigCACIHQQA2AggDQAJAAkACQAJAIAYoAgAgA0YNACABEMMMIghBLUYgCEHf//8AcUHBAGtBGklyDQMgBigCACADRg0AIAEQwwxB/QBGDQELIAJBrANqIAZBCGooAgA2AgAgAkGgA2ogAkHwAmooAgA2AgAgAiACKQPoAjcDmAMgAiAGKQIANwKkAyACQRw2ApgBDAELIAJBkANqIAZBCGooAgA2AgAgAiAGKQIANwOIAyABEPcIGiAHKAIEIgggBygCCCIJ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AyACQfgCaiAEENgUIANCADcDACADQgA3AyAgA0IANwNAIANByABqQQA6AAAgAyACKQP4AjcDCCADQRBqIA4pAwA3AwAgA0EYaiACQYgDaikDADcDACADIAIpA8ACNwMoIANBMGogAkHIAmopAwA3AwAgA0E4aiACQdACaikDADcDACALQgA3AwAgC0EIakEAOgAAIAJBATYCtAMgAiADNgK4AyACQQE2ArwDIAIgBzYCxAMgAiAKNgLAAyACQQI2ArADIAUgCBD2GQwBCyACKQOIASEdIAJBsANqIAJBuAFqENgUIAJB6ANqELATIQYgESACKQOwAzcCACARQQhqIAJBuANqKQMANwIAIBFBEGogAkHAA2opAwA3AgAgAi0AhAEhAyACQdgAahCwCCAJIAIpAtABNwIAIAlBCGogAkHYAWopAgA3AgAgCUEQaiACQeABaikCADcCACAJQRhqIAJB6AFqKAIANgIAIAJBADYCYCACQQE2AlggAiAdNwOIASACIAM6AIQBIAIgBjYCgAEgAikDwAIQ8RoLIAJB6ANqEIoWIAIpA7gBEPEaDAsLIAJBwAJqIgQgDxDYFEHIAEEEEM4iIgNCADcCMCADQYCAgIB4NgIYIANCBDcCECADQgA3AgggA0KAgICAgAE3AgAgA0E4akIANwIAIANBPmpCADcBACACKAKAASEGIAIgAzYCgAEgBiACQZABaiIFELcVIAJB+AJqIAQQzhsgAigCtAEgBBD7BUUEQCACQbADaiIIIAQQzhsgFCACKQOwAzcCACAUQQhqIAJBuANqKQMANwIAIBRBEGogAkHAA2opAwA3AgAgAi0AhAEhAyACQdgAahCwCCAMIAIpAqQCNwIAIAxBCGogAkGsAmopAgA3AgAgDEEQaiACQbQCaikCADcCACAMQRhqIAJBvAJqKAIANgIAIAJBATYCaCACQRE2AmAgAkEJNgJYIAIgAzoAjAEgAiAGNgKIAUHQAEEIEKEgIgNCADcDACADQgA3AyAgA0IANwNAIAMgAikDwAI3AwggA0EQaiACQcgCaikDADcDACADQRhqIAJB0AJqKQMANwMAIAMgAikD+AI3AyggA0EwaiAOKQMANwMAIANBOGogAkGIA2opAwA3AwAgA0HIAGpBADoAACACQQE2ArwDIAIgAzYCuAMgAkEBNgK0AyALQgA3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DAILIAVBCGopAgAhLyAHIAVBEGoQzhsgAkEgaiAHKQMANwMAIAJBKGogAkHAAWopAwA3AwAgAkEwaiACQcgBaikDADcDACACIC83AxhCAwwBCyAFQQhqKQIAIS8gByAFQRBqEM4bIAJBIGogBykDADcDACACQShqIAJBwAFqKQMANwMAIAJBMGogAkHIAWopAwA3AwAgAiAvNwMYQgQLIS8gByACQSBqKQMANwMAIAJBwAFqIhAgAkEoaikDADcDACACQcgBaiINIAJBMGopAwA3AwAgEiATKQMANwMAIAJB8ABqIhQgAkHQAGopAwA3AwAgAkH4AGoiESACQdgAaikDADcDACACIAIpAxg3A7ABIAIgAikDQDcDYCABIA9qIgUgLzcDACAFQQhqIAIpA7ABNwMAIAVBEGogBykDADcDACAFQRhqIBApAwA3AwAgBUEgaiANKQMANwMAIAVBKGogAikDYDcDACAFQTBqIBIpAwA3AwAgBUE4aiAUKQMANwMAIAVBQGsgESkDADcDACAKQQFrIQogAUHIAGohAQwBCwsgAygCEBCYESEFIAMtACAhCyADQRxqELAOIQwgAy0AISEQDAsLIAMoAjQhCiADKAIwIQ0CQAJAAkACQAJAAkACQAJAAkAgAygCCCIPQQFrDgcBAgMEBQYHAAsgAkGwAWogA0EQahDOGyADLQAsIQEgAiADQShqEP0LNgLIAQwUCyACQbABaiADQRBqEM4bIAMtACwhASACIANBKGoQ/gs2AsgBDBMLEO0iIQYgAygCDCIBKAIUIQQgASkCDCEvIAEvARghCSACQbABaiABEM0KIAJByAFqIgEgCTsBACAGIAIpArABNwIAIAIgLzcCvAEgBkEIaiAHKQIANwIAIAIgBDYCxAEgBkEQaiACQcABaikCADcCACAGQRhqIAEoAgA2AgAMBQsQ7iIhBiADKAIMIgEtABQhBCABKQIMIS8gAkGwAWogARDNCiAGIAIpArABNwIAIAIgLzcCvAEgBkEIaiAHKQIANwIAIAIgBDoAxAEgBkEQaiACQcABaikCADcCAAwECyADQQxqEJgLIQYMAwsQ7CIhBiADKAIMIgEpAwAhLyABLQAoIQQgByABQQhqEM4bIAFBIGoQog8hCSABQSRqEPEZIQEgAiAEOgDYASACIC83A7ABIAIgATYC1AEg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OgAgIA4gHTYCHCAOIB42AhggDiAfNgIUIA4gIDYCECAOIDE3AgggDiAINgIEIA4gGzYCACAOIAo2AjQgDiANNgIwIA4gLzcCKCAOIAE2AiQgDiACLwGwATsAIiAYQQFqIRgMAAsAC8wZAg5/An4jAEGwAmsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAWsOEgECAwQFBgcICQoLDA0ODxAREgALIAJBIGogAUEEahDSHyAAQQA2AgAgAEEUaiACQTBqKQIANwIAIABBDGogAkEoaikCADcCACAAIAIpAiA3AgQMEgsgAEEBNgIAIAAgASkCBDcCBAwRCyAAQQI2AgAgACABKQIENwIEDBALIAEpAgwhECABQQRqEPAcIQMgAUEIahC6GSEBIAAgEDcCDCAAIAE2AgggACADNgIEIABBAzYCAAwPCyABKQIEIRAgACABQQxqEPQkNgIMIAAgEDcCBCAAQQQ2AgAMDgsgASkDCCEQIAJBIGogAUEQahDOGyABQShqELoZIQEgACAQNwMIIAAgATYCKCAAQQU2AgAgACACKQMgNwMQIABBGGogAkEoaikDADcDACAAQSBqIAJBMGopAwA3AwAMDQsgASkDCCEQIAJBKGoiAyABQRBqELUgIAAgEDcDCCAAQQY2AgAgAEEQaiADKQMANwMAIABBGGogAkEwaikDADcDACAAQSBqIAJBOGopAwA3AwAMDAsgASkDCCEQIAJBKGoiAyABQRBqELUgIAAgEDcDCCAAQQc2AgAgAEEQaiADKQMANwMAIABBGGogAkEwaikDADcDACAAQSBqIAJBOGopAwA3AwAMCwsgASgCECEDIAEoAgwhBCABQQRqEPAcIQYgAUEIahC6GSEFIAAgASgCFAR/IAFBFGoQuhkFQQALNgIUIAAgAzYCECAAIAQ2AgwgACAFNgIIIAAgBjYCBCAAQQg2AgAMCgsgASgCGCEHIAEoAhQhCSABQRBqEPAcIQogASgCCCELIAJBCGogASgCDCIEQQRBGBD5FCACKAIIIgYgBEH/////AXEiASABIAZLGyEDQQAhASACKAIMIQUDQCADBEAgASALaiIIQQxqKQIAIRAgCEEUahD0JCEMIAJBIGogCBCPDCACIBA3AiwgAiAMNgI0IAJBKGop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BEHgAWogA0EIaikDADcDACAEQegBaiADQRBqKQMANwMAIAQgAykDADcD2AEgARCLKwwBCyAELQCsASECIARB4AFqIANBCGopAwA3AwAgBEHoAWogA0EQaikDADcDACAEQdYBaiAEQa8Bai0AADoAACAEIAQvAK0BOwHUASAEIAMpAwA3A9gBIAQoAowBIQMgASEFCyAAIAM2AgQgACAHNgIAIAAgBCkD2AE3AwggACACOgAkIAAgBTYCICAAIAQvAdQBOwAlIABBEGogBEHgAWopAwA3AwAgAEEYaiAEQegBaikDADcDACAAQSdqIARB1gFqLQAAOgAADA8LIAQoAowBIQEgAEEJNgIAIAAgATYCBAwOCyAEQfABaiABIAQoAiQiASABIANBABCIBCAEKALwASIGQQhHBEAgBEH4AWohAyAEKAKQAiEBAkAgBkUEQCAEQZABaiABQQhqKAIANgIAIARBnAFqIAFBFGooAgA2AgAgBEGoAWogAUEgaigCADYCACAEIAEpAgA3A4gBIAQgASkCDDcClAEgBCABKQIYNwOgASABKQIoIQogASkCMCELIAEoAjghByABLQA8IQggBCgCKCEJQcAAQQQQoSAiAiAEQYgBakEkEPwGIgUgCDoAPCAFIAc2AjggBSALNwIwIAUgCjcCKCAFIAk2AiQgBEHAAWogA0EIaikDADcDACAEQcgBaiADQRBqKQMANwMAIAQgAykDADcDuAEgARCSK0EBIQUMAQsgBC0AlAIhBSAEQcABaiADQQhqKQMANwMAIARByAFqIANBEGopAwA3AwAgBEG2AWogBEGXAmotAAA6AAAgBCAELwCVAjsBtAEgBCADKQMANwO4ASAEKAL0ASEDIAEhAgsgACADNgIEIAAgBjYCACAAIAQpA7gBNwMIIAAgBToAJCAAIAI2AiAgACAELwG0ATsAJSAAQRBqIARBwAFqKQMANwMAIABBGGogBEHIAWopAwA3AwAgAEEnaiAEQbYBai0AADoAAAwOCyAEKAL0ASEBIABBCTYCACAAIAE2AgQMDQsgAhDnDSIDRQRAIAEoAtgCIQEgBEEAOgDwASABIAEgBEHwAWoQ/RQhASAAQQk2AgAgACABNgIEDAwLIAMoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBSABKAIsIQEgAEEJ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yAggAiABNgLgASACQcACaiABEL0qIAIoAsQCIQggAigCwAIiBUETRwRAIAJBmAFqIAJByAJqQSgQ/AYaIAJB4AFqEKAmDAwLIABBADYCACAAIAg2AgQgAkHgAWoQoCYMCgsgAiAROgD8ASACIBI6APsBIAJBAToA+gEgAiATOgD5ASACIBQ6APgBIAIgFToA9wEgAiAWOgD2ASACIBc6APUBIAIgGDoA9AEgAiAZOgDzASACIBo6APIBIAIgGzoA8QEgAiAcOgDwASACIB06AO8BIAIgHjoA7gEgAiAfOgDtASACICA6AOwBIAIgIToA6wEgAiAiOgDqASACICM6AOkBIAIgJDoA6AEgAiAlOgDnASACICY6AOYBIAIgJzoA5QEgAiAoOgDkASACICk6AOMBIAIgKjoA4gEgAiArOgDhASACICw6AOABIAlBFWogA0EVaikAADcAACAJQRBqIANBEGopAQA3AQAgCUEIaiADQQhqKQEANwEAIAkgAykBADcBACALIAJB4AFqEMgIIAIgATYCwAIgAkGEAmogARCBASACKAKIAiEHIAIoAoQCIghFDQYgAkGgAmoiDSAQQQhqKAIANgIAIAIgECkCADcDmAIgAkHAAmoQoCYgAigChAEEQEEwQQgQoSAiBSAHNgIIIAUgCDYCBCAFQQg2AgAgBSACKQOYAjcCDCAFQRRqIA0oAgA2AgAgASgCfCACQYQBaiAFEN0SBSACQYQBahCSKCAPIAIpA5gCNwIAIA9BCGogDSgCADYCACACIAc2AogBIAIgCDYChAELDAALAAsgAEEANgIAIAAgCjYCBAwLCyABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBCABIAEoAiwQhgwMCQsgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQQgASABKAIsEIYMDAoLQd3r4ABBKEGAnuAAEO4XAAsgAygCBCEBIAMoAgBBBEEEEKEgIgYgAzYCACACIAY2AuwBIAJBMDYC9AEgAkGwnuAANgLwASACIAU2AugBIAIgCTYC5AEgAkG4AToA4AEgASACQeABahD9FCEBIABBADYCACAAIAE2AgQgAkHQAGoQoCYgAkHAAmoQoCYMCQsgAEEANgIAIAAgBzYCBCACQcACahCgJgwCC0Hd6+AAQShBkJ7gABDuFwALQd3r4ABBKEGg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B0YNBCATIBRBMBD8BhogAyAENgJ0IAMgDjYCcCADQSBqIANB8ABqEPYZIAoQoCYgCRDnDSIERQ0DIAQoAgBBEEcNAyANIAUpAgA3AgAgASgCKCEEIAFBJTYCKCABIAEpA0A3A3ggDUEIaiAFQQhqKQIANwIAIA1BEGogBUEQaigCADYCACADIAQ2AqgBIA8QwwoMAQsLIAEoAtgCIQQgA0EAOgCoASADIAQgBCADQagBahD9FDYCMCADQQE2AiwgA0EsahCOJAsgASgCeCEEIAEoAnwhCCADQfYAOgCoASABIAggBCAIIAxGGyAEIAQgEEYbIAggA0GoAWoQ0BkLIAINAiAJEOcNIgINAQwCCyADQSxqEKAmIANBIGoQ8iZBASEFDAILAkACQCACKAIAQQ5rDgICAAELIAEoAighAiABQSU2AiggASABKQNANwN4IANBtAFqIAVBCGopAgA3AgAgA0G8AWogBUEQaigCADYCACADIAUpAgA3AqwBIAMgAjYCqAEgA0GoAWoQwwoMAQsgCRCyIQ0AIANBCGogCRCzFCADKAIMIQIgAygCCCEEIANB9QA6AKgBIAEgBCACIANBqAFqENAZIAMgARCTBiADIAMoAgQ2AqwBIAMgAygCACIENgKoASADQawBaiECAkAgBEUEQCACELQpDAELIAIQlCMLIANBqAFqQQRyIQIDQCAJEOcNIgRFDQECQAJAIAQoAgBBDmsOAgMAAQsgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0G0AWogBUEIaikCADcCACADQbwBaiAFQRBqKAIANgIAIAMgBSkCADcCrAEgAyACNgKoASADQagBahDDCgwCCyAJELIhDQEgAiAFKQIANwIAIAEoAighBCABQSU2AiggASABKQNANwN4IAJBCGogBUEIaikCADcCACACQRBqIAVBEGooAgA2AgAgAyAENgKoASADQagBahDDCiAJEOcNIgRFDQAgBCgCAEEkRw0ACwsgASgCfCEBIANBugFqQgA3AQAgA0IANwK0ASADQoCAgICAATcCqAFBACEFIANBADYCsAFBHEEEEKEgIgQgCzoAGSAEQQA6ABggBEEANgIUIAQgByABIAEgB0kbNgIQIAQgByABIAEgB0sbNgIMIARBCGogA0EoaigCADYCACAEIAMpAiA3AgAgA0GoAWoQ8iYLIAAgBDYCBCAAIAU2AgAgA0HQBGokAAuLFgErfyMAQdAEayIDJAAgAUEoaiIHELogIQggA0G8AWogAUHUAmopAgA3AgAgA0HEAWogAUHcAmooAgA2AgAgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIAMgASkCzAI3ArQBIAMgBDYCsAECQAJAAkACQAJAAkACQAJAIARBAkcNACADLQC4AUECRw0AIAMtALkBQRFrIgtB/wFxQQJLDQAgA0GwAWoQwgogCCABKAKcAyIJIAggCUsbIQwgAkUgAS0AoAJBAkdyDQYCQAJAIAcQzQ0iBEUNACAEKAIAQQJHDQAgBC0ACEECRw0AIAQtAAlBHkYNAQsCQCAHEM0NIgRFDQAgBCgCAEECRw0AIAQtAAgNACAELQAJQQRGDQELIANBADsBIAwGCyADQbABaiABEKMDIANBAToANCADIAMpANsDNwA1IAMgAykA4wM3AD0gAyADKQDrAzcARSADIAMoAPMDNgBNIANB2AFqIgQgA0E0ahDQCAJAAkAgBBDNDSIFRQ0AIAUoAgBBAkcNACAFLQAIDQAgBS0ACUEERg0BCwJAIAQQzQ0iBUUNACAFKAIAQQJHDQAgBS0ACEECRw0AIAUtAAlBHkYNAwsgA0EAOgAhDAMLDAELQd3r4ABBKEGwoOAAEO4XAAsgA0HkAGogA0GEBGopAgA3AgAgA0HsAGogA0GMBGooAgA2AgAgAygC+AMhBSADQSU2AvgDIAMgAykC/AM3AlwgAyAFNgJYIAMgAykDkAQ3A8gEIANB2ABqEMIKIANBGGogA0GwAWoQuAYgAygCHCEFAkAgAygCGEUEQCADIAU2AlggA0HYAGoQ2iggBBDNDSIFBEAgBSgCAEEKRg0CCyADQeAAaiAEEJIQIANBgOXfADYCXCADQTQ6AFggA0HIBGogA0GQBGogAygC+ANBJUYiBhsoAgAiBSADQcwEaiADQZQEaiAGGygCACIGIAUgBkkbIAUgBiAFIAZLGyADQdgAahD9FCEFIAQQzQ0iBEUNBCAEKAIAQSRHDQQgAyADKQOQBDcDyAQgAygC+AMgA0ElNgL4A0EkRw0DIANBsAFqIAMoAvwDEP8LDAQLDAMLIANB5ABqIANBhARqKQIANwIAIANB7ABqIANBjARqKAIANgIAIAMoAvgDIQQgA0ElNgL4AyADIAMpAvwDNwJcIAMgBDYCWCADIAMpA5AENwPIBCADQdgAahDCCiADQQE6ACELQQAhBSADQQA6ACAgA0GwAWoiBhDeECADLQAhQQFxRQ0CIANBkAE6ALABIAEgDCAMIAYQvhkgASgCnAMhASADQcIBakIANwEAIANCADcCvAEgA0KAgICAgAE3ArABIANBADYCuAFBHEEEEKEgIgQgCzoAGSAEQQA6ABggBEEANgIUIAQgCCABIAEgCEkbNgIQIAQgCCABIAEgCEsbNgIMIARBADYCCCAEQoCAgICAATcCACAGEPImIANBIGoQvCMMBAtB3evgAEEoQcCg4AAQ7hcACyADQQE6ACAgAyAFNgIkIANBsAFqEN4QCyADQSBqELwjCyABQcwCaiEFIAggCSAIIAlJGyEQQQEgC0EHcXYgAnEhESADQQA2AjAgA0KAgICAgAE3AiggAUGqAmohCSADQbABakEEciENIANBgAFqIRIgA0G4AWohEyADQThqIQYCQAJAAkACQAJAA0AgAS0AsAIhBCABLQC6AiEOIAEtALkCIQ8gAS0AuAIhFCABLQC3AiEVIAEtALYCIRYgAS0AtQIhFyABLQC0AiEYIAEtALMCIRkgAS0AsgIhGiABLQCxAiEbIAEtAK8CIRwgAS0ArgIhHSABLQCtAiEeIAEtAKwCIR8gAS0AqwIhICABLQCqAiEhIAEtALsCISIgAS0AvAIhIyABLQC9AiEkIAEtAL4CISUgAS0AvwIhJiABLQDAAiEnIAEtAMECISggAS0AwgIhKSABLQDDAiEqIAEtAMQCISsgAS0AxQIhLCABLQDGAiEtIAcQzQ0iCgRAIAooAgBBD0YNAgsgBxDNDSIKBEAgA0EANgI0IAMgCjYCOCADQTRqIgoQuSMgAyAtOgB0IAMgLDoAcyADICs6AHIgAyAqOgBxIAMgKToAcCADICg6AG8gAyAnOgBuIAMgJjoAbSADICU6AGwgAyAkOgBrIAMgIzoAaiADICI6AGkgAyAOOgBoIAMgDzoAZyADIBQ6AGYgAyAVOgBlIAMgFjoAZCADIBc6AGMgAyAYOgBiIAMgGToAYSADIBo6AGAgAyAbOgBfIAMgBEEBIBEbOgBeIAMgHDoAXSADIB06AFwgAyAeOgBbIAMgHzoAWiADICA6AFkgAyAhOgBYIAZBFWogCUEVaikAADcAACAGQRBqIAlBEGopAQA3AQAgBkEIaiAJQQhqKQEANwEAIAYgCSkBADcBACAHIANB2ABqENAIIAMgATYCNCADQbABaiIPIAEgAiALEMECIAMoArQBIQQgAygCsAEiDkEHRg0EIBIgE0EwEPwGGiADIAQ2AnwgAyAONgJ4IANBKGogA0H4AGoQ9hkgChCEJSAHEM0NIgRFDQMgBCgCAEEQRw0DIA0gBSkCADcCACABKALIAiEEIAFBJTYCyAIgASABKQPgAjcDmAMgDUEIaiAFQQhqKQIANwIAIA1BEGogBUEQaigCADYCACADIAQ2ArABIA8QwgoMAQsLIAEoAoACIQQgA0EAOgCwASADIAQgBCADQbABahD9FDYCOCADQQE2AjQgA0E0ahC5IwsgASgCmAMhBCABKAKcAyEJIANB9gA6ALABIAEgCSAEIAkgDEYbIAQgBCAQRhsgCSADQbABahC+GQsgAg0CIAcQzQ0iAg0BDAILIANBNGoQhCUgA0EoahDyJkEBIQUMAgsCQAJAIAIoAgBBDmsOAgIAAQsgASgCyAIhAiABQSU2AsgCIAEgASkD4AI3A5gDIANBvAFqIAVBCGopAgA3AgAgA0HEAWogBUEQaigCADYCACADIAUpAgA3ArQBIAMgAjYCsAEgA0GwAWoQwgoMAQsgBxCAIQ0AIANBEGogBxCAFCADKAIUIQIgAygCECEEIANB9QA6ALABIAEgBCACIANBsAFqEL4ZIANBCGogARCQBiADIAMoAgw2ArQBIAMgAygCCCIENgKwASADQbQBaiECAkAgBEUEQCACENooDAELIAIQ9iILIANBsAFqQQRyIQIDQCAHEM0NIgRFDQECQAJAIAQoAgBBDmsOAgMAAQsgASgCyAIhAiABQSU2AsgCIAEgASkD4AI3A5gDIANBvAFqIAVBCGopAgA3AgAgA0HEAWogBUEQaigCADYCACADIAUpAgA3ArQBIAMgAjYCsAEgA0GwAWoQwgoMAgsgBxCAIQ0BIAIgBSkCADcCACABKALIAiEEIAFBJTYCyAIgASABKQPgAjcDmAMgAkEIaiAFQQhqKQIANwIAIAJBEGogBUEQaigCADYCACADIAQ2ArABIANBsAFqEMIKIAcQzQ0iBEUNACAEKAIAQSRHDQALCyABKAKcAyEBIANBwgFqQgA3AQAgA0IANwK8ASADQoCAgICAATcCsAFBACEFIANBADYCuAFBHEEEEKEgIgQgCzoAGSAEQQA6ABggBEEANgIUIAQgCCABIAEgCEkbNgIQIAQgCCABIAEgCEsbNgIMIARBCGogA0EwaigCADYCACAEIAMpAig3AgAgA0GwAWoQ8iYLIAAgBDYCBCAAIAU2AgAgA0HQBGokAAvbFQIOfwF+IwBBMGsiByQAIAVBAnQhBgNAIAYgCUYEQCACQQA2AgggAiADKAIUIgwgAygCECIOayIGQQAgBiAMTRsiBkEBaiIINgIYAkACQAJAAkAgASgCGCILNQLIAiAIrX4iFEIgiKcNACAUpyIIIAEoAgRBA3RBgICAASABKAIAG0sNACACQQxqIRAgAigCFCIGIAhBBXYgCEEfcUEAR2oiCE8EfyACIAg2AhQgCAUgBgtBAnQhCSACKAIQIQYDQCAJBEAgBkEANgIAIAlBBGshCSAGQQRqIQYMAQUCQCACKAIUIgogCEkEQCAIIAprIgYgECgCACAKa0sEQCAQIAogBkEEQQQQpBcgAigCFCEKCyACKAIQIApBAnRqIQlBAUEBIAYgBkEBTRsiCGshBgNAIAlBADYCACAGBEAgBkEBaiEGIAlBBGohCQwBCwsgAiAIIApqNgIUCwJAIAwgDk8EQCADKAIAQQFrDgIGAgELIABBADYCAAwHCyALKAKoAiIKIAsoAqwCRg0FQdCQxAAgAUEIaiABLQAUQQNGGyIGKAIAQQhqIREgBigCBCEPIAMoAgwhASADKAIIIQMgBi0ADEECRiESIA4hDQNAAkACQCAMIA1PBEAgEg0CIAdBJGogESAPKAIIQQFrQXhxaiADIAEgDSAMIA8oAiARCAAgBygCJA0BCyAAQQA2AgAMCQsgBygCKCENCyAHIA02AiwgByAKNgIoIAdBADYCJCACIAdBJGoQ6BUDQAJAAkAgAigCCCIGRQ0AIAIgBkEBayIGNgIIIAIoAgQgBkEMbGoiCCgCCCEGIAgoAgQhCQJAIAgoAgAOAwACAQILIAcgBjYCIANAIBAgCSAGIA5rEJIRRQ0DAkACQAJAAkACQAJAAkACQAJAIAsgCRDyHSIIKAIAQQFrDggEBQAGAQIMBwMLIAgoAgQhCSAHKAIgIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCCgCCGhBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgBg0cDBgLIAEgBkcNGwwXCyALLQDYAiADIAEgBhDZGEUNGgwWCyALLQDYAiADIAEgBhCcGEUNGQwVCyADIAEgBhC9EkUNGAwUCyADIAEgBhCaE0UNFwwTCyADIAEgBhDXEEUNFgwSCyADIAEgBhDDKEUNFQwRCyADIAEgBhCpBEH9AXFFDRQMEAsgAyABIAYQvQJB/QFxRQ0TDA8LIAMgASAGEIoORQ0SDA4LIAMgASAGEJsPRQ0RDA0LIAMgASAGEKoEQf0BcUUNEAwMCyADIAEgBhCVBEH9AXFFDQ8MCwsgAyABIAYQ6hVFDQ4MCgsgASAGTQ0JIAMgBmotAABBnJnEAGotAAANDQwJCyADIAEgBhDpA0H9AXFFDQwMCAsgAyABIAYQtwVB/QFxRQ0LDAcLIAgoAgQhCSAIKAIIIQYgByAHKAIgNgIsIAcgBjYCKCAHQQA2AiQgAiAHQSRqEOgVDAYLIAgoAgQhCSAIKAIQIgYgBU8NBSAEIAUgBhD2HiEIIAcgBjYCKCAHIAgoAgA2AiwgB0EBNgIkIAIgB0EkahDoFSAHKAIgIQggBCAFIAZB4L7DABD1HiAIQQFqNgIADAULIAcoAiAiBiAMTyABIAZNcg0IIAMgBmotAAAiCSAILQAISQ0IIAgtAAkgCUkNCCAHIAZBAWo2AiAgCCgCBCEJDAQLIAcoAiAiBiAMTw0HIAdBEGogCCgCBCAIKAIIIAMgASAGEIsOIAcoAhBBAUcNByAHKAIUIQkgByAGQQFqNgIgDAMLIAcoAiAiBiAMTw0GIAdBGGogCCgCBCAIKAIIIAMgASAGEJ0TIAcoAhhBAUcNBiAHKAIcIQkgByAHKAIgQQFqNgIgDAILIAgoAggiE0UNBSAIKAIEIgYoAgAhCSAHIAYgE0ECdGo2AiggByAGQQRqNgIkIAcgB0EgajYCLCACIAdBJGoQxwwMAQsgCCgCBCEBIAAgBygCIDYCCCAAIAE2AgQgAEEBNgIADAwLIAcoAiAhBgwACwALIA1BAWohDQwCCyAEIAUgCUHAvsMAEPUeIAY2AgAMAAsACwALCwsgAygCBCIBIAsoAtQCTwRAIABBADYCAAwECyALKALQAiABQQJ0aigCACEKDAILIAdBAjoAJCAHIAY2AiggB0EkahD3HiEBIABBAjYCACAAIAE2AgQMAgsgCygCqAIhCgsgByAONgIsIAcgCjYCKCAHQQA2AiQgAiAHQSRqEOgVIAMoAgwhASADKAIIIQMDQAJAAkAgAigCCCIGRQ0AIAIgBkEBayIGNgIIIAIoAgQgBkEMbGoiCCgCCCEGIAgoAgQhCQJAIAgoAgAOAwACAQILIAcgBjYCIANAIBAgCSAGIA5rEJIRRQ0DAkACQAJAAkACQAJAAkACQAJAIAsgCRDyHSIIKAIAQQFrDggEBQAGAQIMBwMLIAgoAgQhCSAHKAIgIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCCgCCGhBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgBg0cDBgLIAEgBkcNGwwXCyALLQDYAiADIAEgBhDZGEUNGgwWCyALLQDYAiADIAEgBhCcGEUNGQwVCyADIAEgBhC9EkUNGAwUCyADIAEgBhCaE0UNFwwTCyADIAEgBhDXEEUNFgwSCyADIAEgBhDDKEUNFQwRCyADIAEgBhCpBEH9AXFFDRQMEAsgAyABIAYQvQJB/QFxRQ0TDA8LIAMgASAGEIoORQ0SDA4LIAMgASAGEJsPRQ0RDA0LIAMgASAGEKoEQf0BcUUNEAwMCyADIAEgBhCVBEH9AXFFDQ8MCwsgAyABIAYQ6hVFDQ4MCgsgASAGTQ0JIAMgBmotAABBnJnEAGotAAANDQwJCyADIAEgBhDpA0H9AXFFDQwMCAsgAyABIAYQtwVB/QFxRQ0LDAcLIAgoAgQhCSAIKAIIIQYgByAHKAIgNgIsIAcgBjYCKCAHQQA2AiQgAiAHQSRqEOgVDAYLIAgoAgQhCSAIKAIQIgYgBU8NBSAEIAUgBhD2HiEIIAcgBjYCKCAHIAgoAgA2AiwgB0EBNgIkIAIgB0EkahDoFSAHKAIgIQggBCAFIAZB4L7DABD1HiAIQQFqNgIADAULIAcoAiAiBiAMTyABIAZNcg0IIAMgBmotAAAiCSAILQAISQ0IIAgtAAkgCUkNCCAHIAZBAWo2AiAgCCgCBCEJDAQLIAcoAiAiBiAMTw0HIAcgCCgCBCAIKAIIIAMgASAGEIsOIAcoAgBBAUcNByAHKAIEIQkgByAGQQFqNgIgDAMLIAcoAiAiBiAMTw0GIAdBCGogCCgCBCAIKAIIIAMgASAGEJ0TIAcoAghBAUcNBiAHKAIMIQkgByAHKAIgQQFqNgIgDAILIAgoAggiEUUNBSAIKAIEIgYoAgAhCSAHIAYgEUECdGo2AiggByAGQQRqNgIkIAcgB0EgajYCLCACIAdBJGoQxwwMAQsgCCgCBCENIAcoAiAhCkEBIQ8MAgsgBygCICEGDAALAAsgACAKNgIIIAAgDTYCBCAAIA82AgAMAgsgBCAFIAlBwL7DABD1HiAGNgIADAALAAsgB0EwaiQABSAEIAlqQQA2AgAgCUEEaiEJDAELCwvvFgENfyMAQaAGayIEJAACQCACQQFxRQRAIARBjAFqEJcPDAELIARBjAFqIANByABqQYACEPwGGgsgBEGMA2ogAygCCCICEJQLIAMoAjQhBSAEQfgFaiADKAI4IghBAEEEQQQQlQogBCgC/AUhBgJAAkACQCAEKAL4BUEBRwRAIAQoAoAGIAUgCEECdBD8BiEJIAMoAjwiBwR/IAcgBygCACIFQQFqNgIAIAVBAEgNAiADKAJEIQsgAygCQCEMIAMoAggFIAILIQUgAy0A4AIhDSAELQCLAyEKIARBxANqIARBjAFqQYACEPwGIQ4gBEHUBWpCADcCACAEQgA3AswFIAQgDToA3AUgBCALNgK8AyAEIAw2ArgDIAQgBzYCtAMgBCACNgKwAyAEIAg2AqwDIAQgCTYCqAMgBCAGNgKkAyAEQQA2AqADIARCgICAgMAANwKYAyAEIApBAWo2AsADIAQgAykCyAI3AsQFIAMoAgQhAiAEQQA2AugFIAQgAjYC4AUgBCAFNgLsBSAEIAIgBUEUbGo2AuQFIARBtANqIQ0gBEGkA2ohDyAEKAKUAyELIAQoApADIQIDQCAEQYABaiAEQeAFahCTEyAEKAKEASIGRQRAIAIgC0ECdGohCQNAIAIgCUYEQCAEIAQoApADIgEgBCgClAMiAiADKALQAkGMqcAAEK8fKAIANgLMBSAEIAEgAiADKALUAkGcqcAAEK8fKAIANgLQBSAEIAEgAiADKALYAkGsqcAAEK8fKAIANgLUBSAEIAEgAiADKALcAkG8qcAAEK8fKAIANgLYBSAEKAKgAyICIAQoApgDSQRAIARBmANqIAIQ3w8LIAQoAqwDIgIgBCgCpANJBEAgDyACEN8PCyAAIARBmANqQcgCEPwGGiAEKAKMAyABENkpDAcLIAIoAgAhBSACQQRqIgEhAiAFQQFGDQAgBEEoaiAFIAQoApwDIAQoAqADQcypwAAQ5RsCQAJAAkACQAJAAkACQAJAIAQoAiwiBQRAIAQoApQDIQcgBCgCkAMhCAJAAkACQCAEKAIoIgItAAAiBkH+AWsOAgECAAsgBUEBRg0DIAIoAgQiCiAHTw0EIAIgCCAKQQJ0aigCADYCBCAEQRBqIAZBAnYgBkEDcUEAR2pBAmogAiAFQZClwAAQ5RsgBEEIaiAGIAQoAhAgBCgCFEGgpcAAEJ8eIAQoAgxBAnQhBSAEKAIIIQIDQCAFRQ0LIAcgAigCACIGSwRAIAIgCCAGQQJ0aigCADYCACAFQQRrIQUgAkEEaiECDAELCyAGIAdBsKXAABCtEAALIAVBAUYNBCACKAIEIgYgB08NBSACIAggBkECdGooAgA2AgQgBUECRg0GIAcgAigCCCIFSwRAIAIgCCAFQQJ0aigCADYCCAwKCyAFIAdB8KXAABCtEAALIAVBAUYNBiACKAIEIgYgB08NByAEKALAAyEKIAIgCCAGQQJ0aigCADYCBCAEQSBqQQIgAiAFQaCmwAAQ5RsgBEEYaiAKIAQoAiAgBCgCJEGwpsAAEJ8eIAQoAhxBAnQhBSAEKAIYIQIDQCAFRQ0JIAcgAigCACIGSwRAIAIgCCAGQQJ0aigCADYCACAFQQRrIQUgAkEEaiECDAELCyAGIAdBwKbAABCtEAALQQBBAEGY/8MAEK0QAAtBAUEBQfCkwAAQrRAACyAKIAdBgKXAABCtEAALQQFBAUHApcAAEK0QAAsgBiAHQdClwAAQrRAAC0ECQQJB4KXAABCtEAALQQFBAUGApsAAEK0QAAsgBiAHQZCmwAAQrRAACyABIQIMAAsACwJAAkACQAJAIAQoAoABIgdBAUcEQCAGKAIQIQggBEH4BWogBCgCoAMQ2hwgBCgC+AUNCCAEKAL8BSEKIARB+ABqIAMgBxCcICAEIAQpA3g3ApgGQQAhBQNAIARB+AVqIARBmAZqEIEPIAQtAPgFQQFGBEAgBUEBaiEFDAELCyABIAhLIAVB/wBLcg0CAkAgBUEBRgRAQQEhBSAGKAIIRQ0BCyAEQZgDaiIJIAUQohsgCSAGKAIMEKIbQQAhBSAEQQA2ApQGIARB8ABqIAMgBxCcICAEIAQpA3A3ApgGA0AgBEH4BWogBEGYBmoQgQ8gBC0A+AVFBEAgBUUNBkEEIAUgBUEETRshCCAEIAVqQZMGai0AACEJA0AgBSAIRgRAIARBmANqIAQoApQGEKIbDAgFIARBlAZqIAVqIAk6AAAgBUEBaiEFDAELAAsACyAEQZQGaiAFaiAOIAQtAPkFai0AADoAACAFQQFqIgVBBEcNACAEQZgDaiAEKAKUBhCiG0EAIQUgBEEANgKUBgwACwALIARB4ABqIAMgBxCcICAEIAQpA2A3ApgGIARB+AVqIARBmAZqEIEPIAQtAPgFRQ0BIAQoAPoFIQkgBEGYA2oiBSAOIAQtAPkFai0AAEEIdEH+AXIQohsgBSAGKAIMEKIbIAUgCRCiGwwECyACIAtBAUHsqcAAEK8fQQE2AgAMBAtB8KfAABDaKQALIARBmANqIgVB/wEQohsgBSAGKAIMEKIbIAQoAqADIQwgBSAELQDDBUEBaiIIENMeIAggBCgCoAMiBWohCSAEKAKcAyIQIAVBAnRqIQUDQCAFQQE2AgAgBUEEaiEFIAhBAWsiCA0ACyAEIAk2AqADAkAgCSAMSwRAIARB2ABqIAMgBxCcICAEIAQpA1g3ApgGA0AgBEH4BWogBEGYBmoQgQ8gBC0A+AVBAUcNBCAJIAwgDiAELQD5BWotAABqIgVNDQIgECAFQQJ0aiAEKAD6BTYCAAwACwALIARBADYCiAYgBEEBNgL8BSAEQdSowAA2AvgFIARCBDcCgAYgBEH4BWpB3KjAABC6HQALIAUgCUHsqMAAEK0QAAsgBEHoAGogAyAHEJwgIAQgBCkDaDcCmAYDQCAEQfgFaiAEQZgGahCBDyAELQD4BUEBRw0BIARBmANqIAQoAPoFEKIbDAALAAsCQCAGKAIIRQ0AIARB0ABqIAMgBxCdICAEIAQpA1A3AvgFQX8hBQNAIAVBAWohBSAEQcgAaiAEQfgFaiIGELMRIAQoAkhBAUYNAAsCQAJAIAVBAUYEQCAEQThqIAMgBxCdICAEIAQpAzg3AvgFIARBMGogBhCzESAEKAIwQQFxRQ0BIAQgBCgCNCIFQYCAgIB4cSIINgLwBSAIRQRAIARBmANqIAVBgICAgHhyEKIbDAQLIARBADYC+AUjAEEQayIAJAAgACAEQfAFajYCDCAAQYyN4AA2AghBACAAQQhqQcj4wwAgAEEMakHI+MMAIARB+AVqQZCowAAQ+AYACyAEIAVBgICAgHhxIgY2AvQFIAZFDQEgBEEANgL4BUEAQYyN4AAgBEH0BWogBEH4BWpBoKjAABDOGgALQYCowAAQ2ikACyAEQZgDaiAFEKIbIARBQGsgAyAHEJ0gIAQoAkQhBSAEKAJAIQYDQAJAIAUEfyAGKAIsIgggBU0NASAGKAIoIAVBA3RqIgUoAgAhCCAFKAIEIQVBAQVBAAtFDQIgBCgCoAMiCSAEKAKYA0YEQCAEQZgDakEBENMeCyAEKAKcAyAJQQJ0aiAINgIAIAQgCUEBajYCoAMMAQsLIAUgCEHIgMQAEK0QAAsgAiALIAdB3KnAABCvHyAKNgIADAALAAsgBiAEKAKABhDcKQsACyAAIAQpA4AGNwMYIABC/v///wc3AxAgACAKNgIMIABBADYCCCAAQYCAgIB4NgIAIAQoApgDIAQoApwDENkpIAQoAqQDIAQoAqgDENkpAkAgBCgCtAMiAEUNACAAIAAoAgAiAEEBazYCACAAQQFHDQAgDRC3DgsgBCgCjAMgBCgCkAMQ2SkLIARBoAZqJAAL2hUBC38jAEGACGsiAiQAIAFBKGoiBBDVICEFAkACQCABLQD5AiABLQD4AiIDIANBAkYbQQFxRQ0AIAQQ5w0iA0UEQCABKALYAiEBIAJBADoAuAQgASABIAJBuARqEP0UIQNBASEEDAILAkACQAJAAkACQCADKAIAQSBrDgUCAwEBAAELIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRgRAIAEoAiwhA0EBIQQMBgtB3evgAEEoQdCH4AAQ7hcACyAEEOcNIgMNAgwDCyACQegAaiABEIoSIAICfyACKQNoUEUEQCACQdgEaiACQfgAaikDADcDACACQdAEaiACQfAAaikDADcDACACIAIpA2g3A8gEIAJBBjYCwARBGwwBCyACIAIoAnA2ArwEQTILNgK4BCACQcgAaiACQbgEahCOGCACKAJMIQMgAigCSCEEDAMLIAJBuARqIgMgARCcCyACQdAAaiADEPgaIAIoAlQhAyACKAJQIQQMAgsgAygCAEEURw0AIAMtAARBBEcNACAEENsSIgMEQCADKAIAQQhGDQELIAJBuARqIgMgARCcCyACQUBrIAMQ+BogAigCRCEDIAIoAkAhBAwBCwJAAkACQAJAIAQQ5w0iA0UNACADKAIAQQJHDQAgAy0ACEECRw0AIAMtAAlBGEYNAQsCQCAEEOcNIgNFDQAgAygCAEECRw0AIAMtAAhBAkcNACADLQAJQRxGDQILIAJBKGogARCgASACKAIsIQcgAigCKEUNAkEBIQQgByEDDAMLIAEoAighAyABQSU2AiggASABKQNANwN4IAJBxARqIAFBNGopAgA3AgAgAkHMBGogAUE8aigCADYCACACIAEpAiw3ArwEIAIgAzYCuAQgAkG4BGoQwwogAkEDOgBkIAIgBSABKAJ8IgMgAyAFSRs2AmAgAiAFIAMgAyAFSxs2AlwgAkE4aiABIAJB3ABqQQBBABA6IAIoAjwhAyACKAI4IQQMAgsgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkHEBGogAUE0aikCADcCACACQcwEaiABQTxqKAIANgIAIAIgASkCLDcCvAQgAiADNgK4BCACQbgEahDDCiACQTBqIAEgBUEAEKEEIAIoAjQhAyACKAIwIQQMAQsCQCAHKAIAIgNBHkYNAAJAAkACQAJAAkACfwJ/AkACQAJAAkACQAJAAkAgAS0A+AJBAkYEfwJAAkACQCAEEOcNIgNFDQAgAygCAEEURw0AIAMtAARBBEYNAQsgBBDnDSIDRQ0BIAMoAgBBFEcNASADLQAEQQhHDQELIAEtAPgCQQJHDQAgAS0AggMhCCACQegAaiIDIAEQ0QIgAkEBOgCTBCACIAEpAIMDNwCUBCACIAEpAIsDNwCcBCACIAEpAJMDNwCkBCACIAEoAJsDNgCsBCACQegBaiACQZMEahDICCACQSBqIAMQ8AEgAigCJCEDAkAgAigCICIJDQAgAkGQAWoQ5w0iCgRAIAooAgBBCUYNAQsgAxDXKEEAIQMLIAIgAzYCtAQgAiAJNgKwBCAJQQEgAxsEQCAJQQFxBEAgAkGwBGoQlCALIAJB6ABqEIYQDAELIAJBuARqIgYgAkHoAGpBqAMQ/AYaIAEQhhAgASAGQagDEPwGIQYgAiAIOgDgByACIAYpAIMDNwDhByACIAYpAIsDNwDpByACIAYpAJMDNwDxByACIAYoAJsDNgD5ByABQYABaiACQeAHahDICCADIQYLIAcoAgAFIAMLQRhGBEAgBygCBEGAgICAeEYNAQsgBBDnDSIDBEAgAygCAEEJRg0DCyAGBEAgBBDnDSIDRQ0CIAMoAgBBCUcNAiABKAIoIQMgAUElNgIoIAEgASkDQDcDeCACQcQEaiABQTRqKQIANwIAIAJBzARqIAFBPGooAgA2AgAgAiABKQIsNwK8BCACIAM2ArgEIAJBuARqEMMKCyAGENUoDA4LIAJBgAFqIAdBBGoiA0EYaikCADcDACACQfgAaiADQRBqKQIANwMAIAJB8ABqIgUgA0EIaikCADcDACACIAMpAgA3A2gCfwJAIAYEQCAEEOcNIgNFDQEgAygCAEEJRw0BIAEoAighAyABQSU2AiggASABKQNANwN4IAJBxARqIAFBNGopAgA3AgAgAkHMBGogAUE8aigCADYCACACIAEpAiw3ArwEIAIgAzYCuAQgAkG4BGoQwwoLIAJBwARqIAUpAwA3AwAgAiACKQN4NwPIBCACIAIoAoABNgLQBCACIAIpA2g3A7gEIAIgBjYC1AQgAkG4BGoQ5xEhA0EADAELIAJBwARqIAQQ6wsgAiAEELMUIAJBqOXfADYCvAQgAkE0OgC4BCACKAIAIAIoAgQgAkG4BGoQ/RQhAwJAIAQQ5w0iBEUNACAEKAIAQSRHDQAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASABKAIsEIYMCyACQfQAahC0KSACQegAahCKJUEBCyEEIAIoAoQBENUoIARFDQJBACEFQQEMBwsgAkHABGogBBDrCyACQQhqIAQQsxQgAkGo5d8ANgK8BCACQTQ6ALgEIAIoAgggAigCDCACQbgEahD9FCEDIAQQ5w0iBUUNBEEBIAUoAgBBJEcNBRogASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDAQLIAICfyAHQba14ABBBhCJHyIJRQRAIAchBEEFDAELIAJBGGogBxCOAyACKAIcIQggAigCGCEEQQALOgDoByACIAg2AuQHIAIgBDYC4AcgAkG4BGogASAJEOwBIAIoArwEIQMgAigCuAQiC0GAgICAeEcEQCACKALABCEMIAlFBEAgBBCDISgCAEEwRg0ICyACQfwAaiACQegHaigCADYCACACIAIpAuAHNwJ0IAJBADYCiAEgAiAGNgKMASACIAw2AnAgAiADNgJsIAIgCzYCaCACIAUgASgCfCIDIAMgBUkbNgKEASACIAUgAyADIAVLGzYCgAEgAkIANwLQBCACQQM6AMwEIAJBADYCyAQgAkIANwLABCACQgA3AtgEIAJCgICAgMAANwK4BCACQegAahDRGyEEIAJBuARqEIskDAgLIAkNAyACQeAHahC0KUEAIQVBASEEQQAMBQsgBygCAEEYRg0JDAgLQd3r4ABBKEHgh+AAEO4XAAtB3evgAEEoQfCH4AAQ7hcAC0EBCyEEQQEhBUEBCyAGENUoRQ0GIAcoAgBBGEcNAyAFDQIMBAsgASgCfCEKEPoiIQggAkIANwLIBCACIAg2AsQEIAJCADcC0AQgAkEANgLABCACQoCAgIDAADcCuARBKEEIEKEgIgggBjYCICAIQQA2AhwgCCAFIAogBSAKSxsiBjYCGCAIIAUgCiAFIApJGyIFNgIUIAggBDYCECAIIAw2AgwgCCADNgIIIAggCzYCBCAIQQM2AgAgAkEAOgB0IAIgBjYCcCACIAU2AmwgAiAINgJoIAJB6ABqEK4YIQQgAkG4BGoQjSQLIAJBBToAwAQgAiAENgK4BCACQRBqIAEgAkG4BGpBAEEAEDogAigCFCEDIAIoAhAhBCAJRQ0EIAcoAgBBGEcNAQsgB0EEahCMJAwBCyAHEN4ECyAHEIkrDAELQQAhBCAHIQMLIAAgAzYCBCAAIAQ2AgAgAkGACGokAAuCFgELfyMAQfAHayICJAAgAUEoaiIEELogIQUCQAJAIAEtAKECIAEtAKACIgMgA0ECRhtBAXFFDQAgBBDNDSIDRQRAIAEoAoACIQEgAkEAOgCwBCABIAEgAkGwBGoQ/RQhA0EBIQQMAgsCQAJAAkACQAJAIAMoAgBBIGsOBQIDAQEAAQsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRgRAIAEoAswCIQNBASEEDAYLQd3r4ABBKEHQh+AAEO4XAAsgBBDNDSIDDQIMAwsgAkHoAGogARDmESACAn8gAikDaFBFBEAgAkHQBGogAkH4AGopAwA3AwAgAkHIBGogAkHwAGopAwA3AwAgAiACKQNoNwPABCACQQY2ArgEQRsMAQsgAiACKAJwNgK0BEEyCzYCsAQgAkHIAGogAkGwBGoQjhggAigCTCEDIAIoAkghBAwDCyACQbAEaiIDIAEQpQsgAkHQAGogAxD4GiACKAJUIQMgAigCUCEEDAILIAMoAgBBFEcNACADLQAEQQRHDQAgBBCnEyIDBEAgAygCAEEIRg0BCyACQbAEaiIDIAEQpQsgAkFAayADEPgaIAIoAkQhAyACKAJAIQQMAQsCQAJAAkACQCAEEM0NIgNFDQAgAygCAEECRw0AIAMtAAhBAkcNACADLQAJQRhGDQELAkAgBBDNDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAgAy0ACUEcRg0CCyACQShqIAEQoQEgAigCLCEHIAIoAihFDQJBASEEIAchAwwDCyABKALIAiEDIAFBJTYCyAIgASABKQPgAjcDmAMgAkG8BGogAUHUAmopAgA3AgAgAkHEBGogAUHcAmooAgA2AgAgAiABKQLMAjcCtAQgAiADNgKwBCACQbAEahDCCiACQQM6AGQgAiAFIAEoApwDIgMgAyAFSRs2AmAgAiAFIAMgAyAFSxs2AlwgAkE4aiABIAJB3ABqQQBBABA7IAIoAjwhAyACKAI4IQQMAgsgASgCyAIhAyABQSU2AsgCIAEgASkD4AI3A5gDIAJBvARqIAFB1AJqKQIANwIAIAJBxARqIAFB3AJqKAIANgIAIAIgASkCzAI3ArQEIAIgAzYCsAQgAkGwBGoQwgogAkEwaiABIAVBABCfBCACKAI0IQMgAigCMCEEDAELAkAgBygCACIDQR5GDQACQAJAAkACQAJAAn8CfwJAAkACQAJAAkACQAJAIAEtAKACQQJGBH8CQAJAAkAgBBDNDSIDRQ0AIAMoAgBBFEcNACADLQAEQQRGDQELIAQQzQ0iA0UNASADKAIAQRRHDQEgAy0ABEEIRw0BCyABLQCgAkECRw0AIAEtAKoCIQggAkHoAGoiAyABEKMDIAJBAToAiwQgAiABKQCrAjcAjAQgAiABKQCzAjcAlAQgAiABKQC7AjcAnAQgAiABKADDAjYApAQgAkGQAWoiCSACQYsEahDQCCACQSBqIAMQ7wEgAigCJCEDAkAgAigCICIKDQAgCRDNDSIJBEAgCSgCAEEJRg0BCyADENcoQQAhAwsgAiADNgKsBCACIAo2AqgEIApBASADGwRAIApBAXEEQCACQagEahCGIAsgAkHoAGoQ3hAMAQsgAkGwBGoiBiACQegAakGgAxD8BhogARDeECABIAZBoAMQ/AYhBiACIAg6ANAHIAIgBikAqwI3ANEHIAIgBikAswI3ANkHIAIgBikAuwI3AOEHIAIgBigAwwI2AOkHIAQgAkHQB2oQ0AggAyEGCyAHKAIABSADC0EYRgRAIAcoAgRBgICAgHhGDQELIAQQzQ0iAwRAIAMoAgBBCUYNAwsgBgRAIAQQzQ0iA0UNAiADKAIAQQlHDQIgASgCyAIhAyABQSU2AsgCIAEgASkD4AI3A5gDIAJBvARqIAFB1AJqKQIANwIAIAJBxARqIAFB3AJqKAIANgIAIAIgASkCzAI3ArQEIAIgAzYCsAQgAkGwBGoQwgoLIAYQ1SgMDgsgAkGAAWogB0EEaiIDQRhqKQIANwMAIAJB+ABqIANBEGopAgA3AwAgAkHwAGoiBSADQQhqKQIANwMAIAIgAykCADcDaAJ/AkAgBgRAIAQQzQ0iA0UNASADKAIAQQlHDQEgASgCyAIhAyABQSU2AsgCIAEgASkD4AI3A5gDIAJBvARqIAFB1AJqKQIANwIAIAJBxARqIAFB3AJqKAIANgIAIAIgASkCzAI3ArQEIAIgAzYCsAQgAkGwBGoQwgoLIAJBuARqIAUpAwA3AwAgAiACKQN4NwPABCACIAIoAoABNgLIBCACIAIpA2g3A7AEIAIgBjYCzAQgAkGwBGoQ5xEhA0EADAELIAJBuARqIAQQkhAgAiAEEIAUIAJBqOXfADYCtAQgAkE0OgCwBCACKAIAIAIoAgQgAkGwBGoQ/RQhAwJAIAQQzQ0iBEUNACAEKAIAQSRHDQAgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0FIAEgASgCzAIQ/wsLIAJB9ABqENooIAJB6ABqEIolQQELIQQgAigChAEQ1SggBEUNAkEAIQVBAQwHCyACQbgEaiAEEJIQIAJBCGogBBCAFCACQajl3wA2ArQEIAJBNDoAsAQgAigCCCACKAIMIAJBsARqEP0UIQMgBBDNDSIFRQ0EQQEgBSgCAEEkRw0FGiABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQMgASABKALMAhD/CwwECyACAn8gB0G2teAAQQYQiR8iCkUEQCAHIQRBBQwBCyACQRhqIAcQjQMgAigCHCEIIAIoAhghBEEACzoA2AcgAiAINgLUByACIAQ2AtAHIAJBsARqIAEgChDtASACKAK0BCEDIAIoArAEIgtBgICAgHhHBEAgAigCuAQhDCAKRQRAIAQQgyEoAgBBMEYNCAsgAkH8AGogAkHYB2ooAgA2AgAgAiACKQLQBzcCdCACQQA2AogBIAIgBjYCjAEgAiAMNgJwIAIgAzYCbCACIAs2AmggAiAFIAEoApwDIgMgAyAFSRs2AoQBIAIgBSADIAMgBUsbNgKAASACQgA3AsgEIAJBAzoAxAQgAkEANgLABCACQgA3ArgEIAJCADcC0AQgAkKAgICAwAA3ArAEIAJB6ABqENEbIQQgAkGwBGoQvSMMCAsgCg0DIAJB0AdqENooQQAhBUEBIQRBAAwFCyAHKAIAQRhGDQkMCAtB3evgAEEoQeCH4AAQ7hcAC0Hd6+AAQShB8IfgABDuFwALQQELIQRBASEFQQELIAYQ1ShFDQYgBygCAEEYRw0DIAUNAgwECyABKAKcAyEJEPoiIQggAkIANwLABCACIAg2ArwEIAJCADcCyAQgAkEANgK4BCACQoCAgIDAADcCsARBKEEIEKEgIgggBjYCICAIQQA2AhwgCCAFIAkgBSAJSxsiBjYCGCAIIAUgCSAFIAlJGyIFNgIUIAggBDYCECAIIAw2AgwgCCADNgIIIAggCzYCBCAIQQM2AgAgAkEAOgB0IAIgBjYCcCACIAU2AmwgAiAINgJoIAJB6ABqEK4YIQQgAkGwBGoQwCMLIAJBBToAuAQgAiAENgKwBCACQRBqIAEgAkGwBGpBAEEAEDsgAigCFCEDIAIoAhAhBCAKRQ0EIAcoAgBBGEcNAQsgB0EEahC+IwwBCyAHEN0ECyAHEIkrDAELQQAhBCAHIQMLIAAgAzYCBCAAIAQ2AgAgAkHwB2okAAvBFAEHfyMAQcABayICJAAgAUEoaiIEENUgIQYCQAJAAkAgAS0A+AIiA0ECRyIFDQAgAyABLQD5AiAFG0EBcQ0AIAQQ5w0iA0UNACADKAIAQRRHDQAgAy0ABEEERw0AIAEoAighAyABQSU2AiggASABKQNANwN4IAJBhAFqIAFBNGopAgA3AgAgAkGMAWogAUE8aigCADYCACACIAEpAiw3AnwgAiADNgJ4IAFBLGohBSACQfgAahDDCgJAAkACQAJAIAQQ5w0iA0UNACADKAIAQQJHDQAgAy0ACEECRw0AIAMtAAlBE0YNAQsCQCABLQD4AkECRw0AIAEtAP0CQQFxRQ0AIAEoAnwhAyACQbkBOgB4IAEgBiADIAMgBksbIAYgAyADIAZJGyACQfgAahDQGQsgAkH4AGoiByABENgVIAJB4ABqIAIoAngQlAIgAigCZCEDIAICfwJAIAIoAmBFBEAgAiADNgK8ASAHEKAmAkACQAJAAkAgBBDnDSIHRQ0AIAcoAgBBFEcNACAHLQAEQQZGDQELIAJBgAFqIAQQ6wsgAkHQAGogBBCzFCACQbjh3wA2AnwgAkE0OgB4IAIoAlAgAigCVCACQfgAahD9FCEDIAQQ5w0iBEUNASAEKAIAQSRHDQEgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQcgASABKAIsEIYMDAELIAEoAighBCABQSU2AiggASABKQNANwN4IAJBhAFqIAVBCGopAgA3AgAgAkGMAWogBUEQaigCADYCACACIAUpAgA3AnwgAiAENgJ4IAJB+ABqEMMKIAJB2ABqIAEQigEgAigCXCEEIAIoAlhFDQEgBCEDCyACQbwBahC9BQwCCyAERQ0BIAIgBiABKAJ8IgEgASAGSRs2AogBIAIgBiABIAEgBksbNgKEASACIAM2AoABIAIgBDYCfEEpDAILIAJB+ABqEKAmCyACIAM2AnxBMgs2AnggAkHIAGogAkH4AGoQjhggAigCTCEDIAIoAkghBQwFCyABKAIoIQMgAUElNgIoIAEgASkDQDcDeCACQYQBaiAFQQhqKQIANwIAIAJBjAFqIAVBEGooAgA2AgAgAiAFKQIANwJ8IAIgAzYCeCACQfgAahDDCgJAAkAgBBDnDSIDRQ0AIAMoAgBBFEcNACADLQAEQQZGDQELIAJBgAFqIAQQ6wsgAkHoAGogBBCzFCACQbjh3wA2AnwgAkE0OgB4IAIoAmggAigCbCACQfgAahD9FCEDQQEhBSAEEOcNIgRFDQUgBCgCAEEkRw0FIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0CIAEgASgCLBCGDAwFCyABKAIoIQMgAUElNgIoIAEgASkDQDcDeCACQYQBaiAFQQhqKQIANwIAIAJBjAFqIAVBEGooAgA2AgAgAiAFKQIANwJ8IAIgAzYCeCACQfgAaiIEEMMKIAJB8ABqIAEQigFBASEFIAIoAnQhAyACKAJwDQQgAiADNgJ4IAIgBiABKAJ8IgEgASAGSRs2AoABIAIgBiABIAEgBksbNgJ8IAQQrBghAwwDC0Hd6+AAQShByO3fABDuFwALQd3r4ABBKEHEhuAAEO4XAAsCQAJAAkACQCAEEOcNIgMEQCADKAIAQRhGDQELIAQQ5w0iAwRAIAMoAgBBGUYNAQsCQAJAAkACQAJAAkAgBBDnDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAgAy0ACUEiRg0BCwJAIAQQ5w0iA0UNACADKAIAQQJHDQAgAy0ACEECRw0AIAMtAAlBIUYNAQsCQCAEEOcNIgNFDQAgAygCAEECRw0AIAMtAAhBAkcNACADLQAJQSBGDQELAkAgBBDnDSIDRQ0AIAMoAgBBFEcNACADLQAEQQtGDQELAkAgBBDnDSIDRQ0AIAMoAgBBFEcNACADLQAEQQxGDQELIAQQ5w0iAwRAIAMoAgBBGkYNAQsgBBDnDSIDBEAgAygCAEEIRg0BCwJAIAQQ5w0iA0UNACADKAIAQQJHDQAgAy0ACEECRw0AIAMtAAlFDQILIAJBEGogARCIASACKAIUIQMgAigCECIFDQpBACEFIAMoAgBBHkYNCiAEELIhDQoCQCAEEOcNIgYEQCAGKAIAQRhGDQELIAQQ5w0iBEUNCyAEKAIAQRlHDQsLIAEgA0EAELEJIAJBhAFqIAFBNGopAgA3AgAgAkGMAWogAUE8aigCADYCACABKAIoIQQgAUElNgIoIAEgASkDQDcDeCACIAEpAiw3AnwgAiAENgJ4IAJB+ABqIgZB2IbgABD/AyEEIAYQwwogAkEIaiADEI8DIAJBADoAhQEgAiAEQQFzOgCEASACIAM2AoABIAIgAigCCCIDIAEoAnwiASABIANJGzYCfCACIAMgASABIANLGzYCeCAGEK0YIQMMCgsgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkGEAWogAUE0aikCADcCACACQYwBaiABQTxqKAIANgIAIAIgASkCLDcCfCACIAM2AnhBAiEFIANBAkYNAyADQQhGDQYgA0EURg0BIANBGkYNAgwHCyACQRhqIAFBACACEJMDIAIoAhwhAyACKAIYIQUMCAtBASEFIAItAHxBC2sOAgQDBQtBAyEFDAMLIAItAIABQQJHDQMgAi0AgQEiA0Ega0H/AXFBAksNAyADQRxrIQVBBCADQQdxdiEHDAILIAEoAighAyABQSU2AiggASABKQNANwN4IAJBhAFqIAFBNGopAgA3AgAgAkGMAWogAUE8aigCADYCACACIAEpAiw3AnwgAiADNgJ4IAJB+ABqIghB2IbgABD/AyEHIAgQwwogAkFAayABEIoBIAIoAkQhAyACKAJAIgUNBCACQThqIAMQjwMgAigCPCEEQQAhBSABIANBABCxCSACIAYgBCAEIAZJGzYCfCACIAYgBCAEIAZLGzYCeCACIAM2AoABIAJBAToAhQEgAiAHQQFzOgCEASAIEK0YIQMMBAtBACEFCyACQfgAahDDCiAEENUgIQQgAkEwaiABEIoBIAIoAjQhAyACKAIwBEAgASADEIYMIARBAWsiAyADEJ0cIQMLAkAgB0EBcUUNACADKAIAQRpGBEAgAygCFCEEIAMoAhAhCCACQYcBOgB4IAEgCCAEIAJB+ABqEM4eCyABLQD4AkECRiAHcUUNACADENEhIgQoAgAiB0EURg0AIAdBMEYEQCAEKAIEKAIAQQNHDQELIAJBKGogBBCPAyACKAIsIQQgAigCKCEHIAJBsgE6AHggASAHIAQgAkH4AGoQ0BkLIAJBIGogAxCPAyACKAIkIQEgAiAFOgCIASACIAM2AnwgAkEQNgJ4IAIgBiABIAEgBkkbNgKEASACIAYgASABIAZLGzYCgAEgAkH4AGoQ2CghAwwBC0Hd6+AAQShB8IbgABDuFwALQQAhBQsgACADNgIEIAAgBTYCACACQcABaiQAC/QUAQd/IwBBwAFrIgIkACABQShqIgQQuiAhBgJAAkACQCABLQCgAiIDQQJHIgUNACADIAEtAKECIAUbQQFxDQAgBBDNDSIDRQ0AIAMoAgBBFEcNACADLQAEQQRHDQAgASgCyAIhAyABQSU2AsgCIAEgASkD4AI3A5gDIAJBhAFqIAFB1AJqKQIANwIAIAJBjAFqIAFB3AJqKAIANgIAIAIgASkCzAI3AnwgAiADNgJ4IAFBzAJqIQUgAkH4AGoQwgoCQAJAAkACQCAEEM0NIgNFDQAgAygCAEECRw0AIAMtAAhBAkcNACADLQAJQRNGDQELAkAgAS0AoAJBAkcNACABLQClAkEBcUUNACABKAKcAyEDIAJBuQE6AHggASAGIAMgAyAGSxsgBiADIAMgBkkbIAJB+ABqEL4ZCyACQfgAaiIHIAEQyxUgAkHgAGogAigCeBCWAiACKAJkIQMgAgJ/AkAgAigCYEUEQCACIAM2ArwBIAcQhCUCQAJAAkACQCAEEM0NIgdFDQAgBygCAEEURw0AIActAARBBkYNAQsgAkGAAWogBBCSECACQdAAaiAEEIAUIAJBuOHfADYCfCACQTQ6AHggAigCUCACKAJUIAJB+ABqEP0UIQMgBBDNDSIERQ0BIAQoAgBBJEcNASABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQcgASABKALMAhD/CwwBCyABKALIAiEEIAFBJTYCyAIgASABKQPgAjcDmAMgAkGEAWogBUEIaikCADcCACACQYwBaiAFQRBqKAIANgIAIAIgBSkCADcCfCACIAQ2AnggAkH4AGoQwgogAkHYAGogARCLASACKAJcIQQgAigCWEUNASAEIQMLIAJBvAFqELwFDAILIARFDQEgAiAGIAEoApwDIgEgASAGSRs2AogBIAIgBiABIAEgBksbNgKEASACIAM2AoABIAIgBDYCfEEpDAILIAJB+ABqEIQlCyACIAM2AnxBMgs2AnggAkHIAGogAkH4AGoQjhggAigCTCEDIAIoAkghBQwFCyABKALIAiEDIAFBJTYCyAIgASABKQPgAjcDmAMgAkGEAWogBUEIaikCADcCACACQYwBaiAFQRBqKAIANgIAIAIgBSkCADcCfCACIAM2AnggAkH4AGoQwgoCQAJAIAQQzQ0iA0UNACADKAIAQRRHDQAgAy0ABEEGRg0BCyACQYABaiAEEJIQIAJB6ABqIAQQgBQgAkG44d8ANgJ8IAJBNDoAeCACKAJoIAIoAmwgAkH4AGoQ/RQhA0EBIQUgBBDNDSIERQ0FIAQoAgBBJEcNBSABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQIgASABKALMAhD/CwwFCyABKALIAiEDIAFBJTYCyAIgASABKQPgAjcDmAMgAkGEAWogBUEIaikCADcCACACQYwBaiAFQRBqKAIANgIAIAIgBSkCADcCfCACIAM2AnggAkH4AGoiBBDCCiACQfAAaiABEIsBQQEhBSACKAJ0IQMgAigCcA0EIAIgAzYCeCACIAYgASgCnAMiASABIAZJGzYCgAEgAiAGIAEgASAGSxs2AnwgBBCsGCEDDAMLQd3r4ABBKEHI7d8AEO4XAAtB3evgAEEoQcSG4AAQ7hcACwJAAkACQAJAIAQQzQ0iAwRAIAMoAgBBGEYNAQsgBBDNDSIDBEAgAygCAEEZRg0BCwJAAkACQAJAAkACQCAEEM0NIgNFDQAgAygCAEECRw0AIAMtAAhBAkcNACADLQAJQSJGDQELAkAgBBDNDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAgAy0ACUEhRg0BCwJAIAQQzQ0iA0UNACADKAIAQQJHDQAgAy0ACEECRw0AIAMtAAlBIEYNAQsCQCAEEM0NIgNFDQAgAygCAEEURw0AIAMtAARBC0YNAQsCQCAEEM0NIgNFDQAgAygCAEEURw0AIAMtAARBDEYNAQsgBBDNDSIDBEAgAygCAEEaRg0BCyAEEM0NIgMEQCADKAIAQQhGDQELAkAgBBDNDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAgAy0ACUUNAgsgAkEQaiABEIkBIAIoAhQhAyACKAIQIgUNCkEAIQUgAygCAEEeRg0KIAQQgCENCgJAIAQQzQ0iBgRAIAYoAgBBGEYNAQsgBBDNDSIERQ0LIAQoAgBBGUcNCwsgASADQQAQrAkgAkGEAWogAUHUAmopAgA3AgAgAkGMAWogAUHcAmooAgA2AgAgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIAIgASkCzAI3AnwgAiAENgJ4IAJB+ABqIgZB2IbgABD+AyEEIAYQwgogAkEIaiADEIwDIAJBADoAhQEgAiAEQQFzOgCEASACIAM2AoABIAIgAigCCCIDIAEoApwDIgEgASADSRs2AnwgAiADIAEgASADSxs2AnggBhCtGCEDDAoLIAEoAsgCIQMgAUElNgLIAiABIAEpA+ACNwOYAyACQYQBaiABQdQCaikCADcCACACQYwBaiABQdwCaigCADYCACACIAEpAswCNwJ8IAIgAzYCeEECIQUgA0ECRg0DIANBCEYNBiADQRRGDQEgA0EaRg0CDAcLIAJBGGogAUEAIAIQkgMgAigCHCEDIAIoAhghBQwIC0EBIQUgAi0AfEELaw4CBAMFC0EDIQUMAwsgAi0AgAFBAkcNAyACLQCBASIDQSBrQf8BcUECSw0DIANBHGshBUEEIANBB3F2IQcMAgsgASgCyAIhAyABQSU2AsgCIAEgASkD4AI3A5gDIAJBhAFqIAFB1AJqKQIANwIAIAJBjAFqIAFB3AJqKAIANgIAIAIgASkCzAI3AnwgAiADNgJ4IAJB+ABqIghB2IbgABD+AyEHIAgQwgogAkFAayABEIsBIAIoAkQhAyACKAJAIgUNBCACQThqIAMQjAMgAigCPCEEQQAhBSABIANBABCsCSACIAYgBCAEIAZJGzYCfCACIAYgBCAEIAZLGzYCeCACIAM2AoABIAJBAToAhQEgAiAHQQFzOgCEASAIEK0YIQMMBAtBACEFCyACQfgAahDCCiAEELogIQQgAkEwaiABEIsBIAIoAjQhAyACKAIwBEAgASADEP8LIARBAWsiAyADEJ0cIQMLAkAgB0EBcUUNACADKAIAQRpGBEAgAygCFCEEIAMoAhAhByACQYcBOgB4IAEgByAEIAJB+ABqEMIeCyABLQCgAkECRw0AIAMQ0SEiBCgCACIHQRRGDQAgB0EwRgRAIAQoAgQoAgBBA0cNAQsgAkEoaiAEEIwDIAIoAiwhBCACKAIoIQcgAkGyAToAeCABIAcgBCACQfgAahC+GQsgAkEgaiADEIwDIAIoAiQhASACIAU6AIgBIAIgAzYCfCACQRA2AnggAiAGIAEgASAGSRs2AoQBIAIgBiABIAEgBksbNgKAASACQfgAahDYKCEDDAELQd3r4ABBKEHwhuAAEO4XAAtBACEFCyAAIAM2AgQgACAFNgIAIAJBwAFqJAALohMCG38BfiMAQdAAayICJAAgAkEANgIkQQEhBSACQQE2AhggAkGMmcAANgIUIAJCBDcCHAJAIAEoAhQiDyABKAIYIhAgAkEUahCtJA0AIABBNGohGCAALQC/AkEBaiEUIAAoAjxBH3EhESAAKAIUIRIgACgCECEVIAAoAgghFiAAKAIEIRkgASgCGCEDIAEoAhQhBCAAKALUAiEaIAAoAtACIRsgACgCNCEcIAAoAswCIRcDQCANIBxPBEAgAkECNgIYIAJBjKPAADYCFCACQgE3AiAgAkElNgI4IAIgAEHYAmo2AjQgAiACQTRqIgY2AhwgBCADIAJBFGoQrSQNAiACQQI2AhggAkGoo8AANgIUIAJCATcCICACQQ82AjggAiAAKAIoIgFBAEc6AAggAiAGNgIcIAIgAkEIaiIJNgI0IAQgAyACQRRqEK0kDQIgAkECNgIYIAJByJjDADYCFCACQgE3AiAgAkEQNgI4IAIgGDYCNCACIAY2AhwgBCADIAJBFGoQrSQNAiACQQI2AhggAkHomMMANgIUIAJCATcCICACQRA2AjggAiAAKAIgIgc2AgggAiAGNgIcIAIgCTYCNCAEIAMgAkEUahCtJA0CIAJBAjYCGCACQdSjwAA2AhQgAkIBNwIgIAJBEDYCOCACIABBwAJqNgI0IAIgBjYCHCAEIAMgAkEUahCtJA0CIAJBAjYCGCACQfyjwAA2AhQgAkIBNwIgIAJBEDYCOCACIABBxAJqNgI0IAIgBjYCHCAEIAMgAkEUahCtJA0CIAJBAjYCGCACQaCkwAA2AhQgAkIBNwIgIAJBEDYCOCACIABBOGo2AjQgAiAGNgIcIAQgAyACQRRqEK0kDQIgAkECNgIYIAJBnJnAADYCFCACQgE3AiAgAkEmNgI4IAJBASARdDYCCCACIAY2AhwgAiAJNgI0IAQgAyACQRRqEK0kDQIgAkECNgIYIAJBwKTAADYCFCACQgE3AiAgAkEnNgI4IAIgAEFAazYCNCACIAY2AhwgBCADIAJBFGoQrSQNAiACQeCkwAA2AhQgAkIBNwIgIAJBEDYCOCAAKAIwIQggAkECNgIYIAIgACgCJCASQQxsaiAHIBZqQQJ0aiAIQQAgARtqNgIIIAIgBjYCHCACIAk2AjQgBCADIAJBFGoQrSQNAiACQQA2AiQgAkEBNgIYIAJBmMPDADYCFCACQgQ3AhwgBCADIAJBFGoQrSQhBQwCCyANIBF0IQogDUEBRwRAAkAgCgRAIAogG0YgCiAaRnIhASAKIBdLBEAgAUUEQCACQQA2AiQgAkEBNgIYIAJBvJnDADYCFCACQgQ3AhwgBCADIAJBFGoQrSQNBgwDCyACQQA2AiQgAkEBNgIYIAJBiKvAADYCFCACQgQ3AhwgBCADIAJBFGoQrSQNBQwCCyABRQRAIAJBADYCJCACQQE2AhggAkHImcMANgIUIAJCBDcCHCAPIBAgAkEUahCtJA0FDAILIAJBADYCJCACQQE2AhggAkGUq8AANgIUIAJCBDcCHCAPIBAgAkEUahCtJA0EDAELIAJBADYCJCACQQE2AhggAkHUmcMANgIUIAJCBDcCHCAEIAMgAkEUahCtJA0DCyACQQk2AgwgAiAKNgIQIAJBATYCSCACQQI2AjggAkHYs9gANgI0IAJBATYCQCACIAJBEGo2AgggAkEDOgAwIAJBCDYCLCACQiA3AiQgAkKAgICA4AA3AhwgAkECNgIUIAIgAkEUajYCRCACIAJBCGo2AjwCQCAEIAMgAkE0ahCtJA0AIA1BAWohDUEAIQxBACEIQQAhE0EAIQEDQCABIBQgASAUSxshCSABQQh0IQcDQAJAAkACQAJAAkAgASAJRwRAIAFBAWohBSAZIBYgASAKakHAmcAAEK8fKAIAIQsgDkUEQCALrUIghiABQf8Bca0iHUIIhoQgHYQhHQwGCyAIIAtHBEBBASEOIAEhByAFIQkMAgsgBq1C/wGDIAdBgP4Dca0gCK1CIIaEhCEdDAULIA5BACEOIAYhASAMIQcgCCELRQ0BCyATDQEMAgsgAkEANgIkQQEhBSACQQE2AhggAkH0zd8ANgIUIAJCBDcCHCAEIAMgAkEUahCtJA0IIApBAWsgF08NByACQQA2AiQgAkEBNgIYIAJBuJnAADYCFCACQgQ3AhwgBCADIAJBFGoQrSQNCCAVIBIgCiARdkECayIIQfiCxAAQtB8oAgghDEEAIQdBACEBA0AgASAMRgRAIAJBADYCJCACQQE2AhggAkH0zd8ANgIUIAJCBDcCHCAEIAMgAkEUahCtJEUNCQwKCyABBEAgAkEANgIkIAJBATYCGCACQZjFwwA2AhQgAkIENwIcIAQgAyACQRRqEK0kDQoLIAEgFSASIAhB2ILEABC0HyILKAIIIglJBEAgCygCBCAHaigCACELIAJBATYCGCACQfz24AA2AhQgAkIBNwIgIAJBCTYCOCACIAs2AgggAUEBaiEBIAdBBGohByACIAJBNGo2AhwgAiACQQhqNgI0IAQgAyACQRRqEK0kDQoMAQsLIAEgCUHogsQAEK0QAAsgAkEANgIkQQEhBSACQQE2AhggAkGYxcMANgIUIAJCBDcCHCAEIAMgAkEUahCtJA0HCyATQQFqIRMgBkH/AXEgDEH/AXFHBEAgAiAGOgBPIAIgDDoAECACQQM2AjggAkHYxsMANgI0IAJCAzcCQCACQRA2AiggAkERNgIgIAJBETYCGCACIAg2AgggAiACQRRqNgI8IAIgAkEIajYCJCACIAJBEGo2AhwgAiACQc8AajYCFCABIQYgByEMIAshCCAJIQEgBCADIAJBNGoQrSQNBAwDCyACIAY6ABAgAkECNgIYIAJBpMXDADYCFCACQgI3AiAgAkEQNgJAIAJBETYCOCACIAg2AgggAiACQTRqNgIcIAIgAkEIajYCPCACIAJBEGo2AjQgASEGIAchDCALIQggCSEBIAQgAyACQRRqEK0kDQMMAgsgB0GAAmohByAdQiCIpyEIIB1CCIinIQwgHachBkEBIQ4gBSEBDAALAAsAC0EBIQUMAgsgAkEJNgIMIAIgCjYCECACQQE2AkhBAiENIAJBAjYCOCACQdCiwAA2AjQgAkEBNgJAIAIgAkEQajYCCCACQQM6ADAgAkEINgIsIAJCIDcCJCACQoCAgIDgADcCHCACQQI2AhQgAiACQRRqNgJEIAIgAkEIajYCPCAPIBAgAkE0ahCtJEUNAAsLIAJB0ABqJAAgBQu7kwEDJX8CfgF8IwBBoAJrIggkAAJAAkAgCAJ/AkACQAJAAkACQAJAAkACQAJAAkAgAUEoaiIMEOcNIgNFDQAgAygCAEECRw0AIAMtAAgNACADLQAJQQtGDQELAkAgDBDnDSIDRQ0AIAMoAgBBAkcNACADLQAIDQAgAy0ACUEKRg0CCyAMEOcNIgNFDQogAygCAEECRw0KIAMtAAgNCiADLQAJQQlHDQogDBDVICEDAkAgDBDnDSIERQ0AIAQoAgBBAkcNACAELQAIDQAgBC0ACUEJRg0DCyAIQegBaiAMEOsLIAhBMGogDBCzFCAIQdDl3wA2AuQBIAhBNDoA4AEgCCgCMCAIKAI0IAhB4AFqEP0UIQQgDBDnDSIDRQ0IIAMoAgBBJEcNCCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBiABIAEoAiwQhgwMCAsgDBDVICEDAkACQCAMEOcNIgRFDQAgBCgCAEECRw0AIAQtAAgNACAELQAJQQtGDQELIAhB6AFqIAwQ6wsgCEHIAGogDBCzFCAIQfDp3wA2AuQBIAhBNDoA4AEgCCgCSCAIKAJMIAhB4AFqEP0UIQQgDBDnDSIDRQ0IIAMoAgBBJEcNCCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAyABIAEoAiwQhgwMCAsgASgCKCEEIAFBJTYCKCABIAEpA0A3A3ggCEHsAWogAUE0aikCADcCACAIQfQBaiABQTxqKAIANgIAIAggASkCLDcC5AEgCCAENgLgASAIQeABahDDCgwGCyAMENUgIQMCQCAMEOcNIgRFDQAgBCgCAEECRw0AIAQtAAgNACAELQAJQQpGDQMLIAhB6AFqIAwQ6wsgCEFAayAMELMUIAhBmOrfADYC5AEgCEE0OgDgASAIKAJAIAgoAkQgCEHgAWoQ/RQhBCAMEOcNIgNFDQYgAygCAEEkRw0GIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0DIAEgASgCLBCGDAwGCyABKAIoIQQgAUElNgIoIAEgASkDQDcDeCAIQewBaiABQTRqKQIANwIAIAhB9AFqIAFBPGooAgA2AgAgCCABKQIsNwLkASAIIAQ2AuABIAhB4AFqEMMKQQIhDwwEC0Hd6+AAQShBiOrfABDuFwALIAEoAighBCABQSU2AiggASABKQNANwN4IAhB7AFqIAFBNGopAgA3AgAgCEH0AWogAUE8aigCADYCACAIIAEpAiw3AuQBIAggBDYC4AEgCEHgAWoQwwpBASEPDAILQd3r4ABBKEGw6t8AEO4XAAtB3evgAEEoQcDq3wAQ7hcACyAIQThqIAEQjQEgCCgCPCEEIAgoAjgNACAIQeMAaiAIQaoBai0AADoAACAIIA86AGAgCCAILwCoATsAYSAIIAMgASgCfCIBIAEgA0kbNgJcIAggAyABIAEgA0sbNgJYQQ4MAQtBFAs2AlAgCCAENgJUIAhBKGogCEHQAGoQkBggCCgCLCEDIAgoAighBAwBCwJAAkACQAJAAkACQAJAAkACQCAMEOcNIgNFDQAgAygCAEECRw0AIAMtAAgNACADLQAJQQ9GDQELQQEhBCAIQdAAaiABQfDm3wBBAUEAELICIAgoAlQhDyAIKAJQRQ0BIA8hAwwICyAMENUgIQcCQAJAAkACQCAMEOcNIgNFDQAgAygCAEECRw0AIAMtAAgNACADLQAJQQ9GDQELIAhB2ABqIAwQ6wsgCEEgaiAMELMUIAhBiOLfADYCVCAIQTQ6AFAgCCgCICAIKAIkIAhB0ABqEP0UIQMgDBDnDSIERQ0IIAQoAgBBJEYNAQwICyABKAIoIQMgAUElNgIoIAEgASkDQDcDeEEMIQ8gCEHcAGogAUE0aikCADcCACAIQeQAaiABQTxqKAIANgIAIAggASkCLDcCVCAIIAM2AlAgCEHQAGoiAxDDCiADIAEQ0wQgCCgCWCEDIAgpA1AiJ0IAUg0BDAcLIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0CIAEgASgCLBCGDAwGCyAIIAgoAlwiCjYC7AEgCCADNgLoASAIICc3A+ABAn8jAEGgB2siBiQAAkACQCABLQD4AkECRw0AIAEtAIIDIQsgBkEIaiABENECQQEhAiAGQQE6ALMDIAYgASkAgwM3ALQDIAYgASkAiwM3ALwDIAYgASkAkwM3AMQDIAYgASgAmwM2AMwDIAZBiAFqIAZBswNqEMgIAkACQAJAIAZBMGoiDBDnDSIERQ0AIAQoAgBBAkcNACAELQAIQQJHDQAgBC0ACUEaRg0BCyAGQeADaiAMEOsLIAZBsOLfADYC3AMgBkE0OgDYAyAGQYABaiAGQcgAaiAGKAIwQSVGIgkbKAIAIgQgBkGEAWogBkHMAGogCRsoAgAiCSAEIAlJGyAEIAkgBCAJSxsgBkHYA2oQ/RQhBCAMEOcNIgxFDQEgDCgCAEEkRw0BIAYgBikDSDcDgAEgBigCMCAGQSU2AjBBJEcNAyAGQQhqIAYoAjQQhgwMAQsgBkHkA2ogBkE8aikCADcCACAGQewDaiAGQcQAaigCADYCACAGKAIwIQQgBkElNgIwIAYgBikCNDcC3AMgBiAENgLYAyAGIAYpA0g3A4ABIAZB2ANqEMMKIAYgBkEIahDYASAGIAYoAgQiBDYC3AMgBiAGKAIAIgI2AtgDIAYtAKUDQQFxDQAgDBDnDSIMRQ0AIAwoAgBBF0cNACAGQdwDaiEEAkAgAkUEQCAEEL0FDAELIAQQlCMLQQAhBEEAIQILIAYgBDYC1AMgBiACNgLQAyACQQEgBBsEQCACQQFxBEAgBkHUA2oQlCMLIAZBCGoQhhAMAQsgBkHYA2oiBSAGQQhqQagDEPwGGiABEIYQIAEgBUGoAxD8BiEFIAYgCzoAgwcgBiAFKQCDAzcAhAcgBiAFKQCLAzcAjAcgBiAFKQCTAzcAlAcgBiAFKACbAzYAnAcgAUGAAWogBkGDB2oQyAggBCEFCyAGQaAHaiQAIAUMAQtB3evgAEEoQcji3wAQ7hcACyEEIAhBuAFqIAhB4AFqIgUQnBwgCEHXAWpBADYAACAIQQA2AtQBIAggBDYC0AEgCCAKNgK0ASAIIAM2ArABIAggByABKAJ8IgEgASAHSRs2AqwBIAggByABIAEgB0sbNgKoASAIQeQBaiAIQagBakE4EPwGGiAIQdAAakEEciAFQTwQ/AYaDAYLIAhBEGohGEEAIQMjAEHQDGsiAiQAIAFBKGoiBxDVICEEAkAgBxDnDSIFRQRAIAEoAtgCIQMgAkEAOgD4CCADIAMgAkH4CGoQ/RQhA0EBIQUMAQsCQAJAIAICfwJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCACIGQQlrDgwBIAIgGCAgIBcgIAYACwJAAkAgBkEbaw4KGCEYGCEhISEhAAELIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRg0hQd3r4ABBKEGA698AEO4XAAsgBkECRw0fQQQgBS0ACEECa0H/AXEiAyADQQRPG0EBaw4EBxYWBwYLIAcQ1SAhBQJAIAcQ5w0iAwRAIAMoAgBBCUYNAQsgAkGACWogBxDrCyACQYABaiAHELMUIAJBqOXfADYC/AggAkE0OgD4CCACKAKAASACKAKEASACQfgIahD9FCEDIAcQ5w0iBEUNHSAEKAIAQSRHDR0gASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDB0LIAEoAighAyABQSU2AiggASABKQNANwN4IAJBhAlqIAFBNGopAgA3AgAgAkGMCWogAUE8aigCADYCACACIAEpAiw3AvwIIAIgAzYC+AggAkH4CGoQwwogAkGQAWogARCUAiACKAKUASEDIAIoApABDRwgAiADNgKwBQJAIAcQ5w0iBARAIAQoAgBBCkYNAQsgAkGACWogBxDrCyACQYgBaiAHELMUIAJBgOXfADYC/AggAkE0OgD4CCACKAKIASACKAKMASACQfgIahD9FCEDIAcQ5w0iBEUNHCAEKAIAQSRHDRwgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQQgASABKAIsEIYMDBwLIAEoAighBiABQSU2AiggASABKQNANwN4IAJBhAlqIAFBLGoiBEEIaikCADcCACACQYwJaiAEQRBqKAIANgIAIAIgBCkCADcC/AggAiAGNgL4CCACQfgIahDDCiAFIAEoAnwiBiAFIAZJGyEEIAMNASAEIQMMHAsgBxDVICERAkACQCAHEOcNIgQEQCAEKAIAQQtGDQELIAJBgAlqIAcQ6wsgAkGgAWogBxCzFCACQfjl3wA2AvwIIAJBNDoA+AggAigCoAEgAigCpAEgAkH4CGoQ/RQhBSAHEOcNIgNFDRogAygCAEEkRw0aIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0BIAEgASgCLBCGDAwaCyABKAIoIQQgAUElNgIoIAEgASkDQDcDeCACQYQJaiABQTRqKQIANwIAIAJBjAlqIAFBPGooAgA2AgAgAiABKQIsNwL8CCACIAQ2AvgIIAJB+AhqIgQQwwogAkEANgLEBCACQoCAgICAATcCvAQgAUGAAWohHSABQSxqIQsgBEEEciEKIAJBkAVqIQ0gAkGACWohGSACQegCakEEciEeIAJB8AJqIR8gAkG1DGohGiACQY0JaiEbIAJBoAxqQQRyIRwgAkHcBWohDiACQdgFaiESIAJBsAZqISAgAkH0BWohISACQawGaiEiIAJB8AVqISMgAkGoBmohJANAAkAgAkH4CGogAUECENUIAkACQCACLQD4CA0AIAItAPkIQQFGBEAgAigCxAQhCSACKALABCEGDB0LIAcQ1SAaIAcQ1SAhBgJAIAEtAPgCQQJHBEAgAkEHNgKIBQwBCyABLQCCAyElIAJBsAVqIAEQ0QIgAkEBOgDbCCACIAEpAIMDNwDcCCACIAEpAIsDNwDkCCACIAEpAJMDNwDsCCACIAEoAJsDNgD0CCAgIAJB2whqEMgIQQAhBSASENUgIQQCQCASEOcNIglFDQAgCSgCAEEHRw0AIAogDikCADcCACAKQQhqIA5BCGopAgA3AgAgCkEQaiAOQRBqKAIANgIAIAIoAtgFIQUgAkElNgLYBSACIAU2AvgIIAIgAikD8AU3A6gGIAJB+AhqEMMKQQEhBSACKAKsBiEQIAIoAqgGIRQLIAJBwAxqIgkgAkGwBWoQ0wQgAkH4CGoiEyAJEI0fIAIoAvgIIQkCQAJAAkAgAi0AjAkiJkECRwRAIBwgCikCADcCACAaIBsvAAA7AAAgHEEIaiAKQQhqIhcpAgA3AgAgGkECaiAbQQJqLQAAOgAAIAIgJjoAtAwgAiAJNgKgDAJAIBIQ5w0iCUUNACAJKAIAQRdHDQAgCiAOKQIANwIAIBcgDkEIaikCADcCACAKQRBqIA5BEGooAgA2AgAgAigC2AUhCSACQSU2AtgFIAIgCTYC+AggAiACKQPwBTcDqAYgExDDCiACQQE6ALQMIAIgAigCqAwiCSACKAKsBiITIAkgE0kbNgKoDCACIAkgEyAJIBNLGzYCrAwLIAICfwJAAkACQCASEOcNIgkEQCAJKAIAQRNGDQELIBkgEhDrCyACQdjf3wA2AvwIIAJBNDoA+AggJCAjIAIoAtgFQSVGIgUbKAIAIgQgIiAhIAUbKAIAIgUgBCAFSRsgBCAFIAQgBUsbIAJB+AhqEP0UIQQgEhDnDSIFRQ0GIAUoAgBBJEYNAQwGCyAKIA4pAgA3AgAgFyAOQQhqKQIANwIAIApBEGogDkEQaigCADYCACACKALYBSEJIAJBJTYC2AUgAiAJNgL4CCACIAIpA/AFNwOoBiACQfgIaiIJEMMKIAVFDQEgAigCrAYhBSAZIAJBoAxqEOQYIAJBADYC+AggCRCJKSEJIAJBADYCgAMgAiAQNgL8AiACIBQ2AvgCIAIgBCAFIAQgBUsbNgL0AiACIAQgBSAEIAVJGzYC8AIgAiAJNgLsAkECDAILIAIgAikD8AU3A6gGIAIoAtgFIAJBJTYC2AVBJEcNAyACQbAFaiACKALcBRCGDAwECyAfIAJBoAxqEOQYQQALNgLoAiACQYgFaiACQegCakEoEPwGGiACQfgIaiIEIAJBsAVqQagDEPwGGiABEIYQIAEgBEGoAxD8BiEEIAIgJToAoAwgAiAEKQCDAzcAoQwgAiAEKQCLAzcAqQwgAiAEKQCTAzcAsQwgAiAEKACbAzYAuQwgHSACQaAMahDICAwECyACIAk2AuwCIAJBCDYC6AIMAgtB3evgAEEoQcDy3wAQ7hcACyACQQg2AugCIAIgBDYC7AIgAikDoAwQ8RoLIAJBBzYCiAUgHhCUIyACQbAFahCGEAsCQAJAAkACfwJAIAcQ5w0iBARAIAQoAgBBB0YNAQsgAkG4AWogARCUAiACKAK8ASEEIAIoArgBRQ0DIAQMAQsgCiALKQIANwIAIAEoAighBCABQSU2AiggASABKQNANwN4IApBCGogC0EIaikCADcCACAKQRBqIAtBEGooAgA2AgAgAiAENgL4CCACQfgIahDDCiACQcABaiABEJQCIAIoAsQBIRAgAigCwAFFDQEgEAshBSACQYgFahClJkEIIQkgAyEEDAILIAJB8ARqIA1BCGopAwA3AwAgAkH4BGogDUEQaikDADcDACACQYAFaiANQRhqKQMANwMAIAIgDSkDADcD6AQgASgCfCEDIAIoAowFIQUgAigCiAUhCUHYAEEIEKEgIgQgBiADIAMgBkkbIhU2AgwgBCAGIAMgAyAGSxsiFjYCCCAEIBA2AgQgBEEJNgIADAELAkAgBxDnDSIDBEAgAygCAEEXRg0BCyACQfAEaiANQQhqKQMANwMAIAJB+ARqIA1BEGopAwA3AwAgAkGABWogDUEYaikDADcDACACIA0pAwA3A+gEIAYgASgCfCIDIAMgBksbIRYgBiADIAMgBkkbIRUgAigCjAUhBSACKAKIBSEJDAELIAogCykCADcCACABKAIoIQMgAUElNgIoIAEgASkDQDcDeCAKQQhqIAtBCGopAgA3AgAgCkEQaiALQRBqKAIANgIAIAIgAzYC+AggAkH4CGoQwwogAkHwBGogDUEIaikDADcDACACQfgEaiANQRBqKQMANwMAIAJBgAVqIA1BGGopAwA3AwAgAiANKQMANwPoBCABKAJ8IRAgAigCiAUhCSACKAKMBSEFQdgAQQgQoSAiAyAGIBAgBiAQSxsiFTYCDCADIAYgECAGIBBJGyIWNgIIIAMgBDYCBCADQQg2AgAgAyEECyAJQQhGDRsgAkHgBGoiECACQYAFaikDADcDACACQdgEaiIUIAJB+ARqKQMANwMAIAJB0ARqIhcgAkHwBGopAwA3AwAgAiACKQPoBDcDyAQgAigCxAQiEyACKAK8BEYEQCACQbwEahCOFwsgAigCwAQiBiATQThsaiIDIAU2AgQgAyAJNgIAIAMgAikDyAQ3AgggAyAENgIwIAMgFTYCLCADIBY2AiggA0EQaiAXKQMANwIAIANBGGogFCkDADcCACADQSBqIBApAwA3AgAgAiATQQFqIgk2AsQEAkAgBxDnDSIDBEAgAygCAEEQRg0BCyACQfgIaiABQQIQ1QggAi0A+AgNASACLQD5CA0dIAcQ5w0iAwRAIAMoAgBBEEYNAwsgAkGACWogBxDrCyACQbABaiAHELMUIAJByMTgADYC/AggAkE0OgD4CCACKAKwASACKAK0ASACQfgIahD9FCEFIAcQ5w0iA0UNHCADKAIAQSRHDRwgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDBwLIAogCykCADcCACABKAIoIQMgAUElNgIoIAEgASkDQDcDeCAKQQhqIAtBCGopAgA3AgAgCkEQaiALQRBqKAIANgIAIAIgAzYC+AggAkH4CGoQwwogBCEDDAMLIAIoAvwIIQUMGgsgCiALKQIANwIAIAEoAighAyABQSU2AiggASABKQNANwN4IApBCGogC0EIaikCADcCACAKQRBqIAtBEGooAgA2AgAgAiADNgL4CCACQfgIahDDCiAEIQMMAQsLQd3r4ABBKEHI8d8AEO4XAAtB3evgAEEoQdDq3wAQ7hcACyACIAUgBiAFIAZLGzYChAkgAiAENgKACSACIAM2AvwIQQ0MGwtB3evgAEEoQdDv3wAQ7hcAC0Hd6+AAQShBwO/fABDuFwALIAUtAARBDEcNGSAHENUgIQQgAkGECWogAUE0aikCADcCACACQYwJaiABQTxqKAIANgIAIAEoAighAyABQSU2AiggASABKQNANwN4IAIgASkCLDcC/AggAiADNgL4CCACQfgIaiIFEMMKIAcQ5w0iA0UEQCABKALYAiEDIAJBADoA+AggAyADIAUQ/RQhA0EBIQUMHAsCQAJAAkACQCADKAIAIgNBHWtBAk8EQCADQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRGDSBB3evgAEEoQZDr3wAQ7hcACyACQYQJaiAHEOsLIAJBqAJqIAcQsxQgAkEhNgKACSACQaDr3wA2AvwIIAJBMDoA+AggAigCqAIgAigCrAIgAkH4CGoQ/RQhA0EBIQUgBxDnDSIERQ0gIAQoAgBBJEcNICABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNASABIAEoAiwQhgwMIAsgAkH4CGogARDGAiACKAL4CCIDQQdGDQsgAigCkAkhBiACKQOICSEnIAIoAoQJIQcgAigCgAkhCgJAAkACQCADQQNrDgIBAgALQd3r4ABBKEH0698AEO4XAAsgAjUClAkhKCACICc3A+ACIAJBsAVqIgNBkOPgAEEBEL4VAnwgBq0gKEIghoQiKFBFBEAgAiAoNwP4CCACQbACaiACQfgIahCWDCADIAIoArACIAIoArQCEO0dIAIpA/gIEPEaICe/DAELIAJBATYC/Agg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gAE3AtwBIAVBEHYhEkEHIQggDS0APiETIA0tADshFCANLQA6IRUgDS0APSEWIA0tADkhFyANLQA3IRggDS0AqwEhDyANLQCqASEQIA0tAKkBIREgDS0AqAEhBCANKQOgASEaIA0tADghGSAFQQh2DAELIA1B5AFqIANBCGooAgA2AgAgDSADKQIANwLcASANKAIwIgMgASgCnAMiASABIANLGyEJIAMgASABIANJGyEMQQAhByANLQA9IQ8gDS0AOSEQIA0pAqQBIRogDSgCoAEhAiANLQA4IREgBSEOIAshBiANLQA6IQUgDS0APgshASAAIAg2AgAgACANKQLYATcCBCAAIBg6AEsgACATOgBKIAAgFDoASSAAIBU6AEggACAWOgBHIAAgFzoARiAAIAM6AEUgACAZOgBEIAAgCzYCQCAAIBI7AT4gACABOgA9IAAgBToAPCAAIA86ADsgACAQOgA6IAAgEToAOSAAIAQ6ADggACAaNwMwIAAgAjYCLCAAIAY2AiggACAONgIkIAAgBzYCICAAIAw2AhwgACAJNgIYIAAgCjYCFCAAQQxqIA1B4AFqKQIANwIADAELIAAgAykCADcCMCAAQThqIANBCGooAgA2AgAgDUHkAWogDUGIAWopAwA3AgAgDUHsAWogDUGQAWopAwA3AgAgDUH0AWogDUGYAWopAwA3AgAgDSANKQOAATcC3AEgASgCnAMhASANKAIwIQIgDS0AOCEDIA0tADwhBCANLQA9IQYgDS0APiEHIA0tADchCCAAQQw2AgAgAEEEaiANQdgBakEkEPwGGiAAIAg6AEggACAHOgBHIAAgBjoARiAAIAQ6AEUgACADOgBEIAAgCzYCQCAAIAU2AjwgACACIAEgASACSRs2AiwgACACIAEgASACSxs2AigLIA1B3ABqEIQlCyANQYACaiQAC68TAgZ/AX4jAEHwAWsiAiQAAn8gAC0ADCIFIAEoAgAiA0EZRg0AGiAFIANBI0YNABogAEEAOgAMQQALIQQCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByADQQxrIgYgBkEmTxtBAWsOJAABHQIDBAUGBwgJCgsdHQwNDg8QHRESEx0dFBUWFxgZGhsdHB0LIAEoAgxBBHQh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ADcDACACIAUpAgA3A3ggBCACKAKEASIEIAIoAnwiA2tBAnZqIQUDQCADIARGRQRAIAAgAygCADYCACAAQQRqIQAgA0EEaiEDDAELCyACIAU2AuwBIAIgAzYCfCACQfgAahDcFyACKQLoASEIIAIoAuQBIQBBGQwDCyACQQA2AogBIAJBATYCfCACQYjK3wA2AnggAkIENwKAASACQfgAakGAy98AELodAAsgAkEANgKIASACQQE2AnwgAkGIyt8ANgJ4IAJCBDcCgAEgAkH4AGpB8MrfABC6HQALIAJB4AFqIgAgBjYCACACIAM2ArwBIAJBuAFqENwXIAVBCGogACgCADYCACAFIAIpAtgBNwIAIAJCADcDiAEgAkENNgJ4IAJB+ABqENgoIQQgAkHEAWpCADcCACACQcwBakIANwIAIAJCADcCvAEgAkGMAWogAkHAAWopAgA3AgAgAkGUAWogAkHIAWopAgA3AgAgAkGcAWogAkHQAWooAgA2AgAgAkEDNgKAASACQRs2AnggAiACKQK4ATcChAEgAkH4AGoQ2CitQiCGQgKEIQhBFAshAyABEOYCIAEgBDYCKCABQgA3AyAgAUIANwMQIAEgCDcDCCABIAA2AgQgASADNgIACyACQfABaiQADwsAC98TAhN/A34jAEHABGsiBCQAIARBLGogARDLFSAEQdAAaiIGIAQoAiwiBUE8aiIBEL8QIARBADoA4AIgBEEANgLkAyAEQeACaiIPIAYQqBgtAAAQsQ4gBEHYAWoiBiAPQYgBEPwGGiABELsgIAEgBkGIARD8BiETIAVBKGoiBxC6ICEQAkACQAJAAkACQAJAAkAgBxDNDSIBRQ0AIAEoAgBBFEcNACABLQAEQQRGDQELIAcQzQ0iAUUNASABKAIAQSFHDQELIAUoAsgCIQEgBUElNgLIAiAFIAUpA+ACNwOYAyAEQewCaiAFQdQCaikCADcCACAEQfQCaiAFQdwCaigCADYCACAEIAUpAswCNwLkAiAEIAE2AuACIARB4AJqIgEQwgogBEEANgL8AyAEQoCAgICAATcC9AMgBUHMAmohCiABQQRyIQtBCCEPA0ACQCAEQeACaiAFQQQQ0QgCQAJAIAQtAOACDQAgBC0A4QINBSAHELogGkEAIRQgBxC6ICERQQAhBkEAIQ0DQCAEQeACaiISIAVB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IAMoAlQhASADKAJQIQIMAQsgA0GIEmogA0HmAGovAQA7AQAgAyADKQFeNwOAEiADLQBdIQYgAy0AXCEEIAMoAlghBSADKAJUIQEgAygCUCECIANBmA9qEO8XCyACQQNGDQEgA0EDOgDhAwwCCyADLQCtBCEGIANBmA9qEO8XCyADIAQ6AOADIAMgBTYC3AMgAyABNgLYAyADIAMvAYASOwHiAyADIAY6AOEDIAZB/wFxQQNGDQAgACADKQLYAzcCBCAAQYaAgIB4NgIAIABBDGogA0HgA2ooAgA2AgAMAQsgA0HYA2oQ1SQgAEGHgICAeDYCAAsgA0GQEmokAAulEQEIfyMAQfAAayIDJAACQAJAAkACQAJAAkACQANAAkACQAJAAkACQCACKAIAQQFrDgcBBgACAwgEAAsgA0EBOgBUIANBADYCUCADQoCAgIAQNwJIIAAgA0HIAGoQ6RkMCwsgAigCBCEEIANBCGogAigCCCICQQFBARD5FCADKAIIIQYgAygCDCAEIAIQ/AYhBCADQQE6AFQgAyACNgJQIAMgBDYCTCADIAY2AkggA0EoaiICIANByABqEOkZIAEoAgggAS0AECACEPYgIABBCGogA0EwaigCADYCACAAIAMpAig3AgAMCgsgA0EcaiABIAIoAgwQlwEgAigCBCEGIAIoAhAiBEUEQCACLQAUAkAgBgRAIAIoAghBAUYNAQsgA0EcahDBFwtBACECIANBADYCUCADQoCAgIAQNwJIIANBAToAVCADQShqIANByABqEOkZQQFxDQUDQCACQQxGDQYgA0EcaiACaiIEKAIAIQYgBCADQShqIAJqIgQoAgA2AgAgBCAGNgIAIAJBBGohAgwACwALIAQgASgCBCIHIAQgB0kbIQUCQCAGRQ0AIAQgAigCCEcNACADQQE6AFQgA0EANgJQIANCgICAgBA3AkggA0E8aiADQcgAahDpGQNAAkAgBUUNACADQTxqIgYQ+A8NACADQTBqIANBxABqKAIANgIAIAMgAykCPDcDKCADQcgAaiICIANBHGoQyQkgBiABIANBKGogAhD2ASAFQQFrIQUgAhDOJAwBCwsgBCAHTQ0JIANBPGoQwRcMCQsgA0EBOgBUIANBADYCUCADQoCAgIAQNwJIIANBPGogA0HIAGoQ6RkDQCAFRQ0IIANBPGoiBBD4Dw0IIANBMGogA0HEAGooAgA2AgAgAyADKQI8NwMoIANByABqIgIgA0EcahDJCSAEIAEgA0EoaiACEPYBIAVBAWshBSACEM4kDAALAAsgAigCBCECDAELCyACKAIMQRxsIQUgAS0AECEIIAEoAgwhCiACKAIIIQdBBCEEQQAhAgNAIAVFIAJBgICAgHhGckUEQCADIAY2AjAgAyAENgIsIAMgAjYCKCADQcgAaiIJIAEgBxCXASADQTxqIAogCCADQShqIAkQhgYgBUEcayEFIAdBHGohByADKAI8IQIgAygCQCEEIAMoAkQhBiAJEM4kDAELCyAAIAY2AgggACAENgIEIAAgAjYCAAwGCyACKAIEDQIgAigCDCIEIAIoAhBBA3QiBWohCCABKAIAIQYgBCECAkADQCAFBEAgBiAHSQ0CIAVBCGshBSACKAIEIAIoAgBrIAdqQQFqIQcgAkEIaiECDAELCyAGIAdJDQAgA0EANgIkIANCgICAgMAANwIcA0AgBCAIRgRAIAEoAgggAS0AECADQRxqEPYgIABBCGogA0EkaigCADYCACAAIAMpAhw3AgAMCAUgBEEIaiAEKAIEIQcgBCgCACECQQAhBQJAA0AgBUEBcSACIAdLcg0BIANBADYCOCADQRBqIAIgA0E4ahDhCSADKAIUIQQgAygCECADQQA2AkQgA0KAgICAEDcCPCADQQM6AGggA0EgNgJYIANBADYCZCADQYy1xAA2AmAgA0EANgJQIANBADYCSCADIANBPGo2AlwgBCADQcgAahDxKkUEQCADQTBqIANBxABqKAIANgIAIAMgAykCPDcDKCADQQE6ADQgAkGAwAMgAkEBaiACQf+vA0YbIAIgB08iBRshAiADQRxqIANBKGoQiA8MAQsLQbi94ABBNyADQShqQaS1xABBvL7gABDGDgALIQQMAQsACwALIABBgICAgHg2AgAMBQsgA0HQAGogA0EkaigCADYCACADIAMpAhw3A0ggACABKAIMIAEtABAgA0HIAGogA0EoaiIAEIYGIAAQziQMBAsgAigCDCEEIAIoAgghBSABLQAQRQRAIANBAToAVCADQQA2AlAgA0KAgICAEDcCSCAEQRxsIQIgA0E8aiADQcgAahDpGQNAAkAgAkUNACADQTxqIgYQ+A8NACADQTBqIANBxABqKAIANgIAIAMgAykCPDcDKCADQcgAaiIEIAEgBRCXASAGIAEgA0EoaiAEEPYBIAJBHGshAiAFQRxqIQUgBBDOJAwBCwsgACADKQI8NwIAIABBCGogA0HEAGooAgA2AgAMBAsgA0EBOgBUIANBADYCUCADQoCAgIAQNwJIIARBHGwhAiAFQRxrIQQgA0E8aiADQcgAahDpGQNAAkAgAkUNACADQTxqIgUQ+A8NACADQTBqIANBxABqKAIANgIAIAMgAykCPDcDKCADQcgAaiIGIAEgAiAEahCXASAFIAEgA0EoaiAGEPYBIAJBHGshAiAGEM4kDAELCyAAIAMpAjw3AgAgAEEIaiADQcQAaigCADYCAAwDCyACKAIMIgYgAigCEEEBdCIFaiEIIAEoAgAhBCAGIQICQAJAAkADQCAFBEAgBCAHSQ0CIAItAAEiCiACLQAAIglJDQQgAkECaiECIAVBAmshBSAKIAlrQf8BcSAHakEBaiEHDAELCyAEIAdJDQAgA0EANgIwIANCgICAgMAANwIoDAELIABBgICAgHg2AgAMBAsDQCAGIAhGBEAgASgCCCABLQAQIANBKGoQ9iAgAEEIaiADQTBqKAIANgIAIAAgAykCKDcCAAwFBSAGLQABIQUgBi0AACECQQAhBANAAkAgBEEBcQ0AIAUgAkH/AXEiB0kNAEEBQQEQoSAiBCACOgAAIANBAToAVCADQQE2AlAgAyAENgJMIANBATYCSCAFIAdNIQQgAiAFIAdLaiECIANBKGogA0HIAGoQiA8MAQsLIAZBAmohBgwBCwALAAtBzLLEABDaKQALIANBPGoQwRcLIAAgAykCPDcCACAAQQhqIANBxABqKAIANgIAIANBHGoQziQLIANB8ABqJAAL7RICDH8BfiMAQbABayICJAAgAkEANgJIQQEhBSACQQE2AjwgAkHwkMAANgI4IAJCBDcCQAJAIAEoAhQgASgCGCACQThqEK0kDQAgACgCBCEDIAIgACgCCCIMNgIwIAJBADYCLCACIAM2AiQgAiADIAxBFGxqNgIoIAJBhAFqIQggACgC3AIhCiAAKALYAiENIAEoAhghAyABKAIUIQQgACgC1AIhCwNAIAJBGGogAkEkahCTEyACKAIcIgZFBEAgAkECNgI8IAJBjKPAADYCOCACQgE3AkQgAkEONgKUASACIABB4AJq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AnggBUEBayEFIAIgAkGQAWo2AkAgAiACQfgAajYCkAEgBCADIAJBOGoQrSRFDQALDAQLIAJBADYCSCACQQE2AjwgAkGYxcMANgI4IAJCBDcCQCAEIAMgAkE4ahCtJA0DCyAHIAVB/wFxRwRAIAIgBToAqwEgAiAHOgA0IAJBAzYClAEgAkHYxsMANgKQASACQgM3ApwBIAJBEDYCTCACQRE2AkQgAkERNgI8IAIgCTYCrAEgAiACQThqNgKYASACIAJBrAFqNgJIIAIgAkE0ajYCQCACIAJBqwFqNgI4IAQgAyACQZABahCtJEUNAgwDCyACIAU6ADQgAkECNgI8IAJBpMXDADYCOCACQgI3AkQgAkEQNgKcASACQRE2ApQBIAIgCTYCrAEgAiACQZABajYCQCACIAJBrAFqNgKYASACIAJBNGo2ApABIAQgAyACQThqEK0kRQ0BDAILIAIgDjcCfCACQQE2AngMAAsACwtBASEFCyACQbABaiQAIAULsBMBAn8jAEFAaiICJAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBECAAKAIAQQJrIgMgA0EjTxtBAWsOIgECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIACyACIABBCGo2AgwgAkEBNgIsIAJB/PbgADYCKCACQgE3AjQgAkGABTYCHCACIAJBGGo2AjAgAiACQQxqNgIYIAEoAhQgASgCGCACQShqEK0kDCILIAJBADYCOCACQQE2AiwgAkH0idoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwhCyACQQA2AjggAkEBNgIsIAJB/InaADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMIAsgAkEANgI4IAJBATYCLCACQYSK2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDB8LIAJBADYCOCACQQE2AiwgAkGMitoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAweCyACQQA2AjggAkEBNgIsIAJBlIraADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMHQsgAkEANgI4IAJBATYCLCACQZyK2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDBwLIAJBADYCOCACQQE2AiwgAkGkitoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwbCyACQQA2AjggAkEBNgIsIAJBrIraADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMGgsgAkEANgI4IAJBATYCLCACQbSK2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDBkLIAJBADYCOCACQQE2AiwgAkG8itoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwYCyACQQA2AjggAkEBNgIsIAJBxIraADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMFwsgAkEANgI4IAJBATYCLCACQcyK2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDBYLIAJBADYCOCACQQE2AiwgAkHUitoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwVCyACQQA2AjggAkEBNgIsIAJB3IraADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMFAsgAkEANgI4IAJBATYCLCACQeSK2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDBMLIAIgAEEQajYCDCACQQI2AiwgAkH8itoANgIoIAJCATcCNCACQeEENgIcIAIgAkEYajYCMCACIAJBDGo2AhggASgCFCABKAIYIAJBKGoQrSQMEgsgAkEANgI4IAJBATYCLCACQYyL2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDBELIAJBATYCLCACQfz24AA2AiggAkIBNwI0IAJBBTYCECACIAAtAARBAnQiAEGY7OMAaigCADYCHCACIABB9OzjAGooAgA2AhggAiACQQxqNgIwIAIgAkEYajYCDCABKAIUIAEoAhggAkEoahCtJAwQCyACQQE2AiwgAkH89uAANgIoIAJCATcCNCACQQU2AhAgAiAALQAEQQJ0IgBB0O3jAGooAgA2AhwgAiAAQZDu4wBqKAIANgIYIAIgAkEMajYCMCACIAJBGGo2AgwgASgCFCABKAIYIAJBKGoQrSQMDwsgAkEANgI4IAJBATYCLCACQZSL2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDA4LIAJBADYCOCACQQE2AiwgAkGci9oANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwNCyACQQA2AjggAkEBNgIsIAJBpIvaADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMDAsgAkEANgI4IAJBATYCLCACQayL2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDAsLIAJBADYCOCACQQE2AiwgAkG0i9oANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwKCyACIABBCGo2AhQgAiAAQRBqNgIMIAJBAzYCLCACQcyL2gA2AiggAkICNwI0IAJB4QQ2AiQgAkHhBDYCHCACIAJBGGo2AjAgAiACQQxqNgIgIAIgAkEUajYCGCABKAIUIAEoAhggAkEoahCtJAwJCyACIABBCGo2AhQgAiAAQRBqNgIMIAJBAzYCLCACQfSL2gA2AiggAkICNwI0IAJB4QQ2AiQgAkHhBDYCHCACIAJBGGo2AjAgAiACQQxqNgIgIAIgAkEUajYCGCABKAIUIAEoAhggAkEoahCtJAwICyACIABBEGo2AhQgAiAAQQhqNgIMIAJBAzYCLCACQaCM2gA2AiggAkICNwI0IAJB4QQ2AiQgAkGBBTYCHCACIAJBGGo2AjAgAiACQQxqNgIgIAIgAkEUajYCGCABKAIUIAEoAhggAkEoahCtJAwHCyACIABBEGo2AhQgAiAAQQhqNgIMIAJBAzYCLCACQciM2gA2AiggAkICNwI0IAJB4QQ2AiQgAkGCBTYCHCACIAJBGGo2AjAgAiACQQxqNgIgIAIgAkEUajYCGCABKAIUIAEoAhggAkEoahCtJAwGCyACIABBCGo2AgwgAkECNgIsIAJB7IzaADYCKCACQgE3AjQgAkHhBDYCHCACIAJBGGo2AjAgAiACQQxqNgIYIAEoAhQgASgCGCACQShqEK0kDAULIAIgAEEQajYCDCACQQI2AiwgAkGIjdoANgIoIAJCATcCNCACQeEENgIcIAIgAkEYajYCMCACIAJBDGo2AhggASgCFCABKAIYIAJBKGoQrSQMBAsgAkEANgI4IAJBATYCLCACQZiN2gA2AiggAkIENwIwIAEoAhQgASgCGCACQShqEK0kDAMLIAJBADYCOCACQQE2AiwgAkGwjdoANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahCtJAwCCyACQQA2AjggAkEBNgIsIAJBuI3aADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQrSQMAQsgAiAAQQRqNgIMIAJBAjYCLCACQdCN2gA2AiggAkIBNwI0IAJB3gQ2AhwgAiACQRhqNgIwIAIgAkEMajYCGCABKAIUIAEoAhggAkEoahCtJAsgAkFAayQAC8MSAQR/IwBBkAFrIgUkAAJAAkACQCACQQNNBEAgAUEBayEHIAIhBgNAIAZFDQMgBiAHaiAGQQFrIQYsAABBAE4NAAsMAQsgASgAAEGAgYKEeHENAEEEIAFBA2pBfHEiBiABayABIAZGGyEGIAJBBGshBwNAIAYgB0kEQCABIAZqKAIAQYCBgoR4cQ0CIAZBBGohBgwBCwsgASAHaigAAEGAgYKEeHFFDQELIAUgAkEIahDKFCAFQQA2AhAgBSAFKQMANwIIIAVBgYDEADYCFCAFIAE2AhggBSABIAJqNgIcIARB/wFxQQJJIQhBACEEQQEhAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBFGoQwB4iAQ4OCAsLCwsLCwsKBQIEAQMACyABQSJGDQYgAUEnRg0FIAFB3ABGDQggAUGAgMQARw0KIAQNCyAAIAUpAgg3AgAgAEEIaiAFQRBqKAIANgIADBYLIAVBCGpBmN7YAEECEO0dDBILIAVBCGpBtN/YAEECEO0dDBELIAVBCGpBtt/YAEECEO0dDBALIAVBCGpBmt7YAEECEO0dDA8LIAVBCGpBCRDtDwwOCyAFQQhqQScQ7Q8MDQsgBUEIakEiEO0PDAwLIANFBEBBACECIAVBADYCRCAFQQE2AjggBUGs39gANgI0IAVCBDcCPCAFQQhqIAVBNGoQ7SQaDA0LQQAhAiAFQQA2AkRBASEEIAVBATYCOCAFQdDe2AA2AjQgBUIENwI8IAVBCGogBUE0ahDtJBoMDAsCQCAFQRRqEJodIgEEQCABKAIAQfUARg0BCyAFQQhqQbjf2ABBAhDtHQwLCyAFIAUoAhw2AoABIAUgBSkCFDcCeCAFQfgAaiIBEMAeGiABEJodIgZBjN7YABDPHSIHBEAgBUH4AGoQwB4aIAVB+ABqEJodIQYLAkAgBgRAIAYoAgBBIHJB5ABGDQELIAVBCGpBuN/YAEECEO0dDAsLIAVBADYCPCAFQoCAgIAQNwI0IAVBNGoiAUHcABDtDyABQfUAEO0PIAcNAwwJCyAFQQhqQZbe2ABBAhDtHQwJCyABQQFrQQ9PBEACQAJAAkACQAJAIAFB8P//AHFBEEcEQCABQSBrQd8ASQ0JIAFB/wBrQYEBSQ0EIAFBqMAAaw4CAQIDCyACQQFxRQ0EDAoLIAVBCGpBnN7YAEEGEO0dDA0LIAVBCGpBot7YAEEGEO0dDAwLIAFB//0DRw0HIAVBCGpBqN7YAEEGEO0dDAsLIANFBEAgBUEBNgI4IAVBwN/YADYCNCAFQgE3AkAgBUHeATYCfCAFIAE6ACQgBSAFQfgAajYCPCAFIAVBJGo2AnggBUEIaiAFQTRqEO0kGgwLC0EBIQQgBUEBNgI4IAVBsN7YADYCNCAFQgE3AkAgBUHeATYCfCAFIAE6ACQgBSAFQfgAajYCPCAFIAVBJGo2AnggBUEIaiAFQTRqEO0kGgwKCyADRQRAIAVBATYCOCAFQcDf2AA2AjQgBUIBNwJAIAVB3gE2AnwgBSABOgAkIAUgBUH4AGo2AjwgBSAFQSRqNgJ4IAVBCGogBUE0ahDtJBoMCgtBASEEIAVBATYCOCAFQbDe2AA2AjQgBUIBNwJAIAVB3gE2AnwgBSABOgAkIAUgBUH4AGo2AjwgBSAFQSRqNgJ4IAVBCGogBUE0ahDtJBoMCQsgAkEBcUUNAwwFCyAFQQI2AjggBUGE4NgANgI0IAVCATcCQCAFQT42AnwgBSAFQfgAajYCPCAFIAVBCGo2AnggACAFQTRqEPwUIAUoAgggBSgCDBDWKQwKCyAFQTRqQfsAEO0PDAULIAVBCGogARDtDwwFCyADRQRAIAVBATYCOCAFQcDf2AA2AjQgBUIBNwJAIAVB3gE2AnwgBSABOgAkIAUgBUH4AGo2AjwgBSAFQSRqNgJ4IAVBCGogBUE0ahDtJBoMBQtBASEEIAVBATYCOCAFQbDe2AA2AjQgBUIBNwJAIAVB3gE2AnwgBSABOgAkIAUgBUH4AGo2AjwgBSAFQSRqNgJ4IAVBCGogBUE0ahDtJBoMBAsgAUGAAUkNACABQf//A0sNASAFQa8CNgIoIAUgATsBdCAFQQE2AowBIAVBATYCfCAFQczf2AA2AnggBUEBNgKEASAFIAVB9ABqNgIkIAVBAzoAUCAFQQg2AkwgBUIgNwJEIAVCgICAgMAANwI8IAVBAjYCNCAFIAVBNGo2AogBIAUgBUEkajYCgAEgBUEIaiAFQfgAahDtJBoMAwsgBUEIaiABEO0PDAILIAhFBEAgBUHKADYCKCAFIAE2AnQgBUEBNgKMASAFQQI2AnwgBUHY39gANgJ4IAVBATYChAEgBSAFQfQAajYCJCAFQQM6AFAgBUEINgJMIAVCIDcCRCAFQoCAgIDAADcCPCAFQQI2AjQgBSAFQTRqNgKIASAFIAVBJGo2AoABIAVBCGogBUH4AGoQ7SQaDAILIAUgAUGAgARrQQp2QYCwA2o2AiAgBSABQf8HcUGAuANyNgJ0IAVBygA2AjAgBUHKADYCKCAFQQI2AowBIAVBAzYCfCAFQezf2AA2AnggBSAFQfQAajYCLCAFIAVBIGo2AiQgBUEDOgBwIAVBCDYCbCAFQqCAgIAQNwJkIAVCgICAgMAANwJcIAVBAjYCVCAFQQM6AFAgBUEINgJMIAVCIDcCRCAFQoCAgIDAADcCPCAFQQI2AjQgBSAFQTRqNgKIASAFQQI2AoQBIAUgBUEkajYCgAEgBUEIaiAFQfgAahDtJBoMAQsgBUE0aiAGKAIAEO0PIAVB+ABqEMAeGkEDIQIDQAJAAkAgAkUEQEEFIQYgBwRAIAVBNGpB/QAQ7Q9BByEGCyAFQQhqIAUoAjggBSgCPBDtHQNAIAZFDQIgBkEBayEGIAVBFGoQwB4aDAALAAsgBUH4AGoQwB4iAUGAgMQARwRAIAFBMGtBCkkgAUHBAGtBBklyIAFB4QBrQQZJcg0CCyAHRQ0AIAVBNGpB/QAQ7Q8LIAUoAjQgBSgCOBDWKQwCCyAFQTRqIAEQ7Q8gAkEBayECDAALAAtBACECDAALAAsgACACNgIIIAAgATYCBCAAQYCAgIB4NgIACyAFQZABaiQAC5kPAQx/IwBBMGsiDSQAIAJBAmshEAJAAkACQANAAkACQAJAAkACQAJAIAFBIU8EQCAEDQEgACABIAIgA0EBEN0BDAoLIAFBAkkNCSABQRBqIANLDQUgAUEBdiEDIAFBD0sNASABQQdLBEAgACACEOAGIAAgA0EBdCIEaiACIARqEOAGQQQhBwwJCyACIAAvAAA7AABBASEHIAIgA0EBdCIEaiAAIARqLwAAOwAADAgLIAAgAUF4cWohBiAAIAFBA3YiCEEObGohDCAEQQFrIQQgDQJ/IAFBwABPBEAgACAGIAwgCBCcCQwBCyAAAn8gAC0AACIIIAYtAAAiC0cEQCAIIAtJDAELIAAtAAEgBi0AAUkLIgcCfyAMLQAAIgkgCEcEQCAIIAlJDAELIAAtAAEgDC0AAUkLRw0AGiAMIAYgCSALRwR/IAkgC0sFIAYtAAEgDC0AAUkLIAdzGwsiCi0AASIIOgAXIA0gCi0AACIGOgAWIAogAGtBAXYhDCAFRQ0BIAYgBS0AACILRgRAIAUtAAEgCE8NAwwCCyAGIAtLDQEMAgsgACACIAIgAUEBdGoiBBD+HyAAIANBAXQiBWogAiAFaiAEQRBqEP4fQQghBwwGCyABIANLDQIgAiABQQF0IhFqIQlBACEIIAAhBiAMIQsDQCAAIAtBA2siB0EAIAcgC00bQQF0aiEPA0AgBiAPT0UEQCAIQQF0IAIgCUECawJ/IAYtAAAiByAKLQAAIg5HBEAgByAOSQwBCyAGLQABIAotAAFJCyIHG2ogBi8AADsAACAHIAhqIghBAXQgAiAJQQRrAn8gDiAGLQACIgdHBEAgByAOSQwBCyAGLQADIAotAAFJCyIHG2ogBi8AAjsAACAHIAhqIg5BAXQgAiAJQQZrAn8gBi0ABCIHIAotAAAiCEcEQCAHIAhJDAELIAYtAAUgCi0AAUkLIgcbaiAGLwAEOwAAIAcgDmoiDkEBdCACIAlBCGsiCQJ/IAggBi0ABiIHRwRAIAcgCEkMAQsgBi0AByAKLQABSQsiBxtqIAYvAAY7AAAgBkEIaiEGIAcgDmohCAwBCwsgACALQQF0aiEOA0AgBiAOTwRAAkAgASALRg0AIAlBAmsiCSAIQQF0aiAGLwAAOwAAIAZBAmohBiABIQsMAwsFIAhBAXQgAiAJQQJrIgkCfyAGLQAAIgcgCi0AACIPRwRAIAcgD0kMAQsgBi0AASAKLQABSQsiBxtqIAYvAAA7AAAgBkECaiEGIAcgCGohCAwBCwsLIAEgCGshCyAQIBFqIQkgACACIAgiBkEBdCIHEPwGIAdqIg4hBwNAIAEgBkZFBEAgByAJLwAAOwAAIAZBAWohBiAJQQJrIQkgB0ECaiEHDAELCyAIRQ0AIAEgCE8NASANQQA2AiggDUEBNgIcIA1BxN/gADYCGCANQgQ3AiAgDUEYakHM3+AAELodAAsgASADSw0BIAIgAUEBdCILaiEJQQAhCCAAIQYDQCAAIAxBA2siBUEAIAUgDE0bQQF0aiEOA0AgBiAOT0UEQCAIQQF0IAlBAmsgAgJ/IAotAAAiBSAGLQAAIgdHBEAgBSAHSQwBCyAKLQABIAYtAAFJCyIHG2ogBi8AADsAACAIIAdFaiIIQQF0IAlBBGsgAgJ/IAYtAAIiByAFRwRAIAUgB0kMAQsgCi0AASAGLQADSQsiBxtqIAYvAAI7AAAgCCAHQQFzaiIIQQF0IAlBBmsgAgJ/IAotAAAiBSAGLQAEIgdHBEAgBSAHSQwBCyAKLQABIAYtAAVJCyIHG2ogBi8ABDsAACAIIAdFaiIIQQF0IAlBCGsiCSACAn8gBi0ABiIHIAVHBEAgBSAHSQwBCyAKLQABIAYtAAdJCyIHG2ogBi8ABjsAACAGQQhqIQYgCCAHQQFzaiEIDAELCyAAIAxBAXRqIQUDQCAFIAZNBEACQCABIAxGDQAgAiAIQQF0aiAGLwAAOwAAIAZBAmohBiAIQQFqIQggCUECayEJIAEhDAwDCwUgCEEBdCAJQQJrIgkgAgJ/IAotAAAiByAGLQAAIg5HBEAgByAOSQwBCyAKLQABIAYtAAFJCyIHG2ogBi8AADsAACAGQQJqIQYgCCAHQQFzaiEIDAELCwsgCyAQaiEJIAEgCGsiDCEGIAAgAiAIQQF0IgAQ/AYgAGoiACEKA0AgBgRAIAogCS8AADsAACAGQQFrIQYgCUECayEJIApBAmohCgwBCwsgASAISQ0DQQAhBSAMIQEMAgsgDiALIAIgAyAEIA1BFmoQmwEgCCEBDAELCwALIAggAUHc3+AAEK4QAAsgDUKAgICAIDcDICANIAOtQiCGNwMYQQAgB2shBSABIANrIQwgACAHQQF0IgRqIQsgAiAEaiEKA0AgDUEIaiANQRhqEIwWIA0oAghFBEAgAiABIAAQzgYMAgsgBSAMIAMgDSgCDCIEGyIGIAcgBiAHSxtqIQkgCyAEQQF0IgRqIQggBCAKaiEGIAIgBGohBANAIAlFDQEgBiAILwAAOwAAIAQgBhCWCyAJQQFrIQkgCEECaiEIIAZBAmohBgwACwALAAsgDUEwaiQAC5kPAQx/IwBBMGsiDSQAIAJBCGshEAJAAkACQANAAkACQAJAAkACQAJAIAFBIU8EQCAEDQEgACABIAIgA0EBEN4BDAoLIAFBAkkNCSABQRBqIANLDQUgAUEBdiEDIAFBD0sNASABQQdLBEAgACACEOEGIAAgA0EDdCIEaiACIARqEOEGQQQhBwwJCyACIAApAgA3AgAgAiADQQN0IgRqIAAgBGopAgA3AgBBASEHDAgLIAAgAUEDdiIIQThsaiEGIAAgCEEFdGohDCAEQQFrIQQgDQJ/IAFBwABPBEAgACAMIAYgCBCdCQwBCyAAAn8gACgCACIIIAwoAgAiC0cEQCAIIAtJDAELIAAoAgQgDCgCBEkLIgcCfyAGKAIAIgkgCEcEQCAIIAlJDAELIAAoAgQgBigCBEkLRw0AGiAGIAwgCSALRwR/IAkgC0sFIAwoAgQgBigCBEkLIAdzGwsiCigCBCIINgIUIA0gCigCACIGNgIQIAogAGtBA3YhDCAFRQ0BIAYgBSgCACILRgRAIAUoAgQgCE8NAwwCCyAGIAtLDQEMAgsgACACIAIgAUEDdGoiBBD/HyAAIANBA3QiBWogAiAFaiAEQUBrEP8fQQghBwwGCyABIANLDQIgAiABQQN0IhFqIQlBACEIIAAhBiAMIQsDQCAAIAtBA2siB0EAIAcgC00bQQN0aiEPA0AgBiAPT0UEQCAIQQN0IAIgCUEIawJ/IAYoAgAiByAKKAIAIg5HBEAgByAOSQwBCyAGKAIEIAooAgRJCyIHG2ogBikCADcCACAHIAhqIghBA3QgAiAJQRBrAn8gDiAGKAIIIgdHBEAgByAOSQwBCyAGKAIMIAooAgRJCyIHG2ogBikCCDcCACAHIAhqIg5BA3QgAiAJQRhrAn8gBigCECIHIAooAgAiCEcEQCAHIAhJDAELIAYoAhQgCigCBEkLIgcbaiAGKQIQNwIAIAcgDmoiDkEDdCACIAlBIGsiCQJ/IAggBigCGCIHRwRAIAcgCEkMAQsgBigCHCAKKAIESQsiBxtqIAYpAhg3AgAgBkEgaiEGIAcgDmohCAwBCwsgACALQQN0aiEOA0AgBiAOTwRAAkAgASALRg0AIAlBCGsiCSAIQQN0aiAGKQIANwIAIAZBCGohBiABIQsMAwsFIAhBA3QgAiAJQQhrIgkCfyAGKAIAIgcgCigCACIPRwRAIAcgD0kMAQsgBigCBCAKKAIESQsiBxtqIAYpAgA3AgAgBkEIaiEGIAcgCGohCAwBCwsLIAEgCGshCyAQIBFqIQkgACACIAgiBkEDdCIHEPwGIAdqIg4hBwNAIAEgBkZFBEAgByAJKQIANwIAIAZBAWohBiAJQQhrIQkgB0EIaiEHDAELCyAIRQ0AIAEgCE8NASANQQA2AiggDUEBNgIcIA1BxN/gADYCGCANQgQ3AiAgDUEYakHM3+AAELodAAsgASADSw0BIAIgAUEDdCILaiEJQQAhCCAAIQYDQCAAIAxBA2siBUEAIAUgDE0bQQN0aiEOA0AgBiAOT0UEQCAIQQN0IAlBCGsgAgJ/IAooAgAiBSAGKAIAIgdHBEAgBSAHSQwBCyAKKAIEIAYoAgRJCyIHG2ogBikCADcCACAIIAdFaiIIQQN0IAlBEGsgAgJ/IAYoAggiByAFRwRAIAUgB0kMAQsgCigCBCAGKAIMSQsiBxtqIAYpAgg3AgAgCCAHQQFzaiIIQQN0IAlBGGsgAgJ/IAooAgAiBSAGKAIQIgdHBEAgBSAHSQwBCyAKKAIEIAYoAhRJCyIHG2ogBikCEDcCACAIIAdFaiIIQQN0IAlBIGsiCSACAn8gBigCGCIHIAVHBEAgBSAHSQwBCyAKKAIEIAYoAhxJCyIHG2ogBikCGDcCACAGQSBqIQYgCCAHQQFzaiEIDAELCyAAIAxBA3RqIQUDQCAFIAZNBEACQCABIAxGDQAgAiAIQQN0aiAGKQIANwIAIAZBCGohBiAIQQFqIQggCUEIayEJIAEhDAwDCwUgCEEDdCAJQQhrIgkgAgJ/IAooAgAiByAGKAIAIg5HBEAgByAOSQwBCyAKKAIEIAYoAgRJCyIHG2ogBikCADcCACAGQQhqIQYgCCAHQQFzaiEIDAELCwsgCyAQaiEJIAEgCGsiDCEGIAAgAiAIQQN0IgAQ/AYgAGoiACEKA0AgBgRAIAogCSkCADcCACAGQQFrIQYgCUEIayEJIApBCGohCgwBCwsgASAISQ0DQQAhBSAMIQEMAgsgDiALIAIgAyAEIA1BEGoQnAEgCCEBDAELCwALIAggAUHc3+AAEK4QAAsgDUKAgICAIDcDICANIAOtQiCGNwMYQQAgB2shBSABIANrIQwgACAHQQN0IgRqIQsgAiAEaiEKA0AgDUEIaiANQRhqEIwWIA0oAghFBEAgAiABIAAQzwYMAgsgBSAMIAMgDSgCDCIEGyIGIAcgBiAHSxtqIQkgCyAEQQN0IgRqIQggBCAKaiEGIAIgBGohBANAIAlFDQEgBiAIKQIANwIAIAQgBhCtCyAJQQFrIQkgCEEIaiEIIAZBCGohBgwACwALAAsgDUEwaiQAC58SAhF/AX4jAEHQCGsiAyQAIAMgAjYCJAJAAkACQAJAIAFBKGoiBBDnDSICRQ0AIAIoAgBBFEcNACACLQAEQQRGDQELIAQQ5w0iAkUNASACKAIAQSFHDQELIAEtAPgCQQJHDQAgAS0AggMhDiADQcgAaiICIAEQ0QIgA0EBOgDzAyADIAEpAIMDNwD0AyADIAEpAIsDNwD8AyADIAEpAJMDNwCEBCADIAEoAJsDNgCMBCADQcgBaiADQfMDahDICCADQRhqIAJBAEEAEJQBIAMoAhwhBwJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIYRQRAAkACQAJAIANB8ABqIgUQ5w0iAgRAIAIoAgBBCUYNAQsgA0GwBGogBRDrCyADQajl3wA2AqwEIANBNDoAqAQgA0HAAWogA0GIAWogAygCcEElRiICGygCACIBIANBxAFqIANBjAFqIAIbKAIAIgIgASACSRsgASACIAEgAksbIANBqARqEP0UIQEgBRDnDSICRQ0MIAIoAgBBJEYNAQwMCyADQbQEaiADQfwAaikCADcCACADQbwEaiADQYQBaigCADYCACADKAJwIQIgA0ElNgJwIAMgAykCdDcCrAQgAyACNgKoBCADIAMpA4gBNwPAASADQagEaiICEMMKIAIgA0HIAGoQtAEgAygCrAQhBCADKAKoBCIJQYCAgIB4RwRAIAFBgAFqIQwgAUGCA2ohCiADQfQAaiEGIAMoArAEIQIgAyAENgKACCADIAQgAkEGdCIPaiIQNgKMCCADIAk2AogIIAlBBnQhCyADQdgEaiERQQAhAgNAIAQgCGohDSACIA9GRQRAIANBkAhqIhIgAiAEaiITQcAAEPwGGiADQagEaiATQcAAEPwGGiAREOwmIA0gEkEoEPwGGiAIQShqIQggAkFAayECDAELCyADIBA2AoQIIAtBKG4hCCADQYAIahCYEiAEIQICQCAJRQ0AIAsgCEEobCIJRg0AIAIgCyAJEJoeIgJFDQYLIAMgAjYC+AcgAyAINgL0ByADIA0gBGtBKG42AvwHIANBgAhqEM8XAkACQCAFEOcNIgIEQCACKAIAQQpGDQELIANBsARqIAUQ6wsgA0GA5d8ANgKsBCADQTQ6AKgEIANBwAFqIANBiAFqIAMoAnBBJUYiAhsoAgAiASADQcQBaiADQYwBaiACGygCACICIAEgAkkbIAEgAiABIAJLGyADQagEahD9FCEBIAUQ5w0iAkUNDCACKAIAQSRGDQEMDAsgA0G0BGogBkEIaikCADcCACADQbwEaiAGQRBqKAIANgIAIAMoAnAhAiADQSU2AnAgAyACNgKoBCADIAMpA4gBNwPAASADIAYpAgA3AqwEIANBqARqEMMKQQAhAgJAAkAgBRDnDSIERQ0AIAQoAgBBE0cNACADQRBqIANByABqQdjf3wAQ8wEgAygCFCECIAMoAhANAQsgAyACNgKQCCAFEOcNIgQEQCAEKAIAQQNGDQULIANBsARqIAUQ6wsgA0GY8t8ANgKsBCADQTQ6AKgEIANBwAFqIANBiAFqIAMoAnBBJUYiAhsoAgAiASADQcQBaiADQYwBaiACGygCACICIAEgAkkbIAEgAiABIAJLGyADQagEahD9FCEBIAUQ5w0iAkUNCyACKAIAQSRHDQsgAyADKQOIATcDwAEgAygCcCADQSU2AnBBJEcNCCADQcgAaiADKAJ0EIYMDAsLIANBgYCAgHg2ApAEIAMgAjYClAQMDAsgAyADKQOIATcDwAEgAygCcCADQSU2AnBBJEcNByADQcgAaiADKAJ0EIYMDAoLIAMgBDYClAQgA0GBgICAeDYCkAQMDAsgAyADKQOIATcDwAEgAygCcCADQSU2AnBBJEcNBiADQcgAaiADKAJ0EIYMDAoLIANBtARqIAZBCGopAgA3AgAgA0G8BGogBkEQaigCADYCACADKAJwIQQgA0ElNgJwIAMgBDYCqAQgAyADKQOIATcDwAEgAyAGKQIANwKsBCADQagEahDDCiADQZgEaiADQfwHaigCADYCACADIAI2AqAEIAMgBzYCnAQgAyADKQL0ByIUNwOQBCAUpyIEQYCAgIB4aw4CDAsBCyADQYGAgIB4NgKQBCADIAc2ApQEDAoLIAMpApQEIRQgA0GoBGoiBiADQcgAakGoAxD8BhogARCGECABIAZBqAMQ/AYhASADIA46ANcHIAMgASkAgwM3ANgHIAMgASkAiwM3AOAHIAMgASkAkwM3AOgHIAMgASgAmwM2APAHIAwgA0HXB2oQyAggA0EBOwAyIAMgAS0AiAM6ADEgAyABKAGCAzYAKyADIAEvAYYDOwAvIAMgASkAiwM3ADQgAyABKQCTAzcAPCADIAEoAJsDNgBEIANB4QBqIApBFWopAAA3AAAgA0HcAGogCkEQaikBADcCACADQdQAaiAKQQhqKQEANwIAIAMgCikBADcCTCAMIANBK2oQyAggAyABNgJIIAMgAjYCpAggAyAHNgKgCCADIBQ3ApQIIAMgBDYCkAggAyADQSRqNgKcCCADQQhqIAFBASAUpyAUQiCIpxC/GRDBAyADKAIMIQUCQCADKAIIRQRAIAAgAykCkAg3AgAgAEEIaiADQZgIaigCADYCACABKAJ8IQEgAygCJCEEIAYQzBQgAEEBOwEkIAAgAjYCICAAIAc2AhwgACAEIAEgASAESRs2AhQgACAEIAEgASAESxs2AhAgACAFNgIMIAAgAygCwAQ2AhggBhDYIAwBCyAAQYGAgIB4NgIAIAAgBTYCBCADQZAIahCDJyAHEIwrIANBpAhqEI8oCyADQcgAahCgJgwMCwALQd3r4ABBKEGI9N8AEO4XAAtB3evgAEEoQZj03wAQ7hcAC0Hd6+AAQShBqPTfABDuFwALIANBgYCAgHg2ApAEIAMgATYClAQgA0GQCGoQjygMAQsgA0GBgICAeDYCkAQgAyABNgKUBAsgA0H0B2oQgycMAQsgA0GBgICAeDYCkAQgAyABNgKUBAsgBxCMKwsgA0GQBGpBBHIQlCMLIANByABqEIYQCyAAQYCAgIB4NgIACyADQdAIaiQAC7USAhF/AX4jAEHACGsiAyQAIAMgAjYCJAJAAkACQAJAIAFBKGoiDBDNDSICRQ0AIAIoAgBBFEcNACACLQAEQQRGDQELIAwQzQ0iAkUNASACKAIAQSFHDQELIAEtAKACQQJHDQAgAS0AqgIhDiADQcgAaiICIAEQowMgA0EBOgDrAyADIAEpAKsCNwDsAyADIAEpALMCNwD0AyADIAEpALsCNwD8AyADIAEoAMMCNgCEBCADQfAAaiIFIANB6wNqENAIIANBGGogAkEAQQAQkwEgAygCHCEHAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAhhFBEACQAJAAkAgBRDNDSICBEAgAigCAEEJRg0BCyADQagEaiAFEJIQIANBqOXfADYCpAQgA0E0OgCgBCADQeADaiADQagDaiADKAKQA0ElRiICGygCACIBIANB5ANqIANBrANqIAIbKAIAIgIgASACSRsgASACIAEgAksbIANBoARqEP0UIQEgBRDNDSICRQ0MIAIoAgBBJEYNAQwMCyADQawEaiADQZwDaikCADcCACADQbQEaiADQaQDaigCADYCACADKAKQAyECIANBJTYCkAMgAyADKQKUAzcCpAQgAyACNgKgBCADIAMpA6gDNwPgAyADQaAEaiICEMIKIAIgA0HIAGoQswEgAygCpAQhBCADKAKgBCIJQYCAgIB4RwRAIAFBqgJqIQogA0GUA2ohBiADKAKoBCECIAMgBDYC8AcgAyAEIAJBBnQiD2oiEDYC/AcgAyAJNgL4ByAJQQZ0IQsgA0HQBGohEUEAIQIDQCAEIAhqIQ0gAiAPRkUEQCADQYAIaiISIAIgBGoiE0HAABD8BhogA0GgBGogE0HAABD8BhogERDsJiANIBJBKBD8BhogCEEoaiEIIAJBQGshAgwBCwsgAyAQNgL0ByALQShuIQggA0HwB2oQmBIgBCECAkAgCUUNACALIAhBKGwiCUYNACALRQRAQQghAgwBCyAEIAtBCCAJEPkCIgJFDQYLIAMgAjYC6AcgAyAINgLkByADIA0gBGtBKG42AuwHIANB8AdqEM8XAkACQCAFEM0NIgIEQCACKAIAQQpGDQELIANBqARqIAUQkhAgA0GA5d8ANgKkBCADQTQ6AKAEIANB4ANqIANBqANqIAMoApADQSVGIgIbKAIAIgEgA0HkA2ogA0GsA2ogAhsoAgAiAiABIAJJGyABIAIgASACSxsgA0GgBGoQ/RQhASAFEM0NIgJFDQwgAigCAEEkRg0BDAwLIANBrARqIAZBCGopAgA3AgAgA0G0BGogBkEQaigCADYCACADKAKQAyECIANBJTYCkAMgAyACNgKgBCADIAMpA6gDNwPgAyADIAYpAgA3AqQEIANBoARqEMIKQQAhAgJAAkAgBRDNDSIERQ0AIAQoAgBBE0cNACADQRBqIANByABqQdjf3wAQ8QEgAygCFCECIAMoAhANAQsgAyACNgKACCAFEM0NIgQEQCAEKAIAQQNGDQULIANBqARqIAUQkhAgA0GY8t8ANgKkBCADQTQ6AKAEIANB4ANqIANBqANqIAMoApADQSVGIgIbKAIAIgEgA0HkA2ogA0GsA2ogAhsoAgAiAiABIAJJGyABIAIgASACSxsgA0GgBGoQ/RQhASAFEM0NIgJFDQsgAigCAEEkRw0LIAMgAykDqAM3A+ADIAMoApADIANBJTYCkANBJEcNCCADQcgAaiADKAKUAxD/CwwLCyADQYGAgIB4NgKIBCADIAI2AowEDAwLIAMgAykDqAM3A+ADIAMoApADIANBJTYCkANBJEcNByADQcgAaiADKAKUAxD/CwwKCyADIAQ2AowEIANBgYCAgHg2AogEDAwLIAMgAykDqAM3A+ADIAMoApADIANBJTYCkANBJEcNBiADQcgAaiADKAKUAxD/CwwKCyADQawEaiAGQQhqKQIANwIAIANBtARqIAZBEGooAgA2AgAgAygCkAMhBCADQSU2ApADIAMgBDYCoAQgAyADKQOoAzcD4AMgAyAGKQIANwKkBCADQaAEahDCCiADQZAEaiADQewHaigCADYCACADIAI2ApgEIAMgBzYClAQgAyADKQLkByIUNwOIBCAUpyIEQYCAgIB4aw4CDAsBCyADQYGAgIB4NgKIBCADIAc2AowEDAoLIAMpAowEIRQgA0GgBGoiBiADQcgAakGgAxD8BhogARDeECABIAZBoAMQ/AYhASADIA46AMcHIAMgASkAqwI3AMgHIAMgASkAswI3ANAHIAMgASkAuwI3ANgHIAMgASgAwwI2AOAHIAwgA0HHB2oQ0AggA0EBOwAyIAMgAS0AsAI6ADEgAyABKAGqAjYAKyADIAEvAa4COwAvIAMgASkAswI3ADQgAyABKQC7AjcAPCADIAEoAMMCNgBEIANB4QBqIApBFWopAAA3AAAgA0HcAGogCkEQaikBADcCACADQdQAaiAKQQhqKQEANwIAIAMgCikBADcCTCAMIANBK2oQ0AggAyABNgJIIAMgAjYClAggAyAHNgKQCCADIBQ3AoQIIAMgBDYCgAggAyADQSRqNgKMCCADQQhqIAFBASAUpyAUQiCIpxC/GRDDAyADKAIMIQUCQCADKAIIRQRAIAAgAykCgAg3AgAgAEEIaiADQYgIaigCADYCACABKAKcAyEBIAMo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AiACIApLGzYCoAEgBUEgaiABIAVBoAFqQQFBABA6IAUoAiQhAyAFKAIgIQgMCQsgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggBUHMAWogAUE0aikCADcCACAFQdQBaiABQTxqKAIANgIAIAUgASkCLDcCxAEgBSACNgLAASAFQcABahDDCgJAAkACQAJAIAwQ5w0iAgRAIAIoAgBBBkYNAQsgBUEwaiABEKABQQEhCCAFKAI0IQMgBSgCMA0MIAUgAzYCkAEgAygCACICQRRGDQIgAkEeRw0BDAsLIAEoAighAyABQSU2AiggASABKQNANwN4IAVBzAFqIgQgAUEsaiICQQhqKQIANwIAIAVB1AFqIAJBEGooAgA2AgAgBSACKQIANwLEASAFIAM2AsABIAVBwAFqEMMKAkACQCAMEOcNIgNFDQAgAygCAEECRw0AIAMtAAgNACADLQAJQSVGDQELIAQgDBDrCyAFQThqIAwQsxQgBUEGNgLIASAFQYiS4AA2AsQBIAVBMDoAwAEgBSgCOCAFKAI8IAVBwAFqEP0UIQNBASEIIAwQ5w0iAkUNDCACKAIAQSRHDQwgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASABKAIsEIYMDAwLIAEoAighAyABQSU2AiggASABKQNANwN4IAVBzAFqIAJBCGopAgA3AgAgBUHUAWogAkEQaigCADYCACAFIAIpAgA3AsQBIAUgAzYCwAEgBUHAAWoiAxDDCiABKAJ8IQIgBUEAOgDIASAFIAogAiACIApJGyIENgLEASAFIAogAiACIApLGyICNgLAASADELAYIQcgAS0AlgNBAXENCSABLQCXA0EBcQ0JIAEtAJMDQQFxDQkgBUELOgDAASABIAIgBCADENAZDAkLIAJBMEYNAQwGCyADKAIoIgIoAgBBMEcNBSACLQAQQQFHDQUgAigCDCEDIAIoAgggBUHoADoAwAEgAyAFQcABahD9FCEDIAwQ5w0iAkUNBiACKAIAQSRHDQYgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDAYLIAMtABBFDQQgAygCDCECIAMoAgggBUHoADoAwAEgAiAFQcABahD9FCEDIAwQ5w0iAkUNBSACKAIAQSRHDQUgASABKQNANwN4IAEoAiggAUElNgIoQSRH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EOcNIgVFDQogBSgCAEECRw0KIAZB8ABqIAUtAAggBUEJai0AABDdCQ0KDAYLIAEoAighBSABQSU2AiggASABKQNANwN4IAZB1ABqIAFBNGopAgA3AgAgBkHcAGogAUE8aigCADYCACAGIAEpAiw3AkwgBiAFNgJIIAZByABqEMMKDAULIAUNAiABQShqIggQ5w0iBUUNCCAFKAIAQQJHDQggBS0ACEECRw0IIAUtAAlBGUcNCCAIELIhDQgMAwsgASgCKCEFIAFBJTYCKCABIAEpA0A3A3ggBkHUAGogAUE0aikCADcCACAGQdwAaiABQTxqKAIANgIAIAYgASkCLDcCTCAGIAU2AkggBkHIAGoQwwoMCAsgASgCKCEHIAFBJTYCKCABIAEpA0A3A3ggBkHUAGogAUE0aikCADcCACAGQdwAaiABQTxqKAIANgIAIAYgASkCLDcCTCAGIAc2AkggBkHIAGoQwwoMBAsgASgCKCEFIAFBJTYCKCABIAEpA0A3A3ggBkHUAGogAUE0aikCADcCACAGQdwAaiABQTxqKAIANgIAIAYgASkCLDcCTCAGIAU2AkggBkHIAGoQwwoLIAZByABqIAEgAiACIANBARCIBCAGKAJMIQICQCAGKAJIIgFBCEcEQCAAIAYpA1A3AwggAEEgaiAGQegAaikDADcDACAAQRhqIAZB4ABqKQMANwMAIABBEGogBkHYAGopAwA3AwAMAQtBCSEBCyAAIAE2AgAgACACNgIEIAYpA0AQ8RoMCAsgBkEIaiABIAJBABB8IAYoAgwhAkEJQQYgBigCCEEBcRsMBQsgBkEQaiABIAIQnwIgBigCFCECQQlBBCAGKAIQQQFxGwwECyAIEOcNIgdFBEAgASgC2AIhASAGQQA6AEggASABIAZByABqEP0UIQJBCQwECwJAIAcoAgAiB0EbRwRAIAdBJEcNASABIAEpA0A3A3ggASgCKCABQSU2AihBJEYEQCABKAIsIQJBCQwGC0Hd6+AAQShBxN/fABDuFwALIAZBIGogASACEKkCIAYoAiQhAkEJQQcgBigCIEEBcRsMBAsgBUUEQCAGQcUBaiABQZcDaikAADcAACAGQcABaiABQZIDaikAADcDACAGQbgBaiABQYoDaikAADcDACAGIAEpAIIDNwOwASAIEOcNIgVFDQIgBSgCAEEC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ACABQQhrcWpBCGogBToAACAGIAYoAlhBAWo2AlggBiAGKAJUIAhBAXFrNgJUIAIgAUEEdGtBEGsiAiASNwMIIAIgFDcDACAOENkeIAZBBGoiAhDpHyAGKAIIIAAgBigCDCgCDBEAACACENkeIActAExBDHFBBEYNASAGLQBfQQFGDQQgBiAGKAIAQQFqNgIADAELIA4Q2R4LIAdBBzoATAsgA0GQAWokAA8LQcjN2AAQ7hQACyADQQA2AiggA0EBNgIcIANBkMPYADYCGCADQgQ3AiAgA0EYakGYw9gAELodAAvXDwEKfyMAQdABayIDJAACQCABKAIAIgotABQiBEECRiAEQQFxckUEQCAAIAEoAgQgASgCCCACQRxqQQAQ3hgMAQsCQAJAAkACQAJAAkACQEECIAIoAgBBgICAgHhzIgQgBEECTxtBAWsOAgIBAAsgAigCBCEEIANBADYCxAEgA0E4aiAEIANBxAFqEOEJIANBqAFqIAMoAjggAygCPBC2ESADKAKoASADQYABaiADKAKsASIFIAMoArABEP8GIAUQ1ikgAkEcaiEIDAILIAIoAhQhBCACKAIQIQUgA0G4AWogAigCBCACKAIIEJ0EIANBxAFqIAUgBBCdBCADQagBaiADKAK8ASIJIAMoAsABEPkIIAJBHGohCAJAAkACQCADLQCoAQ0AIAMoAqwBIgVFBEBBACEEDAILIAUgAygCsAEiBkHkw8cAQRAQ4x9FBEAgBSAGQfTDxwBBBhDjH0UEQCADQagBaiAFIAYQ+gggAy0AqAENAkEBIQQgAygCrAEiB0UNAyADQUBrIAcgAygCsAEgAygCyAEiByADKALMARDMCiADKAJAIgtFDQMgAygCRCEMQQMhBAwECyADQagBaiADKALIASIHIAMoAswBEIkPIAMtAKgBDQEgAygCrAEiBQRAIAMoArABIQZBAiEEDAQLQQEhBAwCCyADQagBaiADKALIASIHIAMoAswBEI0KIAMtAKgBDQBBASEEIAMoAqwBIgVFDQEgAygCsAEhBgwCCyADLQCpASEECyADKALEASADKALIARDWKSADKAK4ASAJENYpDAMLIAMgDDYCkAEgAyALNgKMASADIAY2AogBIAMgBTYChAEgAyAENgKAASADKALEASAHENYpIAMoArgBIAkQ1ikMAQsgA0GAAWogAigCCCACKAIMEP8GIAJBHGohCAsgAygCgAEiBkEERw0BIAMtAIQBIQQLIAMgBDoAdCADQYCAgIB4NgJwDAELIAMoAogBIQQgAygChAEhBQJAAkACQAJAIAZBAWsOAwIBAAMLIAMoApABIQYgAygCjAEhBwJAAkACQAJAAkACQCAFIARBgMTHAEEDEOMfRQRAIAUgBEGDxMcAQREQ4x8NASAFIARBlMTHAEEWEOMfDQIgBSAEQarExwBBDhDjHw0DIAUgBEG4xMcAQQoQ4x8NBCADQYCAgIB4NgJwIANBADoAdAwKCyADQagBahCQHUHwfCEEA0AgBEUNBSAHIAYgBEGAlsoAaigCACAEQYSWygBqKAIAEOMfDQYgBEEQaiEEDAALAAsgA0EYakGIrM4AQaMBIAcgBhDdCiADQYABaiADKAIYIAMoAhwQySEgAygCgAFBgICAgHhGBEAgA0GAgICAeDYCcCADQQE6AHQMCQsgA0H4AGogA0GIAWopAgA3AwAgAyADKQKAATcDcAwICyADQSBqQcjV1ABBDSAHIAYQ3QogA0GAAWogAygCICADKAIkEMkhIAMoAoABQYCAgIB4RgRAIANBgICAgHg2AnAgA0EBOgB0DAgLIANB+ABqIANBiAFqKQIANwMAIAMgAykCgAE3A3AMBwsgA0EoakGYstYAQQ4gByAGEN0KIANBgAFqIAMoAiggAygCLBDJISADKAKAAUGAgICAeEYEQCADQYCAgIB4NgJwIANBAToAdAwHCyADQfgAaiADQYgBaikCADcDACADIAMpAoABNwNwDAYLIANBMGpB4JjVAEESIAcgBhDdCiADQYABaiADKAIwIAMoAjQQySEgAygCgAFBgICAgHhGBEAgA0GAgICAeDYCcCADQQE6AHQMBgsgA0H4AGogA0GIAWopAgA3AwAgAyADKQKAATcDcAwFCyADQYCAgIB4NgJwIANBAToAdCADKAKoASADKAKsARDgKQwECyAEQaADaiEFQfCSygAhBANAIAUEQCADQYABaiIGIAQoAgggBCgCDBDeCiADQagBaiAGEIYYIAMoAoABIAMoAoQBEOApIAVBEGshBSAEQRBqIQQMAQUgA0H4AGogA0GwAWopAgA3AwAgAyADKQKoATcDcAwFCwALAAsgA0EQakGQ4s0AQaMBIAUgBBDdCiADQYABaiADKAIQIAMoAhQQySEgAygCgAFBgICAgHhGBEAgA0GAgICAeDYCcCADQQE6AHQMAwsgA0H4AGogA0GIAWopAgA3AwAgAyADKQKAATcDcAwCCyADQfAAaiAFIAQQrQcMAQsgBSAEQffFyABBDhDjH0UEQCAFIARBq5jIAEELEOMfRQRAIANBCGpBuPjTAEE8IAUgBBDdCiADQYABaiADKAIIIAMoAgwQySEgAygCgAFBgICAgHhGBEAgA0GAgICAeDYCcCADQQA6AHQMAwsgA0H4AGogA0GIAWopAgA3AwAgAyADKQKAATcDcAwCCyADQfAAahDzKgwBCyADQfAAahD0KgsgA0HIAGogASgCBCABKAIIIAggA0HwAGoQ/xYCQCADKAJIQYCAgIB4RgRAIANBgAFqIAogAi0ANCADQcwAahD2HSADKAKAASIBQYCAgIB4Rw0BCyAAIANByABqQSgQ/AYaDAELIABBBGogA0GEAWpBJBD8BhogACABNgIAIAMoAkgiAEGAgICAeEYEQCADKAJMIAMoAlAQ4CkMAQsgACADKAJMENYpCyADQdABaiQAC64OAQh/IwBB4ABrIgQkACAALQAkIQkgAEEDOgAkIAAtACUhCAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAWsOEhISAQIDEhIEBQYHCAkKCwwNDgALIAAgAUEEahCZIQwRCyABQQRqIAAQySwgAUEIaiAAENgsDBALIAFBDGogABCzJQwPCyABQShqIAAQ2CwMDgsgAUEEaiAAEMksIAFBCGoiBSAAENgsIAEoAhQEQCABQRRqIAAQ2CwLIAUoAgAiAiEBA0ACQAJAAkACQAJAIAEoAgBBBWsODAATEwQTExMBEwIDAxMLIAEoAighAQwECyABKAIIIQEMAwsgASgCDCEBDAILIAEoAhAhAQwBCyABKAIUIgENAAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAgBBAWsOEgECAwQFBgcICQoLDA0ODxAREgALIAJBFGohASACQRBqIQMMEgsgAkEIaiEBIAJBBGohAwwRCyACQQhqIQEgAkEEaiEDDBALIAJBEGohASACQQxqIQMMDwsgAkEIaiEBIAJBBGohAwwOCyACQQxqIQEg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QoCAgICAgECDDAELQQAhBUEAIQRCAAshDCADIAA6ADUgAyAMIA2EIAWtQhCGhDcBNiADIAE6ADQCQCABQf8BcUGAAUYEQEGAASEAA0ACfyAAQf8BcUGAAUcEQCAEQf8BcSIBIAdB/wFxTw0EIAEgAmotAAAhASAEQQFqDAELIAJCADcCAEEAIQcgC0EANgIAQQAhACAFIQFBACEFQQALIQQgCiABIAgoAhARAgBFDQALDAQLIARB/wFxIgQgB0H/AXEiAU8NACAEIAEgASAESRshACAIKAIQIQEDQCAKIAIgBGotAAAgARECAA0EIAAgBEEBaiIERw0ACwsgBiAJRw0ACwtBACEBDAELQQEhAQsgA0HgAGokACABC6QPAQF/IwBBMGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgAoAgBBAWsOIQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gIQALIAJBAjYCHCACQcS31gA2AhggAkIBNwIkIAJBCTYCFCACQaj44AA2AhAgAiACQRBqNgIgIAEoAhQgASgCGCACQRhqEK0kDCELIAJBADYCKCACQQE2AhwgAkGEuNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwgCyACQQA2AiggAkEBNgIcIAJByLjWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMHwsgAkEANgIoIAJBATYCHCACQfy41gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDB4LIAJBADYCKCACQQE2AhwgAkGcudYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwdCyACQQA2AiggAkEBNgIcIAJBvLnWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMHAsgAkEANgIoIAJBATYCHCACQdy51gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDBsLIAJBADYCKCACQQE2AhwgAkGAutYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwaCyACQQA2AiggAkEBNgIcIAJBvLrWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMGQsgAkEANgIoIAJBATYCHCACQeC61gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDBgLIAJBADYCKCACQQE2AhwgAkGou9YANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwXCyACQQA2AiggAkEBNgIcIAJBzLvWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMFgsgAkEANgIoIAJBATYCHCACQfS71gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDBULIAJBADYCKCACQQE2AhwgAkGMvNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwUCyACQQA2AiggAkEBNgIcIAJBtLzWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMEwsgAkEANgIoIAJBATYCHCACQeC81gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDBILIAJBADYCKCACQQE2AhwgAkH8vNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwRCyACQQA2AiggAkEBNgIcIAJBoL3WADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMEAsgAkEANgIoIAJBATYCHCACQcC91gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDA8LIAJBADYCKCACQQE2AhwgAkHovdYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwOCyACQQA2AiggAkEBNgIcIAJBjL7WADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMDQsgAkEANgIoIAJBATYCHCACQaS+1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDAwLIAJBADYCKCACQQE2AhwgAkG8vtYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwLCyACIAAoAgQ2AgwgAkECNgIcIAJBgL/WADYCGCACQgE3AiQgAkEJNgIUIAIgAkEQajYCICACIAJBDGo2AhAgASgCFCABKAIYIAJBGGoQrSQMCgsgAkEANgIoIAJBATYCHCACQcy/1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDAkLIAJBADYCKCACQQE2AhwgAkGEwNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwICyACQQA2AiggAkEBNgIcIAJBqMDWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMBwsgAkEANgIoIAJBATYCHCACQdjA1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDAYLIAJBADYCKCACQQE2AhwgAkG0wdYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwFCyACQQA2AiggAkEBNgIcIAJBoMLWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMBAsgAkEANgIoIAJBATYCHCACQazD1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kDAMLIAJBADYCKCACQQE2AhwgAkHUw9YANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahCtJAwCCyACQQA2AiggAkEBNgIcIAJB/MPWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQMAQsgAkEANgIoIAJBATYCHCACQcjE1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqEK0kCyACQTBqJAALmg4BDn8jAEGwAWsiAyQAIAFBKGoiBRC6ICELAkAgBRDNDSIERQRAIAEoAoACIQEgA0EAOgBoIAEgASADQegAahD9FCEBIABBgICAgHg2AgAgACABNgIEDAELAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAIAQSRGBEAgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRg0BQd3r4ABBKEH4k+AAEO4XAAsgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIANB9ABqIgYgAUHUAmopAgA3AgAgA0H8AGoiCCABQdwCaigCADYCACADIAEpAswCNwJsIAMgBDYCaCADQegAaiIKEMIKIANBADYCPCADQoCAgIDAADcCNCAKIAEgAhDKBCADKAJoIQQgAy0AgAEiB0ECRg0FIAFBzAJqIQkgA0HYAGoiDCAIKAIANgIAIANB0ABqIgggBikCADcDACADIAMpAmw3A0ggAyADKACBATYCQCADIANBhAFqKAAANgBDQSBBCBChICIGIAQ2AgAgBiAHOgAYIAYgAykDSDcCBCAGQQxqIAgpAwA3AgAgBkEUaiAMKAIANgIAIAYgAygCQDYAGSAG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GEEAIA5rIQUgASADayEGIAAgDkECdCIEaiENIAIgBGohCgNAIAsgC0EYahCMFiALKAIARQRAIAIgASAAEM8HDAILIAUgBiADIAsoAgQiBBsiByAOIAcgDksbaiEJIA0gBEECdCIEaiEIIAQgCmohByACIARqIQQDQCAJRQ0BIAcgCCgCADYCACAEIAcQ7BQgCUEBayEJIAhBBGohCCAHQQRqIQcMAAsACwALIAtBMGokAAvsDAIJfwR+IwBB8AVrIgMkACADIAI2AhwCQCABKAIAQQFxRQRAIANB4AFqQgA3AwAgA0HYAWpCADcDACADQdABakIANwMAIANCADcDyAEMAQsgA0HgAWogAUEgaikDADcDACADQdgBaiABQRhqKQMANwMAIANB0AFqIAFBEGopAwA3AwAgAyABKQMINwPIAQsCQAJ/AkAgAi8AsQJBswZxRQ0AAkACQCABLQBTQQFxRQRAQYABIQQDQCAEQf8BcUEBaiIFQf8BcSAFRw0CIANByAFqIAQQ9ykgBSEERQ0ACwwCCyADQf8BOgDuASADQYCAAjsB7AEDQCADQRhqIANB7AFqEOQSIAMtABhFDQMgA0HIAWogAy0AGRCzEgwACwALIANByAFqQf8BEPcpRQ0BCyAAQbEBNgIQIABBjPDDADYCDEEsIQVBCAwBCyADQcgAaiADQdQBaikCACINNwMAIANB0ABqIANB3AFqKQIAIgw3AwAgA0HYAGogA0HkAWooAgAiBDYCACADQSxqIA03AgAgA0E0aiAMNwIAIANBPGogBDYCACADIAMpAswBIgw3A0AgAyADKALIASIKNgIgIAMgDDcCJAJAIAEtAFIiBEECRiAEQQFxckUEQCADQfABakEAQYACEIoLGiADQf8BOgBiIANBADsBYANAIANBEGogA0HgAGoQ5BIgAy0AEEUNAiADLQARIgQgA0HwAWpqIAQ6AAAMAAsACyADQfgAaiACQaACaikDADcDACADQfAAaiACQZgCaikDADcDACADQegAaiACQZACaikDADcDACADIAIpA4gCNwNgAkAgA0EgahD+KQ0AQQAhBANAQYACIAQgBEGAAk0bIQYDQCAEIAZGDQIgBBDfGiEFIARBAWohBCADQSBqIAUQ2hVFDQALIAUhBgNAAkAgBEH/AUsNACADQSBqIAQQ3xoQ2hVFDQAgBBDfGiEGIARBAWohBAwBCwsgA0HgAGogBSAGEOQfDAALAAsgA0HwAWogA0HgAGoQqg4LIAIoAsgCIQdBGCEGIAMtAO8DIQggAS0AUUEBcQRAIAIoAtQCQRhsQRhqIQYLIANBCGoQ2RAgAyADKAIMIgk2AmQgAyADKAIINgJgIANB4ABqEPEeAkAgASgCLEGAgIABIAEoAigbIgUgB0EFbCACKALUAkECdGpBCWoiBCAHQQxsQRRBICAIQQFqZ2siC3RqIAZqIAlBA2xqaiAEQQF0akHkAGoiBEkEQCABLQBVQQFxRQ0BIAQhBQsgA0HwA2pBAEGAAhCKCxogA0EBOgDPBCADQQQ6AP0DIANBAzoA+gNBMCEEA0AgBEE6RkUEQCADQfADaiAEakEBOgAAIARBAWohBAwBCwtBwQAhBANAIARB2wBGBEBB4QAhBAJAA0AgBEH7AEYEQAJAIAItANgCIgRBCmsOBAMAAAMACwUgA0HwA2ogBGpBAToAACAEQQFqIQQMAQsLIANB8ANqIARqQQU6AAALIAEtAFAhByADQZgBaiABQUBrEOgPIAEtAFMhCCABLQBSIQkgAS0AUSEGIAEoAgBBAUYEQCADQcABaiABQSBqKQMANwMAIANBuAFqIAFBGGopAwA3AwAgA0GwAWogAUEQaikDADcDACADIAEpAwg3A6gBQgEhDgsgAS8BVCEEIAEpAyghDyABKQMwIQ0gASkDOCEMIABB2AJqIANB8AFqQYACEPwGGiAAIAo2AtgEIAAgDjcDACAAIAMpA0A3AtwEIABB5ARqIANByABqKQMANwIAIABB7ARqIANB0ABqKQMANwIAIABB9ARqIANB2ABqKAIANgIAIAAgAykDqAE3AwggAEEQaiADQbABaikDADcDACAAQRhqIANBuAFqKQMANwMAIABBIGogA0HAAWopAwA3AwAgACAMNwM4IAAgDTcDMCAAIA83AyggACAHOgBQIAAgBjoAUSAAIAk6AFIgACAIOgBTIAAgBDsBVCAAQcgAaiADQaABaikDADcDACAAIAMpA5gBNwNAIABB2ABqIANB8ANqQYACEPwGGiAAIAU2AoAFIAAgCzYC/AQgACACNgL4BAwEBSADQfADaiAEakEBOgAAIARBAWohBAwBCwALAAsgACAENgIMIABBKjYCCEEQCyAAaiAFNgIAIABCAjcDACADQRxqEOQeCyADQfAFaiQAC4oNAgN/AX4jAEFAaiIEJAACQAJAAkACQCACQQJqDgMAAgECC0EAIQJB+JbkAC0AABpBGBBgIgMEQEHfvOAAQQkQ1BohByADQQE6ABAgA0IANwMIIAMgBzcDACAEQQE2AjggBCADNgI0IARBATYCMAJAAkADQCACQRhGBEAgAEEEOgAADAMLIAIgA2oiBUEIaigCACEGAkACQAJAAkACQAJAAkACQAJAAkAgBUEQai0AAEUEQAJAIAZFDQAgBEEgaiABIAYQyxwgBC0AIEEERg0AIAQpAyAiB0L/AYNCBFINAgsgBEEgaiABQdm84ABBAhDNESAELQAgQQRHBEAgBCkDICIHQv8Bg0IEUg0DCyAEQRhqIAUQlgwgBEEgaiABIAQoAhggBCgCHBDNESAELQAgQQRHBEAgBCkDICIHQv8Bg0IEUg0ECwJAIAVBDGooAgAiBUUNACAEQSBqIAEgBRDLHCAELQAgQQRGDQAgBCkDICIHQv8Bg0IEUg0FCyAEQSBqIAEQsBEgBC0AIEEERg0JIAQpAyAiB0L/AYNCBFENCSAAIAc3AgAMDQsCQCAGRQ0AIARBIGogASAGEMscIAQtACBBBEYNACAEKQMgIgdC/wGDQgRSDQULIARBIGogAUHbvOAAQQIQzREgBC0AIEEERwRAIAQpAyAiB0L/AYNCBFINBgsgBEEQaiAFEJYMIARBIGogASAEKAIQIAQoAhQQzREgBC0AIEEERwRAIAQpAyAiB0L/AYNCBFINBwsgBUEMaigCACIFQQNJDQcgBEEgaiABIAVBAmsQyxwgBC0AIEEERg0HIAQpAyAiB0L/AYNCBFENByAAIAc3AgAMDAsgACAHNwIADAsLIAAgBzcCAAwKCyAAIAc3AgAMCQsgACAHNwIADAgLIAAgBzcCAAwHCyAAIAc3AgAMBgsgACAHNwIADAULIARBIGogAUHdvOAAQQIQzREgBC0AIEEERwRAIAQpAyAiB0L/AYNCBFINAgsgAS0ATQ0AIARBIGogARDMESAELQAgQQRGDQAgBCkDICIHQv8Bg0IEUg0DCyACQRhqIQIMAQsLIAAgBzcCAAwBCyAAIAc3AgALIARBMGoQ9SIMAwsACyAAQQQ6AAAMAQsgASgCRCIFBEAgBEEwaiAFIAIgA2sgASgCSCgCHBEEACAEKAIwQYCAgIB4RgRAIABBBDoAAAwCCyAEQShqIARBOGooAgAiAjYCACAEIAQpAjA3AyAgAkEYbCEDIAQoAiQhAgJAAkADQCADRQRAIABBBDoAAAwDCyACKAIIIQUCQAJAAkACQAJAAkACQAJAAkACQCACLQAQRQRAAkAgBUUNACAEQTBqIAEgBRDLHCAELQAwQQRGDQAgBCkDMCIHQv8Bg0IEUg0CCyAEQTBqIAFB2bzgAEECEM0RIAQtADBBBEcEQCAEKQMwIgdC/wGDQgRSDQMLIARBCGogAhCWDCAEQTBqIAEgBCgCCCAEKAIMEM0RIAQtADBBBEcEQCAEKQMwIgdC/wGDQgRSDQQLAkAgAigCDCIFRQ0AIARBMGogASAFEMscIAQtADBBBEYNACAEKQMwIgdC/wGDQgRSDQULIARBMGogARCwESAELQAwQQRGDQkgBCkDMCIHQv8Bg0IEUQ0JIAAgBzcCAAwNCwJAIAVFDQAgBEEwaiABIAUQyxwgBC0AMEEERg0AIAQpAzAiB0L/AYNCBFINBQsgBEEwaiABQdu84ABBAhDNESAELQAwQQRHBEAgBCkDMCIHQv8Bg0IEUg0GCyAEIAIQlgwgBEEwaiABIAQoAgAgBCgCBBDNESAELQAwQQRHBEAgBCkDMCIHQv8Bg0IEUg0HCyACKAIMIgVBA0kNByAEQTBqIAEgBUECaxDLHCAELQAwQQRGDQcgBCkDMCIHQv8Bg0IEUQ0HIAAgBzcCAAwMCyAAIAc3AgAMCwsgACAHNwIADAoLIAAgBzcCAAwJCyAAIAc3AgAMCAsgACAHNwIADAcLIAAgBzcCAAwGCyAAIAc3AgAMBQsgBEEwaiABQd284ABBAhDNESAELQAwQQRHBEAgBCkDMCIHQv8Bg0IEUg0CCyABLQBNDQAgBEEwaiABEMwRIAQtADBBBEYNACAEKQMwIgdC/wGDQgRSDQMLIAJBGGohAiADQRhrIQMMAQsLIAAgBzcCAAwBCyAAIAc3AgALIARBIGoQ9SIMAQsgAEEEOgAACyAEQUBrJAALuAsBDH8jAEHQAGsiDCQAIAJBKGshEAJAAkADQAJAIAFBIU8EQCAEDQEgACABIAIgA0EBEOMBDAQLIAFBAkkNAyABQRBqIANLDQJBASEDIAIgAUEBdiIEQShsIgVqIQggACAFaiEFAkAgAUEHSwRAIAAgAhCdByAFIAgQnQdBBCEDDAELIAIgAEEoEPwGGiAIIAVBKBD8BhoLIAxCgICAgCA3AxggDCAErUIghjcDEEEAIANrIQsgASAEayEJIAAgA0EobCIFaiENIAIgBWohEANAIAxBCGogDEEQahCMFiAMKAIIRQRAIAhBKGshBiAAIAFBKGxBKGsiBWohAyACIAVqIQcDQCAEBEAgACAIIAIgCCgCHCACKAIcSSAIKAIYIgAgAigCGCIFSSAAIAVGGyIAG0EoEPwGIAYgByAHKAIcIAYoAhxJIAcoAhgiBSAGKAIYIgpJIAUgCkYbIgUbIQogCCAAQShsaiEIIAIgAEEBc0EobGohAiAGIAVBWGxqIQYgBUEobCAHakEoayEHIARBAWshBCADIApBKBD8BkEoayEDQShqIQAMAQUgBkEoaiEDIAFBAXEEfyAAIAIgCCACIANJIgAbQSgQ/AYaIAggAiADT0EobGohCCACIABBKGxqBSACCyADRiAIIAdBKGpGcQ0HEKMbAAsACwALIAsgCSAEIAwoAgwiBRsiBiADIAMgBkkbaiEGIA0gBUEobCIFaiEHIAUgEGohCiACIAVqIQUDQCAGRQ0BIAUgCiAHQSgQ/AYiChCqByAGQQFrIQYgB0EoaiEHIApBKGohCgwACwALAAsgACABQQN2IgtBmAJsaiEGIAAgC0GgAWxqIQcgBEEBayEEIAxBEGogAAJ/IAFBwABPBEAgACAHIAYgCxC8CgwBCyAAIAAoAhwiCCAHKAIcIg1JIAAoAhgiCyAHKAIYIglJIAkgC0YbIg4gCCAGKAIcIg9JIAsgBigCGCIISSAIIAtGG0cNABogBiAHIA4gDSAPSSAIIAlLIAggCUYbcxsLIABrQShuIgtBKGxqIg1BKBD8BhoCQCAFBEAgBSgCHCANKAIcTyAFKAIYIgYgDSgCGCIHTyAGIAdGGw0BCyABIANLDQIgAiABQShsIghqIQlBACEHIAAhBiALIQoDQCAAIApBKGxqIQ4DQCAGIA5PBEAgASAKRwRAIAlBKGsiCSAHQShsaiAGQSgQ/AYaIAZBKGohBiABIQoMAwsgCCAQaiEJIAAgAiAHIgZBKGwiChD8BiAKaiIKIQgDQCABIAZGRQRAIAggCUEoEPwGIAZBAWohBiAJQShrIQlBKGohCAwBCwsgB0UNAyABIAdJBEAgDEEANgJIIAxBATYCPCAMQcTf4AA2AjggDEIENwJAIAxBOGpBzN/gABC6HQALIAogASAHayACIAMgBCAMQRBqENQBIAchAQwEBSAHQShsIAIgCUEoayIJIAYoAhwgDSgCHEkgBigCGCIPIA0oAhgiEUkgDyARRhsiDxtqIAZBKBD8BhogByAPaiEHIAZBKGohBgwBCwALAAsACyABIANLDQEgAiABQShsIgVqIQlBACEHIAAhBgNAIAAgC0EobGohCgNAIAYgCk8EQAJAIAEgC0cEQCACIAdBKGxqIAZBKBD8BhogBkEoaiEGIAdBAWohByAJQShrIQkgASELDAQLIAUgEGohCiABIAdrIgshBiAAIAIgB0EobCIAEPwGIABqIgAhCQNAIAYEQCAJIApBKBD8BiAGQQFrIQYgCkEoayEKQShqIQkMAQsLIAEgB0kNAEEAIQUgCyEBDAQLBSAHQShsIAIgCUEoayIJIA0oAhwgBigCHE8gDSgCGCIIIAYoAhgiDk8gCCAORhsiCBtqIAZBKBD8BhogByAIaiEHIAZBKGohBgwBCwsLCyAHIAFB3N/gABCuEAALAAsgDEHQAGokAAuVDQIgfwF+IwBBsAJrIgIkACABKAIEIQMgAkEIaiABKAIIIg5BCEHYABD5FCADIA5B2ABsaiESIAJB8AFqIQ8gAkHIAWohByACQYgBaiETIAJBkAFqIRAgAkGMAWohFCACQRBqQQRyIQkgAkEYaiEKIAIoAgwhESACKAIIIhUhDQNAIA1FIAMgEkZyRQRAIBEgDEHYAGxqAkACQAJAAkACQAJAAkACQAJAAkAgAygCACIBQQRrQQAgAUEFa0EISRtBAWsOCAECAwQFBgcIAAsgAygCTCEXIAMoAjwhGCADKAI4IRkgAkHoAGogAxDMDiADKAJEIRogAiADKAJIIgZBCEHAABD5FCAGQQZ0IRtBACEEIAIoAgQhCCACKAIAIhwhBQNAIAVFIAQgG0ZyRQRAAkAgBCAaaiIBKAIAQQdGBEAgAUEsaigCACEdIAFBKGooAgAhHiACQYACaiABQTBqEMoLIAFBCGohCyABQT1qLQAAIR8gAUE8ai0AACEgIAFBPmotAAAhIQJAIAFBHGotAABBAkcEQCACQZACaiALELEjDAELIAFBEGopAgAhIiALEPAZIQsgAUEMahDwHCEBIAJBAjoApAIgAiAiNwOYAiACIAE2ApQCIAIgCzYCkAILIAcgAikDkAI3AwAgDyACKQOAAjcDACAHQRhqIAJBqAJqKQMANwMAIAdBEGogAkGgAmopAwA3AwAgB0EIaiACQZgCaikDADcDACAPQQhqIAJBiAJqKAIANgIAIAIgHTYC7AEgAiAeNgLoASACICE6AP4BIAIgHzoA/QEgAiAgOgD8ASACQQc2AsABDAELIAJBwAFqIAEQiB8LIAQgCGogAkHAAWpBwAAQ0C0aIAVBAWshBSAEQUBrIQQMAQsLIAIgBjYCsAEgAiAINgKsASACIBw2AqgBIBMgA0EgahC2ICACIBc2ArQBIAIgGDYCpAEgAiAZNgKgASACIAMvAVA7AbgBIAJBEGogAkHoAGpB2AAQ/AYaDAgLIAMpAighIiACQegAaiIBIANBCGoQzA4gAiADQTBqEP4LNgKQASACICI3A4gBIAIgAy0AOToAmQEgAiADLQA0OgCUASACIAMoADU2AJUBIAogAUE4EPwGGiACQQU2AhAMBwsgAykCGCEiIAJB6ABqIgEgA0EIahDMISACIANBIGoQ/gs2AoABIAIgIjcDeCACIAMtACY6AIYBIAIgAy0AKToAiQEgAiADLwAnOwCHASACIAMvACQ7AYQBIAogAUEoEPwGGiACQQY2AhAMBgsgAykCKCEiIAJB6ABqIgYgA0EIahDMDiADQTxqEPQkIQEgA0FAaxCSHCEEIAMtAEQhBSAQIANBMGoQygsgAiAFOgCkASACIAQ2AqABIAIgATYCnAEgAiAiNwOIASACIAMtAEs6AKsBIAIgAy8ASTsAqQEgAiADKABFNgClASAKIAZByAAQ/AYaIAJBBzYCEAwFCyADKQIYISIgAygCICEBIAJB6ABqIgggA0EIahDMISADQSRqEPQkIQQgA0EoahCSHCEFIAMtADkhBiAUIANBLGoQygsgAiAGOgCZASACIAU2AogBIAIgBDYChAEgAiABNgKAASACICI3A3ggAiADKAE6NgGaASACIAMtADg6AJgBIAogCEE4EPwGGiACQQg2AhAMBAsgCSADQQRqELceIAJBCTYCEAwDCyACQQo2AhAgAiADKQIENwIUDAILIAMpAhwhIiACQegAaiADQQRqENIfIAlBGGogIjcCACAJ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IAEoAighAyABQSU2AiggASABKQNANwN4IAUgB0EIaikCADcCACAJIgYgB0EQaigCADYCACACIAcpAgA3AlwgAiADNgJYIAwQwwogAkEBOgD7ASACIAEpAYIDNwDvASACIAFBigNqIgMoAQA2APcBIAIgASkAjwM3APwBIAIgAUGXA2oiCCkAADcAhAIgAkHxAGogCCkAADcAACAGIAFBkgNqKQEANwIAIAUgAykBADcCACACIAEpAYIDNwJcIAFBgAFqIAJB7wFqEMgIIAIgATYCWCACQQhqIAEQlAIgAigCDCEGIAIoAghFBEAgDSEDIA4hBSACIAY2AowCIAwQoCYCQAJAAkAgAigCwAEiCEEBaw4GAAAAAgICAQsgBSEDCyABKAJ8IQVBDEEEEKEgIgkgBjYCACAJIAsgBSAFIAtJGzYCCCAJIAsgBSAFIAtLGzYCBCADEI8oIAMgCTYCAAwCCyACQYwCahC9BQwBCyACQdgAahCgJgwBCyAEEOcNIgMEQCADKAIAQQpGDQILIAJB4ABqIAQQ6wsgAiAEELMUIAJBgOXfADYCXCACQTQ6AFggAigCACACKAIEIAJB2ABqEP0UIQYgBBDnDSIDRQ0AIAMoAgBBJEcNACABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBCABIAEoAiwQhgwLIAJBwAFqEKwSDAILIAEoAighAyABQSU2AiggASABKQNANwN4IAJB5ABqIAdBCGopAgA3AgAgAkHsAGogB0EQaigCADYCACACIAcpAgA3AlwgAiADNgJYIAJB2ABqEMMKIAJBIGogAkHIAWoiA0EIaikDADcDACACQShqIANBEGopAwA3AwAgAkEwaiADQRhqKQMANwMAIAIgAykDADcDGCACKALEASEGCyACQdAAaiIDIAJBMGopAwA3AwAgAkHIAGoiBSACQShqKQMANwMAIAJBQGsiByACQSBqKQMANwMAIAIgAikDGDcDOCACQcABaiABQQAQmQYgAkHoAGogBykDADcDACACQfAAaiAFKQMANwMAIAJB+ABqIAMpAwA3AwAgAiAENgKEASACIAY2AlwgAiAINgJYIAIgAikDODcDYCACKALAASACIAJBFGo2AoABQYCAgIB4RwRAIAJBoAFqIAMpAwA3AwAgAkGYAWogBSkDADcDACACQZABaiAHKQMA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gICAeEcEQCACQcgAaiACQewAaigCADYCACACIAIpAmQ3A0AgAkEQaiACQUBrEI8QIAIoAhAhASACKAIUIgQEQCAAIAEgBBCJDjYCGCAAIAQ2AgggACABNgIEIABBATYCAAwDCyAAEMYoIAFBABDWJAwCCyAAIAJBLGoQ6gc2AhggAEECNgIAIABBFGogAkE8aigCADYCACAAQQxqIAJBNGopAgA3AgAgACACKQIsNwIEDAoLIAJB6ABqEI8dIAJBATYCZCAAIAJB5ABqEOoHNgIYIABBAjYCACAAQRRqIAJB9ABqKAIANgIAIABBDGogAkHsAGopAgA3AgAgACACKQJkNwIECyACQSxqEKseDAgLIAAgASgCBCIBEMIUNgIYIAAgATYCBCAAQQM2AgAMBwsgAkHkAGogASgCDBDqASABKAIEIQQgASgCCCEGIAEtABQhByABKAIQIQVBHEEEEKEgIgNBGGoiASACQfwAaigCADYCACADQRBqIAJB9ABqKQIANwIAIANBCGogAkHsAGopAgA3AgAgAyACKQJkNwIAIAIgBTYCOCACIAc6ADwgAiAGNgIwIAIgBDYCLCACIAM2AjQgASgCACIBKAIIQQFHDQQgASgCDA0EIAJBATYCLCACIAVBAEciBTYCOCACIARBAXMgBkEAR3IiBjYCMEEBDAULIAEoAgQhAQwBCwsgASgCCCEFIAJBGGogASgCDCIDQRwQvBQgAkEANgJUIAIgAikDGDcCTCACQcwAaiADEOkeIAIoAlQhASACIAMEfyABIANqIAIoAlAgAUEcbGohAQNAIAJB5ABqIAUQ6gEgAUEYaiACQfwAaigCADYCACABQRBqIAJB9ABqKQIANwIAIAFBCGogAkHsAGopAgA3AgAgASACKQJkNwIAIAFBHGohASAFQRxqIQUgA0EBayIDDQALBSABCzYCVCAAIAJBzABqEKsBDAMLIAEoAgghBSACQSBqIAEoAgwiA0EcELwUIAJBADYCYCACIAIpAyA3AlggAkHYAGogAxDpHiACKAJgIQEgAiADBH8gASADaiACKAJcIAFBHGxqIQEDQCACQeQAaiAFEOoBIAFBGGogAkH8AGooAgA2AgAgAUEQaiACQfQAaikCADcCACABQQhqIAJB7ABqKQIANwIAIAEgAikCZDcCACABQRxqIQEgBUEcaiEFIANBAWsiAw0ACwUgAQs2AmAgACACQdgAahBZDAILIAQLIQECQAJAAkACQCAFDgIAAQILIAFFIAZyDQEgABDGKCADEKcjDAILIAFFIAZBAUdyDQAgACADKQIANwIAIABBGGogA0EYaigCADYCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIADAELIAAgAkEsahD2BjYCGCAAQQQ2AgAgACACKQIsNwIEIABBFGogAkE8aigCADYCACAAQQxqIAJBNGopAgA3AgAMAQsgAxDtKgsgAkGAAWokAAv8CgEHfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiAkEMayIEIARBJk8bQQFrDiQAAQIUFQMEBQYHCAkWExMWCgsMDRMUFA4TEw8QFxQUFxEXExITCyAAKAIMQQR0IQMgACgCCCEAA0AgA0UNEyAAKAIAQQJHBEAgAEEMaiABEP4sCyAAQRBqIQAgA0EQayEDDAALAAsgAEEEaiABEIIKDwsgACgCICABEKQQDwsgAEEEaiABEP4sIABBCGogARD+LA8LIABBOGoCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBaw4LAQIDBAUGBwgJCwoACyAAKQMIIAAoAhggARC4HAwKCyAAQQhqIAEQnh8MCQsgAEEIaiABEIwiDAgLIABBBGogARD+LAwHCyAAQQRqIAEQgBkMBgsgAEEEaiABENklDAULIABBBGogARDZJQwECyAAQQRqIAEQ/iwMAwsgAEEEaiABENklDAILIABBBGogARDaJQwBCyAAQQhqIQICQAJAIAAoAgRBAWsOAgECAAsgAiABEJEVDAELIAIgARC8CwsgARD+LA8LIABBCGogARCeHw8LIABBCGogARCMIg8LIABBBGogARD+LCAAQQhqIAEQ/iwMDQsgAC0AGEEFRgRAIABBEGogARD+LAsgAEEEaiABEIEZIABBKGogARDvIw8LIABBEGogARD+LCAAKAIEQYCAgIB4RwRAIABBBGogARCBGQsgAEEgaiABEO8jDwsgAEEEaiABEP4sIABBGGogARDvIyAAKAIIIAEQpxoPCyAAKAIMQShsIQMgACgCCCECA0AgAwRAIAIgARCqESADQShrIQMgAkEoaiECDAEL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ACACKAIAQQpHDQAgASgCyAIhAiABQSU2AsgCIAEgASkD4AI3A5gDIANBlAFqIAZBCGopAgA3AgAgA0GcAWogBkEQaigCADYCACADIAYpAgA3AowBIAMgAjYCiAEgA0GIAWoQwgogAEEIaiADQfQAaigCADYCACAAIAMpAmw3AgAMBAsgA0GQAWogBBCSECADQRBqIAQQgBQgA0GA5d8ANgKMASADQTQ6AIgBIAMoAhAgAygCFCADQYgBahD9FCECAkAgBBDNDSIERQ0AIAQoAgBBJEcNACABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRGBEAgASABKALMAhD/CwwBC0Hd6+AAQShBsIfgABDuFwALIABBgICAgHg2AgAgACACNgIEDAELIABBgICAgHg2AgAgACACNgIECyADQewAahDkJgwBCyAAQYCAgIB4NgIAIAAgAjYCBAsgA0HIAGoQhCUgA0GwAWokAAutCwIGfwF+IwBBQGoiAyQAIANBMGogAiABQQxBACABLQAlIgRBAkYbaigCAEEAENMBAkACQAJAAkACQAJAAkACQAJAIAMtADBBBEcEQCADKQMwIglC/wGDQgRSDQELIANBADYCGCADQTBqIAIgA0EYakHatOAAQQEQrBMCQCADLQAwQQRGDQAgAykDMCIJQv8Bg0IEUQ0AIAAgCTcCAAwJCyACIAIoAixBAWo2AiwgBEECRw0BIAEoAgQgASgCECEHIANBMGogASgCDCIIIAEoAggiBEGBgAQgBBDoFyADLQAwQQVHBEAgAykDMCEJDAULIAMoAjQaIARFDQICQCACLQBNDQAgA0EwaiACELARIAMtADBBBEYNACADKQMwIglC/wGDQgRSDQULIANBADoAJiADQQA6ACdBNGohASAEIQYDQCAGRQRAIANBMGogAiAIIAdBgYAEIAUgCUIgiKcQ1gEgAy0AMEEERg0FIAMpAzAiCUL/AYNCBFINBgwFCyADIAk3AjQgAyAFNgIwIANBEGogAUE0ayIFEM4RIANBKGogAiAHQYGABCADQTBqIAMoAhAgAygCFCADQSdqIANBJmoQkQQgAy0AKEEERwRAIAMpAygiCUL/AYNCBFINBgsgA0EwaiAFIAIQNCADLQAwQQRHBEAgAykDMCIJQv8Bg0IEUg0GCwJAIAMtACZFBEAgA0EBOgAm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AmopAAA3AwAgAyABKQCqAjcDSCAEEKcTIgJFDQEgAigCAEECRw0BIANByABqIAItAAggAkEJai0AABDdCQ0BIAQQzQ0iAkUEQCABKAKAAiEBIANBADoAaCABIAEgA0HoAGoQ/RQhAgwDCyACKAIAQSRGBEAgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRgRAIAEoAswCIQIMBAtB3evgAEEoQejz3wAQ7hcACyABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0H0AGogAUHUAmopAgA3AgAgA0H8AGogAUHcAmooAgA2AgAgAyABKQLMAjcCbCADIAI2AmggA0HoAGoiAhDCCkEBIQUgBBDNDQ0BIAEoAoACIQEgA0EAOgBoIAEgASACEP0UIQIMAgtB3evgAEEoQdjz3wAQ7hcACyADQf0AaiABQb8CaikAADcAACADQfgAaiABQboCaikAADcDACADQfAAaiABQbICaikAADcDACADIAEpAKoCNwNoAkAgBBDNDSICRQ0AIAIoAgBBAkcNACADQegAaiACLQAIIAJBCWotAAAQ3QkNACAEEKcTIgJFDQAgAigCAEECRw0AIAItAAgNACACLQAJQQ5HDQAgBBD/IEEBcyEGCyAFIAZyRQRAIANBEGogAUEAIAcQgAcgAygCFCECIAMoAhAhCAwCCyADQZgBaiIKIAEQ0QQgAygCoAEhAiADKQOYASILUA0AIAMgAygCpAE2ApQBIAMgAjYCkAEgAyALNwOIAUEAIQICQAJAIAYEQCAEEM0NIgJFBEAgASgCgAIhASADQQA6AJgBIAEgASAKEP0UIQIMAwsgAigCAEEkRgRAIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEcNAiABKALMAiECDAMLIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyADQaQBaiABQdQCaikCADcCACADQawBaiABQdwCaigCADYCACADIAEpAswCNwKcASADIAI2ApgBIANBmAFqEMIKIANBCGogAUEAIAQQuiAQgAcgAygCDCECIAMoAggNAgsgASgCnAMhBiADQbgBaiADQYgBahCcHCADQawBaiADQcgBaikDADcCACADQaQBaiADQcABaikDADcCACADIAMpA7gBNwKcAUHYAEEIEKEgIgRBEjYCACAE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aiIEENUgIQcCQAJAAkACQCAEIAIQ4w5FBEAgBBDnDSIFRQRAIAEoAtgCIQUgA0EAOgBoIAUgBSADQegAahD9FBDIGCEFCyADQbMCNgKcASADIAU2ArgBQQEhCCADQQE2AkwgA0H89uAANgJIIANCATcCVCADIANBuAFqNgKYASADIANBmAFqNgJQIANB8ABqIANByABqEPAUIANBGGogBBCzFCADIAI2AmwgA0E0OgBoIAMoAhggAygCHCADQegAahD9FCECIAQQ5w0iBEUNBCAEKAIAQSRHDQQgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQEgASABKAIsEIYMDAQLIAQQ1SAhCSAEEOcNIgJFDQEgAigCAEECRw0BIAItAAgNASACLQAJQRRHDQEgA0HdAGogAUGXA2opAAA3AAAgA0HYAGogAUGSA2opAAA3AwAgA0HQAGogAUGKA2opAAA3AwAgAyABKQCCAzcDSCAEENsSIgJFDQEgAigCAEECRw0BIANByABqIAItAAggAkEJai0AABDdCQ0BIAQQ5w0iAkUEQCABKALYAiEBIANBADoAaCABIAEgA0HoAGoQ/RQhAgwDCyACKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRGBEAgASgCLCECDAQLQd3r4ABBKEHo898AEO4XAAsgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0H0AGogAUE0aikCADcCACADQfwAaiABQTxqKAIANgIAIAMgASkCLDcCbCADIAI2AmggA0HoAGoiAhDDCkEBIQUgBBDnDQ0BIAEoAtgCIQEgA0EAOgBoIAEgASACEP0UIQIMAgtB3evgAEEoQdjz3wAQ7hcACyADQf0AaiABQZcDaikAADcAACADQfgAaiABQZIDaikAADcDACADQfAAaiABQYoDaikAADcDACADIAEpAIIDNwNoAkAgBBDnDSICRQ0AIAIoAgBBAkcNACADQegAaiACLQAIIAJBCWotAAAQ3QkNACAEENsSIgJFDQAgAigCAEECRw0AIAItAAgNACACLQAJQQ5HDQAgBBC1IUEBcyEGCyAFIAZyRQRAIANBEGogAUEAIAcQhQcgAygCFCECIAMoAhAhCAwCCyADQZgBaiIKIAEQ0wQgAygCoAEhAiADKQOYASILUA0AIAMgAygCpAE2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BjYCACAEQbABaiQAC4YLAQJ/IwBBEGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAQQxrIgMgA0EmTxtBAWsOJQECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUACyACIABBBGo2AgwgAUHL/9kAQQQgAkEMakHEAhDICgwlCyACIABBBGo2AgwgAUGJruAAQQUgAkEMakHFAhDICgwkCyACIABBBGo2AgwgAUGSruAAQQYgAkEMakHGAhDICgwjCyACIABBCGo2AgwgAUHBut8AQQIgAkEMakHHAhDICgwiCyACIABBBGo2AgwgAUHP/9kAQQUgAkEMakHIAhDICgwhCyACIABBBGo2AgwgAUHU/9kAQQYgAkEMakHJAhDICgwgCyACIABBBGo2AgwgAUHa/9kAQQMgAkEMakHKAhDICgwfCyACIAA2AgwgAUGYruAAQQYgAkEMakHLAhDICgweCyACIABBCGo2AgwgAUHZldoAQQYgAkEMakHMAhDICgwdCyACIABBCGo2AgwgAUHfldoAQQkgAkEMakHNAhDICgwcCyACIABBBGo2AgwgAUHd/9kAQQQgAkEMakHOAhDICgwbCyACIABBBGo2AgwgAUHh/9kAQQQgAkEMakHPAhDICgwaCyACIABBBGo2AgwgAUHl/9kAQQMgAkEMakHQAhDICgwZCyACIABBBGo2AgwgAUHo/9kAQQMgAkEMakHRAhDICgwYCyACIABBCGo2AgwgAUGEruAAQQUgAkEMakHSAhDICgwXCyACIABBCGo2AgwgAUHr/9kAQQMgAkEMakHTAhDICgwWCyACIABBBGo2AgwgAUHwj9oAQQMgAkEMakHUAhDICgwVCyACIABBBGo2AgwgAUHdk9oAQQkgAkEMakHVAhDICgwUCyACIABBBGo2AgwgAUHu/9kAQQUgAkEMakHWAhDICgwTCyACIABBCGo2AgwgAUG8ut8AQQUgAkEMakHXAhDICgwSCyACIABBBGo2AgwgAUHz/9kAQQUgAkEMakHYAhDICgwRCyACIABBBGo2AgwgAUH4/9kAQQggAkEMakHZAhDICgwQCyACIABB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IQYgACAFNgIEIAAgBjYCACAEQbABaiQAC+YLAgh/A34jAEGgB2siAyQAIANB+ABqQcif4wApAwAiDDcCACADQQA2AmwgA0KAgICAwAA3AmQgA0EAOgBgIANBATYCgAEgA0Gwv9gANgJcIANCgICAgBA3AlQgA0KAgICAwAA3AkwgA0ELNgIAIANBwJ/jACkDACINNwJwIANBxANqQbTb2gBBBRC2ESADQQo2AsADIANBwANqIgUQpR0hBCAFIAEgAhC2ESADIAMgBCAFEF8iBjYChAEgA0GQAWpBADsBACADQgA3A4gBIANBADYCnAEgA0KAgICAwAA3ApQBIAUgBkEIahC7ESADQaABaiIBIANBiAFqQQEgBUEAEMkFIAMgAy0AmwMgAy0AmANBAkZxOgDuBiADIAMpAaIDNwDgBiADIAMoAaoDNgDoBiADIAMvAa4DOwDsBiADIAMpALEDNwDvBiADIAMoALkDNgD3BiADIAMvAL0DOwD7BiABIANB4AZqIgQQ0AggA0HoA2ogAUH0ARD8BiEBIAMoApQDIQIgA0HgBWogA0GYA2pBKBD8BhogA0HcA2ogDDcCACADIAI2AtwGIAMgAjYC2AYgAyACNgLcBSADQSU2ArAGIANBJTYCiAYgA0EANgLQAyADQoCAgICAATcDyAMgA0EANgLAAyADQQA6AOQDIAMgDTcC1AMgAyADLQDqBToA4AYgA0EAOgDhBiADIAMtAIYGOgD8BiADIAMpAuwFNwDiBiADIAMpAvQFNwDqBiADIAMpAvwFNwDyBiADIAMvAYQGOwD6BiABIAQQ0AggARC6ICECAkACQCABEM0NIgFFBEAgAygCwAUhASADQQA6AIgHIAMgASABIANBiAdqEP0UNgKEByADQQE2AoAHDAELIANBADYCgAcgAyABNgKEByABKAIAQSNHDQAgAyADKQOgBjcD2AYgAygCiAYgA0ElNgKIBkEjRw0BIAMpA5AGIQsLIANBgAdqELkjIANBiAdqIANBwANqQQFBAUEAEIgDAkAgAygCiAciB0GAgICAeEcEQCACIAMoAtwGIgEgASACSxshASADKAKQByEJIAMoAowHIQoMAQsgAygCjAchASALEOsmQYCAgIB4IQcLIANB4AZqIgggAygCxAUQ+RAgAygC5AYhBCADQZQBaiADKALoBiICEIof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IAkQtCkFIARBMGoQrBILDAALAAsgAhD9IgsgBEHgAWokAAuRCgILfwN+IwBB4AFrIgIkAAJAIAEtABRBAkcEQCABKAIYIQQgAkE0akHIn+MAKQMAIg03AgAgAkHAn+MAKQMAIg43AiwgAkEAOwFeIAJBADYCVCACQoCAgICAATcCTCACQQA6AEggAkEANgJEIAJCgICAgMAANwI8IAJBADYCKCACQoCAgICAATcCICACIAAvATw7AVwgAiAAKAI4NgJYIAJBEGogASkDACIPIAEoAhAiCBC3IyACQSBqIAIpAxAgAigCGEEBEI4GIAJB9ABqIA03AgAgAkEANgKUASACQoCAgICAATcCjAEgAkEAOgCIASACQQA2AoQBIAJCgICAgMAANwJ8IAJBADYCaCACIA43AmwgAkEAOwGeASACIAIvAVw7AZwBIAIgAigCWDYCmAEgAkKAgICAgAE3AmAgBEEYaiEJIARBDGogBCgCCEEGdCEBIAJBjAFqIQYgAkHMAGohBSACQTxqIQcgAkEsaiELIAQoAgQhAwJAA0AgAUUNASADKAIAIQwgAUFAaiEBIANBQGshAwJAIAxBAmsOAwABAAELCyACIA8gCBC3IyACQeAAaiACKQMAIAIoAggQxxALIAJB4ABqIgEQmBogBCABEKIaIAEgCRDlIwJAAkAgAigClAEiAQRAIAsgARCAKSACQaQBaiACKAKQASACKAKUARCdCiACIAIoAqQBNgK4ASACIAIoAqgBIgE2ArABIAIgASACKAKsAUEEdCIDaiIENgK8AQNAIANFDQIgAkHgAGogASkDACABKAIIEMcQIANBEGshAyABQRBqIQEMAAsACyACQbABaiIBIAJB4ABqQSwQ/AYaIAcgARCaGiAGEIUjDAELIAIgBDYCtAEgAkGwAWoQkxcgAi0ASEUEQCACQSBqIAIoApQBEI0eIAIgAigCjAE2ArgBIAIgAigCkAEiATYCsAEgAiABIAIoApQBQQR0IgNqIgQ2ArwBA0AgAwRAIAJBIGogASkDACABKAIIQQEQjgYgA0EQayEDIAFBEGohAQwBCwsgAiAENgK0ASACQbABaiIBEJMXIAEgAkHgAGpBLBD8BhogByABEJoaDAELIAJBuAFqIAZBCGooAgA2AgAgAiAGKQIANwOwASAFIAJBsAFqIgEQohAgASACQeAAakEsEPwGGiAHIAEQmhoLAkAgAigCVCIBBEAgAEEMaiABEIApIAJBsAFqIAIoAlAgAigCVBCdCiACIAIoArABNgJoIAIgAigCtAEiATYCYCACIAEgAigCuAFBBHQiA2oiBDYCbANAIANFDQIgAkEgaiABKQMAIAEoAggQxxAgA0EQayEDIAFBEGohAQwACwALIAJB4ABqIgEgAkEgakEsEPwGGiAAQRxqIAEQmhogBRCFIwwCCyACIAQ2AmQgAkHgAGoQkxcgAC0AKEUEQCAAIAIoAlQQjR4gAiACKAJMNgJoIAIgAigCUCIBNgJgIAIgASACKAJUQQR0IgNqIgQ2AmwDQCADBEAgACABKQMAIAEoAghBARCOBiADQRBrIQMgAUEQaiEBDAELCyACIAQ2AmQgAkHgAGoiARCTFyABIAJBIGpBLBD8BhogAEEcaiABEJoaDAILIAJB6ABqIAVBCGooAgA2AgAgAiAFKQIANwNgIABBLGogAkHgAGoiARCiECABIAJBIGpBLBD8BhogAEEcaiABEJoaDAELIAFBGGogABD0LAsgAkHgAWokAAu9CgIMfwN+IwBBgAFrIgIkACACQQhqIAEQRAJAIAIoAghBJUYEQCAAQSU2AgAMAQsgAkEwaiACQQhqQSgQ/AYaAkACQAJAAkAgASgCoAIiBigCCEUEQCAGQX82AgggBkEMaiEIIAIoAkghCwNAAkAgBigCFCIDBEAgBigCECADQQFrIgNBKGxqIgUoAhggC08NAQtBAyEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBECACKAIwIgRBAmsiCSAJQSNPG0EBaw4iKAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gIQALQgMhDgJ+AkACQAJAAkBBBCACLQA4IgFBAmtB/wFxIgUgBUEETxtBAWsOBCsBAgMAC0ICIQ4MKQtCBAwCC0IFDAELIAFBAXFFBEBCACEODCcLIAIpA0AQ9BohD0IBCyEODCYLQQQhAQwmC0EFIQEMJQtBBiEBDCQLQQchAQwjC0EIIQEMIgtBCSEBDCELQQohAQwgC0ELIQEMHwtBDCEBDB4LQQ0hAQwdC0EOIQEMHAtBDyEBDBsLQRAhAQwaC0ERIQEMGQtBASEBIAIpA0AQ9BohDwJAIARBAXFFBEBBACEBIAIpAzgQ9BohDgwBCyACQTBqQQRyEJYDIQoLIA5CgIB8gyEQIA5CCIinIQMgD0IgiKchByAPpyEFDBgLQRMhAQwXC0EUIQEMEwtBFSEBDBILQRYhAQwUC0EXIQEMEwtBGCEBDBILQRkhAQwRC0EaIQEMEAsgAikDOBD0GiIOQoCAfIMhECAOQgiIpyEDIAIpA0AQ9BoiD0IgiKchByAPpyEFQRshAQwPCyACKQM4EPQaIg5CgIB8gyEQIA5CCIinIQMgAikDQBD0GiIPQiCIpyEHIA+nIQVBHCEBDA4LIAIpA0AhDyACKQM4EPQaIg5CgIB8gyEQIA9CIIinIQcgDkIIiKchAyAPpyEFQR0hAQwNCxDoIiEFIAIoAkAiAS0ADCEDIAJB2ABqIAFBBGooAgAgAUEIaigCABDBFSAFIAIpAlg3AgAgAiADOgBkIAVBCGogAkHgAGopAgA3AgAgAikDOBD0GiIOQoCAfIMhECAOQgiIpyEDQR4hAQwMCyACKQM4EPQaIg5CgIB8gyEQIA5CCIinIQNBHyEBDAsLIAIpAzgQ9BoiDkKAgHyDIRAgDkIIiKchAyACKQNAEPQaIg9CIIinIQcgD6chBUEgIQEMCgtBISEBDAkLQSIhAQwICyACKQM4EPQaIg5CgIB8gyEQIA5CCIinIQNBIyEBDAcLQSQhASACQTBqQQRyEJYDIQoMBgsgBiADNgIUIAJB2ABqIgEgBUEoEPwGGiABEKQmDAALAAtB6NzgABDtFAALIAItADQhCgwCCyACLQA5IQMLIA9CIIinIQcgD6chBUECIQELIAIoAkwhDCACLQBQIQ0gBigCFCIJIAYoAgxGBEAjAEEQayIEJAAgBEEIaiAIIAgoAgBBAUEIQSgQzQggBCgCCCIIQYGAgIB4RwRAIAggBCgCDBDcKQALIARBEGokAAsgBigCECAJQShsaiIEIA06ACAgBCAMNgIcIAQgCzYCGCAEIAc2AhQgBCAFNgIQIAQgDkL/AYMgA61C/wGDQgiGIBCEhDcDCCAEIAo2AgQgBCABNgIAIAYgCUEBajYCFCAAIAJBCGpBKBD8BhogBiAGKAIIQQFqNgIICyACQYABaiQAC8AKAQx/IwBB8ABrIgEkAEEMIQMgACgCBCIGQYABaiAAKAIAIgQtAFFBAXEEfyAEKAL4BCgC1AJBBmxBDGoFIAMLEOYPIAFBOGoQ2RAgASgCPCEIIAEoAjgiAyADKAIAIgJBAWo2AgACQAJAAkACQAJAAkACQCACQQBIDQAgASAINgJsIAEgAzYCaCAEIAYgCBD9H0UEQCAAEPwLDQILIAFBMGogABC8DyABKAIwDQEgASgCNCADIAgQ+ykhBSAGQfQAaiIKQQEgBCgC/AR0EOYPQYCAgMB4QYCAgIB4IAUbciECAkAgBEHYBGoiBRD+KQ0AIAQgAhD1HQ0AIAQQxhUhCSABQQA2AlQgASAFNgJQIAAoAgQhByAAKAIAIQsDQCABQShqIAFB0ABqENgRIAEtAChFDQEgCyAHIAIgAS0AKUEIdCAJENoIDAALAAsgBiAGKAJoIAhqNgJoIAMgAygCACIJQQFqNgIAIAlBAEgNACAGQYwBaiIJIAMgASgCbCIHENoYIAYgASgCaCAHIAIQ4gcgASACNgJEIAMgAygCACICQQFqNgIAIAJBAEgNACABIAg2AmwgASADNgJoIAQgBiAIEP0fRQRAIAAQ/AsNAwsgAUEgaiAAELwPIAEoAiANAiABKAIkIAMgCBD7KSEHIApBASAEKAL8BHQQ5g9BgICAwARBgICAgAQgBxtyIQICQCAFEP4pDQAgBCACEPUdDQAgBBDGFSEHIAFBADYCVCABIAU2AlAgACgCBCELIAAoAgAhDANAIAFBGGogAUHQAGoQ2BEgAS0AGEUNASAMIAsgAiABLQAZQQh0IAcQ2ggMAAsACyAGIAYoAmggCGo2AmggAyADKAIAIgdBAWo2AgAgB0EASA0AIAkgAyABKAJsIgcQ2hggBiABKAJoIAcgAhDiByABIAI2AkggAyADKAIAIgJBAWo2AgAgAkEASA0AIAEgCDYCbCABIAM2AmggBCAGIAgQ/R9FBEAgABD8Cw0ECyABQRBqIAAQvA8gASgCEA0DIAEoAhQgAyAIEPspIQcgCkEBIAQoAvwEdBDmD0GAgIDAAkGAgICAAiAHG3IhAgJAIAUQ/ikNACAEIAIQ9R0NACAEEMYVIQogAUEANgJUIAEgBTYCUCAAKAIEIQUgACgCACEHA0AgAUEIaiABQdAAahDYESABLQAIRQ0BIAcgBSACIAEtAAlBCHQgChDaCAwACwALIAYgBigCaCAIajYCaCADIAMoAgAiBUEBajYCACAFQQBIDQAgCSADIAEoAmwiBRDaGCAGIAEoAmggBSACEOIHIAEgAjYCTCABQYCAgIB4NgJoIAEoAkRBgICAgHhHDQQgASAEEP4TIgU2AmggBSABKAJIRw0FIAEgBBDGFSIENgJoIAIgBEcNBiAAKAIAIgQgACgCBCIAQYCAgIB4QYCAgIB4EJQSIAQgACAFIAUQlBIgBCAAIAIgAhCUEiAGIAMgCCAFEOIHIAFB8ABqJAAPCwALIAFB6ABqEPEeQZTq4ABBKyABQdAAakGI6sMAQaTswwAQxg4ACyABQegAahDxHkGU6uAAQSsgAUHQAGpBiOrDAEG07MMAEMYOAAsgAUHoAGoQ8R5BlOrgAEErIAFB0ABqQYjqwwBBxOzDABDGDgALIAFBADYCUCABQcQAaiABQegAaiABQdAAakHU7MMAEOMaAAsgAUEANgJQIAFByABqIAFB6ABqIAFB0ABqQeTswwAQ4xoACyABQQA2AlAgAUHMAGogAUHoAGogAUHQAGpB9OzDABDjGgALhAkCE38EfiMAQTBrIgIkAAJAIAAtAP8BIgNB/wFHBEAgAkEANgIoQQEhBSACQQE2AhwgAkGcscMANgIYIAJCBDcCICABKAIUIgYgASgCGCIHIAJBGGoQrSQNASADQQJqIQsgA0EQdCIBQYGABGohDiABQYCABGohD0EAIQEDQCAPIQMgDiEEAkACQAJAAn8gCyABQQFqIgggC0YNABogASALTwRAQQIhBEEAIQMgAQwBCyABQYACTw0BIAFBCHQiAyEEIAgLIRAgBEH/AXEgA3IiASAJQYB+cUECciABQf8BcUECRyIBGyIJQf8BcUECRgRAIAJBADYCKCACQQE2AhwgAkGsitoANgIYIAJCBDcCICAGIAcgAkEYahCtJCEFDAYLIAwgESABGyIRDQEMAgtBlOrgAEErIAJBGGpB/KbDAEHwscMAEMYOAAsgAkEANgIoIAJBATYCHCACQZjFwwA2AhggAkIENwIgIAYgByACQRhqEK0kDQMLIAJBAjYCHCACQayxwwA2AhggAkIBNwIkIAJBEDYCDCACIAlBEHYgCUEIdkH/AXEiEiAJQQFxIg0bNgIEIAIgAkEIajYCICACIAJBBGo2AgggBiAHIAJBGGoQrSQNAiABIAxqIQxBgYCACEECIA0bIRNBACEEQYCAgAhBACANGyEUIBZCgH6DQgKEIRUDQEGAAiAEIARBgAJNGyEKIAQhAwJ+An8CQANAIAMiASAKRgRAIARBgQJJDQJBACEIIAohBEECDAMLIAFBAWohAyAAIAFqLQAAIBJHIA1yDQALIAMhBCABQQh0IggMAQtBgQIhBCAUIQggEwsiA0EDcSIBQQJGBEAgFUIgiKchASAVQoB+g0IChAwBCyAIQQh2IgqtIRYgFUL/AYNCAlEEQCAWQiiGIAGtIhVCIIaEIBZCCIaEIBWEIRUMAgsgFkIohiABrSIYQiCGhCEXIBVCMIinIBVCKIinQf8BcSAVQiCIpyIBQQFxG0EBaiAIQRB2IApB/wFxIANBAXEiAxtHIANyRQRAIBcgFUL/////D4OEIRUMAgsgFyAWQgiGhCAYhAshFiAVQv8Bg0ICUQRAIAJBADYCKCACQQE2AhwgAkG8itoANgIYIAJCBDcCICAQIQEgBiAHIAJBGGoQrSRFDQIMBAsgAiAVpyIDNgIAIAIgATYCBAJAAkACQCADQf8BcSABQf8BcUcNACABQQFxBEAgASADc0GAgARPDQEMAgsgFUIIiKdB/wFxIAFBCHZB/wFxRg0BCyACQQI2AhwgAkG8scMANgIYIAJCAjcCJCACQbEBNgIUIAJBsQE2AgwgAiACQQhqNgIgIAIgAkEEajYCEAwBCyACQQE2AhwgAkH89uAANgIYIAJCATcCJCACQbEBNgIMIAIgAkEIajYCIAsgAiACNgIIIAYgByACQRhqEK0kDQMgFiEVDAALAAsACyACQQA2AiggAkEBNgIcIAJB6LHDADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQrSQhBQsgAkEwaiQAIAUL5RoCCX8CfiMAQSBrIgckAAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgIEQCAAKAIIIgQgACgCBCIFTw0DIAAgBEEBaiIBNgIIIAIgBGotAAAiA0HhAGtB/wFxIgZBGUtBv/fzHSAGdkEBcUVyDQIgACgCECIADQFBACECDAkLIAAoAhAiAEUEQEEAIQIMCQsgAEGbteAAQQEQqgMhAgwICyAAIAZBAnQiAEGs2tYAaigCACAAQcTZ1gBqKAIAEKoDIQIMBwsgACAAKAIMQQFqIgY2AgwgBkH0A00EQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkAgA0HBAGsOFAIGDQUNBA0NDQ0NDQ0NAQEAAAIDDQsgACgCECIEBEBBASECIARBlLDgAEEBEKoDDRUgACgCACICRQ0SIAAoAgQhBSAAKAIIIQELIAEgBU8NESABIAJqLQAAQcwARw0RIAAgAUEBajYCCCAHQRBqIAAQvgYgBy0AEA0HIAcpAxgiClBFDQYMEQsgACgCECIBDQdBAAwICyAAKAIQIgEEQEEBIQIgAUGkteAAQQEQqgMNEwtBASECIAAQjgINEiADQcEARgRAIAAoAhAiAQRAIAFB+9bWAEECEKoDDRQLIABBARDGAQ0TCyAAKAIQIgFFDRAgAUGlteAAQQEQqgNFDRAMEgsgACgCECIBBEBBASECIAFB17TgAEEBEKoDDRILIAdBCGohAkEAIQECfwJAIAAoAgAiA0UNAANAAkAgACgCCCIEIAAoAgRPDQAgAyAEai0AAEHFAEcNACAAIARBAWo2AggMAgsCQCABRQ0AIAAoAhAiA0UNACADQaDn4ABBAhCqA0UNAEEBDAMLQQEgABCOAg0CGiABQQFqIQEgACgCACIDDQALC0EACyEDIAIgATYCBCACIAM2AgAgBygCCA0QIAcoAgxBAUYEQCAAKAIQIgFFDRBBASECIAFB+rfgAEEBEKoDDRILIAAoAhAiAUUND0EBIQIgAUHgoOMAQQEQqgNFDQ8MEQtBACEBIwBBEGsiAiQAAkACQAJAAkAgACgCACIDBEAgACgCCCIEIAAoAgQiBU8NAyADIARqLQAAQccARw0DIAAgBEEBaiIBNgIIIAEgBU8NASABIANqLQAAQd8ARw0BIAAgBEECajYCCAwCCyAAKAIQIgNFDQMgA0GbteAAQQEQqgMhAQwDCwNAAkACQAJAAkAgASAFSQRAIAEgA2otAABB3wBGDQELIAEgBUYNAyABIANqLQAAIgRBMGsiBkH/AXFBCkkNAiAEQeEAa0H/AXFBGkkNASAEQcEAa0H/AXFBGk8NAyAEQR1rIQYMAgsgACABQQFqNgIIIApCfVYNAiAKQgF8IQoMBAsgBEHXAGshBgsgACABQQFqIgE2AgggAiAKQj4QxQ4gAikDCEIAUg0AIAIpAwAiCyAGrUL/AYN8IgogC1oNAQsLAkAgACgCECIBRQ0AIAFBsNbWAEEQEKoDRQ0AQQEhAQwDC0EAIQEgAEEAOgAEIABBADYCAAwCCyAKQgF8IQsLAkAgACgCECIBBEAgC1ANASABQdnW1gBBBBCqAwRAQQEhAQwDCyAAIAAoAhRBAWo2AhQgAEIBEP8KBEBBASEBDAMLIAshCgNAIApCAX0iClAEQCAAKAIQIgNFDQNBASEBIANB3dbWAEECEKoDRQ0DDAQLAkAgACgCECIBRQ0AIAFBoOfgAEECEKoDRQ0AQQEhAQwEC0EBIQEgACAAKAIUQQFqNgIUIABCARD/CkUNAAsMAgsgABD+ASEBDAELIAAQ/gEhASAAIAAoAhQgC6drNgIUCyACQRBqJAAgAUUNDgwPCyAAKAIQIgEEQCABQf3W1gBBBBCqAw0PC0EBIQJBACEBIwBBEGsiBCQAAkACQAJAAkAgACgCACIDBEAgACgCCCIFIAAoAgQiBk8NAyADIAVqLQAAQccARw0DIAAgBUEBaiIBNgIIIAEgBk8NASABIANqLQAAQd8ARw0BIAAgBUECajYCCAwCCyAAKAIQIgNFDQMgA0GbteAAQQEQqgMhAQwDCwNAAkACQAJAAkAgASAGSQRAIAEgA2otAABB3wBGDQELIAEgBkYNAyABIANqLQAAIgVBMGsiCEH/AXFBCkkNAiAFQeEAa0H/AXFBGkkNASAFQcEAa0H/AXFBGk8NAyAFQR1rIQgMAgsgACABQQFqNgIIIApCfVYNAiAKQgF8IQoMBAsgBUHXAGshCAsgACABQQFqIgE2AgggBCAKQj4QxQ4gBCkDCEIAUg0AIAQpAwAiCyAIrUL/AYN8IgogC1oNAQsLAkAgACgCECIBRQ0AIAFBsNbWAEEQEKoDRQ0AQQEhAQwDC0EAIQEgAEEAOgAEIABBADYCAAwCCyAKQgF8IQsLIAAoAhAiAUUEQEEAIQEDQAJAIAAoAggiBSAAKAIETw0AIAMgBWotAABBxQBHDQAgACAFQQFqNgIIQQAhAQwDCwJAIAFFDQAgACgCECIDRQ0AIANBgdfWAEEDEKoDRQ0AQQEhAQwDCyAAEIIEBEBBASEBDAMLIAFBAWshASAAKAIAIgMNAAtBACEBDAELAkAgC1ANACABQdnW1gBBBBCqAwRAQQEhAQwCCyAAIAAoAhRBAWo2AhQgAEIBEP8KBEBBASEBDAILIAshCgNAIApCAX0iClAEQCAAKAIQIgNFDQJBASEBIANB3dbWAEECEKoDRQ0CDAMLAkAgACgCECIBRQ0AIAFBoOfgAEECEKoDRQ0AQQEhAQwDC0EBIQEgACAAKAIUQQFqNgIUIABCARD/CkUNAAsMAQsCf0EAIAAoAgAiA0UNABpBACEBAkADQAJAIAAoAggiBSAAKAIETw0AIAMgBWotAABBxQBHDQAgACAFQQFqNgIIQQAMAwsCQCABRQ0AIAAoAhAiA0UNACADQYHX1gBBAxCqAw0CCyAAEIIEDQEgAUEBayEBIAAoAgAiAw0AC0EADAELQQELIQEgACAAKAIUIAunazYCFAsgBEEQaiQAIAENDyAAKAIAIgNFDQUgACgCCCIBIAAoAgRPDQUgASADai0AAEHMAEcNBSAAIAFBAWo2AgggB0EQaiAAEL4GIActABANBiAHKQMYIgpQDQ0gACgCECIBBEAgAUGB19YAQQMQqgMNDwsgACAKEP8KRQ0NDA4LQQAhASMAQSBrIgMkAAJAAkACQAJAAn4CQAJAAkAgACgCACIFBEAgACgCCCICIAAoAgQiBkkEQCACIAVqLQAAQd8ARg0DCyACIAYgAiAGSxshCSACIQEDQCABIAZJBEAgASAFai0AAEHfAEYNAwsgASAJRg0GAkAgASAFai0AACIEQTBrIghB/wFxQQpJDQAgBEHhAGtB/wFxQRpPBEAgBEHBAGtB/wFxQRpPDQggBEEdayEIDAELIARB1wBrIQgLIAAgAUEBaiIBNgIIIAMgCkI+EMUOIAMpAwhCAFINBiADKQMAIgsgCK1C/wGDfCIKIAtaDQALDAULIAAoAhAiAkUNByACQZu14ABBARCqAyEBDAcLIAAgAUEBajYCCCAKQn9SDQEMAwsgACACQQFqNgIIQgAMAQsgCkIBfAshCiAKIAJBAWutWg0AQQEhASAAKAIQIQIgACgCDEEBaiIEQfQDSw0BIAJFBEBBACEBDAQLIANBGGoiBSAAQQhqIgIpAgA3AwAgACAENgIMIAIgCj4CACADIAApAgA3AxAgABCOAiEBIAIgBSkDADcCACAAIAMpAxA3AgAMAwtBACEBIAAoAhAiAkUNASACQbDW1gBBEBCqA0UNAUEBIQEMAgsgAkUNACACQcDW1gBBGRCqAw0BCyAAIAE6AARBACEBIABBADYCAAsgA0EgaiQAIAENDQwMCyAAIAoQ/woNDCAAKAIQIgFFDQpBASECIAFBsq/gAEEBEKoDRQ0KDA0LIAAoAhAhAQJAIActABEiAkUEQCABRQ0BIAFBsNbWAEEQEKoDRQ0BDA0LIAFFDQAgAUHA1tYAQRkQqgMNDAsgACACOgAEDAgLQQEhAiABQY+w4ABBARCqAw0LIAAoAhALIQECQCADQdAARgRAIAFFDQEgAUH11tYAQQYQqgNFDQEMCwsgAUUNACABQfHW1gBBBBCqAw0KCyAAEI4CRQ0IDAkLIAAoAhAiAUUNBCABQbDW1gBBEBCqAw0JDAQLIAAoAhAhAQJAIActABEiAkUEQCABRQ0BIAFBsNbWAEEQEKoDRQ0BDAkLIAFFDQAgAUHA1tYAQRkQqgMNCAsgACACOgAEDAQLIAAgBDYCCCAAQQAQnwFFDQUMBgsgACgCECIBBEAgAUHA1tYAQRkQqgMNBgsgAEEBOgAEDAILIAAoAhAiAUUNACABQbDW1gBBEBCqAw0EC0EAIQIgAEEAOgAEIABBADYCAAwEC0EAIQIgAEEANgIADAMLAkAgA0HSAEYNACAAKAIQIgFFDQAgAUHx1tYAQQQQqgMNAgsgABCOAg0BC0EAIQIgACgCAEUNASAAIAAoAgxBAWs2AgwMAQtBASECCyAHQSBqJAAgAgvVCgECfyMAQeAAayICJAACQAJAAkACQAJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAIgNBDGsOFAYREQERERERAgkRChERBAwREREDAAsgA0EwRg0EDBALIAEtABxBAkYNDwwCCyABKAIIQQFrDgIOBQQLIAEtABxBAkYNDQsgACABQQhqEMANDA0LIAEoAgQiASgCAEEBaw4DCgkFCAsgAEHgxOAAQQQQthEMCwsgAkHQAGogASgCKBCPAgJAIAIoAlBBgICAgHhGBEAgAkEANgJIIAJCgICAgBA3A0AMAQsgAkHIAGogAkHYAGooAgA2AgAgAiACKQJQNwNACyACQcMCNgIsIAJBPjYCJCACQQI2AgwgAkGwyN8ANgIIIAJCAjcCFCACIAFBEGo2AiggAiACQUBrNgIgIAIgAkEgajYCECAAIAJBCGoQiRUgAigCQCACKAJEENYpDAoLIAJBCGogASgCKBCPAgJAIAIoAghBgICAgHhGBEAgAkEANgI4IAJCgICAgBA3AzAMAQsgAkE4aiACQRBqKAIANgIAIAIgAikCCDcDMAsgAkHQAGogASgCDBCPAgJAIAIoAlBBgICAgHhGBEAgAkEANgJIIAJCgICAgBA3A0AMAQsgAkHIAGogAkHYAGooAgA2AgAgAiACKQJQNwNACyACQT42AiwgAkE+NgIkIAJBAjYCDCACQbDI3wA2AgggAkICNwIUIAIgAkFAazYCKCACIAJBMGo2AiAgAiACQSBqNgIQIAAgAkEIahCJFSACKAJAIAIoAkQQ1ikgAigCMCACKAI0ENYpDAkLIAEoAghFBEAgAkEBNgIMIAJByMjfADYCCCACQgE3AhQgAkHDAjYCJCACIAFBEGo2AiAgAiACQSBqNgIQIAAgAkEIahCJFQwJCyACQSBqIAEoAgwQjwICQCACKAIgQYCAgIB4RgRAIAJBADYCWCACQoCAgIAQNwNQDAELIAJB2ABqIAJBKGooAgA2AgAgAiACKQIgNwNQCyACQT42AkQgAkEBNgIMIAJByMjfADYCCCACQgE3AhQgAiACQdAAajYCQCACIAJBQGs2AhAgACACQQhqEIkVIAIoAlAgAigCVBDWKQwICyABLQAYQQVHDQYLIAEoAhAhAQwBCwsgASgCCA0DIAAgAUEQahDADQwECyACQdAAaiABKAIgEI8CAkAgAigCUEGAgICAeEYEQCACQQA2AkggAkKAgICAEDcDQAwBCyACQcgAaiACQdgAaigCADYCACACIAIpAlA3A0ALIAJBwwI2AiwgAkE+NgIkIAJBAjYCDCACQbDI3wA2AgggAkICNwIUIAIgAUEIajYCKCACIAJBQGs2AiAgAiACQSBqNgIQIAAgAkEIahCJFSACKAJAIAIoAkQQ1ikMAwsgAkEIaiABKAIgEI8CAkAgAigCCEGAgICAeEYEQCACQQA2AjggAkKAgICAEDcDMAwBCyACQThqIAJBEGooAgA2AgAgAiACKQIINwMwCyACQdAAaiABKAIEEI8CAkAgAigCUEGAgICAeEYEQCACQQA2AkggAkKAgICAEDcDQAwBCyACQcgAaiACQdgAaigCADYCACACIAIpAlA3A0ALIAJBPjYCLCACQT42AiQgAkECNgIMIAJBsMjfADYCCCACQgI3AhQgAiACQUBrNgIoIAIgAkEwajYCICACIAJBIGo2AhAgACACQQhqEIkVIAIoAkAgAigCRBDWKSACKAIwIAIoAjQQ1ikMAgsgAEGAgICAeDYCAAwBCyAAQYCAgIB4NgIACyACQeAAaiQAC9gKAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiACgCACIBQQxrIgIgAkEmTxtBAWsOJAABAgMEBQYHCAkKCwwNDg8QERITIhQVFhciGBkaGxwdHh8gISILIABBBGoQyRcgACgCBCAAQQhqKAIAEOgpDCELIABBBGoQvQkgACgCBCAAQQhqKAIAEN0pDCALIAApAwggAEEcai0AABC1IyAAKAIgIgEQmBwgASgCACABQQRqKAIAEJAqIAFBDGoQ7CYgASgCGEGAgICAeEcEQCABQRhqEOcmCyABKAI8ELkeIAFBQGsQyCcgAUHIAEEEENERDB8LIABBBGoQkAIMHgsgAEEMahCQAgwdCyAAQQRqEJACIABBCGoQkAIMHAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4MCgABAgMEBQYHCAsJCwsgAEEIahCyHAwKCyAAQQhqEJwhDAkLIABBBGoQkAIMCAsgAEEEahD5GAwHCyAAQQRqEIQpDAYLIABBBGoQhCkMBQsgAEEEahCQAgwECyAAQQRqEIQpDAMLIABBBGoQpSoMAgsCQAJAAkAgACgCBA4CAAEECyAAQQhqEJYcIAAoAgggAEEMaigCABCMKgwBCyAAQQhqEL0QIAAoAgggAEEMaigCABCNKgsgAEEcahDIJwwBCyAAKQMIEPEaIABBIGoQyCcLIABBOGoQkAIMGwsgAEEIahCyHAwaCyAAQQhqEJwhDBkLIABBBGoQkAIgAEEIahCQAiAAQQxqEJACDBgLIAAtABhBBUYEQCAAQRBqEJACCyAAQQRqEOQmIAAoAigQ1SgMFwsgAEEQahCQAiAAKAIEQYCAgIB4RwRAIABBBGoQ5CYLIAAoAiAQ1SgMFgsgAEEEahDmJgwVCyAAKQMIEPEaDBQLAkACQAJAAkACQCAAKAIIDgYBGBgCAwQACyAAKQMQEPEaIAApAxgQ8RoMFwsgACkDECAAQSBqKQMAEIgrDBYLIAApAyAQ6yYMFQsgAEEYaikDACAAQSBqKAIAELcgDBQLIAApAxAQ8RogACkDGBDxGgwTCyAAQQRqEM8oDBILIABBBGoQkAIgACgCGBDVKCAAKAIIIgEQzyggAUEgQQQQ0REMEQsgAEEEahCUHCAAKAIEIABBCGooAgAQjCoCQCAAKAIQIgEoAgBBgICAgHhHBEAgARDnJgwBCyABQQRqEJACCyAAKAIQQRhBBBDRESAAKAIgELkeIABBJGoQyCcMEAsgACkDCCAAQRxqLQAAELUjIAAoAiAiARDsJiABQQxqELsHIAEoAgwgAUEQaigCABCPKiABQTBqEMknIAEoAjQQuR4gASgCOBDVKCABQRhqELUZIAEoAhggAUEcaigCABDoKSAAKAIgQcAAQQQQ0REMDwsgAEEMahDJJwwOCyAAQQRqEJACDA0LIABBBGoQkAIMDAsgAEEIahCVHAwLCyAAKQMIIABBGGopAwAQhysMCgsgACgCBCIBQUBrEMoXIAFB/ABqEOULIAEoAnwgAUGAAWooAgAQjyogASgCeBDVKCABQZABahDqJiABLQA8QQZHBEAgAUEQahDKFwsgAUGgAUEIENERDAkLIABBBGoQ6iYMCAsgAEEEahCEKQwHCyAAQQRqEJACDAYLIABBBGoQkAIMBQsgAEEEahCEKQwECyAAQQRqEKUqDAMLIABBBGoQhCkMAgsgACkDCBDxGgwBCyAAQQRqEPkYCyAAQcAAQQgQ0REL2AoBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECAwQFBgcICQoLDA0ODxAREhMiFBUWFyIYGRobHB0eHyAhIgsgAEEEahDJFyAAKAIEIABBCGooAgAQ6CkMIQsgAEEEahC9CSAAKAIEIABBCGooAgAQ3SkMIAsgACkDCCAAQRxqLQAAELUjIAAoAiAiARCYHCABKAIAIAFBBGooAgAQkCogAUEMahDsJiABKAIYQYCAgIB4RwRAIAFBGGoQ5yYLIAEoAjwQuR4gAUFAaxDgJyABQcgAQQQQ0REMHwsgAEEEahCRAgweCyAAQQxqEJECDB0LIABBBGoQkQIgAEEIahCRAgwcCwJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDgwKAAECAwQFBgcICwkLCyAAQQhqEL0cDAoLIABBCGoQpCEMCQsgAEEEahCRAgwICyAAQQRqEIUZDAcLIABBBGoQlykMBgsgAEEEahCXKQwFCyAAQQRqEJECDAQLIABBBGoQlykMAwsgAEEEahCqKgwCCwJAAkACQCAAKAIEDgIAAQQLIABBCGoQlhwgACgCCCAAQQxqKAIAEIwqDAELIABBCGoQvRAgACgCCCAAQQxqKAIAEI0qCyAAQRxqEOAnDAELIAApAwgQ8RogAEEgahDgJwsgAEE4ahCRAgwbCyAAQQhqEL0cDBoLIABBCGoQpCEMGQsgAEEEahCRAiAAQQhqEJECIABBDGoQkQIMGAsgAC0AGEEFRgRAIABBEGoQkQILIABBBGoQ5CYgACgCKBDVKAwXCyAAQRBqEJECIAAoAgRBgICAgHhHBEAgAEEEahDkJgsgACgCIBDVKAwWCyAAQQRqEOYmDBULIAApAwgQ8RoMFAsCQAJAAkACQAJAIAAoAggOBgEYGAIDBAALIAApAxAQ8RogACkDGBDxGgwXCyAAKQMQIABBIGopAwAQiCsMFgsgACkDIBDrJgwVCyAAQRhqKQMAIABBIGooAgAQtyAMFAsgACkDEBDxGiAAKQMYEPEaDBMLIABBBGoQzygMEgsgAEEEahCRAiAAKAIYENUoIAAoAggiARDPKCABQSBBBBDREQwRCyAAQQRqEJQcIAAoAgQgAEEIaigCABCMKgJAIAAoAhAiASgCAEGAgICAeEcEQCABEOcmDAELIAFBBGoQkQILIAAoAhBBGEEEENERIAAoAiAQuR4gAEEkahDgJwwQCyAAKQMIIABBHGotAAAQtSMgACgCICIBEOwmIAFBDGoQuwcgASgCDCABQRBqKAIAEI8qIAFBMGoQ4ScgASgCNBC5HiABKAI4ENUoIAFBGGoQtRkgASgCGCABQRxqKAIAEOgpIAAoAiBBwABBBBDREQwPCyAAQQxqEOEnDA4LIABBBGoQkQIMDQsgAEEEahCRAgwMCyAAQQhqEJUcDAsLIAApAwggAEEYaikDABCHKwwKCyAAKAIEIgFBQGsQyhcgAUH8AGoQ5QsgASgCfCABQYABaigCABCPKiABKAJ4ENUoIAFBkAFqEOomIAEtADxBBkcEQCABQRBqEMoXCyABQaABQQgQ0REMCQsgAEEEahDqJgwICyAAQQRqEJcpDAcLIABBBGoQkQIMBgsgAEEEahCRAgwFCyAAQQRqEJcpDAQLIABBBGoQqioMAwsgAEEEahCXKQwCCyAAKQMIEPEaDAELIABBBGoQhRkLIABBwABBCBDREQvVCgECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAUEMayICIAJBJk8bQQFrDiQAAQIDBAUGBwgJCgsMDQ4PEBESEyIUFRYXIhgZGhscHR4fICEiCyAAQQRqEMkXIAAoAgQgAEEIaigCABDoKQwhCyAAQQRqEL0JIAAoAgQgAEEIaigCABDdKQwgCyAAKQMIIABBHGotAAAQtSMgACgCICIBEJgcIAEoAgAgAUEEaigCABCQKiABQQxqEOwmIAEoAhhBgICAgHhHBEAgAUEYahDnJgsgASgCPBC5HiABQUBrEIsoIAFByABBBBDREQwfCyAAQQRqEJICDB4LIABBDGoQkgIMHQsgAEEEahCSAiAAQQhqEJICDBwLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEODAoAAQIDBAUGBwgLCQsLIABBCGoQyBwMCgsgAEEIahCwIQwJCyAAQQRqEJICDAgLIABBBGoQkBkMBwsgAEEEahCtKQwGCyAAQQRqEK0pDAULIABBBGoQkgIMBAsgAEEEahCtKQwDCyAAQQRqELgqDAILAkACQAJAIAAoAgQOAgABBAsgAEEIahCWHCAAKAIIIABBDGooAgAQjCoMAQsgAEEIahC9ECAAKAIIIABBDGooAgAQjSoLIABBHGoQiygMAQsgACkDCBDxGiAAQSBqEIsoCyAAQThqEJICDBsLIABBCGoQyBwMGgsgAEEIahCwIQwZCyAAQQRqEJICIABBCGoQkgIgAEEMahCSAgwYCyAALQAYQQVGBEAgAEEQahCSAgsgAEEEahDkJiAAKAIoENUoDBcLIABBEGoQkgIgACgCBEGAgICAeEcEQCAAQQRqEOQmCyAAKAIgENUoDBYLIABBBGoQ5iYMFQsgACkDCBDxGgwUCwJAAkACQAJAAkAgACgCCA4GARgYAgMEAAsgACkDEBDxGiAAKQMYEPEaDBcLIAApAxAgAEEgaikDABCIKwwWCyAAKQMgEOsmDBULIABBGGopAwAgAEEgaigCABC3IAwUCyAAKQMQEPEaIAApAxgQ8RoMEwsgAEEEahDPKAwSCyAAQQRqEJICIAAoAhgQ1SggACgCCCIBEM8oIAFBIEEEENERDBELIABBBGoQlBwgACgCBCAAQQhqKAIAEIwqAkAgACgCECIBKAIAQYCAgIB4RwRAIAEQ5yYMAQsgAUEEahCSAgsgACgCEEEYQQQQ0REgACgCIBC5HiAAQSRqEIsoDBALIAApAwggAEEcai0AABC1IyAAKAIgIgEQ7CYgAUEMahC7ByABKAIMIAFBEGooAgAQjyogAUEwahCKKCABKAI0ELkeIAEoAjgQ1SggAUEYahC1GSABKAIYIAFBHGooAgAQ6CkgAUHAAEEEENERDA8LIABBDGoQiigMDgsgAEEEahCSAgwNCyAAQQRqEJICDAwLIABBCGoQlRwMCwsgACkDCCAAQRhqKQMAEIcrDAoLIAAoAgQiAUFAaxDKFyABQfwAahDlCyABKAJ8IAFBgAFqKAIAEI8qIAEoAngQ1SggAUGQAWoQ6iYgAS0APEEGRwRAIAFBEGoQyhcLIAFBoAFBCBDREQwJCyAAQQRqEOomDAgLIABBBGoQrSkMBwsgAEEEahCSAgwGCyAAQQRqEJICDAULIABBBGoQrSkMBAsgAEEEahC4KgwDCyAAQQRqEK0pDAILIAApAwgQ8RoMAQsgAEEEahCQGQsgAEHAAEEIENERC48KAgp/AX4jAEHAAWsiBiQAIAMoAgQhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAgAiC0EBa0ECTwRAIAYgAy0AGCIMOgCgASAGIAMoAhQiCTYCnAEgBiADKAIQIg02ApgBIAYgAygCDCIONgKUASAGIAMoAggiDzYCkAEgBkEBNgKIASABLQCcDUEBRg0EIAEpAwBCAlIEQCACKALIBEECRg0GIAZBpAFqIgcgAUGIBWogAkGYA2ogBkGIAWoQ9gkgBkHYAGogBxD6FyAGKAJYIgdBAWsOAgMCDgsgBkEBNgKoASAGQYCHwwA2AqQBIAZCADcCsAEgBiAGQbwBajYCrAEgBkGkAWpBiIfDABC6HQALIAUgASgClA0oArwCKAIQQQF0TQRAIAEtAJwNQQFGDQYgASkDAEICUQ0IIAIoAsgEQQJGDQcgBkGIAWoiByABIAJB2AFqIAMQtgUgBkGkAWogBxD5FyAGKAKkAUECRwRAIAZB4ABqIAZBrAFqKQIANwMAIAYgBikCpAE3A1gMDQsgBkHYAGogASACIAMQqwQMDAsgASgC1ApBA0cNAiABLQCcDQ0IAkACQAJAIAEpAwBCAlENACACKALIBEECRg0MIAZBiAFqIgcgASACQdgBaiADELYFIAZBpAFqIAcQ+RcgBigCpAEiB0EBaw4DAgEADwsgBiABIAIgAyAEIAUQmgYgBigCBCEIIAYoAgAhBwwOCyAGQQhqIAEgAiADIAQgBRCaBiAGKAIMIQggBigCCCEHDA0LIAYoAqgBIQcgBigCrAEhCCAGKAKwASEJIAYgCjYCjAEgBiALNgKIASAGIAMpAhA3ApgBIAYgAykCCDcCkAEgBiADLQAYOgCgASAGQewAaiIDIAZBiAFqIAcgCBD8CSAGIAk2AnAgBkECNgJsIAZBEGogASACIAMgBCAFEJoGQQEhByAGKAIQQQFxRQ0KIAYoAhQhCAwMCyAGQSBqIAEgAiADIAQgBRCaBiAGKAIkIQggBigCICEHDAsLIAYoAmAhAyAGKAJcIQcgBSABKAKUDSgCvAIoAhBBAXRNBEAgBkEwaiAHIAMgCRDtEiAGKAI4IghBAXQiAUEBciECIAEgBUkEQCAEIAFBAnRqIAYoAjBBAWo2AgALIAIgBUkEQCAEIAJBAnRqIAYoAjRBAWo2AgALQQEhBwwLCyAGIAk2ApwBIAYgDTYCmAEgBiAONgKUASAGIA82ApABIAYgDDoAoAEgBiAKNgKMASAGIAs2AogBIAZBPGoiCCAGQYgBaiADIAkQ/AkgBiAHNgJAIAZBAjYCPCAGQShqIAEgAiAIIAQgBRCaBiAGKAIsIQggBigCKCEHDAoLIAZBGGogASACIAMgBCAFEJoGIAYoAhwhCCAGKAIYIQcMCQtB3evgAEEoQciMwwAQ7hcAC0Hoi8MAENopAAtB3evgAEEoQZiMwwAQ7hcAC0G4i8MAENopAAsgBkHYAGogASACIAMQqwQMAwtB3evgAEEoQZiMwwAQ7hcAC0G4i8MAENopAAtBkIbDAEETQaSGwwAQtRIACyAGKAJYBEBBASEHIAYoAmQiCEEBdCIBQQFyIQIgBikCXCEQIAEgBUkEQCAEIAFBAnRqIBCnQQFqNgIACyACIAVPDQEgBCACQQJ0aiAQQiCIp0EBajYCAAwBC0EAIQcLIAAgCDYCBCAAIAc2AgAgBkHAAWokAAuYCgIKfwN+IwBBsAFrIgIkACABQShqIgQQ1SAhCCACQdUAaiABQZcDaikAADcAACACQdAAaiABQZIDaikBACIMNwIAIAJByABqIAFBigNqKQEAIg03AgAgAkEAOgCDASACIAEtAJwDOgCCASACIAEtAJ4DOgCEASACIAEpAYIDIg43AGggAiANNwBwIAIgDDcAeCACIAEvAZoDOwCAASACIA43AkAgAUGAAWoiByACQegAahDICCACIAE2AjwgAkEwaiABENgBIAIoAjQhBQJAAkACQAJAAkACQCACKAIwBEAgBSEDDAELIAQQsiENBCAEEOcNIgNFDQQgAygCAEECRw0EIAMtAAhBAkcNBCADLQAJQRpHDQQgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkH0AGoiBiABQTRqKQIANwIAIAJB/ABqIgkgAUE8aigCADYCACACIAEpAiw3AmwgAiADNgJoIAJB6ABqIgsQwwogAiAFNgJgIAJBgQFqIAFBggNqIgNBFWopAAA3AAAgCSADQRBqKQEANwIAIAYgA0EIaikBADcCACACQQE6AKsBIAIgAS0AnAM6AKoBIAIgAS0AngM6AKwBIAIgASkBggM3AJABIAIgASkBigM3AJgBIAIgASkBkgM3AKABIAIgAS8BmgM7AKgBIAIgAykBADcCbCAHIAJBkAFqEMgIIAIgATYCaCACQShqIAEQ2AEgAigCLCEDAkAgAigCKEUEQCACIAM2AmQgCxCgJgJAAkAgBBDnDSIHBEAgBygCAEEXRg0BCyACQfAAaiAEEOsLIAJBCGogBBCzFCACQYDg3wA2AmwgAkE0OgBoIAIoAgggAigCDCACQegAahD9FCEDIAQQ5w0iBUUNASAFKAIAQSRHDQEgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQcgASABKAIsEIYMDAELIAEoAighByABQSU2AiggASABKQNANwN4IAJB9ABqIAFBLGoiBkEIaikCADcCACACQfwAaiAGQRBqKAIANgIAIAIgBikCADcCbCACIAc2AmggAkHoAGoQwwogAkEgaiABEJQCIAIo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QRBqEK0kDA4LIAJBADYCICACQQE2AhQgAkGkmNgANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahCtJAwNCyACQQA2AiAgAkEBNgIUIAJBzJjYADYCECACQgQ3AhggASgCFCABKAIYIAJBEGoQrSQMDAsgAiAAKAIENgIIIAJBAjYCFCACQfSY2AA2AhAgAkIBNwIcIAJBCTYCLCACIAJBKGo2AhggAiACQQhqNgIoIAEoAhQgASgCGCACQRBqEK0kDAsLIAIgACgCBDYCCCACQQE2AhQgAkGgmdgANgIQIAJCATcCHCACQQk2AiwgAiACQShqNgIYIAIgAkEIajYCKCABKAIUIAEoAhggAkEQahCtJAwKCyACIAAoAgQ2AgggAkEBNgIUIAJBwJnYADYCECACQgE3AhwgAkEJNgIsIAIgAkEoajYCGCACIAJBCGo2AiggASgCFCABKAIYIAJBEGoQrSQMCQsgAkEANgIgIAJBATYCFCACQfSZ2AA2AhAgAkIENwIYIAEoAhQgASgCGCACQRBqEK0kDAgLIAJBADYCICACQQE2AhQgAkGcmtgANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahCtJAwHCyACIAA2AgggAkEBNgIUIAJBzJrYADYCECACQgE3AhwgAkEINgIsIAIgAkEoajYCGCACIAJBCGo2AiggASgCFCABKAIYIAJBEGoQrSQMBgsgAkEANgIgIAJBATYCFCACQfia2AA2AhAgAkIENwIYIAEoAhQgASgCGCACQRBqEK0kDAULIAJBADYCICACQQE2AhQgAkGkm9gANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahCtJAwECyACQQA2AiAgAkEBNgIUIAJBzJvYADYCECACQgQ3AhggASgCFCABKAIYIAJBEGoQrSQMAwsgAkEANgIgIAJBATYCFCACQeSb2AA2AhAgAkIENwIYIAEoAhQgASgCGCACQRBqEK0kDAILIAIgAC0ACDoADCACIAAoAgQ2AgggAkEBNgIUIAJBjJzYADYCECACQgE3AhwgAkH+ATYCLCACIAJBKGo2AhggAiACQQhqNgIoIAEoAhQgASgCGCACQRBqEK0kDAELIAIgACgCBDYCCCACQQE2AhQgAkGwnNgANgIQIAJCATcCHCACQeIANgIsIAIgAkEoajYCGCACIAJB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AAANABpBASAALQABDQAaQQEgAC0AAg0AGkEBIAAtAAMNABpBASAALQAEDQAaQQEgAC0ABQ0AGkEBIAAtAAYNABpBASAALQAHDQAaQQEgAC0ACA0AGkEBIAAtAAkNABpBASAALQAKDQAaQQEgAC0ACw0AGkEBIAAtAAwNABpBASAALQANDQAaQQEgAC0ADg0AGkEBIAAtAA8NABpBASAALQAQDQAaQQEgAC0AEQ0AGkEBIAAtABINABpBASAALQATDQAaQQEgAC0AFA0AGkEBIAAtABUNABpBASAALQAWDQAaQQEgAC0AFw0AGkEBIAAtABgNABpBASAALQAZDQAaQQEgAC0AGg0AGkEBIAAtABsNABpBASAALQAcDQAaQQEgAC0AHQ0AGkEBIAAtAB4NABpBASAALQAfDQAaQQEgAC0AIA0AGkEBIAAtACENABpBASAALQAiDQAaQQEgAC0AIw0AGkEBIAAtACQNABpBASAALQAlDQAaQQEgAC0AJg0AGkEBIAAtACcNABpBASAALQAoDQAaQQEgAC0AKQ0AGkEBIAAtACoNABpBASAALQArDQAaQQEgAC0ALA0AGkEBIAAtAC0NABpBASAALQAuDQAaQQEgAC0ALw0AGkEBIAAtADANABpBASAALQAxDQAaQQEgAC0AMg0AGkEBIAAtADMNABpBASAALQA0DQAaQQEgAC0ANQ0AGkEBIAAtADYNABpBASAALQA3DQAaQQEgAC0AOA0AGkEBIAAtADkNABpBASAALQA6DQAaQQEgAC0AOw0AGkEBIAAtADwNABpBASAALQA9DQAaQQEgAC0APg0AGkEBIAAtAD8NABpBASAALQBADQAaQQEgAC0AQQ0AGkEBIAAtAEINABpBASAALQBDDQAaQQEgAC0ARA0AGkEBIAAtAEUNABpBASAALQBGDQAaQQEgAC0ARw0AGkEBIAAtAEgNABpBASAALQBJDQAaQQEgAC0ASg0AGkEBIAAtAEsNABpBASAALQBMDQAaQQEgAC0ATQ0AGkEBIAAtAE4NABpBASAALQBPDQAaQQEgAC0AUA0AGkEBIAAtAFENABpBASAALQBSDQAaQQEgAC0AUw0AGkEBIAAtAFQNABpBASAALQBVDQAaQQEgAC0AVg0AGkEBIAAtAFcNABpBASAALQBYDQAaQQEgAC0AWQ0AGkEBIAAtAFoNABpBASAALQBbDQAaQQEgAC0AXA0AGkEBIAAtAF0NABpBASAALQBeDQAaQQEgAC0AXw0AGkEBIAAtAGANABpBASAALQBhDQAaQQEgAC0AYg0AGkEBIAAtAGMNABpBASAALQBkDQAaQQEgAC0AZQ0AGiAALQBmCyACIAIoAgBBAWs2AgAgAUEQaiQAQQFxDwtB5MfgAEHIABD/KgALnQoCBH8BfiMAQUBqIgIkAAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOBwECAwQFBgcACyABIABBCGpBABDRFSAAKAIgIAEQixogASgCMBC6ESEDIAJBGGpByJ/jACkDACIGNwMAIAJBCGogBjcDACACQTRqIAFBNGooAgA2AgAgAkEBOgAoIAIgATYCICACIAM2AiQgAkHAn+MAKQMAIgY3AxAgAiAGNwMAIAIgASkCLDcCLCACIAEtADw6ADwgAiABLwE6OwE6IAEtADghAyACIAEtAD06AD0gAiADOgA4IAJBAToAOSAAQSBqIAIQywEMBwsgACgCIEEMaiABEIsaIAEoAjAQuhEhAyACQRhqQcif4wApAwAiBjcDACACQQhqIAY3AwAgAkE0aiABQTRqKAIANgIAIAJBAToAKCACIAE2AiAgAiADNgIkIAJBAToAOSACQcCf4wApAwAiBjcDECACIAY3AwAgAiABKQIsNwIsIAIgAS0APDoAPCACIAEvATo7ATogAS0AOCEDIAIgAS0APToAPSACIAM6ADggAEEgaiACENwDDAYLIAEgACgCBBCkHQwGCyABIAAoAgQQkiEMBQsgAEEEaiABEMQIDAQLIAEtADohAyABQQE6ADogASAAKAIEIgBBCGpBBBDRFSABLQA0QQFGBEAgASgCMBC6ESEEIAJBGGpByJ/jACkDACIGNwMAIAJBCGogBjcDACACQTRqIAFBNGooAgA2AgAgAkEBOgAoIAIgATYCICACIAQ2AiQgAkEBOgA5IAJBwJ/jACkDACIGNwMQIAIgBjcDACACIAEpAiw3AiwgAiABLwA7OwA7IAEtADghBCACIAEtAD06AD0gAiAEOgA4IAJBAToAOiAAQSBqIAIQvg0gAEEkaiACENcrIAIQ/SgLIAEgAzoAOgwDCyABIAAoAgQiAEEAENEVIAEoAjAQuhEhAyACQRhqQcif4wApAwAiBjcDACACQQhqIAY3AwAgAkE0aiABQTRqKAIANgIAIAJBADoAKCACIAE2AiAgAiADNgIkIAJBAToAOSACQcCf4wApAwAiBjcDECACIAY3AwAgAiABKQIsNwIsIAIgAS0APDoAPCACIAEvATo7ATogAS0AOCEDIAIgAS0APToAPSACIAM6ADggACgCJCEEIAAoAighAyACQQAgAkEQahDvIQJAIAMEQCAEIQEgAyEAA0AgASgCAEUEQCABQQhqKQMAIgZCA4NQBEAgBqdBCGsiBSAFKAIAIgVBAWo2AgAgBUEASA0ECyACIAZBABDUCAsgAUEwaiEBIABBAWsiAA0ACwsgA0EwbCEAIARBKGohAQNAIABFDQMgASgCAARAIAEgAhDUKwsgAEEwayEAIAFBMGohAQwACwALAAsgACgCBCIAKAIARQRAIAEgAEEIakEAENEVCyABKAIwELoRIQMgAkE0aiABQTRqKAIANgIAIAJBADoAKCACQRhqQcif4wApAwAiBjcDACACQQhqIAY3AwAgAiABNgIgIAIgAzYCJCACQQE6ADkgAiABKQIsNwIsIAIgAS8BOjsBOiACQcCf4wApAwAiBjcDECACIAY3AwAgAS0AOCEDIAIgAS0APToAPSACIAM6ADggAkEBOgA8IAAtAEVBA0YNACAAQSBqIQADQCAALQAlQQJGBEAgAiAAEMoFBSACIABBCGpBABDRFSAAKAIgIQAMAQsLCyACEP0oCyACQUBrJAALsgoBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECAwQFBgcICQoLDA0ODxAREhMiFBUWFyIYGRobHB0eHyAhIgsgAEEEahDJFyAAKAIEIABBCGooAgAQ6CkMIQsgAEEEahC9CSAAKAIEIABBCGooAgAQ3SkMIAsgAEEIahCbJSAAKAIgIgEQmBwgASgCACABQQRqKAIAEJAqIAFBDGoQ7CYgASgCGEGAgICAeEcEQCABQRhqEOcmCyABQTxqEMwdIAFBQGsQqycgAUHIAEEEENERDB8LIABBBGoQowIMHgsgAEEMahCjAgwdCyAAQQRqEKMCIABBCGoQowIM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AEHQAGsiAiQAAkADQCABKAIIIgMEQCABIANBAWsiAzYCCCABKAIEIANBA3RqIgQoAgQhAyAEKAIAIgVB/78DSyEIA0AgCCADQYCwA0lyRQRAIAFBgMADIAMQ1xhB/68DIQMMAQsgAyAFSQ0CQXAhBgNAIAZBBGoiBEUEQCADQYABTwRAQQYhBgJAAkACQAJAA0AgBkEYRgRAIAJBADYCHCACQQA2AiAgBUGAsANzQYCAxABrQf+PvH9NDQMgA0GAsANzQYCAxABrQf+PvH9NDQQgAkEQaiAFIAJBHGoQ4QkgAigCFCEBIAJBCGogAyACQSBqEOEJIAIgATYCLCACIAIoAgwiAzYCSCABIANHDQUCfwJAAkACQAJAIAFBAmsOAwECAwALIAIgATYCLCACQQE2AjQgAkGottYANgIwIAJCATcCPCACQQk2AkwgAiACQcgAajYCOCACIAJBLGo2AkggAkEwakGwttYAELodAAtBASEGIAJBK2ohBCACQSxqIQUgAkHIAGohByACQTBqIQMgAi0AISEIIAItABwhCSACLQAgIQogAi0AHQwCCyACIAItABw6ADAgAiACLQAgOgBIQQIhBiACQSlqIQQgAkEqaiEFIAJBK2ohByACQSxqIQMgAi0AIiEIIAItAB0hCSACLQAhIQogAi0AHgwBCyACIAItABw6ADAgAiACLQAgOgBIIAIgAi0AHToALCACIAItACE6ACtBAyEGIAJBJ2ohBCACQShqIQUgAkEpaiEHIAJBKmohAyACLQAjIQggAi0AHiEJIAItACIhCiACLQAfCyEBIAMgCToAACAHIAo6AAAgBSABOgAAIAQgCDoAACAAIAY6AAAgACACLQAwOgABIAAgAi0ASDoAAiAAIAItACw6AAMgACACLQArOgAEIAAgAi0AKjoABSAAIAItACk6AAYgACACLQAoOgAHIAAgAi0AJzoACAwMCwJAQX8gBnQiBCAFcSADIARxIgdHBEAgBSAEQX9zIglxDQEgAyAEckF/Rw0DCyAGQQZqIQYMAQsLIAEgBSAJciIEQQFqIAMQ1xggBCEDDAcLIAEgByADENcYIAdBAWshAwwGC0HAttYAENopAAtB0LbWABDaKQALIAJBADYCMCACQSxqIAJByABqIAJBMGpB4LbWABDZGgALIAAgAzoAAiAAIAU6AAEgAEEA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aiABAn9BACAIDQAaIAdBEGogBEEMaigCABCOAyAHKAIUIgggCkEBcUUNABogBEEEaigCACIKIAggCCAKSRsLQQAQ7AIgBy0AMEEERg0BIAcpAzAiDEL/AYNCBFENAQsgACAMNwIADAMLIActACcEQCABIAEoAixBAWs2AiwgB0EAOgAnCyAJQQFrIQkgB0EIaiAEEJoVIARBEGohBEEBIQggBykDCCEMDAALAAsgB0EwaiABIAMgBUUgBhCvDwJAIActADBBBEcEQCAHKQMwIgxC/wGDQgRSDQELIABBBDoAAAwBCyAAIAw3AgALIAdBQGskAAuaBgECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiAkEMayIDIANBJk8bQQFrDiQAAQIUFQMEBQYHCAkXChMXCwwNDhMUFA8TExARFBQUFBQUExITCxCvESAAKAIMQQR0IQIgACgCCCEAA0AgAkUNEyAAKAIAQQJHBEAgAEEMaiABELUtCyAAQRBqIQAgAkEQayECDAALAAsgASAAQQRqEIcEDwsgAEEIaiABEOEfDwsgAEEEaiABELUtIABBCGogARC1LQ8LIABBOGoCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBaw4LAQIDBAUGBwgJCwoACyABKAIkIABBCGoQ+wUaDAoLIAEgAEEIahCrHwwJCyABIABBCGoQwSIMCAsgAEEEaiABELUtDAcLIABBBGogARDUHAwGCyAAQQRqIAEQtS0MBQsgAEEEaiABELUtDAQLIABBBGogARC1LQwDCyAAQQRqIAEQtS0MAgsgAEEEaiABELUtDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQyxoMAQsgAiABELUECyABELUtDwsgASAAQQhqEKsfDwsgASAAQQhqEMEiDwsgAEEEaiABELUtIABBCGogARC1LQwNCyAALQAYQQVGBEAgAEEQaiABELUtCwwNCyAAQRBqIAEQtS0gACgCBEGAgICAeEYNCQwMCyABKAIkIABBCGoQ+wUaDwsgAEEEaiABELUtIAEgACgCCBCWGQ8LIAAoAgxBKGwhAiAAKAIIIQMDQCACBEAgAyABEIoRIAJBKGshAiADQShqIQMMAQsLIAAoAhAiACgCAEGAgICAeEcEQCABIAAQ9wUPCwwHCyABIABBCGoQ1gwPCyAAKAIMRQ0EDAYLIABBCGogARC1HQ8LIAAoAgQgARCHDA8LIABBBGogARDaDw8LIABBBGogARDUHAsPCyAAQQRqIAEQtS0PCyAAQQxqIAEQtS0PCyABIABBBGoQlhgPCyABIABBBGoQlhkL3wYBBX8CQAJAAkACQAJAIABBBGsiBSgCACIHQXhxIgRBBEEIIAdBA3EiBhsgAWpPBEAgBkEAIAFBJ2oiCCAESRsNAQJAAkAgAkEJTwRAIAIgAxD/BSICDQFBAA8LQQAhAiADQcz/e0sNAUEQIANBC2pBeHEgA0ELSRshAQJAIAZFBEAgAUGAAkkgBCABQQRySXIgBCABa0GBgAhPcg0BDAkLIABBCGsiBiAEaiEIAkACQAJAAkAgASAESwRAIAhB1I/kACgCAEYNBCAIQdCP5AAoAgBGDQIgCCgCBCIHQQJxDQUgB0F4cSIHIARqIgQgAUkNBSAIIAcQ0AYgBCABayICQRBJDQEgBSABIAUoAgBBAXFyQQJyNgIAIAEgBmoiASACQQNyNgIEIAQgBmoiAyADKAIEQQFyNgIEIAEgAhC0BQwNCyAEIAFrIgJBD0sNAgwMCyAFIAQgBSgCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCwtByI/kACgCACAEaiIEIAFJDQICQCAEIAFrIgNBD00EQCAFIAdBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEDQQAhAQwBCyAFIAEgB0EBcXJBAnI2AgAgASAGaiIBIANBAXI2AgQgBCAGaiICIAM2AgAgAiACKAIEQX5xNgIEC0HQj+QAIAE2AgBByI/kACADNgIADAoLIAUgASAHQQFxckECcjYCACABIAZqIgEgAkEDcjYCBCAIIAgoAgRBAXI2AgQgASACELQFDAkLQcyP5AAoAgAgBGoiBCABSw0HCyADEGAiAUUNASABIABBfEF4IAUoAgAiAUEDcRsgAUF4cWoiASADIAEgA0kbEPwGIAAQ2AMPCyACIAAgASADIAEgA0kbEPwGGiAFKAIAIgNBeHEiBSABQQRBCCADQQNxIgEbakkNAyABQQAgBSAISxsNBCAAENgDCyACDwtBnabYAEEuQcym2AAQ7hcAC0HcptgAQS5BjKfYABDuFwALQZ2m2ABBLkHMptgAEO4XAAtB3KbYAEEuQYyn2AAQ7hcACyAFIAEgB0EBcXJBAnI2AgAgASAGaiICIAQgAWsiAUEBcjYCBEHMj+QAIAE2AgBB1I/kACACNgIAIAAPCyAAC4oIAQV/IwBBMGsiAyQAIAEoAtABIQUgAUHAAWoiBhCvFQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKALAASABKALEARD0HCIEQe4Aaw4LCQEBAQIBAw4FAQgACwJAIARBCmsOBAcBAQ8ACwJAIARB4gBrDgUEAQEBBgALIARBqMAAa0ECSQ0GIARB3ABGDQkgBEGAgMQARw0AIANBIjoAGCAFIAUgA0EYahCZKyEBIABBgYCAgHg2AgAgACABNgIEDBALIARB+P//AHFBMEcNCCAGEK8VIARBMEcNDiABKALAASABKALEARD0HCIHQYCAxABHBEAgB0EIEPUcDQ8LQQQQ4yAhASAAQQE2AgggACABNgIEIABBATYCACABQQA2AgAMDwtBDSEEDAcLQQkhBAwGC0EIIQQMBQtBCyEEDAQLQQwhBAwDCyAGEK8VIABBgICAgHg2AgAMCQsgBhCvFSADQRhqIAFBAhD3BiADKAIcIQIgAygCGEEBaw4CBAIDC0EKIQQLIAYQrxVBBBDjICEBIABBATYCCCAAIAE2AgQgAEEBNgIAIAEgBDYCAAwGCyAAQYGAgIB4NgIAIAAgAjYCBAwFCyADQRA2AiAgA0HA7dgANgIcIANBJDoAGCABKALQASAFIANBGGoQmCshASAAQYGAgIB4NgIAIAAgATYCBAwEC0EEEOMgIQEgAEEBNgIIIAAgATYCBCAAQQE2AgAgASACNgIADAMLIANBDGogARC+BCADKAIMQYCAgIB4RwRAIAAgAykCDDcCACAAQQhqIANBFGooAgA2AgAMAwsgA0EYaiICIAMoAhAQpRwgASgC0AEgBSACEJgrIQEgAEGBgICAeDYCACAAIAE2AgQMAgsgBhCvFSAGQQoQkhgaIABBgICAgHg2AgAMAQsCQAJAIAJFBEAgA0EVOgAYIAEgBSADQRhqEOYoIARBMGshAiABKALAASABKALEARD0HEEwayIEQQhPDQEgBhCvFSACQQN0IARyIQIgASgCwAEgASgCxAEQ9BxBMGsiBEEITw0CIAJB/wFxIgVBIE8EQEEEEOMgIQEgAEEBNgIIIAAgATYCBCAAQQE2AgAgASAFNgIADAQLIAYQrxVBBBDjICEBIABBATYCCCAAIAE2AgQgAEEBNgIAIAEgAkEDdCAEckH/AXE2AgAMAwsgA0EVOgAYIAEoAtABIAUgA0EYahCYKyEBIABBgYCAgHg2AgAgACABNgIEDAILQQQQ4yAhASAAQQE2AgggACABNgIEIABBATYCACABIAI2AgAMAQtBBBDjICEBIABBATYCCCAAIAE2AgQgAEEBNgIAIAEgAkH/AXE2AgALIANBMGokAAuOCAIGfwF+IwBBwAFrIgIkAAJAAkACQAJAAkACQAJAIAAoAgBBAWsOBwECAwYGBAUACyACIAApAwggACgCGBC3IyABIAIpAwAgAigCCEEAEI4GIABBIGogARDnLAwFCyACQTBqIAApAwgiCCAAKAIYIgYQtyMgASACKQMwIAIoAjhBARCOBiAAKAIgIgUoAghBBnQhAyAFKAIEIQACQANAIAMiBEUNASAAKAIAIQcgA0FAaiEDIABBQGshAAJAIAdBAmsOAwABAAELCyACQSBqIAggBhC3IyABIAIpAyAgAigCKBDHEAsgAkHYAGpByJ/jACkDADcCACACQQA7AYIBIAJBADYCeCACQoCAgICAATcCcCACQQA6AGwgAkEANgJoIAJCgICAgMAANwJgIAJBADYCTCACQoCAgICAATcCRCACQcCf4wApAwA3AlAgAiABLwE8OwGAASACIAEoAjg2AnwgBARAIAJBEGogCCAGELcjIAJBxABqIAIpAxAgAigCGBDHEAsgAkHwAGohBCAFQQxqIAJBxABqIgAQmBogBSAAEKIaIAAgBUEYahDlIwJAIAIoAngiAARAIAFBDGogABCAKSACQYQBaiACKAJ0IAIoAngQnQogAiACKAKEATYCmAEgAiACKAKIASIANgKQASACIAAgAigCjAFBBHQiA2oiBTYCnAEDQCADRQ0CIAJBxABqIAApAwAgACgCCBDHECADQRBrIQMgAEEQaiEADAALAAsgAkGQAWoiACACQcQAakEsEPwGGiABQRxqIAAQmhogBBCFIwwFCyACIAU2ApQBIAJBkAFqEJMXIAEtAChFBEAgASACKAJ4EI0eIAIgAigCcDYCmAEgAiACKAJ0IgA2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DQAgA0H4AGoiBSACQQhqIgQQjRUgA0HIAGogACAFQQEQaQJAAkACQEECIAMoAkhBE2siBSAFQQJPG0EBaw4CAQIACyADQfgAaiIEIAJBOBD8BhogAkEANgIQIAJCATcDCCACQQk2AgAgBBDPIAwCCyAEEPoJIAQgCUEoEPwGGgwBCyAKIANByABqQTAQ/AYaIAIQzyAgAkEJNgIAIAJBBGogA0H4AGpBNBD8BhoLIAJBOGohAgwBCwsgBikCACELIAYgAykDEDcCACADQShqIAZBCGoiAigCACIANgIAIAIgA0EYaigCADYCACADIAs3AyACQCAABEAgAyADKAIgNgKAASADIAMoAiQiAjYCfCADIAI2AnggAyACIABBBHRqNgKEASADQSxqIgAgA0H4AGoiAhC6BiADQT5qQgA3AQAgA0HaAGpCADcBACADQgA3AjggA0IANwJUIANCgICAgIABNwJIIANBADYCUCADIAAQ1BY2AowBIANBAjYCiAEgA0ERNgKAASADQQk2AnggASACEPYZIANByABqEPImDAELIANBIGoQhSMLIANBsAFqJAALxAcBBn8jAEHQAGsiAyQAIAFBKGoiBBC6ICEGAkACQAJAAkACQAJAAkACQAJAIAIEQAJAAkAgBBDNDSIFRQ0AIAUoAgBBAkcNACAFLQAIQQJHDQAgBS0ACUEWRg0BCyADQTBqIAQQkhAgA0EIaiAEEIAUIANBiO7fADYCLCADQTQ6ACggAygCCCADKAIMIANBKGoQ/RQhAiAEEM0NIgRFDQkgBCgCAEEkRg0CDAkLIAEoAsgCIQUgAUElNgLIAiABIAEpA+ACNwOYAyADQTRqIAFB1AJqKQIANwIAIANBPGogAUHcAmooAgA2AgAgAyABKQLMAjcCLCADIAU2AiggA0EoahDCCgsgA0EgaiABQQBBARDNDiADKAIkIQcCQAJAIAMoAiBFBEACQCAEEM0NIgUEQCAFKAIAQQlGDQELIANBMGogBBCSECADQRBqIAQQgBQgA0Go5d8ANgIsIANBNDoAKCADKAIQIAMoAhQgA0EoahD9FCECIAQQzQ0iBEUNCSAEKAIAQSRGDQMMCQsgASgCyAIhBSABQSU2AsgCIAEgASkD4AI3A5gDIANBNGogAUHUAmopAgA3AgAgA0E8aiABQdwCaigCADYCACADIAEp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BUE0OgDQASABIAUoAgAgBSgCBCAFQdABahC+GQwCCyAFIAc2AqQBIAUgCDYCoAEgDCAFQdAAakEoEPwGGiAFKAI0RQRAIAVBfzYCNAJAIAUoAkAgBSgCOEkEQCAKIAVBoAFqEPUZIAUgBSgCNEEBajYCNAwBCyAFQQA2AjQgBSAHNgLUASAFIAg2AtABIAkgBUHQAGpBKBD8BhogBUE0aiAFQdABahClBAtBACECDAELC0HA3d8AEO0UAAsgBhDNDUUgBEVyRQRAIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyAFQdwBaiABQdQCaikCADcCACAFQeQBaiABQdwCaigCADYCACAFIAEpAswCNwLUASAFIAI2AtABIAVB0AFqEMIKCyAGIAVBEGoQ0AggACAFQTRqEIoGCyAFQYACaiQAC+EHAQl/IwBBoAFrIgMkACADQQA2AjBBASEFIANBATYCJCADQdzCwwA2AiAgA0IENwIoAkAgASACIANBIGoQrSQNACAAQQhqIQggACgCyAIiCUEUbCEGIAAoAqwCIQogACgCqAIhCyAAKALEAiEHAkADQAJAAkAgBgRAIAQgCUcNAUGQysMAENopAAsgAEHUAmoiBCgCACIGQQFNDQEgA0EANgIwIANBATYCJCADQfTN3wA2AiAgA0IENwIoIAEgAiADQSBqEK0kDQQgAEHQAmohBSAEIQBBACEEA0AgBCAGRg0CIAMgBDYCgAEgBSgCACAAKAIAIARBoMPDABCvHygCACEHIANBEDYCFCADQRA2AgwgAyAHNgKcASADQQI2ApgBIANBAzYCiAEgA0G4w8MANgKEASADIANBnAFqNgIQIAMgA0GAAWo2AgggA0EDOgBcIANBADYCWCADQqCAgIAQNwJQIANCgoCAgOAANwJIIANBAjYCQCADQQM6ADwgA0EINgI4IANCIDcCMCADQoCAgIDgADcCKCADQQI2AiAgAyADQSBqNgKUASADQQI2ApABIAMgA0EIajYCjAEgASACIANBhAFqEK0kDQQgBEEBaiEEDAALAAsgAyAHNgIEAkAgBCALRwRAIAQgCkcEQCADQSA2AoABDAILIANBPjYCgAEMAQsgA0HeADYCgAELIAdBFGohByADQbwBNgKYASADQRA2ApABIANB4gA2AogBIAMgA0EEajYClAEgAyADQZwBajYCjAEgAyADQYABajYChAEgAyAENgKcASADQQM6AHwgA0EANgJ4IANCoICAgCA3AnAgA0KCgICA4AA3AmggA0ECNgJgIANBAzoAXCADQQg2AlggA0KggICAEDcCUCADQoCAgIDgADcCSCADQQI2AkAgA0EDOgA8IANBADYCOCADQiA3AjAgA0KCgICA4AA3AiggA0ECNgIgIANBAzYCHCADQQQ2AgwgA0HQw8MANgIIIAMgA0EgajYCGCADQQM2AhQgBkEUayEGIARBAWohBCADIANBhAFqNgIQIAEgAiADQQhqEK0kRQ0BDAMLCyADQQA2AjAgA0EBNgIkIANB9M3fADYCICADQgQ3AiggASACIANBIGoQrSQNACADQQI2AiQgA0GEw8MANgIgIANCATcCLCADQb0BNgKIASADIAg2AoQBIAMgA0GEAWo2AihBASEFIAEgAiADQSBqEK0kDQEgA0EANgIwIANBATYCJCADQZjDwwA2AiAgA0IENwIoIAEgAiADQSBqEK0kIQUMAQtBASEFCyADQaABaiQAIAULzwYCBn8BfiMAQUBqIgMkAEEBIQICQAJAAkACQAJAAkACQAJAAkAgASgCAA4KBAgBCAIIAwgIAAgLIAEoAghBEUcNByABKAIQQQdHDQcgASgCFC0ARUEDRg0HIAEQzRkMBQsgAS0AIEUNAwwFC0ECIQIgASgCBCIBKAIAQRpGBEAgACgCCCADQQhqIAEpAwggAUEYaigCABC3IyADIAMoAhA2AjggAyADKQMIIgg3AzAgA0EwahDNHiAIEPEaQQFzIQILIAJBAkYgAnIhAgwFCyABKAIEIgEtAEENAyABLQBADQQgACgCBCADQRhqIAEpAyggAUE4aigCABC3IyADIAMoAiA2AjggAyADKQMYIgg3AzAgA0EwahDxCSECIAgQ8RoMBAsgAS0AIA0DIAEoAgwiBkUNAyADIAApAgQ3AiggAUEANgIMIAMgBjYCPCADIAFBBGo2AjBBuH8hBEEAIQICQANAIAIgBkYEQCAGIQIMAgsgAkEBaiECIANBKGogBEHIAGoiBCABKAIIaiIHELkHDQALIAcQ4hdBASEFCyACQcgAbCEEA0ACQCACIAZHBEAgA0EoaiABKAIIIARqIgcQuQdFBEAgBxDiFyAFQQFqIQUMAgsgASgCCCAFQbh/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AkEUahD3FAwDCyAFIAUgCSACQRBqIAAgEHqnQQN2IAdqIggQ2h8iExD2DiIGaiATQhmIpyIPOgAAIA0gBkEIayAJcWogDzoAACAFIAZBf3NBBXRqIgYgACgCACAIQX9zQQV0aiIIKQAANwAAIAZBGGogCEEYaikAADcAACAGQRBqIAhBEGopAAA3AAAgBkEIaiAIQQhqKQAANwAAIARBAWshBCAQQgF9IBCDIRAMAAsACyAAIAJBEGpBlwVBIBC8BAtBAAsaIAJBQGskAAwBCxCpGwALCyADIAA2AkwgAyADQcQAajYCSCADQQhqIAEoAhAgASgCFCASIANByABqQZQFEOwHIAEoAhAhACADKAIMIQICQCADKAIIRQRAIAAgAkEFdGsiAEEIayALNgIAIABBEGsiACkDACEQIAAgETcDACADKQMwEPEaDAELIAAgAmoiBC0AACEFIAMpAzAhECADKAI4IQcgBCASQhmIpyIEOgAAIAAgASgCFCACQQhrcWpBCGogBDoAACABIAEoAhxBAWo2AhwgASABKAIYIAVBAXFrNgIYIAAgAkEFdGsiAEEIayALNgIAIABBEGsgETcDACAAQRhrIAc2AgAgAEEgayAQNwMAQgAhEAsgEBDrJgwECyABIAIpAwAgAkEQaigCABCrHSABIAApAyggAEE4aigCABCrHQwDCyAAQRBqIAEQ/CMMAgsgAEEEaiABEPwsDAELAkACQCAAKAIIQQFrDgIBAgALIABBKGogARDxBQwBCyAAQShqIAEQgS0LIANB0ABqJAALgQcBA38gAC0AKCEEIABBADoAKAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgASgCACICQQxrIgMgA0EmTxtBAWsOJAABAgMEBQYHCAkKCwweHg0ODxARHhITFB4eFRYXGBkaGxweHR4LIAEoAgxBBHQhAiABKAIIIQEDQCACRQ0eIAEoAgBBAkcEQCABQQxqIAAQsi0LIAFBEGohASACQRBrIQIMAAsACyABQQRqIAAQ2QsMHAsgACABQQhqEKgfDBsLIAFBBGogABCyLQwaCyABQQxqIAAQsi0MGQsgAUEEaiAAELItIAFBCGogABCyLQwYCyABQThqAkACQAJAAkACQAJA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QdgAaiECA0ACQAJAAkACQAJAAkAgAEUNACABIABBAWsiADYCFCABQUBrIgMgASgCECAAQRxsaiIAQQxqKQIANwMAIAFByABqIgQgAEEUaikCADcDACABIAApAgQ3AzggACgCACIAQQhGDQAgAiABKQM4NwIAIAJBCGogAykDADcCACACQRBqIAQpAwA3AgAgASAANgJUIABBBGsOBAECAwQFCyABQQxqENUmDAYLIAEoAmAhABDBFCEDIAFBiAFqIABBGGoiBCgCADYCACABQYABaiAAQRBqKQIANwMAIAFB+ABqIABBCGopAgA3AwAgBCADNgIAIAApAgAhBiAAQQA2AgAgASAGNwNwIAFBDGogAUHwAGoQuxAMAwsgASgCWCEAEMEUIQMgAUGIAWogAEEYaiIEKAIANgIAIAFBgAFqIABBEGopAgA3AwAgAUH4AGogAEEIaikCADcDACAEIAM2AgAgACkCACEGIABBADYCACABIAY3A3AgAUEMaiABQfAAahC7EAwCCyABKAJgIQAgAUEANgJgIAFBADYCgAEgASAANgJ8IAEgAjYCeCABIAEoAlwiAzYCcCABIAMgAEEcbGo2AnQgAUEMaiABQfAAahDDBwwBCyABKAJgIQAgAUEANgJgIAFBADYCgAEgASAANgJ8IAEgAjYCeCABIAEoAlwiAzYCcCABIAMgAEEcbGo2AnQgAUEMaiABQfAAahDDBwsgAUHUAGoQ3CYgASgCFCEADAALAAsgAUGQAWokAAuqBgELfyMAQYABayICJAAgACABEJgaIAFBLGohCiABQRxqIQUgAUEMaiELIAAoAhAiCCAAKAIUQdgAbGohDCACQTBqIQYgAkEQaiEJA0AgDCAIIgNHBEAgA0HYAGohCAJAAkACQAJAAkACQAJAIAMoAgAiBEEEa0EAIARBBWtBCEkbQQFrDggBAgMECAgFBgALIAEgAxDLAwwHCyABIANBCGoQugQMBgsgA0EIaiABEMYsDAULIANBCGogARDyISADQTxqIAEQvCUgA0EwaiABEJgaDAQLIANBJGogARC8JSADQSxqIAEQmBoMAwsgCUHAn+MAKQMANwIAIAlBCGpByJ/jACkDADcCACACQQA7AUIgAkEANgI4IAJCgICAgIABNwIwIAJBADoALCACQQA2AiggAkKAgICAwAA3AiAgAkEA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IAEoAhgoAgwRAwAMAgsgASgCFEG0hNgAQQ4gASgCGCgCDBEDAAwBCyABKAIUIAAoAgQgACgCCCABKAIYKAIMEQMACyACQTBqJAALoAYCBn8CfiMAQYABayICJAAgACgCMBC6ESEEIAJBNGogAEE0aigCADYCACACQQA6ACggAkEYakHIn+MAKQMAIgg3AwAgAkEIaiAINwMAIAIgADYCICACIAQ2AiQgAkEBOgA5IAIgACkCLDcCLCACIAAtADw6ADwgAiAALwE6OwE6IAJBwJ/jACkDACIJNwMQIAIgCTcDACAALQA4IQQgAiAALQA9OgA9IAIgBDoAOCABKAIIQQxsIQcgAkHsAGohBCACQdAAaiEFIAJBLGohBiABKAIEIQADQCAHBEACQCAAKAIABEAgACACENQrDAELAkACQAJAAkACQAJAQQQgACgCBCIBKAIAQQVrIgMgA0EGTxtBAWsOBQECAwQFAAsgAUEIaiACEI8PDAULIAIgAUEIahDnISABQShqIAIQ1CsMBAsgAUEQaiACEI8PIAFBKGogAhDUKwwDCyACLQA5IQMgAkEBOgA5IAIgAUEIahDnISACIAM6ADkgAUHIAGogAhCnJSABQShqIAIQ0CMMAgsgAiABEOchIAIoAjAQuhEhAyAFQQhqIAg3AgAgBSAJNwIAIAJByABqIAg3AwAgBCAGKQIANwIAIARBCGogBkEIaigCADYCACACQQE6AGggAiADNgJkIAIgCTcDQCACIAItADw6AHwgAiACLwE6OwF6IAIgAjYCYCACLQA4IQMgAiACLQA9OgB9IAIgAzoAeCACQQA6AHkgAUEgaiACQUBrIgMQzSMgAUHoAGogAxDWKyABQcgAaiADENAjIAMQ/SgMAQsgAiABQQhqEOchIAIoAjAQuhEhAyAFQQhqIAg3AgAgBSAJNwIAIAJByABqIAg3AwAgBCAGKQIANwIAIARBCGogBkEIaigCADYCACACQQE6AGggAiADNgJkIAJBAToAeSACIAk3A0AgAiACLQA8OgB8IAIgAi8BOjsBeiACIAI2AmAgAi0AOCEDIAIgAi0APToAfSACIAM6AHggAUEoaiACQUBrIgEQ3AMgARD9KAsgAEEMaiEAIAdBDGshBwwBCwsgAhD9KCACQYABaiQAC6QIAQF/AkACQAJAAkACQAJAAkACQAJA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IAEQsy0PCyABIABBBGoQvxogASAAQRxqEJMkIABBEGogARCzLQ8LIABBEGogASgCJBDPHiABIABBKGoQlCQPCyAAQdAAaiEDIABBEGohAgJAIAAtAERBBEYEQCACIAEoAiQQzx4MAQsgAiABENAeCyABIAMQlCQPCyAAKAIMQThsIQMgACgCCCEEQQAhAANAIAAgA0YNCwJAAkACQAJAAkACQAJAAkBBBCAAIARqIgIoAgBBBGsiBSAFQQdPG0EBaw4GAQIDBAUGAAsgASACQQRqEL8aIAEgAkEYahCuJiABIAJBHGoQkyQMBgsgASACQQRqEL8aIAEgAkEYahCuJiABIAJBHGoQkyQMBQsgAkEQaigCACABEIwuIAEgAkEMahCuJgwECyACQQRqKAIAIAEQjC4gASACQRBqEK4mDAMLIAJBMGooAgAgARCMLiACIAEQ1ggMAgsgAkEQaigCACABEIwuIAEgAkEEahC/GiABIAJBHGoQriYgASACQSBqEJMkDAELIAJBBGogARCvJgsgAEE4aiEADAALAAsgACgCDEE4bCECIAAoAgghAANAIAJFDQogACgCAEEHRwRAIAAgARCKEQsgAEEwaiABEL0DIAJBOGshAiAAQThqIQAMAAsACyAAQQRqIAEQvQMgAEEIaiABEL0DIABBDGogARC9AyAAQRBqIQAMBAsgAEEQaiABENEeDwsgAEEEaiEADAILIABBBGogARC9AyAAQQhqIQAMAQsLIABBEGogARDRHiABIABBQGsQsCYgASAAQcQAahCwJg8LIAAoAghBhICAgHhIDQIMAwsgAC0AHEECRwRAIAEoAiQgAEEIahD7BRoLIAEgAEEoahCuJg8LIABBCGogARDQHgsPCyAAQQhqIAEQvhoLtQYCC38CfiMAQdAAayICJAAgASgC0AEhCAJ/AkACQCABKALAASABKALEARD0HCILQYCAxABHBEAgAUHAAWoiBhCvFSABKALkASIJIAkoAgBBAWoiBDYCACAERQ0BIAEoAtABIQQgAkEwaiAJQQhqENMdIAIoAjQhCiACKAIwIgdBADYCCANAAkAgAkEoaiABKALAASIDIAEoAsQBIgwQ9hwCQAJAAn4CQAJAIAItACgEQCACLQApIgMgC0H/AXFHDQEgAkEIaiAGIAQgASgC0AEQzhUgAigCDCEDIAIo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ASADQSBqIgQ2AgQgAkGoAmogA0EYaikDADcDACACQaACaiADQRBqKQMANwMAIAJBmAJqIANBCGopAwA3AwAgAiADKQMAIgk3A5ACIAUtAABBAUcgCaciB0EBS3INASACQZACahDLHgwCCyAAQRM2AgAMAgsgB0EERg0ACyACQcwAaiADQRxqKAIANgIAIAJBxABqIANBFGopAgA3AgAgAkE8aiADQQxqKQIANwIAIAIgBzYCMCACIAMpAgQ3AjQgAkEgaiABKAIUIgEpAwAgAUEQaigCABC3IyACKAIoIQUgAikDICEJIAJB0ABqIgEgAkEwahD+BSACQRBqIAkgBRC3IyACQgA3A9gBIAJBADoA5AEgAiACKAIYNgLgASACIAIpAxA3A9ABIAIpA0AQ9BohCiACQdABaiIGEP8UIQMgAkGwAmpCADcDACACQgA3A6gCIAIgCjcDoAIgAkEANgKYAiACQRs2ApACIAJBkAJqIggQ2CghBCABENgoIQEgAkEAOgDMASACIAE2AsgBIAJCADcDwAEgAiADNgK4ASACQgA3A7ABIAJCADcDoAEgAiAENgKcASACQQI2ApgBIAJBATYCkAEgBwRAIAoQ9BohCyACQfABakIANwMAIAJCADcD6AEgAiALNwPgASACQQA2AtgBIAJBGzYC0AEgAiAJIAUQtyMgAkIANwOYAiACQQA6AKQCIAIgAigCCDYCoAIgAiACKQMANwOQAiAIEP8UIQMgAkGQAWoQ2CghBCAGENgoIQELIAIpA0ghCyACQQA6AMwCIAIgATYCyAIgAkIANwPAAiACIAM2ArgCIAJCADcDsAIgAkIANwOgAiACIAQ2ApwCIAJBAjYCmAIgAkEBNgKQAiACQZACahDYKCEBIAAgCzcDCCAAIAE2AgQgAEESNgIAIAoQ8RogCRDxGgsgAkHQAmokAAvpBQEPfyMAQSBrIggkACAALQAAIQEgCEEYaiEKIAhBEGohDANAIANBCUshBgJ/A0AgAUEBcUUEQCABQf8BcSECIAAgAUEBciAALQAAIgEgASACRiICGzoAACACRQ0BIAhBIGokAA8LIAFBAnFFBEAgA0EBaiAGRQ0CGiABQf8BcSECIAAgAUECciAALQAAIgEgASACRhs6AAAgASACRw0BCwsCQEHQi+QAKAIADQBByIvkAEHIi+QAKAIA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DEErRg0AQdCkxABB0ABBoKXEABDuFwALIARBGGogASgCACIFQdgAaigCADYCACAEIAUpAlA3AxAgBEEIaiACEO0VIAVB0ABqIQUCQAJAIAQoAggiBkEMRgRAIARBnAFqIAVBCGooAgAiAzYCACAEQZABaiADNgIAIAQgBSkCACILNwKUASAEIAs3A4gBIARBGzYCKCAAIAEoAgQgASgCCCAEQYgBaiAEQShqEJwPDAELIAQgBCgCDCIINgIkIAQgBjYCICAGQQJPBEBBASEJAkAgARD3CEUNACABEMMMQT9HDQAgARD3CBpBACEJCyAEQYQBaiAFQQhqIgEoAgA2AgAgBEH4AGoiCiAGIAgQ2xEiB0EIaigCADYCACAEIAUpAgA3AnwgBCAHKQIANwNwIARBMGoiByAEQRhqKAIANgIAIARBPGogASgCADYCACAEQZABaiADQQhqKAIANgIAIAQgBSkCADcCNCAEQZwBaiAHKQMANwIAIARBpAFqIARBOGopAwA3AgAgBCAEKQMQNwKUASAEIAMpAgA3A4gBQQgQ4yAiASAINgIEIAEgBjYCACAEQdgAaiAKKQMANwIAIARB4ABqIARBgAFqKQMANwIAIAQgBCkDcDcCUCAEQShqIgMgBEGIAWpBJBD8BhogBCABNgJMIAQgCToAaCACQQggAxCAKhDXGCAAQQRqIAJBJBD8BhogAEEiNgIADAILIARBnAFqIAVBCGooAgAiAzYCACAEQZABaiADNgIAIAQgBSkCACILNwKUASAEIAs3A4gBIARBGzYCKCAAIAEoAgQgASgCCCAEQYgBaiAEQShqEJwPIARBIGoQxgkLIAIQ1iYLIARBsAFqJAALpwUCBH8BfiMAQeAAayIBJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4KAQIDBAUGBwgJCgALIAFBGGoiAiAAQSBqKQMANwMAIAFBEGogAEEYaiIDKQMANwMAIAFBCGogAEEQaiIEKQMANwMAIAEgACkDCDcDACACEPcmIAFBNGogAykCADcCACABQSxqIAQpAgA3AgAgASAAKQIINwIkQcAAQQgQziIiAEEaNgIAIAAgASkCIDcCBCAAQQxqIAFBKGopAgA3AgAgAEEUaiABQTBqKQIANwIAIABBHGogAUE4aigCADYCAAwKCyABQShq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BiACQgBSDQEgAEEANgIADAMLIAdBCGtBgAZBpMrAABCtEAALA0AgAiIEIAWDQgp+IQIgBCADiKchAQJAIAZBgAZPBEAgAUH/AXFFDQEgAEEBOgCIBgwBCyAGIApqIAE6AAAgBkEBaiEGCyACQgBSDQALCyAAIAY2AgAgBkGABksNASAGQQdqIQEDQCAAIAFqLQAADQEgACABQQhrNgIAIAFBAWsiAUEHRw0ACwsPCyAGQQFrQYAGQfTJwAAQrRAAC7gGAgx/CX4jAEHwAmsiAiQAIAEoAuQBIQggAS0A8wEhCSABKQIQIQ4gASkCGCEPIAEpAiAhECABKQIoIREgASkCMCESIAEpAjghEyABKQJAIRQgASkCSCEVIAEpAlAhFiACQYQCaiABKAJcIAEoAmAQ9xMgAkGQAmogASgCaCABKAJsEPcTIAJBnAJqIAEoAnQgASgCeBD3EyACIBY3AvwBIAIgFTcC9AEgAiAUNwLsASACIBM3AuQBIAIgEjcC3AEgAiARNwLUASACIBA3AswBIAIgDzcCxAEgAiAONwK8ASACQbwCaiABQZABai8BADsBACACQcYCaiABQZoBai8BADsBACACQdACaiABQaQBai8BADsBACACQdoCaiABQa4Bai8BADsBACACQeQCaiABQbgBai8BADsBACACIAEpAogBNwK0AiACIAEpAZIBNwG+AiACIAEpApwBNwLIAiACIAEpAaYBNwHSAiACIAEpArABNwLcAiACQe4CaiABQcIBai8BADsBACACIAEpAboBNwHmAiABKAKAASEEIAEoAoQBIQUjAEEQayIDJAAgA0EIaiAFQQFBChC5FCADKAIIIQYgAygCDCAEIAVBCmwQ/AYhByACQagCaiIEIAU2AgggBCAHNgIEIAQgBjYCACADQRBqJAAgAkEIaiACQbwBaiIDQewAEPwGGiACQfQAaiAEQcgAEPwGGiADIAFBxAFqEN4eIAEoAtwBIgMgAygCACIFQQFqNgIAIAVBAEgEQAALIAEoAgQhBSABKAIAIQQgAS0A8gEhBiABLQDxASEHIAEtAPABIQogASgC7AEhCyABKALoASEMIAIgASgCCCABKAIMELsoIAEoAuABIQ0gAikDACEOIABB0AFqIAFB0AFqEN4eIAAgCDYC5AEgACAJOgDzASAAQRBqIAJBCGpBtAEQ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BCAEQQlPG0EBaw4IAQIDBAUGBwgACyADQQE2AhQgA0H89uAANgIQIANCATcCHCADQakCNgIMIAMgACkCCDcCKCADIANBCGo2AhggAyADQShqNgIIIAEgAiADQRBqEK0kDAgLIAMgAEEEajYCCCADQQI2AhQgA0Gc0dgANgIQIANCATcCHCADQQg2AiwgAyADQShqNgIYIAMgA0EIajYCKCABIAIgA0EQahCtJAwHCyADQQA2AiAgA0EBNgIUIANBwNHYADYCECADQgQ3AhggASACIANBEGoQrSQMBgsgA0EANgIgIANBATYCFCADQdDR2AA2AhAgA0IENwIYIAEgAiADQRBqEK0kDAULIANBADYCICADQQE2AhQgA0Hs0dgANgIQIANCBDcCGCABIAIgA0EQahCtJAwECyADQQA2AiAgA0EBNgIUIANBjNLYADYCECADQgQ3AhggASACIANBEGoQrSQMAwsgAyAANgIIIANBATYCFCADQfz24AA2AhAgA0IBNwIcIANBqgI2AiwgAyADQShqNgIYIAMgA0EIajYCKCABIAIgA0EQahCtJAwCCyADIABBBGo2AgggA0ECNgIUIANBlNLYADYCECADQgE3AhwgA0EINgIsIAMgA0EoajYCGCADIANBCGo2AiggASACIANBEGoQrSQMAQsgAyAAQQRqNgIIIANBATYCFCADQfz24AA2AhAgA0IBNwIcIANBCDYCLCADIANBKGo2AhggAyADQQhqNgIoIAEgAiADQRBqEK0kCyADQTBqJAALvwQCA38BfiMAQUBqIgYkACAGQTBqIAIgBUGQCiAFEOgXAkAgBi0AMEEFRwRAIAAgBikDMDcCAAwBCyAGKAI0GgJAIAVFDQAgBkEBOgAmIAZBADoAJyAFIQcDQAJAAkAgB0UEQCAGQTBqIAEgAiADQZAKIAggCUIgiKcQ1gEgBi0AMEEERg0EIAYpAzAiCUL/AYNCBFINAQwECyAGIAk3AjQgBiAINgIwIAZBGGogBBDNECAGQShqIAEgA0GQCiAGQTBqIAYoAhggBigCHCAGQSdqIAZBJmoQkQQgBi0AKEEERwRAIAYpAygiCUL/AYNCBFINAQsgBkEwaiAEIAEQ7wggBi0AMEEERwRAIAYpAzAiCUL/AYNCBFINAQsgBi0AJkUEQCAGQQE6ACYMAgsgASgCREUN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BCACQSBqEIAjQQQhA0EADAELIAJBIGoQgCMCQAJAIAVBgLADc0GAgMQAa0GAkLx/Tw0AIAYgCBDSHSACQRRqIgNB3AAQzRsgA0H1ABDNGyAERQRAQQQhAwNAIANFDQMgASgCwAEgASgCxAEQ9BwiBUGAgMQARwRAIAYQrxUgAkEUaiAFEM0bCyADQQFrIQMMAAsAC0H7ACEDQQYhBwNAIAJBFGogAxDNGyAHRQRAQf0AIQUMAgtB/QAhBSABKALAASABKALEARD0HCIDQf0ARiADQYCAxABGcg0BIAYQrxUgB0EBayEHDAALAAsgAkEUaiAFEM0bCyAERQ0BIAZB/QAQkhgNASACQSM6ACggASgC0AEgCCACQShqEJgrIQEgAEGAgICAeDYCACAAIAE2AgQgAigCGCEDIAIoAhQLIAMQ2SkMAQsgACACKQIUNwIAIABBCGogAkEcaigCADYCAAsgAkFAayQAC9QEAgJ/AX4jAEEwayIDJAACQAJAAkACQAJAAkACQAJAAkAgAigCAEEBaw4EAQIDBAALIANBIGogASACKAIQIgRBABDTASADLQAgQQRGDQQgAykDICIFQv8Bg0IEUQ0EIAAgBTcCAAwHCyADQSBqIAJBCGogARBnIAMtACBBBEYNBCADKQMgIgVC/wGDQgRRDQQgACAFNwIADAYLIANBIGogAkEIaiABEPETIAMtACBBBEYNAyADKQMgIgVC/wGDQgRRDQMgACAFNwIADAULIANBIGogASACQQRqEK8HIAMtACBBBEYNAiADKQMgIgVC/wGDQgRRDQIgACAFNwIADAQLIANBIGogAkEIaiABELMCIAMtACBBBEYNASADKQMgIgVC/wGDQgRRDQEgACAFNwIADAMLAkACQAJAIARFDQAgA0EgaiABIAQQyxwgAy0AIEEERg0AIAMpAyAiBUL/AYNCBFINAQsgAkEIaiECIAEtAEwNASADQSBqIAIgARCQEyADLQAgQQRGDQIgAykDICIFQv8Bg0IEUQ0CIAAgBTcCAAwECyAAIAU3AgAMAwsgAyACEJYMIANBIGogAygCACADKAIEENkDIANBFGogAygCJCICIAMoAihBASABLQBREJoBIANBCGogASADKAIYIgEgAygCHBDjECADLQAIQQRHBEAgAykDCCIFQv8Bg0IEUg0CCyADKAIUIAEQriQgAygCICACEK4kCyAAQQQ6AAAMAQsgACAFNwIAIAMoAhQgARCuJCADKAIgIAIQriQLIANBMGokAAu6BAIGfwJ+IwBBIGsiAiQAIAFBBiAAKAIIQQJrIgMgA0EJTxsiAxCyIAJAAkACQAJAAkACQCADDgkABAUFBQUDAgEFC0EAIQMgAkEYakEAIAAoAhAgACgCFEH41NgAEIodIAIoAhwhBiACKAIYIQcDQAJ/AkACQAJAAkAgAyIAIAZGBEAgBSAGSQRAIAJBCGogBSAHIAZBiNXYABCKHSABIAIoAgggAigCDCIAEO4IIAAgBGpBHnchBAsgASABKAI4QQhqNgI4IAEgASkDMCAErSIJIAEoAjwiAEEDdCIDQThxrYaEIgg3AzAgAEEISw0BIAEgASkDGCAIhTcDGCABEJcLIAEpAzAhCCABIAlBwAAgA2utiEIAIAAbNwMwIAEgCCABKQMAhTcDAAwCCyAAQQFqIQMgACAHai0AAEEvRw0FIAAgBUsEQCABIAUgB2ogACAFayIAEO4IIAAgBGpBHnchBAsgAkEQaiADIAcgBkGY1dgAEIodIAIoAhAhAAJAAkAgAigCFA4CBAABCyAALQAAQS5HDQMMBAsgAC0AAEEuRw0CIAAtAAFBL0YNAwwCCyAAQQhqIQALIAEgADYCPAwIC0EADAELQQELIANqIQUMAAsACyAAQRBqKAIAIABBFGooAgAgARDcCAwDCyAAQRBqKAIAIABBFGooAgAgARDcCAwCCyAAQRxqKAIAIABBIGooAgAgARDcCAwBCyAAQRBqKAIAIABBFGooAgAgARDcCAsgAkEgaiQAC74EAQR/IwBBgAFrIgIkACACQRhqQcif4wApAwA3AgAgAkEAOwFCIAJBADYCOCACQoCAgICAATcCMCACQQA6ACwgAkEANgIoIAJCgICAgMAANwIgIAJBADYCDCACQoCAgICAATcCBCACQcCf4wApAwA3AhAgAiAALwE8OwFAIAIgACgCODYCPCABQQxqIAJBBGoiAxCYGiABIAMQohogAyABQRhqEOUjIAJBMGohBAJAAkAgAigCOCIBBEAgAEEMaiABEIApIAJBxABqIAIoAjQgAigCOBCdCiACIAIoAkQ2AlggAiACKAJIIgE2AlAgAiABIAIoAkxBBHQiA2oiBTYCXANAIANFDQIgAkEEaiABKQMAIAEoAggQxxAgA0EQayEDIAFBEGohAQwACwALIAJB0ABqIgEgAkEEakEsEPwGGiAAQRxqIAEQmhogBBCFIwwBCyACIAU2AlQgAkHQAGoQkxcgAC0AKEUEQCAAIAIoAjgQjR4gAiACKAIwNgJYIAIgAigCNCIBNgJQIAIgASACKAI4QQR0IgNqIgQ2AlwDQCADBEAgACABKQMAIAEoAghBARCOBiADQRBrIQMgAUEQaiEBDAELCyACIAQ2AlQgAkHQAGoiARCTFyABIAJBBGpBLBD8BhogAEEcaiABEJoaDAELIAJB2ABqIARBCGooAgA2AgAgAiAEKQIANwNQIABBLGogAkHQAGoiARCiECABIAJBBGpBLBD8BhogAEEcaiABEJoaCyACQYABaiQAC4MEAQl/IwBBEGsiBCQAAn8CQCACKAIEIgNFDQAgACACKAIAIAMgASgCDBEDAEUNAEEBDAELIAIoAgwiAwRAIAIoAggiBSADQQxsaiEIIARBDGohCQNAAkACQAJAAkAgBS8BAEEBaw4CAgEACwJAIAUoAgQiAkHBAE8EQCABQQxqKAIAIQMDQEEBIABBkPTAAEHAACADEQMADQgaIAJBQGoiAkHAAEsNAAsMAQsgAkUNAyABQQxqKAIAIQMLIABBkPTAACACIAMRAwBFDQJBAQwFCyAAIAUoAgQgBSgCCCABQQxqKAIAEQMARQ0BQQEMBAsgBS8BAiECIAlBADoAACAEQQA2AggCf0EEQQUgAkGQzgBJGyACQegHTw0AGkEBIAJBCkkNABpBAkEDIAJB5ABJGwsiAyAEQQhqIgpqIgdBAWsiBiACQQpuIgtB9gFsIAJqQTByOgAAAkAgBiAKRg0AIAdBAmsiBiALQQpwQTByOgAAIARBCGogBkYNACAHQQNrIgYgAkHkAG5BCnBBMHI6AAAgBEEIaiAGRg0AIAdBBGsiBiACQegHbkEKcEEwcjoAACAEQQhqIAZGDQAgB0EFayACQZDOAG5BMHI6AAALIAAgBEEIaiADIAFBDGooAgARAwBFDQBBAQwDCyAFQQxqIgUgCEcNAAsLQQALIARBEGokAAvYBAIGfwF+IwBB0ABrIgIkAAJAAkACQAJ/AkAgACgCACIDQQJHBEBBASEFIANBAXFFBEAgASgCFCIDIAAoAhAgACgCFCABKAIYKAIMIgERAwANBgwFCyACIABBBGo2AgAgASgCHCACIAE2AgwgAkKAgICAgMjQBzcCBCACrUKAgICAsCGEIQhBBHFFDQEgAiAINwMoIAJBATYCJCACQQE2AhQgAkH89uAANgIQIAJBATYCHCACQQM6AEwgAkEENgJIIAJCIDcCQCACQQI2AjggAkECNgIwIAIgAkEwajYCICACIAJBKGo2AhggAkEEakHYztYAIAJBEGoQkgQMAgsgACgCJCIDRQ0EIAAoAiAhAANAIAJBMGogACADENUDAkACQCACKAIwRQRAIAEgAigCNCACKAI4EKoDDQEMCAsgAi0AOSEEIAItADghBiACKAI0IQcgAUGZs9gAQQMQqgNFDQELQQEhBQwGCyAGQQFxRQ0FIAQgB2oiBCADTQRAIAAgBGohACADIARrIgMNAQwGCwsgBCADQciz2AAQrhAACyACQQE2AjQgAkH89uAANgIwIAJCATcCPCACIAg3AxAgAiACQRBqNgI4IAJBBGpB2M7WACACQTBqEJIECyIDQQAgAigCBCIEG0UEQCADDQMgBEUNAUHA2NYAQTcgAkEwakGw2NYAQfjY1gAQxg4ACyABKAIUQZzY1gBBFCABKAIYKAIMEQMADQILIAEoAhQhAyABKAIYKAIMIQELIAMgACgCGCAAKAIcIAERAwAhBQsgAkHQAGokACAFC7kEAQp/IwBB0AFrIgIkACACQRBqIAFBOBD8BhoCQAJAAkACQCAAKAIARQRAIABBfzYCACAAQQRqIQUgAigCEEEKRyIDIAAoAgQgACgCDCIEa0sNAUEAIQEDQCACQcgAaiIDIAJBEGpBOBD8BhogAkEKNgIQIAIoAkhBCkYNBSAAKAIMIAAoAgRHBEAgBSADEPYZIAFBAWohAQwBCwsgBSABQQFqEKAJIAAoAhgiA0UNAiACQQhqIAAoAhQgA0EMbGpBDGsiAygCCCIGIAFrIAYQkR8gAigCDCEBIAMgAigCCCIENgIIIAMoAgQhCSAFIAFBOGwiCCAEQThsIgprIgRBOG4Qjx8gACgCCCAAKAIMIQcgAiAGIAFrNgKUASACIAE2ApABIAIgAzYCjAEgAiAIIAlqIgg2AogBIAkgCmohASAHQThsaiEGAkADQCAERQRAIAJBCjYCmAEgAiAINgKEAQwCCyACQZgBaiABQTgQ/AYaIAFBOGohAyACKAKYAUEKRwRAIAYgAUE4ENAtQThqIQYgBEE4ayEEIAdBAWohByADIQEMAQsLIAIgAzYChAELIAJBmAFqEO4HIAAgBzYCDCACQYQBahChByAFIAJByABqEPYZIAUgAkEQahDlDAwDC0HkhtkAEO0UAAsgBSADEKAJIAUgARDlDAwBC0H0htkAENopAAtBACEECyAAIAAoAgBBAWo2AgAgBCAAKAIMRgRAQQBBAEGEh9kAEK0QAAsgAkHQAWokAAuOBAEIfyMAQTBrIgIkAAJAAkACQCABKAIAQYCAgIB4RgRAIABBgICAgHg2AgAMAQsCQCABKAIIIgZFBEAgAkEANgIIIAJCgICAgBA3AwAMAQsgBkEMbCIDQQxrIghBDG4hBiABKAIEIgUhBAJAA0AgA0UNASADQQxrIQMgBiAEKAIIIAZqIgZNIARBDGohBA0AC0G0kdgAQTVBtJLYABC1EgALIAJBGGogBkEAQQFBARCVCiACKAIcIQQgAigCGEEBRg0CIAJBADYCFCACIAIoAiA2AhAgAiAENgIMIAUoAgQhBCACQQxqIAUoAggiAxDbHiACKAIQIgcgAigCFCIJaiAEIAMQ/AYaIAVBFGohBCAGIAMgCWoiBWshAyAFIAdqIQcDQCAIBEAgA0UNBSAEQQRrKAIAIQkgBCgCACEFIAdBCjoAACADQQFrIgMgBUkNBSAIQQxrIQggBEEMaiEEIAMgBWshAyAHQQFqIAkgBRD8BiAFaiEHDAELCyACQQhqIAYgA2s2AgAgAiACKQIMNwMACyACQSRqIAFBHGovAQA7AQAgAiABKQIUNwIcIAIgAjYCGCAAIAJBGGoQlQ0gAigCACACKAIEENYpCyACQTBqJAAPCyAEIAIoAiAQ3CkACyACQQA2AiggAkEBNgIcIAJBxN/gADYCGCACQgQ3AiAgAkEYakHEktgAELodAAvJBAIFfwJ+IwBBgAFrIgYkACAGQcEAaiABQb8CaikAADcAACAGQTxqIAFBugJqIgcpAQA3AgAgBkE0aiABQbICaikBACILNwIAIAZBAToAYCAGIActAAA6AF8gBiABLQDGAjoAayAGIAEpAaoCIgw3AE8gBiALNwBXIAYgASkCvAI3AGEgBiABLwHEAjsAaSAGIAw3AiwgAUEoaiAGQc8AahDQCCAGIAE2AiggBkEIaiABIAMgBEEAEFwgBigCCCEIAkAgBi0AHCIJQQNHBEAgBkH4AGogBkEUaikCADcDACAGQe4AaiAGQR9qLQAAOgAAIAYgBikCDDcDcCAGIAYvAB07AWwgBigCICEHIAZBKGoQhCUCQCAFRQRAIAcoAhRB2ABsIQMgBygCECEEA0AgA0UNAgJAAkACQAJAIAQoAgAiBUEEa0EAIAVBBWtBCEkbQQFrDgMAAwEDCyAELQA1DQEMAgsgBC0ARUEBRw0BCyAEKAIsIQUgBCgCKCEKIAZBoAE6ACggASAKIAUgBkEoahC+GQsgBEHYAGohBCADQdgAayEDDAALAAsgB0EBOgA8CyAAIAg2AgggAEEANgIAIAAgBikDcDcCDCAAIAk6ABwgACAGLwFsOwAdIAAgBzYCICAAQRRqIAZB+ABqKQMANwIAIABBH2ogBkHuAGotAAA6AAAgACACIAEoApwDIgEgASACSRs2AiwgACACIAEgASACSxs2AigMAQsgAEEDNgIAIAAgCDYCBCAGQShqEIQlCyAGQYABaiQAC8kEAgV/An4jAEGAAWsiBiQAIAZBwQBqIAFBlwNqKQAANwAAIAZBPGogAUGSA2oiBykBADcCACAGQTRqIAFBigNqKQEAIgs3AgAgBkEBOgBgIAYgBy0AADoAXyAGIAEtAJ4DOgBrIAYgASkBggMiDDcATyAGIAs3AFcgBiABKQKUAzcAYSAGIAEvAZwDOwBpIAYgDDcCLCABQYABaiAGQc8AahDICCAGIAE2AiggBkEIaiABIAMgBEEAEFsgBigCCCEIAkAgBi0AHCIJQQNHBEAgBkH4AGogBkEUaikCADcDACAGQe4AaiAGQR9qLQAAOgAAIAYgBikCDDcDcCAGIAYvAB07AWwgBigCICEHIAZBKGoQoCYCQCAFRQRAIAcoAhRB2ABsIQMgBygCECEEA0AgA0UNAgJAAkACQAJAIAQoAgAiBUEEa0EAIAVBBWtBCEkbQQFrDgMAAwEDCyAELQA1DQEMAgsgBC0ARUEBRw0BCyAEKAIsIQUgBCgCKCEKIAZBoAE6ACggASAKIAUgBkEoahDQGQsgBEHYAGohBCADQdgAayEDDAALAAsgB0EBOgA8CyAAIAg2AgggAEEANgIAIAAgBikDcDcCDCAAIAk6ABwgACAGLwFsOwAdIAAgBzYCICAAQRRqIAZB+ABqKQMANwIAIABBH2ogBkHuAGotAAA6AAAgACACIAEoAnwiASABIAJJGzYCLCAAIAIgASABIAJLGzYCKAwBCyAAQQM2AgAgACAINgIEIAZBKGoQoCYLIAZBgAFqJAAL+AMCA38CfgJAAkACQAJAAkACQAJAAkACQCACDgIAAQILIABBADoAAQwHC0EBIQIgAS0AAEEraw4DBQEFAQsgAS0AAEErRgRAIAFBAWohASACQQpJIAJBAWshAg0BDAILIAJBCEsNAQsgA0EKSw0BQQAhBANAIAEtAABBMGsiBSADTw0EIAFBAWohASAFIAMgBGxqIQQgAkEBayICDQALDAILAkACQCADQQpNBEAgA60hB0EAIQQDQCACRQ0FIAEtAABBMGsiBSADTw0GIAStIAd+IghCIIinDQMgAUEBaiEBIAJBAWshAiAFIAinIgZqIgQgBk8NAAsMAQsgA60hB0EAIQQDQCACRQ0EIAEtAAAiBkEwayIFQQpPBEBBfyAGQSByIgVB1wBrIgYgBiAFQeEAa0kbIgUgA08NBgsgBK0gB34iCEIgiKcNAiABQQFqIQEgAkEBayECIAUgCKciBmoiBCAGTw0ACwsgAEECOgABDAQLIABBAjoAAQwDC0EAIQQDQCABLQAAIgZBMGsiBUEKTwRAQX8gBkEgciIFQdcAayIGIAYgBUHhAGtJGyIFIANPDQMLIAFBAWohASAFIAMgBGxqIQQgAkEBayICDQALCyAAIAQ2AgQgAEEAOgAADwsgAEEBOgABIABBAToAAA8LIABBAToAAAvuBAEBfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAiACgCAA4TEhIBAgMEBQYHCAkKCwwNDg8QEQALIABBCGoQgh4MEQsgACgCBEGAgICAeEYEQCAAQQhqEO4mIAAoAiAQuR4gAEEUahCCJQwRCyAAQQRqEO4mIAAoAhwQuR4gAEEQahCCJQwQCyAAQRBqEM8bIAAoAigQ8yIMDwsgAEEQaiEBAkAgAC0AREEERgRAIAEQzxsMAQsgARCCHgsgACgCUBDzIgwOCyAAQQRqEMEJIAAoAgQgAEEIaigCABCNKgwNCyAAQQRqEMkEDAwLIABBBGoQtxkgACgCBCAAQQhqKAIAEI0qDAsLIABBBGoQyQQMCgsgAEEEahDJBAwJCyAAQQhqEPAmDAgLIABBBGoQyQQgAEEIahDJBCAAQQxqEMkEIABBEGoQyQQMBwsgAEEQahDVIQwGCyAAQQRqEMkEDAULIABBBGoQyQQMBAsgAEEEahDJBCAAQQhqEMkEDAMLIABBEGoQ1SEgAEFAaxD4JiAAQcQAahD4JgwCCwJAAkACQAJAQQQgACgCCEGAgICAeHMiASABQQRPGw4EAQIFAwALIABBCGoQ8CYgAEEYaiIBKAIAIABBHGooAgAQmRwgACgCFCABKAIAEPUpDAQLIAApAyAQ6yYMAwsgACkDECAAQSBqKQMAEIgrDAILIAAoAiAiASgCACABQQRqKAIAENkpIAFBEEEEENERIAApAxgQ6yYMAQsgAC0AHEECRwRAIAApAwgQ8RoLIABBKGoQ9yYLIABB2ABBCBDREQvIBAIGfwJ+IwBBIGsiAyQAIAFBKGoiBBC6ICEGAkAgBBDNDSIFRQRAIAEoAoACIQEgA0EAOgAIIAEgASADQQhqEP0UIQEgAEECOgAYIAAgATYCAAwBCwJAAkACQAJAAkACQEEQIAUoAgBBAmsiBSAFQSNPGyIFQRBHBEAgBUEiRw0BIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEcNAiABKALMAiEBIABBAjoAGCAAIAE2AgAMBwsgASABKQPgAjcDmAMgASgCyAIhBSABQSU2AsgCIAEpA9gCIQogASkD0AIhCSABKALMAiEHIAVBAmsiCEEiTSAIQRBHcQ0CIAUEQCADIAc2AgggAkUNBCADQQhqEPYiQgAhCQsgACAEEM0NIgIEfyACKAIAQRFGBUEACzoAGCAAIAk3AxAgACAKNwMAIAAgBiABKAKcAyIBIAEgBkkbNgIMIAAgBiABIAEgBksbNgIIDAYLIANBFGogBBCSECADIAQQgBQgA0EONgIQIANB3IzgADYCDCADQTA6AAggAygCACADKAIEIANBCGoQ/RQhAiAEEM0NIgRFDQQgBCgCAEEkRw0EIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEcNAyABIAEoAswCEP8LDAQLQd3r4ABBKEG8jOAAEO4XAAtB3evgAEEoQcyM4AAQ7hcACyAAQQI6ABggACAHNgIAIAoQ8RoMAgtB3evgAEEoQeyM4AAQ7hcACyAAQQI6ABggACACNgIACyADQSBqJAALtgQCBn8CfiMAQSBrIgMkACABQShqIgQQ1SAhBgJAIAQQ5w0iBUUEQCABKALYAiEBIANBADoACCABIAEgA0EIahD9FCEBIABBAjoAGCAAIAE2AgAMAQsCQAJAAkACQAJAAkBBECAFKAIAQQJrIgUgBUEjTxsiBUEQRwRAIAVBIkcNASABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAiABKAIsIQEgAEECOgAYIAAgATYCAAwHCyABIAEpA0A3A3ggASgCKCEFIAFBJTYCKCABKQM4IQogASkDMCEJIAEoAiwhByAFQQJrIghBIk0gCEEQR3ENAiAFBEAgAyAHNgIIIAJFDQQgA0EIahCUI0IAIQkLIAAgBBDnDSICBH8gAigCAEERRgVBAAs6ABggACAJNwMQIAAgCjcDACAAIAYgASgCfCIBIAEgBkkbNgIMIAAgBiABIAEgBksbNgIIDAYLIANBFGogBBDrCyADIAQQsxQgA0EONgIQIANB3IzgADYCDCADQTA6AAggAygCACADKAIEIANBCGoQ/RQhAiAEEOcNIgRFDQQgBCgCAEEkRw0EIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0DIAEgASgCLBCGDAwEC0Hd6+AAQShBvIzgABDuFwALQd3r4ABBKEHMjOAAEO4XAAsgAEECOgAYIAAgBzYCACAKEPEaDAILQd3r4ABBKEHsjOAAEO4XAAsgAEECOgAYIAAgAjYCAAsgA0EgaiQAC+gXAhd/BH4jAEGAAmsiBSQAAkAgAy0AJUECRgRAIAAhCiACIQ8jAEHQBGsiBCQAIAMoAhAhFCADKAIMIRUgAygCACECIAMoAgQhCyADKAIIIQAgBEEANgIwIARCgICAgIABNwIoIAQgCyAAQThsaiIWNgJAIAQgAjYCPCAEIAs2AjggBCALNgI0IARByABqIQ0gBEGIBGohDiAEQegBaiERIARBgARqQQRyIRIgBEH4AGpBBHIhFyAEQewBaiIYQQZqIRkDQAJAAkACQCALIgAgFkYNACAEIABBOGoiCzYCOCAAKAIAIQMgBEHEAGoiAiAAQQRqQTQQ/AYaIANBCkYNACAEIAM2AnggFyACQTQQ/AYaAkACQAJAIANBAUcEQAJAAkAgA0EGaw4EAwEBAAELIARBsAFqIgAgDUEwEPwGGiAEQShqIAAQ9RkMCAsCQAJAQYiQ5AAoAgAiGgRAIAQoAqwBIQkgBCgCqAEhDCAEKAKIASEGIAQoAoQBIQcgBCgCgAEhEyAEKAKMASIIIQIgBCgCkAEiAyEAAkACQAJAAkAgBCgCeEEBaw4JBQMFAQEAAQECBgsgBCgCfCIAKAIgIQIgACgCJCEADAULIBMhAiAHIQAMBAsgBCgCmAEhCSAEKAKUASEAIAMhAgJAAkACQAJAAkAgE0EBaw4SAAACAAUFBQIDBQECAggDAwQFCAsgByECIAYhAAwHCyAHKAJ8IQAgBygCeCECDAYLIAghAiADIQAMBQsgACECIAkhAAwECwJAAkACQAJAAkACQCAGQQFrDgcBAgIDAwQFAAsgDCgCKCEAIAwoAiQhAgwICyAMKAI0IQAgDCgCMCECDAcLIAgoAhAhACAIKAIMIQIMBgsgCCgCBCEAIAgoAgAhAgwFCyAIKAIcIQAgCCgCGCECDAQLIAgoAkwhACAIKAJIIQIMAwsgBiECIAghAAwCC0Hkx+AAQcgAEP8qAAsgDCECIAkhAAsgBEGABGoiAyAaIAIgAEHlv98AQT8Q4g4gAxDHASADEJULIARB+ABqEM8gDAcLIARB4AFqIA1BKBD8BhoCQAJAAkACQAJAIAQoAuABDgMCAgEACyAEQYAEaiIAIA1BKBD8BhogBEEBNgLkAyAEQfS73wA2AuADIARCATcC7AMgBEGTBTYCxAQgBCAEQcAEajYC6AMgBCAANgLABCAEQeADakH8u98AELodAAsgBCgC5AEiBygCCCEAIAcoAgQhAiAEIAcoAgA2AvgDIAQgAjYC9AMgBCACNgLwAyAEQQA2AugDIARBADYC4AMgBCACIABBOGxqNgL8AyAEQeADaiIAELgHIgNFBEAgBEEANgLAAiAEQoCAgIDAADcDuAIgABDJESAEQbgCahDmJiAHEO0qDAoLQQQhAiAEQRBqQQRBBEEEELkUIAQoAhAhACAEKAIUIgYgAzYCAEEBIQMgBEEBNgLIBCAEIAY2AsQEIAQgADYCwAQgBEGYBGogBEH4A2opAgA3AwAgBEGQBGogBEHwA2opAgA3AwAgDiAEQegDaikCADcDACAEIAQpAuADNwOABANAIAQgBEGABGoQuAciADYCzAQgAARAIAQoAsAEIANGBEAgBEHABGpBARCKHyAEKALEBCEGCyACIAZqIAA2AgAgBCADQQFqIgM2AsgEIAJBBGohAgwBCwsgBEHMBGoQ1icgBEGABGoQyREgBEHAAmoiAiAEQcgEaigCACIANgIAIAQgBCkCwAQ3A7gCIAAOAgIEAQsgBCkDqAEhHiAEQeADaiIDIBEQzhsgBCABIA8QtyMgBCgCCCEAIAQpAwAgBEGABGoiBiAREM4bIAQpA4AEIR0gBCkDiAQhGyAAEL4YIQIgAxD/FCEAIARBADoAvAQgBCAANgK4BCAEQgA3A7AEIAQgAjYCqAQgBEIANwOgBCAEIBs3A5gEIAQgHTcDkAQgBEEANgKIBCAEQQE2AoAEIAYQ2CghACAEIB43A5ACIAQgADYCjAIgBEESNgKIAiAOIA1BKBD8BhogBEERNgKABCAEQShqIgAgBhD1GSAAIARBiAJqEPUZDAgLIBIgBCkDuAI3AgAgEkEIaiACKAIANgIAIARCADcDkAQgBEEZNgKABCAEIARBgARqIgAQ2Cg2AoQEIARBEjYCgAQgBCAHKQIMNwOIBCAEQShqIAAQ9RkMAwsgBCgCeCEAIARBuAJqEOYmIAcQ7SoCQAJAIABBBmsOBAgBAQgACyAAQQFGDQcLIARB+ABqEO4JDAYLAkAgBCgCfCIGKQMAUEUEQEGIkOQAKAIAIgBFDQUgBEGABGoiAiAAIAYoAiAgBigCJEGov98AQT0Q4g4gAhDHASACEJULDAELIARB2AJqIAZBGGopAwA3AwAgBEHQAmogBkEQaikDADcDACAEIAYpAwg3A8gCIARB4AJqIgAgBEHIAmoQ5AcCfyAGLQBARQRAIARB4AFqIgIgBkEoahDOGyAOIAIQ5BggBEEANgKABCAAENgoIQBBOEEIEKEgIARBgARqQSgQ/AYiA0EAOgA0IAMgADYCMCADQgA3AyggBEEBNgLoAyAEIAM2AuQDIARBATYC4AMgGEIANwIAIBlCADcBACAEQoCAgICAATcC4AEgBEEANgLoASACEPImIARBgAQ7AfgDIARBADYC9AMgBCAGKQMgNwLsAyAEQeADahDUFiECQQIhA0ERDAELIARBGGogASAPELcjIAQoAiAhACAEKQMYIARBgARqIAZBKGoQzhsgBCkDgAQhHSAEKQOIBCEbIAAQvhghAiAEQeACahDYKCEAIARBADoA3AMgBCAANgLYAyAEQgA3A9ADIAQgAjYCyAMgBEIANwPAAyAEIBs3A7gDIAQgHTcDsAMgBEEANgKoAyAEQQE2AqADIAYoAiQhAiAGKAIgIQMgBEGgA2oQ2CghEEESCyEAIAQgAjYCjAQgBCADNgKIBCAEIBA2AoQEIAQgADYCgAQgBEEoaiAEQYAEahD1GQsgBikDKBDxGiAGKQMAUA0EIAYQnB8MBAsgBEEANgLAAiAEIAQoArwCKAIANgKEBCAEQRI2AoAEIAQgBykCDDcDiAQgBEEoaiAEQYAEahD1GSAEQbgCahDmJgsgBxDtKgJAAkAgBCgCeCIAQQZrDgQFAQEFAAsgAEEBRg0ECyAEQfgAahDuCQwDCyAEQTRqENQXIApBCGogBEEwaigCADYCACAKIAQpAig3AgAgCkEANgIUIAogFDYCECAKIBU2AgwgBEIANwKQBCAEQgA3AogEIARCgICAgIABNwKABCAEQYAEahDnJiABEPEaIARB0ARqJAAMBAtB5MfgAEHIABD/KgALIAYQ9SwMAAsACyADKQMAIRwgAygCICEIIAVBIGogA0EYaikDACIdNwMAIAVBGGogA0EQaikDADcDACAFIAMpAwgiGzcDECAFIBsgHacQtyMgBSgCCCEHIAUpAwAhGyAFQZABaiIJIAhBKBD8BhogBUEoaiIGIBsgByAJEMwEIAEQ9BohASAFIAI2ApgBIAUgATcDkAEgBUFAayAFQRBqIAkQ7AUgARDxGkHAAEEIEKEgIAkgA0EIahCDFiAJQcAAEPwGIQIgBUEBNgLgASAFIAI2AtwBIAVBATYC2AEgCSAFQdgBaiIDIAYQnwpBEEEEEKEgIgJBCGogBUHIAGopAgA3AgAgAiAFKQJANwIAIAVBATYCXCAFIAI2AlggBUEBNgJUIAkQ1RUhAiAFQfQAakIANwIAIAVCADcCbCAFQQU6AGggBSACNgJgIAVBFzYCUCAFQgA3AvABIAVBAzoA7AEgBUEANgLoASAFQgA3AvgBIAVCADcC4AEgBUKAgICAwAA3AtgBIAVB5AFqEM8lIAMQ5CZBMEEIEKEgIQMgBUHQAGoQ2CghAiADQgA3AgggAyACNgIEIANBEjYCACAAQQE2AgggACADNgIEIABBATYCACAAQQA2AhQgACAcNwIMIAVCADcCoAEgBUIANwKYASAFQoCAgICAATcCkAEgCBDpLCAJEOcmIAEQ8RoLIAVBgAJqJAALrwQCBH8BfiMAQSBrIgMkACADQRBqIAEgAigCDCIFQQAQ0wECQAJAIAMtABBBBEYNACADKQMQIgdC/wGDQgRRDQAgACAHNwIADAELAkACQAJAAkAgBUUNACADQRBqIAEgBRDLHCADLQAQQQRGDQAgAykDECIHQv8Bg0IEUg0BCyACLQAYDQEMAgsgACAHNwIADAILIANBADYCECADQQhqIAEgA0EQakHctOAAQQcQrBMCQCADLQAIQQRHBEAgAykDCCIHQv8Bg0IEUg0BCyADQRBqIAEQzBEgAy0AEEEERg0BIAMpAxAiB0L/AYNCBFENASAAIAc3AgAMAgsgACAHNwIADAELIANBADYCECADQQhqIAEgA0EQaiACLQAZQQJ0IgRB+PfjAGooAgAgBEHs9+MAaigCABCsEwJAAkACQCADLQAIQQRHBEAgAykDCCIHQv8Bg0IEUg0BCyACKAIEIQQgAigCCCIGRQ0BIAQoAgBBAWtBA08NASABLQBNDQIgA0EQaiABEMwRIAMtABBBBEYNAiADKQMQIgdC/wGDQgRRDQIgACAHNwIADAMLIAAgBzcCAAwCCyADQRBqIAEQzBEgAy0AEEEERg0AIAMpAxAiB0L/AYNCBFENACAAIAc3AgAMAQsgA0EQaiABIAUgAigCECAEIAYQoQMCQCADLQAQQQRHBEAgAykDECIHQv8Bg0IEUg0BCyAAQQQ6AAAMAQsgACAHNwIACyADQSBqJAAL8wQBAn8jAEEQayICJAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEELIAAoAgBBgICAgHhzIgMgA0ESTxtBAWsOEQECAwQFBgcICQoLDA0ODxARAAsgAiAAQQRqNgIMIAFBzM/gAEECIAJBDGpB5gAQyAoMEQsgAiAAQQRqNgIMIAFBzs/gAEEEIAJBDGpBwgAQyAoMEAsgAiAAQQRqNgIMIAFB0s/gAEEHIAJBDGpBpQUQyAoMDwsgASgCFEHZz+AAQQsgASgCGCgCDBEDAAwOCyABKAIUQeTP4ABBCyABKAIYKAIMEQMADA0LIAEoAhRB78/gAEELIAEoAhgoAgwRAwAMDAsgAiAAQQRqNgIMIAFB+s/gAEEOIAJBDGpBOxDICgwLCyACIABBBGo2AgwgAUGI0OAAQRIgAkEMakE7EMgKDAoLIAIgAEEEajYCDCABQZrQ4ABBECACQQxqQTsQyAoMCQsgASgCFEGq0OAAQRUgASgCGCgCDBEDAAwICyABKAIUQb/Q4ABBDiABKAIYKAIMEQMADAcLIAIgADYCDCABQc3Q4ABBDSACQQxqQZwBEMgKDAYLIAEoAhRB2tDgAEEVIAEoAhgoAgwRAwAMBQsgASgCFEHv0OAAQRUgASgCGCgCDBEDAAwECyABKAIUQYTR4ABBFSABKAIYKAIMEQMADAMLIAEoAhRBmdHgAEENIAEoAhgoAgwRAwAMAgsgAiAAQQRqNgIMIAFBptHgAEEYIAJBDGpBpgUQyAoMAQsgAiAAQQRqNgIMIAFBvtHgAEENIAJBDGpB3AQQyAoLIAJBEGokAAuXBAECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4SCgoLAQIMDAMEBQYLCwcNDQgJAAsgASAAQQRqEPcFDwsgAEEMaiABELgmDwsgASgCJCAAQRBqEPsFGiAAQShqIAEQxy0PCyAAQQRqIAEQtS0gAEEIaiABEMctIAAoAhRFDQYgAEEUaiABEMctDwsgAEEQaiABELUtIAAoAgxBGGwhAiAAKAIIIQADQCACRQ0GIABBFGogARC4JiABIAAQ9wUgAkEYayECIABBGGohAAwACwALIABBBGogARC1LQ8LIAEgACgCBCIAQcgAahD3BSAAKAIAQQhHBEAgACABEJUkIAEgAEEoahD3BQsgAEHgAGogARCeJA8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABEMgtDAELIAIgARC1LQsgAEEYaiABELgmIABBHGogARC4JiAAQQxqIAEQxy0PCyABIABBCGoQmgQPCyAAQQRqIAEQtS0LDwsgAEEEaiABELUtIABBCGogARDHLQ8LIAEoAiQhASAAQRBqIgAtABRBAkcEQCABIAAQ+wUaCw8LIABBBGoiA0EEaiECAkACQAJAAkAgAygCAEEBaw4CAQIACyACIAEQyC0MAgsgASACKAIAEOQWDAELIAIgARDGLQsgAEEMaiABELUtIABBEGogARDHLQuYBAEJfyMAQRBrIgckACAAIANB/wFxakEsai0AACIGQQJqIQwgACgCCCEDIAAoAgQhAANAAkACfwJAAkACQAJAAkACQAJAAkACQAJAIAAgAyACQaCDxAAQrx8oAgAiBEH/AXFB/gFrDgICAAELIAAgAyACIAxqQbCExAAQrx8oAgAiBEEBRyABcg0DDAoLIAdBCGogACADIAJBAmoiCEGwg8QAEOQbIARBAnZBP3EgBEEDcUEAR2oiBCAHKAIMIgVLDQMgBygCCCEJIARBAnQhCkF/IQUDQCAKRQ0CIAVBAWohBSAGIAkoAgAiC0H/AXFGDQUgBiALQQh2Qf8BcUYNBiAGIAtBEHZB/wFxRg0HIAlBBGohCSAKQQRrIQogBiALQRh2Rw0ACyAAIAMgBCAIaiAFQQJ0akEDakHQg8QAEK8fKAIADAgLIAYgACADIAJBkITEABCvHy0AAUYNBgsgAUUNB0EADAYLIARBACAEQQFHGwwFCyAEIAVBwIPEABCvEAALIAAgAyAEIAhqIAVBAnRqQYCExAAQrx8oAgAMAwsgACADIAQgCGogBUECdGpBAWpB8IPEABCvHygCAAwCCyAAIAMgBCAIaiAFQQJ0akECakHgg8QAEK8fKAIADAELIAAgAyACQQJqQaCExAAQrx8oAgALIAdBEGokAA8LIAAgAyACQQFqQcCExAAQrx8oAgAhAgwACwAL2AQCBX8BfiMAQSBrIgMkACABLQC2AiEGIAFBKGoiAhC6ICEEAkAgAhDNDSIFRQRAIAEoAoACIQEgA0EAOgAIIAEgASADQQhqEP0UIQEgAEIANwMAIAAgATYCCAwBCwJAAkACQAJAAkACQAJAIAUoAgAiBUECRwRAAkAgBUEfRwRAIAVBJEcNASABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQUgASgCzAIhASAAQgA3AwAgACABNgIIDAoLIAZBAXENAgsgAyACEIAUIAMoAgQhBCADKAIAIANBwgA6AAggBCADQQhqEP0UIQQgAhDNDSICRQ0HIAIoAgBBJEYNAgwHCyABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0EUaiABQdQCaikCADcCACADQRxqIAFB3AJqKAIANgIAIAMgASkCzAI3AgwgAyACNgIIIAJBAkcNAyADQRBqEJkRIQcgASgCnAMhAgwFCyABIAEoAuQCIgI2ApwDIAEgASgC4AI2ApgDIAEoAsgCIAFBJTYCyAJBH0YEQCABKQPQAiEHDAULQd3r4ABBKEH0p+AAEO4XAAsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0CIAEgASgCzAIQ/wsMBAtB3evgAEEoQdSn4AAQ7hcAC0Hd6+AAQShB5KfgABDuFwALQd3r4ABBKEGEqOAAEO4XAAsgACAHNwMAIAAgBCACIAIgBEkbNgIMIAAgBCACIAIgBEsbNgIIDAELIABCADcDACAAIAQ2AggLIANBIGokAAu+BAEDfyMAQTBrIgIkAAJAIAAQ0SBFBEAgACgCAEEBRg0BIAIgAEEwEPwGIABBADYCCCAAQgE3AwAQ5AMMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEhERAQIDBAUGBwgJCgsMDQ4PEAALIABBBGoQpAkMEAsgAEEEahDxLSAAQQhqEPstDA8LIABBDGoQ+ScMDgsgAEEAOgAkIABBKGoQ+y0MDQsgAC0AJEECRg0MIABBADoAJAwMCyAALQAkQQJGDQsgAEEAOgAkDAsLIABBBGoQ8S0gAEEIahD7LSAAKAIURQ0KIABBFGoQ+y0MCgsgAEEQahDxLSAAKAIMQRhsIQEgACgCCCEAA0AgAUUNCiAAQRRqEPknIAAQpAkgAUEYayEBIABBGGohAAwACwALIABBBGoQ8S0MCAsgACgCBCIAQcgAahCkCSAAKAIAQQhHBEAgABDkJSAAQShqEKQJCyAAQeAAahDiJQwHCyAAQQRqEPEtIABBCGoQ+y0MBgsgAEEEahDxLSAAQQhqEPstDAULAkAgACgCBCIDQQJGDQAgAEEIaiEBIANBAXFFBEAgARD8LQwBCyABEPEtCyAAQRhqEPknIABBHGoQ+ScgAEEMahD7LQwECyAAQQRqEN4dIABBDGoQ8S0gAEEQahD7LQwDCyAAQQRqEN4dIABBDGoQ8S0gAEEQahD7LQwCCyAAQQhqELkKDAELIABBBGoQ8S0LIAJBMGokAAu/BAIFfwF+IwBBIGsiAyQAIAEtAI4DIQYgAUEoaiICENUgIQQCQCACEOcNIgVFBEAgASgC2AIhASADQQA6AAggASABIANBCGoQ/RQhASAAQgA3AwAgACABNgIIDAELAkACQAJAAkACQAJAAkAgBSgCACIFQQJHBEACQCAFQR9HBEAgBUEkRw0BIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0FIAEoAiwhASAAQgA3AwAgACABNgIIDAoLIAZBAXENAgsgAyACELMUIAMoAgQhBCADKAIAIANBwgA6AAggBCADQQhqEP0UIQQgAhDnDSICRQ0HIAIoAgBBJEYNAgwHCyABKAIoIQIgAUElNgIoIAEgASkDQDcDeCADQRRqIAFBNGopAgA3AgAgA0EcaiABQTxqKAIANgIAIAMgASkCLDcCDCADIAI2AgggAkECRw0DIANBEGoQmREhByABKAJ8IQIMBQsgASABKAJEIgI2AnwgASABKAJANgJ4IAEoAiggAUElNgIoQR9GBEAgASkDMCEHDAULQd3r4ABBKEH0p+AAEO4XAAsgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQIgASABKAIsEIYMDAQLQd3r4ABBKEHUp+AAEO4XAAtB3evgAEEoQeSn4AAQ7hcAC0Hd6+AAQShBhKjgABDuFwALIAAgBzcDACAAIAQgAiACIARJGzYCDCAAIAQgAiACIARLGzYCCAwBCyAAQgA3AwAgACAENgIICyADQSBqJAALpgQBCn8jAEEQayIHJAAgAS0AACEIIAEtAAEhCSABLQACIQogB0EIaiACIAMgBCAFQaykwwAQ6RZBACECAkAgBygCDCIBQQBMDQAgBygCCCIDIAFqIQUCQCABQQNNBEAgAyEBA0AgASAFTw0DIAEtAAAiBiAKRiAGIAhGciAGIAlGcg0CIAFBAWohAQwACwALAkBBgIKECCADIgEoAAAiBiAIQYGChAhsIg5zIgtrIAtyQYCBgoR4cUGAgYKEeEcNAEGAgoQIIAYgCUGBgoQIbCILcyIMayAMckGAgYKEeHFBgIGChHhHDQBBgIKECCAGIApBgYKECGwiDHMiBmsgBnJBgIGChHhxQYCBgoR4Rw0AIAVBBGshDyABQXxxQQRqIQEDQAJAAkAgASAPSw0AQYCChAggASgCACIGIA5zIg1rIA1yQYCBgoR4cUGAgYKEeEcNAEGAgoQIIAYgC3MiDWsgDXJBgIGChHhxQYCBgoR4Rw0AQYCChAggBiAMcyIGayAGckGAgYKEeHFBgIGChHhGDQELA0AgASAFTw0FIAEtAAAiBiAKRiAGIAhGciAGIAlGcg0EIAFBAWohAQwACwALIAFBBGohAQwACwALA0AgASAFTw0CIAEtAAAiBiAKRiAGIAhGciAGIAlGcg0BIAFBAWohAQwACwALIAAgASADayAEaiIBNgIEQQEhAiAAIAFBAWo2AggLIAAgAjYCACAHQRBqJAALgwQBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEgoKCwECDAwDBAUGCwsHDQ0ICQALIABBBGogARCXGg8LIABBDGogARC5JQ8LIAEgACkDECAAKAIgEIcbIABBKGogARDhLA8LIABBBGogARDMLCAAQQhqIAEQ4SwgACgCFEUNBiAAQRRqIAEQ4SwPCyAAQRBqIAEQzCwgACgCDEEYbCECIAAoAgghAANAIAJFDQYgAEEUaiABELklIAAgARCXGiACQRhrIQIgAEEYaiEADAALAAsgAEEEaiABEMwsDwsgACgCBCIAQcgAaiABEJcaIAAoAgBBCEcEQCAAIAEQ3iMgAEEoaiABEJcaCyAAQeAAaiABEN0jDwsCQCAAKAIEIgNBAkYNACAAQQhqIQIgA0EBcUUEQCACIAEQ4iwMAQsgAiABEMwsCyAAQRhqIAEQuSUgAEEcaiABELklIABBDGogARDhLA8LIABBCGogARC2CQ8LIABBBGogARDMLAsPCyAAQQRqIAEQzCwgAEEIaiABEOEsDwsgAEEQaiABEJYhDwsgAEEEaiIDQQRqIQICQAJAAkACQCADKAIAQQFrDgIBAgALIAIgARDiLAwCCyACKAIAIAEQ5xMMAQsgAiABEOAsCyAAQQxqIAEQzCwgAEEQaiABEOEsC5gEAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDhIKCgsBAgwMAwQFBgsLBw0NCAkACyAAQQRqIAEQrRoPCyAAQQxqIAEQiCYPCyABIAApAxAgACgCIBCrHSAAQShqIAEQly0PCyAAQQRqIAEQ/CwgAEEIaiABEJctIAAoAhRFDQYgAEEUaiABEJctDwsgAEEQaiABEPwsIAAoAgxBGGwhAiAAKAIIIQADQCACRQ0GIABBFGogARCIJiAAIAEQrRogAkEYayECIABBGGohAAwACwALIABBBGogARD8LA8LIAAoAgQiAEHIAGogARCtGiAAKAIAQQhHBEAgACABEPIjIABBKGogARCtGgsgAEHgAGogARDxIw8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABEJgtDAELIAIgARD8LAsgAEEYaiABEIgmIABBHGogARCIJiAAQQxqIAEQly0PCyAAQQhqIAEQtwkPCyAAQQRqIAEQ/CwLDwsgAEEEaiABEPwsIABBCGogARCXLQ8LIABBEGoiAC0AFEECRwRAIAEgACkDACAAKAIQEKsdCw8LIABBBGoiA0EEaiECAkACQAJAAkAgAygCAEEBaw4CAQIACyACIAEQmC0MAgsgAigCACABEOwTDAELIAIgARCCLQsgAEEMaiABEPwsIABBEGogARCXLQv+AwECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4SCgoLAQIMDAMEBQYLCwcNDQgJAAsgAEEEaiABEJsaDwsgAEEMaiABELIlDwsgASAAQRBqEIEJIABBKGogARDULA8LIABBBGogARDDLCAAQQhqIAEQ1CwgACgCFEUNBiAAQRRqIAEQ1CwPCyAAQRBqIAEQwywgACgCDEEYbCECIAAoAgghAANAIAJFDQYgAEEUaiABELIlIAAgARCbGiACQRhrIQIgAEEYaiEADAALAAsgAEEEaiABEMMsDwsgACgCBCIAQcgAaiABEJsaIAAoAgBBCEcEQCAAIAEQ1SMgAEEoaiABEJsaCyABIABB4ABqENQjDwsCQCAAKAIEIgNBAkYNACAAQQhqIQIgA0EBcUUEQCACIAEQ1SwMAQsgAiABEMMsCyAAQRhqIAEQsiUgAEEcaiABELIlIABBDGogARDULA8LIABBCGogARDSBw8LIABBBGogARDDLAsPCyAAQQRqIAEQwywgAEEIaiABENQsDwsgAEEQaiABENMjDwsgAEEEaiIDQQRqIQICQAJAAkACQCADKAIAQQFrDgIBAgALIAIgARDVLAwCCyACKAIAIAEQrggMAQsgAiABEM4sCyAAQQxqIAEQwywgAEEQaiABENQsC8IEAgV/An4jAEGAAWsiAiQAIAEoAhhBDGogABCLGiAAQSxqIQMgAUEYaiEEAkAgAS0AFEECRwRAIAAoAjAQuhEhBSACQRhqQcif4wApAwAiBzcDACACQQhqIAc3AwAgAkE0aiIGIANBCGooAgA2AgAgAkEBOgAoIAIgADYCICACIAU2AiQgAkEBOgA5IAJBwJ/jACkDACIINwMQIAIgCDcDACACIAMpAgA3AiwgAiAALQA8OgA8IAIgAC8BOjsBOiAALQA4IQMgAiAALQA9OgA9IAIgAzoAOCACIAFBAxDRFSACKAIwELoRIQAgAkHYAGogBzcDACACQcgAaiAHNwMAIAJB9ABqIAYoAgA2AgAgAkEBOgBoIAIgADYCZCACQQE6AHkgAiAINwNQIAIgCDcDQCACIAIpAiw3AmwgAiACLQA8OgB8IAIgAi8BOjsBeiACIAI2AmAgAi0AOCEAIAIgAi0APToAfSACIAA6AHggBCACQUBrIgAQ3AMgABD9KCACEP0oDAELIAAoAjAQuhEhASACQdgAakHIn+MAKQMAIgc3AwAgAkHIAGogBzcDACACQfQAaiADQQhqKAIANgIAIAJBAToAaCACIAA2AmAgAiABNgJkIAJBAToAeSACQcCf4wApAwAiBzcDUCACIAc3A0AgAiADKQIANwJsIAIgAC0APDoAfCACIAAvATo7AXogAC0AOCEBIAIgAC0APToAfSACIAE6AHggBCACQUBrIgAQ3AMgABD9KAsgAkGAAWokAAuoBAEEfyMAQYABayICJAAgAkEYakHIn+MAKQMANwIAIAJBADsBQiACQQA2AjggAkKAgICAgAE3AjAgAkEBOgAsIAJBADYCKCACQoCAgIDAADcCICACQQA2AgwgAkKAgICAgAE3AgQgAkHAn+MAKQMANwIQIAIgAC8BPDsBQCACIAAoAjg2AjwgASACQQRqEJkaIAJBMGohBAJAAkAgAigCOCIBBEAgAEEMaiABEIApIAJBxABqIAIoAjQgAigCOBCdCiACIAIoAkQ2AlggAiACKAJIIgE2AlAgAiABIAIoAkxBBHQiA2oiBTYCXANAIANFDQIgAkEEaiABKQMAIAEoAggQxxAgA0EQayEDIAFBEGohAQwACwALIAJB0ABqIgEgAkEEakEsEPwGGiAAQRxqIAEQmhogBBCFIwwBCyACIAU2AlQgAkHQAGoQkxcgAC0AKEUEQCAAIAIoAjgQjR4gAiACKAIwNgJYIAIgAigCNCIBNgJQIAIgASACKAI4QQR0IgNqIgQ2AlwDQCADBEAgACABKQMAIAEoAghBARCOBiADQRBrIQMgAUEQaiEBDAELCyACIAQ2AlQgAkHQAGoiARCTFyABIAJBBGpBLBD8BhogAEEcaiABEJoaDAELIAJB2ABqIARBCGooAgA2AgAgAiAEKQIANwNQIABBLGogAkHQAGoiARCiECABIAJBBGpBLBD8BhogAEEcaiABEJoaCyACQYABaiQAC5sEAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4SCgoLAQIKCgMEBQYLCwcMDAgJAAsgAEEEaiABELcaDwsgAEEMaiABEI8mDwsgAEEoaiABEJ8tDwsgAEEEaiABEJstIABBCGogARCfLSAAKAIURQ0GIABBFGogARCfLQ8LIABBEGogARCbLSAAKAIMQRhsIQIgACgCCCEAA0AgAkUNBiAAQRRqIAEQjyYgACABELcaIAJBGGshAiAAQRhqIQAMAAsACyAAQQRqIAEQmy0PCyAAKAIEIgBByABqIAEQtxogAEHgAGohAgJAAkACQCAAKAIAQQdrDgIBAgALIAAgARCrEgsgAEEoaiABELcaCyACKAIAQYCAgIB4Rg0DIAIgARC3Gg8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABEKAtDAELIAIgARCbLQsgAEEYaiABEI8mIABBHGogARCPJiAAQQxqIAEQny0PCyAAQQhqIAEQwQ0PCyABLQAMIQIgAUEBOgAMIABBBGogARCbLSABIAI6AAwLDwsgAEEEaiABEJstIABBCGogARCfLQ8LIABBBGoiA0EEaiECAkACQAJAAkAgAygCAEEBaw4CAQIACyACIAEQoC0MAgsgAigCACABEO4TDAELIAIoAgAgARCrEgsgAEEMaiABEJstIABBEGogARCfLQuMBAECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEgoKCwECCgoDBAUGCwsHDAwICQALIABBBGogARDCGg8LIABBDGogARC8Jg8LIABBKGogARDKLQ8LIABBBGogARCyLSAAQQhqIAEQyi0gACgCFEUNBiAAQRRqIAEQyi0PCyAAQRBqIAEQsi0gACgCDEEYbCECIAAoAgghAANAIAJFDQYgAEEUaiABELwmIAAgARDCGiACQRhrIQIgAEEYaiEADAALAAsgAEEEaiABELItDwsgACgCBCIAQcgAaiABEMIaIAAoAgAiAkEIRwRAIAEtACghAyABQQE6ACggAkEHRwRAIAAgARDQEQsgAUEAOgAoIABBKGogARDCGiABIAM6ACgLIABB4ABqIAEQnSQPCwJAIAAoAgQiA0ECRg0AIABBCGohAiADQQFxRQRAIAIgARDLLQwBCyACIAEQsi0LIABBGGogARC8JiAAQRxqIAEQvCYgAEEMaiABEMotDwsgAEEIaiABEJUMDwsgAEEEaiABELItCw8LIABBBGogARCyLSAAQQhqIAEQyi0PCyAAQQRqIgNBBGohAgJAAkACQAJAIAMoAgBBAWsOAgECAAsgAiABEMstDAILIAIoAgAgARDgEgwBCyACIAEQwy0LIABBDGogARCyLSAAQRBqIAEQyi0LiAQBCH8gASgCBCIFBEAgASgCACEEA0ACQCADQQFqIQICfyACIAMgBGotAAAiCMAiCUEATg0AGgJAAkACQAJAAkACQAJAAkACQAJAAkAgCEG/5dgAai0AAEECaw4DAAECDAtBwPbYACACIARqIAIgBU8bLQAAQcABcUGAAUcNCyADQQJqDAoLQcD22AAgAiAEaiACIAVPGywAACEHIAhB4AFrIgZFDQEgBkENRg0CDAMLQcD22AAgAiAEaiACIAVPGywAACEGIAhB8AFrDgUEAwMDBQMLIAdBYHFBoH9HDQgMBgsgB0Gff0oNBwwFCyAJQR9qQf8BcUEMTwRAIAlBfnFBbkcgB0FATnINBwwFCyAHQUBODQYMBAsgCUEPakH/AXFBAksgBkFATnINBQwCCyAGQfAAakH/AXFBME8NBAwBCyAGQY9/Sg0DC0HA9tgAIAQgA0ECaiICaiACIAVPGy0AAEHAAXFBgAFHDQJBwPbYACAEIANBA2oiAmogAiAFTxstAABBwAFxQYABRw0CIANBBGoMAQtBwPbYACAEIANBAmoiAmogAiAFTxstAABBwAFxQYABRw0BIANBA2oLIgMiAiAFSQ0BCwsgACADNgIEIAAgBDYCACABIAUgAms2AgQgASACIARqNgIAIAAgAiADazYCDCAAIAMgBGo2AggPCyAAQQA2AgAL8QMBAX8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCAEEMayIBIAFBJk8bQQFrDiQAAQIbAwQFBgcICQoLDA0ODxAR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EMAsIAAoAgxBGGwhAiAAKAIIIQADQCACRQ0GIABBFGogARCxJSAAIAEQkBogAkEYayECIABBGGohAAwACwALIABBBGogARDALA8LIAAoAgQiAEHIAGogARCQGiAAKAIAQQhHBEAgACABENcjIABBKGogARCQGgsgASAAQeAAahDWIw8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABENcsDAELIAIgARDALAsgAEEYaiABELElIABBHGogARCxJSAAQQxqIAEQ1iwPCyAAQQhqIAEQuwwPCyAAQQRqIAEQwCwLDwsgAEEEaiABEMAsIABBCGogARDWLA8LIABBBGoiA0EEaiECAkACQAJAAkAgAygCAEEBaw4CAQIACyACIAEQ1ywMAgsgAigCACABEOQTDAELIAIgARDTLAsgAEEMaiABEMAsIABBEGogARDWLAvmAwECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEgoKCwECCgoDBAUGCwsHDAwICQALIABBBGogARCxGg8LIABBDGogARCJJg8LIABBKGogARCVLQ8LIABBBGogARD7LCAAQQhqIAEQlS0gACgCFEUNBiAAQRRqIAEQlS0PCyAAQRBqIAEQ+ywgACgCDEEYbCECIAAoAgghAANAIAJFDQYgAEEUaiABEIkmIAAgARCxGiACQRhrIQIgAEEYaiEADAALAAsgAEEEaiABEPssDwsgACgCBCIAQcgAaiABELEaIAAoAgBBCEcEQCAAIAEQ9iMgAEEoaiABELEaCyABIABB4ABqEPUjDwsCQCAAKAIEIgNBAkYNACAAQQhqIQIgA0EBcUUEQCACIAEQli0MAQsgAiABEPssCyAAQRhqIAEQiSYgAEEcaiABEIkmIABBDGogARCVLQ8LIABBCGogARC9DA8LIABBBGogARD7LAsPCyAAQQRqIAEQ+ywgAEEIaiABEJUtDwsgAEEEaiIDQQRqIQICQAJAAkACQCADKAIAQQFrDgIBAgALIAIgARCWLQwCCyACKAIAIAEQ6xMMAQsgAiABEIYtCyAAQQxqIAEQ+ywgAEEQaiABEJUtC+YDAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4SCgoLAQIKCgMEBQYLCwcMDAgJAAsgAEEEaiABEK4aDwsgAEEMaiABEIomDwsgAEEoaiABEJktDwsgAEEEaiABEP0sIABBCGogARCZLSAAKAIURQ0GIABBFGogARCZLQ8LIABBEGogARD9LCAAKAIMQRhsIQIgACgCCCEAA0AgAkUNBiAAQRRqIAEQiiYgACABEK4aIAJBGGshAiAAQRhqIQAMAAsACyAAQQRqIAEQ/SwPCyAAKAIEIgBByABqIAEQrhogACgCAEEIRwRAIAAgARD0IyAAQShqIAEQrhoLIABB4ABqIAEQ8yMPCwJAIAAoAgQiA0ECRg0AIABBCGohAiADQQFxRQRAIAIgARCaLQwBCyACIAEQ/SwLIABBGGogARCKJiAAQRxqIAEQiiYgAEEMaiABEJktDwsgAEEIaiABEIYCDwsgAEEEaiABEP0sCw8LIABBBGogARD9LCAAQQhqIAEQmS0PCyAAQQRqIgNBBGohAgJAAkACQAJAIAMoAgBBAWsOAgECAAsgAiABEJotDAILIAIoAgAgARDtEwwBCyACIAEQhS0LIABBDGogARD9LCAAQRBqIAEQmS0L5QMBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDhIKCgsBAgoKAwQFBgsLBwwMCAkACyAAQQRqIAEQuxoPCyAAQQxqIAEQtyYPCyAAQShqIAEQxC0PCyAAQQRqIAEQtC0gAEEIaiABEMQtIAAoAhRFDQYgAEEUaiABEMQtDwsgAEEQaiABELQtIAAoAgxBGGwhAiAAKAIIIQADQCACRQ0GIABBFGogARC3JiAAIAEQuxogAkEYayECIABBGGohAAwACwALIABBBGogARC0LQ8LIAAoAgQiAEHIAGogARC7GiAAKAIAQQhHBEAgACABEKMkIABBKGogARC7GgsgASAAQeAAahCiJA8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABEMUtDAELIAIgARC0LQsgAEEYaiABELcmIABBHGogARC3JiAAQQxqIAEQxC0PCyAAQQhqIAEQWA8LIABBBGogARC0LQsPCyAAQQRqIAEQtC0gAEEIaiABEMQtDwsgAEEEaiIDQQRqIQICQAJAAkACQCADKAIAQQFrDgIBAgALIAIgARDFLQwCCyACKAIAIAEQ6xcMAQsgAiABEL4tCyAAQQxqIAEQtC0gAEEQaiABEMQtC/YDAgN/AX4jAEEgayIDJAAgAigCDCEEIANBEGogASACKAIIIgVBABDTAQJAAkACQAJAAkACQCADLQAQQQRHBEAgAykDECIGQv8Bg0IEUg0BCwJAAkACQAJAIAVFDQAgA0EQaiABIAUQyxwgAy0AEEEERg0AIAMpAxAiBkL/AYNCBFINAQsgA0EQaiACIAEQwSogAy0AEEEERwRAIAMpAxAiBkL/AYNCBFINAgsCQCABLQBNDQAgA0EQaiABEMwRIAMtABBBBEYNACADKQMQIgZC/wGDQgRSDQULIANBADYCECADQQhqIAEgA0EQakHRr+AAQQEQrBMgAy0ACEEERwRAIAMpAwgiBkL/AYNCBFINBgsCQCABLQBNDQAgA0EQaiABEMwRIAMtABBBBEYNACADKQMQIgZC/wGDQgRSDQcLIANBEGogAkEEaiABEL4qIAMtABBBBEcEQCADKQMQIgZC/wGDQgRSDQgLAkAgBEUNACADQRBqIAEgBBDLHCADLQAQQQRGDQAgAykDECIGQv8Bg0IEUg0DCyAAQQQ6AAAMCAsgACAGNwIADAcLIAAgBjcCAAwGCyAAIAY3AgAMBQsgACAGNwIADAQLIAAgBjcCAAwDCyAAIAY3AgAMAgsgACAGNwIADAELIAAgBjcCAAsgA0EgaiQAC/QDAgN/AX4jAEEgayIDJAAgASgCJCEEIANBCGogAiABKAIgIgVBABDTAQJAAkACQAJAAkACQAJAAkAgAy0ACEEERwRAIAMpAwgiBkL/AYNCBFINAQsCQCAFRQ0AIANBCGogAiAFEMscIAMtAAhBBEYNACADKQMIIgZC/wGDQgRSDQILIANBADYCCCADQRhqIAIgA0EIakGPsOAAQQEQrBMgAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINAwsCQCACLQBNDQAgA0EYaiACEMwRIAMtABhBBEYNACADKQMYIgZC/wGDQgRSDQQLIANBGGogAiADQQhqQdW04ABBAhCsEyADLQAYQQRHBEAgAykDGCIGQv8Bg0IEUg0FCyADQRhqIAIQzBEgAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINBgsgA0EYaiABIAIQxg0gAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINBwsCQAJAIARFDQAgA0EYaiACIAQQyxwgAy0AGEEERg0AIAMpAxgiBkL/AYNCBFINAQsgAEEEOgAADAgLIAAgBjcCAAwHCyAAIAY3AgAMBgsgACAGNwIADAULIAAgBjcCAAwECyAAIAY3AgAMAwsgACAGNwIADAILIAAgBjcCAAwBCyAAIAY3AgALIANBIGokAAuMBAIIfwF+IwBBIGsiBCQAIAAoAghBDGwhBSAAKAIEIQADQAJAIAUEQCAAKAIABEAgACABEPgsDAILAkACQAJAAkACQAJAQQQgACgCBCICKAIAQQVrIgMgA0EGTxtBAWsOBQABAgMEBQsgAkEIaiABEJMiIAJBKGogARD4LAwECyACQShqIAEQ+CwMAwsgAkEIaiABEJMiIAJBKGogARDtIwwCCyACIAEQkyIgAkEgaiABEOwjIAJB6ABqIAEQiS0gAkHIAGogARDtIwwBCyACQQhqIAEQkyIgAigCKCABEKYSCyABKAIARQ0BIAIoAgBBBUcNASABIAJBCGoiAxCRCiIGRQ0BIARBCGogAxDYFCAEKQMIIQogBCgCFCEHIAQoAhAhCAJAAkACQAJAAkACQAJAQQQgAigCAEEFayIJIAlBBk8bDgUBAgMEBQALIAMQ2BYgAigCKBD+HAwFCyADKQMAEPEaDAQLIAMQ2BYgAkEoahCSKQwDCyACKQMQEPEaIAJBKGoQkikMAgsgAxDYFiACQcgAahDXJyACQShqEPgkDAELIAIQ2BYgAkEgahDgJSACQegAahDhJSACQcgAahD4JAsgAiAGNgIoIAIgBzYCHCACIAg2AhggAiAKNwMQIAJBADYCCCACQQY2AgAMAQsgBEEgaiQADwsgAEEMaiEAIAVBDGshBQwACwALngQBAX8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgAoAgAOExISAQIDBAUGBwgJCgsMDQ4PEBEACyAAQQhqEMYeDBELIAAoAgRBgICAgHhGBEAgAEEIahDuJiAAKAIgELkeIABBFGoQniUMEQsgAEEEahDuJiAAKAIcELkeIABBEGoQniUMEAsgAEEQahD3HCAAKAIoENUoDA8LIABBEGohAQJAIAAtAERBBEYEQCABEPccDAELIAEQxh4LIAAoAlAQ1SgMDgsgAEEEahDvJgwNCyAAQQRqEJ0FDAwLIABBBGoQtxkgACgCBCAAQQhqKAIAEI0qDAsLIABBBGoQnQUMCgsgAEEEahCdBQwJCyAAQQhqEPAmDAgLIABBBGoQnQUgAEEIahCdBSAAQQxqEJ0FIABBEGoQnQUMBwsgAEEQahCKIQwGCyAAQQRqEJ0FDAULIABBBGoQnQUMBAsgAEEEahCdBSAAQQhqEJ0FDAMLIABBEGoQiiEgAEFAaxCZJyAAQcQAahCZJwwCCwJAAkACQAJAQQQgACgCCEGAgICAeHMiASABQQRPGw4EAQIFAwALIABBCGoQ8CYgAEEUahDyIgwECyAAQSBqEJklDAMLIABBEGoQ7ygMAgsgAEEQahDFHgwBCyAALQAcQQJHBEAgAEEIahDDGQsgAEEoahCXJwsgAEHYAEEIENERC54EAQF/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIAKAIADhMSEgECAwQFBgcICQoLDA0ODxARAAsgAEEIahDGHgwRCyAAKAIEQYCAgIB4RgRAIABBCGoQ7iYgACgCIBC5HiAAQRRqEJ8lDBELIABBBGoQ7iYgACgCHBC5HiAAQRBqEJ8lDBALIABBEGoQ9xwgACgCKBDVKAwPCyAAQRBqIQECQCAALQBEQQRGBEAgARD3HAwBCyABEMYeCyAAKAJQENUoDA4LIABBBGoQ7yYMDQsgAEEEahCeBQwMCyAAQQRqELcZIAAoAgQgAEEIaigCABCNKgwLCyAAQQRqEJ4FDAoLIABBBGoQngUMCQsgAEEIahDwJgwICyAAQQRqEJ4FIABBCGoQngUgAEEMahCeBSAAQRBqEJ4FDAcLIABBEGoQjCEMBgsgAEEEahCeBQwFCyAAQQRqEJ4FDAQLIABBBGoQngUgAEEIahCeBQwDCyAAQRBqEIwhIABBQGsQqScgAEHEAGoQqScMAgsCQAJAAkACQEEEIAAoAghBgICAgHhzIgEgAUEETxsOBAECBQMACyAAQQhqEPAmIABBFGoQ8iIMBAsgAEEgahCZJQwDCyAAQRBqEO8oDAILIABBEGoQxR4MAQsgAC0AHEECRwRAIABBCGoQwxkLIABBKGoQqCcLIABB2ABBCBDREQv4AwIBfwF+IwBBEGsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIAQQFrDgYBAgMEBQYACyADQQhqIAEgAkEIahCkCCADLQAIQQRGDQYgAykDCCIEQv8Bg0IEUQ0GIAAgBDcCAAwJCyADQQhqIAEgAkEEahCtAiADLQAIQQRGDQUgAykDCCIEQv8Bg0IEUQ0FIAAgBDcCAAwICyADQQhqIAEgAkEEahCVBiADLQAIQQRGDQQgAykDCCIEQv8Bg0IEUQ0EIAAgBDcCAAwHCyADQQhqIAEgAkEEahCkASADLQAIQQRGDQMgAykDCCIEQv8Bg0IEUQ0DIAAgBDcCAAwGCyADQQhqIAEgAkEEahCaBSADLQAIQQRGDQIgAykDCCIEQv8Bg0IEUQ0CIAAgBDcCAAwFCyADQQhqIAIoAgQgAigCCCABEOINIAMtAAhBBEYNASADKQMIIgRC/wGDQgRRDQEgACAENwIADAQLIANBCGogAkEEaiABEL4qIAMtAAhBBEYNACADKQMIIgRC/wGDQgRSDQELAkAgASgCREUNACADIAIQkgwgA0EIaiABIAMoAgRBARDsAiADLQAIQQRGDQAgAykDCCIEQv8Bg0IEUg0CCyAAQQQ6AAAMAgsgACAENwIADAELIAAgBDcCAAsgA0EQaiQAC5QEAQ9/IwBBMGsiAiQAIAFB7ANqIQ0gAUG8A2ohDiABQaQDaiELIAEoAqgDIQQgASgCrAMiDCEDA0AgBSAMIAUgDEsbIQYgASgCoAMhCAJAAkACQANAIAUgBkYEQCAAQQM2AgAMAgsgAkEgaiIJIAUQ2hwgAigCIEEBRg0DIAVBAWohBSACKAIkIgdBAkkNACAEIAMgB0HsjsAAELAfKAIQIAgoAgBPDQALIAkgASgCxAMQ2hwgAigCIEUEQCACKAIkIQogDiABLQDrBUEBaiIEENMeIAQgASgCxAMiA2ohBiABKALAAyIIIANBAnRqIQMDQCADQQE2AgAgA0EEaiEDIARBAWsiBA0ACyABIAY2AsQDIAJBEGogCyAHQQAgAhC6FSABKAK4AyEJIAEoArQDIQ8gAigCFCEDIAIoAhAhBANAIARBAUcNAyAPIAkgA0H8jsAAELEfIgQoAAEhECAIIAYgCiANIAQtAABqLQAAakGMj8AAEK8fIBA2AgAgAkEIaiALIAdBASADELoVIAIoAgwhAyACKAIIIQQMAAsACyAAIAIpAyg3AxAgAEL+////BzcDCCAAIAo2AgQgAEEANgIACyACQTBqJAAPCyABKAKoAyIEIAEoAqwDIgMgB0Gcj8AAELAfIAo2AgQMAQsLIAIgAikDKDcDGEGU6uAAQSsgAkEYakGUhMAAQdyOwAAQxg4AC44DAQd/IAEgAmohBSABIQQCQANAIAYhByAFIAQiAkYEQCAFIQRBACEHDAILAn8gAiwAACIGQQBOBEAgBkH/AXEhAyACQQFqDAELIAItAAFBP3EhAyAGQR9xIQQgBkFfTQRAIARBBnQgA3IhAyACQQJqDAELIAItAAJBP3EgA0EGdHIhAyAGQXBJBEAgAyAEQQx0ciEDIAJBA2oMAQsgBEESdEGAgPAAcSACLQADQT9xIANBBnRyciEDIAJBBGoLIgQgByACa2ohBiADEIsMDQALIAUgAmsgB2ogBGogBWshCAsCQANAIAQgBSIDRg0BIANBAWsiBSwAACICQQBIBH8gAkE/cQJ/IANBAmsiBS0AACICwCIJQUBOBEAgAkEfcQwBCyAJQT9xAn8gA0EDayIFLQAAIgLAIglBQE4EQCACQQ9xDAELIAlBP3EgA0EEayIFLQAAQQdxQQZ0cgtBBnRyC0EGdHIFIAILEIsMDQALIAMgBGsgBmohCAsgACAIIAdrNgIEIAAgASAHajYCAAvGAwINfwF+IAMgBUEBayINIAEoAhQiCGoiB0sEQCAFIAEoAhAiDmshDyABKAIcIQsgASgCCCEKIAEpAwAhFANAAkAgAQJ/AkAgFCACIAdqMQAAiEIBg1AEQCABIAUgCGoiCDYCFCAGDQMMAQsgCiAKIAsgCiALSxsgBhsiCSAFIAUgCUkbIQwgAiAIaiEQIAkhBwJAAkACQANAIAcgDEYEQEEAIAsgBhshDCAKIQcDQCAHIAxNBEAgASAFIAhqIgI2AhQgBkUEQCABQQA2AhwLIAAgAjYCCCAAIAg2AgQgAEEBNgIADwsgB0EBayIHIAVPDQUgByAIaiIJIANPDQMgBCAHai0AACACIAlqLQAARg0ACyABIAggDmoiCDYCFCAPIAZFDQYaDAcLIAcgCGoiESADTw0CIAcgEGohEiAEIAdqIAdBAWohBy0AACASLQAARg0ACyARIAprQQFqIQggBkUNAwwFCyAJIANB5OngABCtEAALIAMgCCAJaiIAIAAgA0kbIANB9OngABCtEAALIAcgBUHU6eAAEK0QAAtBAAsiBzYCHCAHIQsLIAggDWoiByADSQ0ACwsgASADNgIUIABBADYCAAunBAIDfwJ+IwBBQGoiAiQAIAIgATYCECACIAAoAggiAzYCFAJAAkAgASADRgRAIAIgACgCFCIDNgIcIAIgATYCGCABIANHDQEgAiAAKAIgIgM2AiQgAiABNgIgIAEgA0cNAiABBH8gACgCBCABQQN0akEEaygCAAVBAAshBCABIQMgASAAKAIARgRAIAAQ5xYgACgCFCEDCyAAIAFBAWo2AgggACgCBCABQQN0aiIBIAQ2AgQgASAENgIAIAIQmxMgAikDCCEFIAIpAwAhBiAAKAIMIANGBEAjAEEQayIBJAAgAUEIaiAAQQxqIgQgBCgCAEEBQQhBIBDNCCABKAIIIgRBgYCAgHhHBEAgBCABKAIMENwpAAsgAUEQaiQACyAAIANBAWo2AhQgACgCECADQQV0aiIBQcCf4wApAwA3AwAgASAFNwMYIAEgBjcDECABQQhqQcif4wApAwA3AwBBCBDjICIDQQA2AgAgACgCICIBIAAoAhhGBEAgAEEYahDrFgsgACABQQFqNgIgIAAoAhwgAUEMbGoiAUEBNgIIIAEgAzYCBCABQQE2AgAgACAAKAIkQQhqNgIkIAJBQGskAA8LIAJBADYCKEEAIAJBEGogAkEUaiACQShqQeSawwAQzhoACyACQQA2AihBACACQRhqIAJBHGogAkEoakH0msMAEM4aAAsgAkEANgIoQQAgAkEgaiACQSRqIAJBKGpBhJvDABDOGgALjwQBB38jAEEQayIEJAAgAEHEAGohBiAAKAJEIQIgACgCSCIDQSBqIQcDQAJAQQAhACACRQ0AA0AgBEEIaiABEMgHIAIgBygCACAEKAIIELgKIgANAQJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAEoAgAiCEEMayIFIAVBJk8bIgVBBmsOCAABAgMABA0JBQsgAUEEaiEADAoLIAIgASgCMCADKAIUEQIARQ0EQQEhAAwLCyABQShqIQAMCAsgAiADQSBqKAIAIAEoAiAQuAohAAwJCyABQRBqIQBBASABLQAYQQNrIgEgAUH/AXFBA08bQf8BcUEBaw4CAwYCCyAFQSRGDQQMBwsgCEELRwRAQQAhAAJAAkACQCABKAIADgMAAQIKCyAGQZ8FIAEoAhAQuAohAAwJCyABKAIoIQEMCQsgBkGfBSABKAIgELgKIQAMBwtBACEAAkACQCABKAIEQQFrDgIBCAALIAIgA0EgaigCACABKAIUELgKIQAMBwsgAiADQSBqKAIAIAEoAhQQuAohAAwGCyACIANBIGooAgAgACgCABC4CiEADAULIAIgA0EgaigCACAAKAIAELgKIQAMBAsgASgCDEUNAyABKAIIIQAMAQsgASgCBCIAKAIAQQNHBEAgAEEgaiEADAELIABBEGohAAsgACgCACEBDAALAAsLIARBEGokACAAC9wDAQt/IAAoAhggAEEkaigCACAAKAIAIABBDGooAgAQxh0hAyAAQcgAQTAgACgCSCAAQdQAaigCACAAKAIwIABBPGooAgAQxh1B/wFxQf8BRiIEG2ohAiAAQTBByAAgBBtqIgQgACADQf8BcSIFQf8BR0EYbGoiAyACIAIoAgAgAkEMaigCACAAIAVB/wFGQRhsaiIAKAIAIABBDGooAgAQxh1B/wFxQf8BRiIHGyAEKAIAIARBDGooAgAgAygCACADQQxqKAIAEMYdQf8BcUH/AUYiCBsiBSgCACEJIAAgAiADIAgbIAcbIgYoAgAhCiAFQQxqKAIAIQsgBkEMaigCACEMIAFBEGogAiAAIAcbIgBBEGopAgA3AgAgAUEIaiAAQQhqKQIANwIAIAEgACkCADcCACABIAUgBiAJIAsgCiAMEMYdQf8BcUH/AUYiAhsiACkCADcCGCABQShqIABBEGopAgA3AgAgAUEgaiAAQQhqKQIANwIAIAFBQGsgBiAFIAIbIgBBEGopAgA3AgAgAUE4aiAAQQhqKQIANwIAIAEgACkCADcCMCABIAMgBCAIGyIAKQIANwJIIAFB0ABqIABBCGopAgA3AgAgAUHYAGogAEEQaikCADcCAAuyAwEMfyMAQRBrIgUkAAJAIAEoAhAiBCABKAIMIgJJDQAgBCABKAIIIgxLDQAgAUEUaiINIAEtABgiBmpBAWstAAAhCSABKAIEIQoCQCAGQQRNBEADQCACIApqIQcCQCAEIAJrIghBB00EQCACIARGDQRBACEDA0AgAyAHai0AACAJRg0CIAggA0EBaiIDRw0ACwwECyAFQQhqIAkgByAIELYHIAUoAghBAUcNAyAFKAIMIQMLIAEgAiADakEBaiICNgIMAkAgAiAGSSACIAxLcg0AIAogAiAG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A0GoBGoQyCRBAyESCyADQckBaiHfASADKAKQASEIIAMoApgBIRAgAygCoAEh4wEgAygCqAEh4AEgAy0AvQEhCyADKAKIASEFIANBrAFqIvMEEMgkIAMgQDoA1AEgAyAOOgDGASADIA86AMUBIAMg3QE6AMQBIAMgHjoAwwEgAyAEOgDCASADIAk6AMEBIAMgGToAwAEgA0GBAjsBvgEgAyASOgC4ASADIAY2ArQBIAMgIzYCsAEgAyAYNgKsASADIDY2AoQBIAMg3gEgBSA2GzYCiAEgAyAHOgC8ASADIEQgCyAHQQFxGzoAvQEgAyATNgKkASADIOABIAwgE0ECRhs2AqgBIAMgFjYCnAEgAyDjASAdIBZBAkYbNgKgASADIDc2ApQBIAMgECBFIDdBAkYbNgKYASADIBc2AowBIAMgCCAKIBdBAkYbNgKQASADICI6ANUBIAMgETYC0AEgA0ECQQAgFUEBcRs6AM0BIANBAUECICBBAXEbOgDOASADQQFBAiAmQQFxGzoAygEgA0EBQQIgK0EBcRs6AMkBIAMgIToAzwEgA0EBQQIgQ0EBcRs6AMsBIANBAUECIA1BAXEbOgDMASADQQE6AMgBIAMg7wQ2AtwBIAMg6wRBCGo2AtgBIANBADYC6AEgA0KAgICAwAA3AuABIANBADYC9AEgA0KAgICAwAA3AuwBIANCgICAgBA3AsgKIAMgA0HgAWoiQzYCxAogAyADQdgBajYCwAogA0HUBGohLiADQdgEaiFAIANBtARqITYgA0GwBGohOiADQewEaiEmIANBoANqITcgA0GYAmohKyADQYgCaiEhA0AgA0HYAGogA0HACmoQuA8gAygCXCIFRQRAIANCgICAgBA3AsADIAMgQzYCvAMgA0EANgLYAyADQgA3AtADIAMgAygC5AEiBTYCyAMgAyAFIAMoAugBQQN0ajYCzAMgAyADQdgBajYCuAMgA0GsBGohISADQYwCaiEdIANBvARqIREgA0GwBGohDCADQbQKaiEEIANBoANqIQkgA0GIA2ohCiADQfwBaiEeA0AgA0EwaiADQbgDahC4DyADQeQCaiEFAn9BACADKAI0IgZFDQAaQQAgAygCyAMiCyADKALMA0YNABogAygCMCENIAMgBjYC5AIgAyALQQhqNgLIAyADQeACaiEFIAsLIQYgBSAG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yA8hgwMgAi0AxA8hhAMgAigCwA8hhQMgAi0AvA8hhgMgAigCuA8hhwMgAi0AtA8hiAMgAigCsA8hiQMgAi0ArA8higMgAigCqA8hiwMgAi0ApA8hjAMgAigCoA8hjQMgAi0AnA8hjgMgAigCmA8hjwMgAi0AlA8hkAMgAigCkA8hkQMgAi0AjA8hkgMgAigCiA8hkwMgAi0AhA8hlAMgAigCgA8hlQMgAi0A/A4hlgMgAigC+A4hlwMgAi0A9A4hmAMgAigC8A4hmQMgAi0A7A4hmgMgAigC6A4hmwMgAi0A5A4hnAMgAigC4A4hnQMgAi0A3A4hngMgAigC2A4hnwMgAi0A1A4hoAMgAigC0A4hoQMgAi0AzA4hogMgAigCyA4howMgAi0AxA4hpAMgAigCwA4hpQMgAi0AvA4hpgMgAigCuA4hpwMgAi0AtA4hqAMgAigCsA4hqQMgAi0ArA4hqgMgAigCqA4hqwMgAi0ApA4hrAMgAigCoA4hrQMgAi0AnA4hrgMgAigCmA4hrwMgAi0AlA4hsAMgAigCkA4hsQMgAi0AjA4hsgMgAigCiA4hswMgAi0AhA4htAMgAigCgA4htQMgAi0A/A0htgMgAigC+A0htwMgAi0A9A0huAMgAigC8A0huQMgAi0A7A0hugMgAigC6A0huwMgAi0A5A0hvAMgAigC4A0hvQMgAi0A3A0hvgMgAigC2A0hvwMgAi0A1A0hwAMgAigC0A0hwQMgAi0AzA0hwgMgAigCyA0hwwMgAi0AxA0hxAMgAigCwA0hxQMgAi0AvA0hxgMgAigCuA0hxwMgAi0AtA0hyAMgAigCsA0hyQMgAi0ArA0hygMgAigCqA0hywMgAi0ApA0hzAMgAigCoA0hzQMgAi0AnA0hzgMgAigCmA0hzwMgAi0AlA0h0AMgAigCkA0h0QMgAi0AjA0h0gMgAigCiA0h0wMgAi0AhA0h1AMgAigCgA0h1QMgAi0A/Awh1gMgAigC+Awh1wMgAi0A9Awh2AMgAigC8Awh2QMgAi0A7Awh2gMgAigC6Awh2wMgAi8A7QwgAi8A9QwgAi8A/QwgAi8AhQ0gAi8AjQ0gAi8AlQ0gAi8AnQ0gAi8ApQ0gAi8ArQ0gAi8AtQ0gAi8AvQ0gAi8AxQ0gAi8AzQ0gAi8A1Q0gAi8A3Q0gAi8A5Q0gAi8A7Q0gAi8A9Q0gAi8A/Q0gAi8AhQ4gAi8AjQ4gAi8AlQ4gAi8AnQ4gAi8ApQ4gAi8ArQ4gAi8AtQ4gAi8AvQ4gAi8AxQ4gAi8AzQ4gAi8A1Q4gAi8A3Q4gAi8A5Q4gAi8A7Q4gAi8A9Q4gAi8A/Q4gAi8AhQ8gAi8AjQ8gAi8AlQ8gAi8AnQ8gAi8ApQ8gAi8ArQ8gAi8AtQ8gAi8AvQ8gAi8AxQ8gAi8AzQ8gAi8A1Q8gAi8A3Q8gAi8A5Q8gAi8A7Q8gAi8A9Q8gAi8A/Q8gAi8AhRAgAi8AjRAgAi8AlRAgAi8AnRAgAi8ApRAgAi8ArRAgAi8AtRAgAi8AvRAgAi8AxRAgAi8AzRAgAi8A1RAgAi8A3RAgAi8A5RAgAi8A7RAgAi8A9RAgAi8A/RAgAi8AhREgAi8AjREgAi8AlREgAi8AnREgAi8ApREgAi8ArREgAi8AtREgAi8AvREgAi8AxREgAi8AzREgAi8A1REgAi8A3REgAi8A5REg8gQQ2BggAkGPB2otAAAh8AQgAkGXB2otAAAh8QQgAkGfB2otAAAhQiACQacHai0AACHnASACQa8Hai0AACExIAJBtwdqLQAAIYUCIAJBvwdqLQAAIe4EIAJBxwdqLQAAIRIgAkHPB2otAAAhIyACQdcHai0AACEsIAJB3wdqLQAAIS0gAkHnB2otAAAhLyACQe8Hai0AACEzIAJB9wdqLQAAITsgAkH/B2otAAAhQSACQYcIai0AACE8IAJBjwhqLQAAIUQgAkGXCGotAAAhRSACQZ8Iai0AACHPASACQacIai0AACHQASACQa8Iai0AACHRASACQbcIai0AACHSASACQb8Iai0AACHTASACQccIai0AACHUASACQc8Iai0AACHVASACQdcIai0AACHWASACQd8Iai0AACHXASACQecIai0AACHYASACQe8Iai0AACHZASACQfcIai0AACHaASACQf8Iai0AACHbASACQYcJai0AACHdASACQY8Jai0AACHeASACQZcJai0AACHhASACQZ8Jai0AACHjASACQacJai0AACHgASACQa8Jai0AACHkASACQbcJai0AACHlASACQb8Jai0AACHoASACQccJai0AACHpASACQc8Jai0AACHqASACQdcJai0AACHrASACQd8Jai0AACHsASACQecJai0AACHtASACQe8Jai0AACHuASACQfcJai0AACHvASACQf8Jai0AACHwASACQYcKai0AACHxASACQY8Kai0AACHyASACQZcKai0AACHzASACQZ8Kai0AACH0ASACQacKai0AACH1ASACQa8Kai0AACH2ASACQbcKai0AACH3ASACQb8Kai0AACH4ASACQccKai0AACH5ASACQc8Kai0AACH6ASACQdcKai0AACH7ASACQd8Kai0AACH8ASACQecKai0AACH9ASACQe8Kai0AACH+ASACQfcKai0AACH/ASACQf8Kai0AACGAAiACQYcLai0AACEwIAJBjwtqLQAAIYICIAJBlwtqLQAAIYYCIAJBnwtqLQAAIYcCIAJBpwtqLQAAIYgCIAJBrwtqLQAAIYkCIAJBtwtqLQAAIYoCIAJBvwtqLQAAIYsCIAJBxwtqLQAAIYwCIAJBzwtqLQAAIY0CIAJB1wtqLQAAIY4CIAJB3wtqLQAAIY8CIAItANwLIdwDIAIoAtgLId0DIAItANQLId4DIAIoAtALId8DIAItAMwLIeADIAIoAsgLIeEDIAItAMQLIeIDIAIoAsALIeMDIAItALwLIeQDIAIoArgLIeUDIAItALQLIeYDIAIoArALIecDIAItAKwLIegDIAIoAqgLIekDIAItAKQLIeoDIAIoAqALIesDIAItAJwLIewDIAIoApgLIe0DIAItAJQLIe4DIAIoApALIe8DIAItAIwLIfADIAIoAogLIfEDIAItAIQLIfIDIAIoAoALIfMDIAItAPwKIfQDIAIoAvgKIfUDIAItAPQKIfYDIAIoAvAKIfcDIAItAOwKIfgDIAIoAugKIfkDIAItAOQKIfoDIAIoAuAKIfsDIAItANwKIfwDIAIoAtgKIf0DIAItANQKIf4DIAIoAtAKIf8DIAItAMwKIYAEIAIoAsgKIYEEIAItAMQKIYIEIAIoAsAKIYMEIAItALwKIYQEIAIoArgKIYUEIAItALQKIYYEIAIoArAKIYcEIAItAKwKIYgEIAIoAqgKIYkEIAItAKQKIYoEIAIoAqAKIYsEIAItAJwKIYwEIAIoApgKIY0EIAItAJQKIY4EIAIoApAKIY8EIAItAIwKIZAEIAIoAogKIZEEIAItAIQKIZIEIAIoAoAKIZMEIAItAPwJIZQEIAIoAvgJIZUEIAItAPQJIZYE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IegBIAIvAOEfIAJB4x9qLQAAQRB0ciFCIAIvANkfIAJB2x9qLQAAQRB0ciHpASACLwDRHyACQdMfai0AAEEQdHIh6gEgAi8AyR8gAkHLH2otAABBEHRyIesBIAIvAMEfIAJBwx9qLQAAQRB0ciHsASACLwC5HyACQbsfai0AAEEQdHIh7QEgAi8AsR8gAkGzH2otAABBEHRyIe4BIAIvAKkfIAJBqx9qLQAAQRB0ciHvASACLwChHyACQaMfai0AAEEQdHIh8AEgAi8AmR8gAkGbH2otAABBEHRyIfEBIAIvAJEfIAJBkx9qLQAAQRB0ciHyASACLwCJHyACQYsfai0AAEEQdHIh8wEgAi8AgR8gAkGDH2otAABBEHRyIfQBIAIvAPkeIAJB+x5qLQAAQRB0ciH1ASACLwDxHiACQfMeai0AAEEQdHIh9gEgAi8AiQEgAkGLAWotAABBEHRyIfcBIAIvAIEBIAJBgwFqLQAAQRB0ciH4ASACLwB5IAJB+wBqLQAAQRB0ciH5ASACLwBtIAJB7wBqLQAAQRB0ciH6ASACLwBlIAJB5wBqLQAAQRB0ciH7ASACLwBdIAJB3wBqLQAAQRB0ciH8ASACLwBVIAJB1wBqLQAAQRB0ciH9ASACLwBNIAJBzwBqLQAAQRB0ciH+ASACKAKgISGGAiACKAKcISGHAiACKAKYISGIAiACKAKUISGJAiACKAKQISGKAiACKAKMISGLAiACKAKIISGMAiACKAKEISGNAiACKAKAISGOAiACKAL8ICGPAiACKAL4ICGQAiACKAL0ICGRAiACKALwICGSAiACKALsICGTAiACKALoICGUAiACKALkICGVAiACKALgICGWAiACKALcICGXAiACKALYICGYAiACKALUICGZAiACKALQICGaAiACKALMICGbAiACKALIICGcAiACKALEICGdAiACKALAICGeAiACKAK8ICGfAiACKAK4ICGgAiACKAK0ICGhAiACKAKwICGiAiACKAKsICGjAiACKAKoICGkAiACKAKkICGlAiACKAKgICGmAiACKAKcICGnAiACKAKYICGoAiACKAKUICGpAiACKAKQICGqAiACKAKMICGrAiACKAKIICGsAiACKAKEICGtAiACKAKAICGuAiACKAL8HyGvAiACKAL4HyGwAiACKAL0HyGxAiACKALwHyGyAiACKALsHyGzAiACKALoHyERIAIoAuQfIbQCIAItAOAfIecBIAIoAtwfIbUCIAItANgfIbYCIAIoAtQfIbcCIAItANAfIbgCIAIoAswfIbkCIAItAMgfIboCIAIoAsQfIbsCIAItAMAfIRQgAigCvB8hEiACLQC4HyEjIAIoArQfIRogAi0AsB8hLSACKAKsHyE7IAItAKgfIUEgAigCpB8hRCACLQCgHyFFIAIoApwfITwgAi0AmB8h3QEgAigClB8h3gEgAi0AkB8h4wEgAigCjB8h4AEgAi0AiB8h4QEgAigChB8h5AEgAi0AgB8h5QEgAigC/B4hGyACLQD4HiEcIAIoAvQeISggAi0A8B4hLiACKALsHiEyIAItAOgeITggAigCjAEhOiACLQCIASETIAIoAoQBIRYgAi0AgAEhNiACKAJ8ITcgAi0AeCEXIAIoAnQh3wEgAi0AbCEZIAIoAmghIiACLQBkIRUgAigCYCFAIAItAFwhLyACKAJYISAgAigCuCQhhQIgAi0AVCH/ASACKAJQIUMgAi0ATCEmIAIoAkghKyACKAKwASIsKAJYIggtACBBAnFFDQEgCC0AHEEBcSCLBUICUXINAUGoDUEIEKEgIgEgQjsA1QsgASDpATsAzQsgASDqATsAxQsgASDrATsAvQsgASDsATsAtQsgASDtATsArQsgASDuATsApQsgASDvATsAnQsgASDwATsAlQsgASDxATsAjQsgASDyATsAhQsgASDzATsA/QogASD0ATsA9QogASD1ATsA7QogASD2ATsA5QogASDoATsA3QogASD3ATsA1QogASD4ATsAzQogASD5ATsAxQogASD6ATsAvQogASD7ATsAtQogASD8ATsArQogASD9ATsApQogASD+ATsAnQogASB/OwCVCiABIH47AI0KIAEgfTsAhQogASB8OwD9CSABIHs7APUJIAEgejsA7QkgASB5OwDlCSABIHg7AN0JIAEgdzsA1QkgASB2OwDNCSABIHU7AMUJIAEgdDsAvQkgASBzOwC1CSABIHI7AK0JIAEgcTsApQkgASBwOwCdCSABIG87AJUJIAEgbjsAjQkgASBtOwCFCSABIGw7AP0IIAEgazsA9QggASBqOwDtCCABIGk7AOUIIAEgaDsA3QggASBnOwDVCCABIGY7AM0IIAEgZTsAxQggASBkOwC9CCABIGM7ALUIIAEgYjsArQggASBhOwClCCABIGA7AJ0IIAEgXzsAlQggASBeOwCNCCABIF07AIUIIAEgXDsA/QcgASBbOwD1ByABIFo7AO0HIAEgWTsA5QcgASBYOwDdByABIFc7ANUHIAEgVjsAzQcgASBVOwDFByABIFQ7AL0HIAEgUzsAtQcgASBSOwCtByABIFE7AKUHIAEgUDsAnQcgASBPOwCVByABIE47AI0HIAEgTTsAhQcgASBMOwD9BiABIEs7APUGIAEgSjsA7QYgASBJOwDlBiABIEg7AN0GIAEgRzsA1QYgASCWATsAzQYgASCVATsAxQYgASCUATsAvQYgASCTATsAtQYgASCSATsArQYgASCRATsApQYgASCQATsAnQYgASCPATsAlQYgASCOATsAjQYgASCNATsAhQYgASCMATsA/QUgASCLATsA9QUgASCKATsA7QUgASCJATsA5QUgASCIATsA3QUgASCHATsA1QUgASCGATsAzQUgASCFATsAxQUgASCEATsAvQUgASCDATsAtQUgASCCATsArQUgASCBATsApQUgASCAATsAnQUgAUEAOwCVBSABINwBOwCNBSABIJcBOwCFBSABIJgBOwD9BCABIJkBOwD1BCABIJoBOwDtBCABIJsBOwDlBCABIJwBOwDdBCABIJ0BOwDVBCABIJ4BOwDNBCABIJ8BOwDFBCABIKABOwC9BCABIKEBOwC1BCABIKIBOwCtBCABIKMBOwClBCABIKQBOwCdBCABIKUBOwCVBCABIKYBOwCNBCABIKcBOwCFBCABIKgBOwD9AyABIKkBOwD1AyABIKoBOwDtAyABIKsBOwDlAyABIKwBOwDdAyABIK0BOwDVAyABIK4BOwDNAyABIK8BOwDFAyABILABOwC9AyABILEBOwC1AyABILIBOwCtAyABILMBOwClAyABILQBOwCdAyABILUBOwCVAyABILYBOwCNAyABILcBOwCFAyABILgBOwD9AiABILkBOwD1AiABILoBOwDtAiABILsBOwDlAiABILwBOwDdAiABIL0BOwDVAiABIL4BOwDNAiABIL8BOwDFAiABIMABOwC9AiABIMEBOwC1AiABIMIBOwCtAiABIMMBOwClAiABIMQBOwCdAiABIMUBOwCVAiABIMYBOwCNAiABIMcBOwCFAiABIMgBOwD9ASABIMkBOwD1ASABIMoBOwDtASABIMsBOwDlASABIMwBOwDdASABIM0BOwDVASABIM4BOwDNASABIM8BOwDFASABINsBOwC9ASABINoBOwC1ASABINkBOwCtASABINgBOwClASABINcBOwCdASABINYBOwCVASABINUBOwCNASABINQBOwCFASABINMBOwB9IAEg0gE7AHUgASDRATsAbSABINABOwBlIAEggAI7AF0gASAPOwBVIAEgDTsATSABIAU7AEUgAUEAOgCkDSABIIECNgKgDSABIIUCNgKcDSABICw2ApgNIAEghgI2ApQNIAEghwI2ApANIAEgiAI2AowNIAEgiQI2AogNIAEgigI2AoQNIAEgiwI2AoANIAEgjAI2AvwMIAEgjQI2AvgMIAEgjgI2AvQMIAEgjwI2AvAMIAEgkAI2AuwMIAEgkQI2AugMIAEgkgI2AuQMIAEgkwI2AuAMIAEglAI2AtwMIAEglQI2AtgMIAEglgI2AtQMIAEglwI2AtAMIAEgmAI2AswMIAEgmQI2AsgMIAEgmgI2AsQMIAEgmwI2AsAMIAEgnAI2ArwMIAEgnQI2ArgMIAEgngI2ArQMIAEgnwI2ArAMIAEgoAI2AqwMIAEgoQI2AqgMIAEgogI2AqQMIAEgowI2AqAMIAEgpAI2ApwMIAEgpQI2ApgMIAEgpgI2ApQMIAEgpwI2ApAMIAEgqAI2AowMIAEgqQI2AogMIAEgqgI2AoQMIAEgqwI2AoAMIAEgrAI2AvwLIAEgrQI2AvgLIAEgrgI2AvQLIAEgrwI2AvALIAEgsAI2AuwLIAEgsQI2AugLIAEgsgI2AuQLIAEgswI2AuALIAEgETYC3AsgASC0AjYC2AsgASDnAToA1AsgASC1AjYC0AsgASC2AjoAzAsgASC3AjYCyAsgASC4AjoAxAsgASC5AjYCwAsgASC6AjoAvAsgASC7AjYCuAsgASAUOgC0CyABIBI2ArALIAEgIzoArAsgASAaNgKoCyABIC06AKQLIAEgOzYCoAsgASBBOgCcCyABIEQ2ApgLIAEgRToAlAsgASA8NgKQCyABIN0BOgCMCyABIN4BNgKICyABIOMBOgCECyABIOABNgKACyABIOEBOgD8CiABIOQBNgL4CiABIOUBOgD0CiABIBs2AvAKIAEgHDoA7AogASAoNgLoCiABIC46AOQKIAEgMjYC4AogASA4OgDcCiABIDo2AtgKIAEgEzoA1AogASAWNgLQCiABIDY6AMwKIAEgNzYCyAogASAXOgDECiABIN8BNgLACiABIBk6ALwKIAEgIjYCuAogASAVOgC0CiABIEA2ArAKIAEgLzoArAogASAgNgKoCiABIP8BOgCkCiABIEM2AqAKIAEgJjoAnAogASArNgKYCiABILwCOgCUCiABIL0CNgKQCiABIL4COgCMCiABIL8CNgKICiABIMACOgCECiABIMECNgKACiABIMICOgD8CSABIMMCNgL4CSABIMQCOgD0CSABIMUCNgLwCSABIMYCOgDsCSABIMcCNgLoCSABIMgCOgDkCSABIMkCNgLgCSABIMoCOgDcCSABIMsCNgLYCSABIMwCOgDUCSABIM0CNgLQCSABIM4COgDMCSABIM8CNgLICSABINACOgDECSABINECNgLACSABINICOgC8CSABINMCNgK4CSABINQCOgC0CSABINUCNgKwCSABINYCOgCsCSABINcCNgKoCSABINgCOgCkCSABINkCNgKgCSABINoCOgCcCSABINsCNgKYCSABINwCOgCUCSABIN0CNgKQCSABIN4COgCMCSABIN8CNgKICSABIOACOgCECSABIOECNgKACSABIOICOgD8CCABIOMCNgL4CCABIOQCOgD0CCABIOUCNgLwCCABIOYCOgDsCCABIOcCNgLoCCABIOgCOgDkCCABIOkCNgLgCCABIOoCOgDcCCABIOsCNgLYCCABIOwCOgDUCCABIO0CNgLQCCABIO4COgDMCCABIO8CNgLICCABIPACOgDECCABIPECNgLACCABIPICOgC8CCABIPMCNgK4CCABIPQCOgC0CCABIPUCNgKwCCABIPYCOgCsCCABIPcCNgKoCCABIPgCOgCkCCABIPkCNgKgCCABIPoCOgCcCCABIPsCNgKYCCABIPwCOgCUCCABIP0CNgKQCCABIP4COgCMCCABIP8CNgKICCABIIADOgCECCABIIEDNgKACCABIIIDOgD8ByABIIMDNgL4ByABIIQDOgD0ByABIIUDNgLwByABIIYDOgDsByABIIcDNgLoByABIIgDOgDkByABIIkDNgLgByABIIoDOgDcByABIIsDNgLYByABIIwDOgDUByABII0DNgLQByABII4DOgDMByABII8DNgLIByABIJADOgDEByABIJEDNgLAByABIJIDOgC8ByABIJMDNgK4ByABIJQDOgC0ByABIJUDNgKwByABIJYDOgCsByABIJcDNgKoByABIJgDOgCkByABIJkDNgKgByABIJoDOgCcByABIJsDNgKYByABIJwDOgCUByABIJ0DNgKQByABIJ4DOgCMByABIJ8DNgKIByABIKADOgCEByABIKEDNgKAByABIKIDOgD8BiABIKMDNgL4BiABIKQDOgD0BiABIKUDNgLwBiABIKYDOgDsBiABIKcDNgLoBiABIKgDOgDkBiABIKkDNgLgBiABIKoDOgDcBiABIKsDNgLYBiABIKwDOgDUBiABIK0DNgLQBiABIK4DOgDMBiABIK8DNgLIBiABILADOgDEBiABILEDNgLABiABILIDOgC8BiABILMDNgK4BiABILQDOgC0BiABILUDNgKwBiABILYDOgCsBiABILcDNgKoBiABILgDOgCkBiABILkDNgKgBiABILoDOgCcBiABILsDNgKYBiABILwDOgCUBiABIL0DNgKQBiABIL4DOgCMBiABIL8DNgKIBiABIMADOgCEBiABIMEDNgKABiABIMIDOgD8BSABIMMDNgL4BSABIMQDOgD0BSABIMUDNgLwBSABIMYDOgDsBSABIMcDNgLoBSABIMgDOgDkBSABIMkDNgLgBSABIMoDOgDcBSABIMsDNgLYBSABIMwDOgDUBSABIM0DNgLQBSABIM4DOgDMBSABIM8DNgLIBSABINADOgDEBSABINEDNgLABSABINIDOgC8BSABINMDNgK4BSABINQDOgC0BSABINUDNgKwBSABINYDOgCsBSABINcDNgKoBSABINgDOgCkBSABINkDNgKgBSABINoDOgCcBSABINsDNgKYBSABQQA6AJQFIAEgggI2ApAFIAEg3AM6AIwFIAEg3QM2AogFIAEg3gM6AIQFIAEg3wM2AoAFIAEg4AM6APwEIAEg4QM2AvgEIAEg4gM6APQEIAEg4wM2AvAEIAEg5AM6AOwEIAEg5QM2AugEIAEg5gM6AOQEIAEg5wM2AuAEIAEg6AM6ANwEIAEg6QM2AtgEIAEg6gM6ANQEIAEg6wM2AtAEIAEg7AM6AMwEIAEg7QM2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IAEg+wE7ALUKIAEg/AE7AK0KIAEg/QE7AKUKIAEg/gE7AJ0KIAEgfzsAlQogASB+OwCNCiABIH07AIUKIAEgfDsA/QkgASB7OwD1CSABIHo7AO0JIAEgeTsA5QkgASB4OwDdCSABIHc7ANUJIAEgdjsAzQkgASB1OwDFCSABIHQ7AL0JIAEgczsAtQkgASByOwCtCSABIHE7AKUJIAEgcDsAnQkgASBvOwCVCSABIG47AI0JIAEgbTsAhQkgASBsOwD9CCABIGs7APUIIAEgajsA7QggASBpOwDlCCABIGg7AN0IIAEgZzsA1QggASBmOwDNCCABIGU7AMUIIAEgZDsAvQggASBjOwC1CCABIGI7AK0IIAEgYTsApQggASBgOwCdCCABIF87AJUIIAEgXjsAjQggASBdOwCFCCABIFw7AP0HIAEgWzsA9QcgASBaOwDtByABIFk7AOUHIAEgWDsA3QcgASBXOwDVByABIFY7AM0HIAEgVTsAxQcgASBUOwC9ByABIFM7ALUHIAEgUjsArQcgASBROwClByABIFA7AJ0HIAEgTzsAlQcgASBOOwCNByABIE07AIUHIAEgTDsA/QYgASBLOwD1BiABIEo7AO0GIAEgSTsA5QYgASBIOwDdBiABIEc7ANUGIAEglgE7AM0GIAEglQE7AMUGIAEglAE7AL0GIAEgkwE7ALUGIAEgkgE7AK0GIAEgkQE7AKUGIAEgkAE7AJ0GIAEgjwE7AJUGIAEgjgE7AI0GIAEgjQE7AIUGIAEgjAE7AP0FIAEgiwE7APUFIAEgigE7AO0FIAEgiQE7AOUFIAEgiAE7AN0FIAEghwE7ANUFIAEghgE7AM0FIAEghQE7AMUFIAEghAE7AL0FIAEggwE7ALUFIAEgggE7AK0FIAEggQE7AKUFIAEggAE7AJ0FIAFBADsAlQUgASDcATsAjQUgASCXATsAhQUgASCYATsA/QQgASCZATsA9QQgASCaATsA7QQgASCbATsA5QQgASCcATsA3QQgASCdATsA1QQgASCeATsAzQQgASCfATsAxQQgASCgATsAvQQgASChATsAtQQgASCiATsArQQgASCjATsApQQgASCkATsAnQQgASClATsAlQQgASCmATsAjQQgASCnATsAhQQgASCoATsA/QMgASCpATsA9QMgASCqATsA7QMgASCrATsA5QMgASCsATsA3QMgASCtATsA1QMgASCuATsAzQMgASCvATsAxQMgASCwATsAvQMgASCxATsAtQMgASCyATsArQMgASCzATsApQMgASC0ATsAnQMgASC1ATsAlQMgASC2ATsAjQMgASC3ATsAhQMgASC4ATsA/QIgASC5ATsA9QIgASC6ATsA7QIgASC7ATsA5QIgASC8ATsA3QIgASC9ATsA1QIgASC+ATsAzQIgASC/ATsAxQIgASDAATsAvQIgASDBATsAtQIgASDCATsArQIgASDDATsApQIgASDEATsAnQIgASDFATsAlQIgASDGATsAjQIgASDHATsAhQIgASDIATsA/QEgASDJATsA9QEgASDKATsA7QEgASDLATsA5QEgASDMATsA3QEgASDNATsA1QEgASDOATsAzQEgASDPATsAxQEgASDbATsAvQEgASDaATsAtQEgASDZATsArQEgASDYATsApQEgASDXATsAnQEgASDWATsAlQEgASDVATsAjQEgASDUATsAhQEgASDTATsAfSABINIBOwB1IAEg0QE7AG0gASDQATsAZSABIIACOwBdIAEgDzsAVSABIA07AE0gASAFOwBFIAEgigU3A7ANIAEgCzoArA0gASAINgKoDSABQQA2AqQNIAEggQI2AqANIAEghQI2ApwNIAEgLDYCmA0gASCGAjYAlA0gASCHAjYAkA0gASCIAjYAjA0gASCJAjYAiA0gASCKAjYAhA0gASCLAjYAgA0gASCMAjYA/AwgASCNAjYA+AwgASCOAjYA9AwgASCPAjYA8AwgASCQAjYA7AwgASCRAjYA6AwgASCSAjYA5AwgASCTAjYA4AwgASCUAjYA3AwgASCVAjYA2AwgASCWAjYA1AwgASCXAjYA0AwgASCYAjYAzAwgASCZAjYAyAwgASCaAjYAxAwgASCbAjYAwAwgASCcAjYAvAwgASCdAjYAuAwgASCeAjYAtAwgASCfAjYAsAwgASCgAjYArAwgASChAjYAqAwgASCiAjYApAwgASCjAjYAoAwgASCkAjYAnAwgASClAjYAmAwgASCmAjYAlAwgASCnAjYAkAwgASCoAjYAjAwgASCpAjYAiAwgASCqAjYAhAwgASCrAjYAgAwgASCsAjYA/AsgASCtAjYA+AsgASCuAjYA9AsgASCvAjYA8Asg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uAYgAkG4AWogAkHQJGpBgAUQ/AYaID2tIIQCrUIghoQhigUgAkGIHGoQiQwgjQVCA1INASDnBCEwIOYEITMg0AEhASDlBCHnBCDkBCHmBCDRASHQASDjBCHlBCDiBCHkBCDSASHRASDhBCHjBCDgBCHiBCDTASHSASDfBCHhBCDeBCHgBCDUASHTASDdBCHfBCDcBCHeBCDVASHUASDbBCHdBCDaBCHcBCDWASHVASDZBCHbBCDYBCHaBCDXASHWASDXBCHZBCDWBCHYBCDYASHXASDVBCHXBCDUBCHWBCDZASHYASDTBCHVBCDSBCHUBCDaASHZASDRBCHTBCDQBCHSBCDbASHaASDPBCHRBCDOBCHQBCDPASHbASDNBCHPBCDMBCHOBCDOASHPASDLBCHNBCDKBCHMBCDNASHOASDJBCHLBCDIBCHKBCDMASHNASDHBCHJBCDGBCHIBCDLASHMASDFBCHHBCDEBCHGBCDKASHLASDDBCHFBCDCBCHEBCDJASHKASDBBCHDBCDABCHCBCDIASHJASC/BCHBBCC+BCHABCDHASHIASC9BCG/BCC8BCG+BCDGASHHASC7BCG9BCC6BCG8BCDFASHGASC5BCG7BCC4BCG6BCDEASHFASC3BCG5BCC2BCG4BCDDASHEASC1BCG3BCC0BCG2BCDCASHDASCzBCG1BCCyBCG0BCDBASHCASCxBCGzBCCwBCGyBCDAASHBASCvBCGxBCCuBCGwBCC/ASHAASCtBCGvBCCsBCGuBCC+ASG/ASCrBCGtBCCqBCGsBCC9ASG+ASCpBCGrBCCoBCGqBCC8ASG9ASCnBCGpBCCmBCGoBCC7ASG8ASClBCGnBCCkBCGmBCC6ASG7ASCjBCGlBCCiBCGkBCC5ASG6ASChBCGjBCCgBCGiBCC4ASG5ASCfBCGhBCCeBCGgBCC3ASG4ASCdBCGfBCCcBCGeBCC2ASG3ASCbBCGdBCCaBCGcBCC1ASG2ASCZBCGbBCCYBCGaBCC0ASG1ASCXBCGZBCCWBCGYBCCzASG0ASCVBCGXBCCUBCGWBCCyASGzASCTBCGVBCCSBCGUBCCxASGyASCRBCGTBCCQBCGSBCCwASGxASCPBCGRBCCOBCGQBCCvASGwASCNBCGPBCCMBCGOBCCuASGvASCLBCGNBCCKBCGMBCCtASGuASCJBCGL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CCAEIO4COgDMCCAEIO8CNgLICCAEIPACOgDECCAEIPECNgLACCAEIPICOgC8CCAEIPMCNgK4CCAEIPQCOgC0CCAEIPUCNgKwCCAEIPYCOgCsCCAEIPcCNgKoCCAEIPgCOgCkCCAEIPkCNgKgCCAEIPoCOgCcCCAEIPsCNgKYCCAEIPwCOgCUCCAEIP0CNgKQCCAEIP4COgCMCCAEIP8CNgKICCAEIIADOgCECCAEIIEDNgKACCAEIIIDOgD8ByAEIIMDNgL4ByAEIIQDOgD0ByAEIIUDNgLwByAEIIYDOgDsByAEIIcDNgLoByAEIIgDOgDkByAEIIkDNgLgByAEIIoDOgDcByAEIIsDNgLYByAEIIwDOgDUByAEII0DNgLQByAEII4DOgDMByAEII8DNgLIByAEIJADOgDEByAEIJEDNgLAByAEIJIDOgC8ByAEIJMDNgK4ByAEIJQDOgC0ByAEIJUDNgKwByAEIJYDOgCsByAEIJcDNgKoByAEIJgDOgCkByAEIJkDNgKgByAEIJoDOgCcByAEIJsDNgKYByAEIJwDOgCUByAEIJ0DNgKQByAEIJ4DOgCMByAEIJ8DNgKIByAEIKADOgCEByAEIKEDNgKAByAEIKIDOgD8BiAEIKMDNgL4BiAEIKQDOgD0BiAEIKUDNgLwBiAEIKYDOgDsBiAEIKcDNgLoBiAEIKgDOgDkBiAEIKkDNgLgBiAEIKoDOgDcBiAEIKsDNgLYBiAEIKwDOgDUBiAEIK0DNgLQBiAEIK4DOgDMBiAEIK8DNgLIBiAEILADOgDEBiAEILEDNgLABiAEILIDOgC8BiAEILMDNgK4BiAEILQDOgC0BiAEILUDNgKwBiAEILYDOgCsBiAEILcDNgKoBiAEILgDOgCkBiAEILkDNgKgBiAEILoDOgCcBiAEILsDNgKYBiAEILwDOgCUBiAEIL0DNgKQBiAEIL4DOgCMBiAEIL8DNgKIBiAEIMADOgCEBiAEIMEDNgKABiAEIMIDOgD8BSAEIMMDNgL4BSAEIMQDOgD0BSAEIMUDNgLwBSAEIMYDOgDsBSAEIMcDNgLoBSAEIMgDOgDkBSAEIMkDNgLgBSAEIMoDOgDcBSAEIMsDNgLYBSAEIMwDOgDUBSAEIM0DNgLQBSAEIM4DOgDMBSAEIM8DNgLIBSAEINADOgDEBSAEINEDNgLABSAEINIDOgC8BSAEINMDNgK4BSAEINQDOgC0BSAEINUDNgKwBSAEINYDOgCsBSAEINcDNgKoBSAEINgDOgCkBSAEINkDNgKgBSAEINoDOgCcBSAEINsDNgKYBSAEIO4EOgCUBSAEIIICNgKQBSAEINwDOgCMBSAEIN0DNgKIBSAEIN4DOgCEBSAEIN8DNgKABSAEIOADOgD8BCAEIOEDNgL4BCAEIOIDOgD0BCAEIOMDNgLwBCAEIOQDOgDsBCAEIOUDNgLoBCAEIOYDOgDkBCAEIOcDNgLgBCAEIOgDOgDcBCAEIOkDNgLYBCAEIOoDOgDUBCAEIOsDNgLQBCAEIOwDOgDMBCAEIO0DNgLIBCAEIO4DOgDEBCAEIO8DNgLABCAEIPADOgC8BCAEIPEDNgK4BCAEIPIDOgC0BCAEIPMDNgKwBCAEIPQDOgCsBCAEIPUDNgKoBCAEIPYDOgCkBCAEIPcDNgKgBCAEIPgDOgCcBCAEIPkDNgKYBCAEIPoDOgCUBCAEIPsDNgKQBCAEIPwDOgCMBCAEIP0DNgKIBCAEIP4DOgCEBCAEIP8DNgKABCAEIIAEOgD8AyAEIIEENgL4AyAEIIIEOgD0AyAEIIMENgLwAyAEIIQEOgDsAyAEIIUENgLoAyAEIIYEOgDkAyAEIIcENgLgAyAEIIgEOgDcAyAEIIkENgLYAyAEIIoEOgDUAyAEIIsENgLQAyAEIIwEOgDMAyAEII0ENgLIAyAEII4EOgDEAyAEII8ENgLAAyAEIJAEOgC8AyAEIJEENgK4AyAEIJIEOgC0AyAEIJMENgKwAyAEIJQEOgCsAyAEIJUENgKoAyAEIJYEOgCkAyAEIJcENgKgAyAEIJgEOgCcAyAEIJkENgKYAyAEIJoEOgCUAyAEIJsENgKQAyAEIJwEOgCMAyAEIJ0ENgKIAyAEIJ4EOgCEAyAEIJ8ENgKAAyAEIKAEOgD8AiAEIKEENgL4AiAEIKIEOgD0AiAEIKMENgLwAiAEIKQEOgDsAiAEIKUENgLoAiAEIKYEOgDkAiAEIKcENgLgAiAEIKgEOgDcAiAEIKkENgLYAiAEIKoEOgDUAiAEIKsENgLQAiAEIKwEOgDMAiAEIK0ENgLIAiAEIK4EOgDEAiAEIK8ENgLAAiAEILAEOgC8AiAEILEENgK4AiAEILIEOgC0AiAEILMENgKw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IHc7ANUJIAEgdjsAzQkgASB1OwDFCSABIHQ7AL0JIAEgczsAtQkgASByOwCtCSABIHE7AKUJIAEgcDsAnQkgASBvOwCVCSABIG47AI0JIAEgbTsAhQkgASBsOwD9CCABIGs7APUIIAEgajsA7QggASBpOwDlCCABIGg7AN0IIAEgZzsA1QggASBmOwDNCCABIGU7AMUIIAEgZDsAvQggASBjOwC1CCABIGI7AK0IIAEgYTsApQggASBgOwCdCCABIF87AJUIIAEgXjsAjQggASBdOwCFCCABIFw7AP0HIAEgWzsA9QcgASBaOwDtByABIFk7AOUHIAEgWDsA3QcgASBXOwDVByABIFY7AM0HIAEgVTsAxQcgASBUOwC9ByABIFM7ALUHIAEgUjsArQcgASBROwClByABIFA7AJ0HIAEgTzsAlQcgASBOOwCNByABIE07AIUHIAEgTDsA/QYgASBLOwD1BiABIEo7AO0GIAEgSTsA5QYgASBIOwDdBiABIEc7ANUGIAEglgE7AM0GIAEglQE7AMUGIAEglAE7AL0GIAEgkwE7ALUGIAEgkgE7AK0GIAEgkQE7AKUGIAEgkAE7AJ0GIAEgjwE7AJUGIAEgjgE7AI0GIAEgjQE7AIUGIAEgjAE7AP0FIAEgiwE7APUFIAEgigE7AO0FIAEgiQE7AOUFIAEgiAE7AN0FIAEghwE7ANUFIAEghgE7AM0FIAEghQE7AMUFIAEghAE7AL0FIAEggwE7ALUFIAEgggE7AK0FIAEggQE7AKUFIAEggAE7AJ0FIAFBADsAlQUgASDcATsAjQUgASCXATsAhQUgASCYATsA/QQgASCZATsA9QQgASCaATsA7QQgASCbATsA5QQgASCcATsA3QQgASCdATsA1QQgASCeATsAzQQgASCfATsAxQQgASCgATsAvQQgASChATsAtQQgASCiATsArQQgASCjATsApQQgASCkATsAnQQgASClATsAlQQgASCmATsAjQQgASCnATsAhQQgASCoATsA/QMgASCpATsA9QMgASCqATsA7QMgASCrATsA5QMgASCsATsA3QMgASCtATsA1QMgASCuATsAzQMgASCvATsAxQMgASCwATsAvQMgASCxATsAtQMgASCyATsArQMgASCzATsApQMgASC0ATsAnQMgASC1ATsAlQMgASC2ATsAjQMgASC3ATsAhQMgASC4ATsA/QIgASC5ATsA9QIgASC6ATsA7QIgASC7ATsA5QIgASC8ATsA3QIgASC9ATsA1QIgASC+ATsAzQIgASC/ATsAxQIgASDAATsAvQIgASDBATsAtQIgASDCATsArQIgASDDATsApQIgASDEATsAnQIgASDFATsAlQIgASDGATsAjQIgASDHATsAhQIgASDIATsA/QEgASDJATsA9QEgASDKATsA7QEgASDLATsA5QEgASDMATsA3QEgASDNATsA1QEgASDOATsAzQEgASDPATsAxQEgASDbATsAvQEgASDaATsAtQEgASDZATsArQEgASDYATsApQEgASDXATsAnQEgASDWATsAlQEgASDVATsAjQEgASDUATsAhQEgASDTATsAfSABINIBOwB1IAEg0QE7AG0gASDQATsAZSABIIACOwBdIAEgDzsAVSABIA07AE0gASAFOwBFIAFBADoArA0gASAINgKoDSABQQA2AqQNIAEggQI2AqANIAEghQI2ApwNIAEgLDYCmA0gASCGAjYClA0gASCHAjYCkA0gASCIAjYCjA0gASCJAjYCiA0gASCKAjYChA0gASCLAjYCgA0gASCMAjYC/AwgASCNAjYC+AwgASCOAjYC9AwgASCPAjYC8AwgASCQAjYC7AwgASCRAjYC6AwgASCSAjYC5AwgASCTAjYC4AwgASCUAjYC3AwgASCVAjYC2AwgASCWAjYC1AwgASCXAjYC0AwgASCYAjYCzAwgASCZAjYCyAwgASCaAjYCxAwgASCbAjYCwAwgASCcAjYCvAwgASCdAjYCuAwgASCeAjYCtAwgASCfAjYCsAwgASCgAjYCrAwgASChAjYCqAwgASCiAjYCpAwgASCjAjYCoAwgASCkAjYCnAwgASClAjYCmAwgASCmAjYClAwgASCnAjYCkAwgASCoAjYCjAwgASCpAjYCiAwgASCqAjYChAwgASCrAjYCgAwgASCsAjYC/AsgASCtAjYC+AsgASCuAjYC9AsgASCvAjYC8AsgASCwAjYC7AsgASCxAjYC6AsgASCyAjYC5AsgASCzAjYC4AsgASARNgLcCyABILQCNgLYCyABIOcBOgDUCyABILUCNgLQCyABILYCOgDMCyABILcCNgLICyABILgCOgDECyABILkCNgLACyABILoC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QQFxckUEQCAhEI8dIANBCjYCqAQgECADQagEahCbGAwBCyAhEJAdIANBCTYCqAQgECADQagEahCbGAsgA0EQaiADQeAKahD3DyADKAIUIRggAygCECESIAwgAykC0Ao3AgAgDEEIaiALKQIANwIAIAMgBzYCrAQgAyAINgKoBCAJIANBqARqEOcSDAILIANBqARqIAggByADQZQKahBGIAMoAqgEIgVBgICAgHhHBEAgA0GABGogEUEIaikCADcDACADQYgEaiARQRBqKAIANgIAIAMgGDYCqAMgAyARKQIANwP4AyADKAKwBCEYIAMpArQEIYwFIAMoAqwEDAYFIBJBGGshEiAYQQFrIRgMAQsACwALAAsgBigCBCEFQQAhGEEBDAULIAYoAgQiEEEIaiILKAIAIgVFDQYgEEEEaiIHKAIAIAVB3MvWABCmIyEFIANBKGogBygCACALKAIAQezL1gAQpRkgAygCKCEHIAMoAiwhGEECDAQLIANBgARqIBFBCGopAgA3AwAgA0GIBGogEUEQaigCADYCACADIBEpAgA3A/gDIAMpArQEIYwFIAMoArAEIRggAygCrAQLIQcgHSADKQP4AzcCACAdQRBqIANBiARqKAIANgIAIB1BCGogA0GABGopAwA3AgAgAyCMBTcChAIgAyAYNgKAAiADIAc2AvwBIAMgBTYC+AEMBQsgBigCBCEFQQAhGEEADAELIAYoAgQiEEEIaiILKAIAIgVFDQIgEEEEaiIHKAIAIAVBvMvWABCmIyEFIANBIGogBygCACALKAIAQczL1gAQpRkgAygCICEHIAMoAiQhGEEDCyEQIANBqApqIgsgB60gGK1CIIaENwIAIAMgBTYCpAogAyAQNgKgCiADQaAKahCzGyAhIAMpAqAKNwIAICFBCGogCykCADcCACADIAY2AqgEIANBlANqIANBqARqEOgSIQYMBQsgAyAYNgKoAwsgA0GoBGogA0GUCmogBigCACAGQQRqKAIAEEIgAygCqAQiBUGAgICAeEYEQCADKAKcAyIFQQFrIRggAygCmAMgBUEUbGpBFGshEgNAAkACQAJAAkAgGEF/RgRAQQAhGAwBCyASQQRqKAIAIgVBBEcNAQsgAyAYNgKcAyADKAKUCiIGKAIAIgdB/////wdPDQEgBiAHQQFqNgIAIAMgBigCDCIFNgLgCgJAIAVBAUYEQCAGIAc2AgAgA0GoBGogBhCXDCADKAKoBEEQRw0BQcy/xAAQ2ikACyADQQA2AqgEIANB4ApqQeyd2AAgA0GoBGpB3L/EABDZGgALIANBkARqIANBwARqKAIANgIAIANBiARqIANBuARqKQIANwMAIANBgARqIAwpAgA3AwAgAyADKQKoBDcD+AMgHiADQfgDahCXCkGAgICAeCEFQQEMBgsgEigCACELIAQgEkEIaikCADcCACAEQQhqIBJBEGooAgA2AgAgAyAFNgKwCiADQfgDaiADQbAKahDRCyADKAL4A0EERwRAIANByApqIANBgARqIgUpAgA3AwAgAyAYNgKcAyADIAMpAvgDIowFNwPACiCMBadBA0cNByADQQ82AqgEIAMoApQKIANBqARqEJsYDAcLIANBqARqIANBlApqIAsoAgAgC0EEaigCABBCIAMoAqgEIgVBgICAgHhGDQEgAyAYNgKcAyAeICFBJBD8BhoMBAtBvL/EABDuFAALIBJBFGshEiAYQQFrIRgMAAsACyAeICFBJBD8BhoLQQALIANBlANqEPEfIAMoAvwBIRIEQCADKAKUAiEIIAMoApACIQcgAygCjAIhECADKAKIAiELIAMoAoQCIQYgAygCgAIhBSADQfgCahCtDCADKAL0ASIOIAMoAuwBRgRAIANB7AFqEPUWCyADKALwASAOQRxsaiIPIAg2AhggDyAHNgIUIA8gEDYCECAPIAs2AgwgDyAGNgIIIA8gBTYCBCAPIBI2AgAgAyAOQQFqNgL0AQwDCyADQfgAaiADQfACaikCADcDACADIAMpAugCNwNwIAMoApwCISkgAykClAIhjAUgAykCjAIhjgUgAygCiAIhBiADKAKEAiEYIAMoAoACISMgA0H4AmoQrQxBIiEHDAYLIANBwApqELMbIQYgISADKQL4AzcCACAhQQhqIAUpAgA3AgAgAyALNgKoBCADQZQDaiADQagEahDoEgwACwALAAsgAygCWCENIAMgAy0A1gE6AN8CIAMgAy0A1AEiBzoA3gIgAyADLQDVAToA3QIgAyADKALQATYC2AIgA0IBNwLQAiADQoCAgIAQNwLIAiADIAc6ANwCIANCATcCwAIgA0IANwK4AiADQgQ3ArACIANCADcCqAIgA0IENwKgAiADQgA3ApgC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1iYMAQsgCUGQAWoQqB4LIAlBgANqJAAgAygCsAQhEiADKAKsBCEFIAMoAqgEIgdBIkcEQCADQegKaiAuQQhqKQIANwMAIAMgLikCADcD4AogAykCyAQhjAUgAykCwAQhjgUgAygCvAQhBiADKAK4BCEYIAMoArQEISMgAygC0AQMBgsgAyASNgK0CiADIAU2ArAKIANBqARqIQwgA0GwCmoiDiEHQQAhKSMAQeABayIRJAAgEUIENwI0IBFCADcCLCARQoCAgIDAADcCJCARQQA2AkAgESADQaAKajYCPCARQagBaiEdIBFBpAFqIQQgEUHYAGohCSARQTBqIQoCQAJAA0BB2AAhHgJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAIAcoAgBBB2sOBQMAAQICBAtBKCEeDAILQTAhHgwBC0EMIR4LIBFBoAFqIBFBPGogBygCBCAeahDcCSARKAKgASIGQSJHDQELAkACQAJAIAcoAgBBB2sOBQAGAQcCCgsgBygCBCIGIAYoAgBBiIDEAEYiCEECdGohHgNAAkAgCEEBcUUEQCARQaABaiARQTxqAn8CQAJAQQIgHigCAEGAgMQAayIGIAZBCE8bQQZrDgIAAQQLIB4oAgRB2ABqDAELIB5BEGoLENwJIBEoAqABIg9BIkYNASARKQKsASGKBSARKAKkASEIIBEoAqgBDAcLIBFBoAFqIBFBPGogHkEIahDcCSARKAKgASIPQSJGDQAgESkCrAEhigUgESgCpAEhCCARKAKoAQwGCyARQZABaiIGIAggHhDHCyARKAKQAUEERwRAIB0gESkCkAE3AgAgHUEIaiARQZgBaikCADcCACARQQhqIAYQ9w8gESAeNgKkASARIAg2AqABIBEoAgwhHiARKAIIIQggCiARQaABahDnEgwBCyARQaABaiAIIB4gEUE8ahD9HiARKAKgASIPQSJHDQQgESgCOCIGQQFrIQggESgCNCAGQRhsakEYayEeA0AgCEF/RgRAQQAhCAwLCyAeKAIAIhBBAkYNCiAeQQRqKAIAIQsgEUGQAWoiBiAeQQhqEIUPIBEoApABQQRHBEAgESAINgI4IB1BCGogEUGYAWopAgA3AgAgHSARKQKQATcCACARIAYQ9w8gESALNgKkASARIBA2AqABIBEoAgQhHiARKAIAIQggCiARQaAB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DAoLIAMoAvgDIAMoAvwDENYpDAsLIANBsApqQf4AQc8AELYQIANBADYCiAIgA0EBNgL8ASADQezH1gA2AvgBIANCBDcCgAIgA0GgCmpBqPrCACADQfgBahCtJEUNBQwGCyADQQA2AqQDIANBECADQcAEaiAtQQFxIgUbNgKgAyADQSggA0HYBGogBRs2ApwDIANBDCADQbwEaiAFGygCADYCmAMgA0EIIANBuARqIAUbKAIANgKUAyADQZwDaiEGIANBuANqIANBlANqIgUQsQYgAygClAMgAygCmAMQ7RtFBEAgA0EANgKIAiADQQE2AvwBIANB7MfWADYC+AEgA0IENwKAAiADQaAKaiINQaj6wgAgA0H4AWoiCBCtJA0KIAggBRCxBiADQfgDaiIHIAgQygMgCBC4EyADQQE2AvwBIANB/PbgADYC+AEgA0IBNwKEAiADQT42AuQKIAMgA0HgCmoiBTYCgAIgAyAHNgLgCgJAIA1BqPrCACAIEK0kDQAgA0EBNgL8ASADQfzH1gA2AvgBIANCATcChAIgA0HpADYC5AogAyAGNgLgCiADIAU2AoACIA1BqPrCACAIEK0kDQAgAygC+AMgAygC/AMQ1ikMCQsgAygC+AMgAygC/AMQ1ikMCgsgA0GwCmpB/gBBzwAQthAgA0EANgKIAiADQQE2AvwBIANB7MfWADYC+AEgA0IENwKAAiADQaAKakGo+sIAIANB+AFqEK0kRQ0BDAILIANBADYCwAMgA0KAgICAEDcCuAMgA0EANgKIAiADQQE2AvwBIANB1KrDADYC+AEgA0IENwKAAiADQbgDakGo+sIAIANB+AFqEK0kRQRAIBAgAykCuAM3AgAgEEEIaiADQcADaigCADYCAAwICwwLCyADQQI2AvwBIANB9MzfADYC+AEgA0IBNwKEAiADQT42AvwDIAMgA0H4A2oiDTYCgAIgAyADQbAKaiIHNgL4AyADQaAKakGo+sIAIANB+AFqEK0kDQAgA0HACmoiBSADQbgDahDKAyADQQE2AvwBIANB/PbgADYC+AEgA0IBNwKEAiADQT42AvwDIAMgDTYCgAIgAyAFNgL4AwJAIANBoApqQaj6wgAgA0H4AWoQrSQNACADQQI2AvwBIANB9MzfADYC+AEgA0IBNwKEAiADQT42AvwDIAMgDTYCgAIgAyAH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ADcDECACIAhBEGo2AgQgByAIKQMANwMIQQALNgIAIAMoAogBIgdBBUcNASADQQ02AgAgAxD4JQsgA0HwAWokACABRQ8LIANBgAFqIgggBkEYaigCADYCACADQfgAaiILIAZBEGopAgA3AwAgA0HwAGoiDCAGQQhqKQIANwMAIAMgBikCADcDaCADQagBaiINEN4XIANB4ABqIg4gCkEIaigCADYCACADIAopAwA3A1ggAykDyAEhDyADKQLcASEQIAMpAuQBIREgDRDWFiAEQRhqIAgoAgA2AgAgBEEQaiALKQMANwIAIARBCGogDCkDADcCACAEIAMpA2g3AgAgCSADKQNYNwMAIAlBCGogDigCADYCACADIBE3AkQgAyAQNwI8IAMgDzcDKCADIAc2AgggA0EHNgIAIAUgA0HYABD8BiAAIAAoAghBAWo2AgggAUHYAGshAUHYAGohBQwACwAL8gMBBn8jAEEwayICJAAgAS0ABCEDIAJBHGpBgAIQjhIgAkEsakEAOwEAIAJBADYCKCACQRhqIgVBADsBACACQRBqIgYgAkEkaikCADcDACACIAIpAhw3AwggAi0ALyEHIAEtAAYhBCAAQewDahCXDyAAQfwFakIANwIAIABCADcC9AUgAEIANwMAIABBCGpCADcDACAAQRBqQgA3AwAgAEEYakIANwMAIABBgICAgHg2AiAgAEEkakEAQbICEIoLGiAAQQA6AIUDIAAgA0EDdEHQpeMAaikDADcA/QIgAEEAOgD8AiAAQQA2AvgCIABCgICAgHA3A/ACIABCgICAgMAANwPoAiAAQgQ3A+ACIAAgA0ECdEHApeMAaigCADYC3AIgAEEANgLYAiAAQQE6ANcCIAAgBDoA1gIgACACKQMINwOIAyAAQZADaiAGKQMANwMAIABBmANqIAUvAQA7AQAgACADOgCEBiAAQv////8PNwLsBSAAQgA3AtwDIABCgICAgMAANwLUAyAAQgQ3AswDIABCADcCxAMgAEKAgICAwAA3ArwDIABCATcCtAMgAEIANwKsAyAAQoCAgIDAADcCpAMgACABNgKgAyAAQQE6AJ0DIAAgBDoAnAMgACAHOgCbAyAAIAQ6AJoDIAJBMGokAAuhAwEHfwJAIARBAEwNACADIARqIQYCQCAEQQNNBEAgAUH/AXEhASADIQQDQCAE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AgBBE0YNAQsgACAHNgIcIAAgCDYCGCAAQgA3AwggAEEANgIAIAAgBa0gBq1CIIaENwMQDAMLIAEoAighAyABQSU2AiggASABKQNANwN4IAJBFGogAUE0aikCADcCACACQRxqIAFBPGooAgA2AgAgAiABKQIsNwIMIAIgAzYCCCACQQhqIgMQwwogAyABEOUFIAItABxBAkYEQCACKAIIIQEMAgsgAigCECEBIAIpAwgiCVANASAAIAIoAhQiAzYCJCAAIAE2AiAgACAJNwMYIAAgBzYCFCAAIAg2AhAgAEEANgIAIAAgBCADIAMgBEkbNgIsIAAgBCADIAMgBEsbNgIoIAAgBa0gBq1CIIaENwMIDAILIABBATYCACAAIAU2AgQMAQsgAEEBNgIAIAAgATYCBCAFrSAGrUIghoQQ8RoLIAJBIGokAAunAwEIfyAAIAEQkhogACgCECIGIAAoAhRB2ABsaiEIA0AgCCAGIgJHBEAgAkHYAGohBgJAAkACQAJAAkACQAJAIAIoAgAiA0EEa0EAIANBBWtBCEkbQQFrDggBAgMECAgFBgALIAIgARDzISACKAJEIgcgAigCSEEGdGohCQNAIAkgByIDRwRAIANBQGshByADKAIAQQdGBEAgAygCOEEMbCEEIAMoAjQhBQNAIAQEQCAFIAEQwCwgBEEMayEEIAVBDGohBQwBCwsgAy0AHEECRw0CIANBCGogARC9JQwCBSADIAEQviUMAgsACwsgAigCIEGAgICAeEYNByACQSBqIAEQkBoMBwsgAkEIaiABEPMhIAJBMGogARDHLAwGCyACQSBqIAEQxywMBQsgAkEIaiABEPMhIAJBPGogARCxJSACQTBqIAEQkhoMBAsgAkEkaiABELElIAJBLGogARCSGgwDCyACQQRqIAEQkBoMAgsgAigCCEEFRwRAIAJBCGogARDzIQsgAkE8aiABELElIAJBMGogARCSGgwBCwsgAEEwaiABELElC6cDAQh/IAAgARC0GiAAKAIQIgYgACgCFEHYAGxqIQgDQCAIIAYiAkcEQCACQdgAaiEGAkACQAJAAkACQAJAAkAgAigCACIDQQRrQQAgA0EFa0EISRtBAWsOCAECAwQICAUGAAsgAiABEJEiIAIoAkQiByACKAJIQQZ0aiEJA0AgCSAHIgNHBEAgA0FAayEHIAMoAgBBB0YEQCADKAI4QQxsIQQgAygCNCEFA0AgBARAIAUgARD9LCAEQQxrIQQgBUEMaiEFDAELCyADLQAcQQJHDQIgA0EIaiABEPQlDAIFIAMgARCDJgwCCwALCyACKAIgQYCAgIB4Rg0HIAJBIGogARCuGgwHCyACQQhqIAEQkSIgAkEwaiABEJItDAYLIAJBIGogARCSLQwFCyACQQhqIAEQkSIgAkE8aiABEIomIAJBMGogARC0GgwECyACQSRqIAEQiiYgAkEsaiABELQaDAMLIAJBBGogARCuGgwCCyACKAIIQQVHBEAgAkEIaiABEJEiCyACQTxqIAEQiiYgAkEwaiABELQaDAELCyAAQTBqIAEQiiYLpwMBCH8gACABELMaIAAoAhAiBiAAKAIUQdgAbGohCANAIAggBiICRwRAIAJB2ABqIQYCQAJAAkACQAJAAkACQCACKAIAIgNBBGtBACADQQVrQQhJG0EBaw4IAQIDBAgIBQYACyACIAEQkiIgAigCRCIHIAIoAkhBBnRqIQkDQCAJIAciA0cEQCADQUBrIQcgAygCAEEHRgRAIAMoAjhBDGwhBCADKAI0IQUDQCAEBEAgBSABEPssIARBDGshBCAFQQxqIQUMAQsLIAMtABxBAkcNAiADQQhqIAEQ9iUMAgUgAyABEIImDAILAAsLIAIoAiBBgICAgHhGDQcgAkEgaiABELEaDAcLIAJBCGogARCSIiACQTBqIAEQky0MBgsgAkEgaiABEJMtDAULIAJBCGogARCSIiACQTxqIAEQiSYgAkEwaiABELMaDAQLIAJBJGogARCJJiACQSxqIAEQsxoMAwsgAkEEaiABELEaDAILIAIoAghBBUcEQCACQQhqIAEQkiILIAJBPGogARCJJiACQTBqIAEQsxoMAQsLIABBMGogARCJJguQAwELfyMAQeABayICJAAgAkEIaiABKAIIIgNBMBDmFCABKAIAIQQgAigCCCEIIAIoAgwhCSABQQA2AgAgASgCBCEGIAFBCDYCBCABQQA2AgggAkEANgIYIAIgCTYCFCACIAg2AhAgAiAGIANBMGwiCmoiCDYCKCACIAQ2AiQgAiAGNgIcIAJB2ABqQQRyIQtBACEEIAYhAwNAAkAgAiAFIApHBH8gAygCACEHIAJBLGogA0EEakEsEPwGGiAHQRNHDQEg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AUEnRnINBCABQcQARiABQdgARnINBCABQeEARiABQYIBRnINBAsPCyAAKAIEIAAoAggQ4CkPCyAAKAIIIAAoAgwQ1ikPCyAAKAIMIgAQhCMgAEEEQQQQ0REPCyAAQQhqEMMZDwsgACgCDCAAKAIQENYpDwsgAEEIahDDGSAAQRBqEMMZC6QDAQR/IwBBIGsiAyQAAkAgAi0ADCIEQQFGBEAgACABKQIANwIAIABBCGogAUEIaikCADcCAAwBCwJAAkACQAJAAkACQAJAAkACQCABLQAMIgVBAWsOAgACAQsgAyACEO0gIAAgAykCADcCACADQQIgAy0ADGs6AAwgAEEIaiADQQhqKQIANwIAIAEoAgQhBAwHCyAERQ0BDAILIARFDQELIAEoAgQiBCABKAIIIAIoAgQiBiACKAIIIgIQ8ClB/wFxDgICAwELIANBCGogAUEIaigCADYCACADIAEpAgA3AwAgA0EUaiIBIAMgAigCBCACKAIIEPIIIAAgBSABEOYSDAQLIANBCGogAUEIaigCADYCACADIAEpAgA3AwAgA0EUaiIBIAYgAiADEKcEIABBAiAFayABEOYSDAMLIABBCGpBmILCACkCADcCACAAQZCCwgApAgA3AgAMAQsgA0EIaiABQQhqKAIANgIAIAMgASkCADcDACADQRRqIgEgAyAGIAIQ6xsgACAFIAEQ5hIMAQsgASgCACAEENkpCyADQSBqJAALiwMBCH8jAEEwayIDJAACQAJAIAEoAgAiCi0AFCIEQQJGIARBAXFyRQRAIANBCGogAi0AGEECdEGg3uMAaigCAC0AABDtHCADIAMoAgwiByADKAIIIgVrQQF2IgZBAUECEPkUIANBADYCLCADIAMpAwA3AiQgA0EkaiAGEP8eIAMoAiwhBCADIAUgB0cEfyAEIAZqIAMoAiggBEEBdGohBANAIARBAWogBS0AACIIIAVBAWotAAAiCSAIIAlLGzoAACAEIAggCSAIIAlJGzoAACAFQQJqIQUgBEECaiEEIAZBAWsiBg0ACwUgBAs2AiwgA0EUaiADQSRqEMUTIAItABkNAQwCC0GFzsQAQSlBsM7EABDuFwALIANBFGoQmggLAkACQCAKLQAXBEAgAygCGCADKAIcEMwfRQ0BCyAAIAMpAhQ3AgQgAEGAgICAeDYCACAAQQxqIANB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AgALIANBCGoQ9CoMAgsgA0EIahDzKgwBCyADQQhqQcTExwBBgwYQ3goLIANBOGogASgCBCABKAIIIAIgA0EIahD/FiADQTBqIgEgA0HEAGopAgA3AwAgAyADKQI8NwMoIAMoAjgiBEGAgICAeEYEQCADQSBqIAEpAwA3AwAgAyADKQMoNwMYIAItABlFDQIgA0EYahCyCAwCCyAAIAMpAkw3AhQgAEEkaiADQdwAaigCADYCACAAQRxqIANB1ABqKQIANwIAIABBDGogASkDADcCACAAIAMpAyg3AgQgACAENgIADAILQczNxABBKEH0zcQAEO4XAAsgACADKQMYNwIEIABBgICAgHg2AgAgAEEMaiADQSBqKQMANwIACyADQeAAaiQAC9sCAgN/AX4jAEEgayICJAACQAJAAkACQAJAIAEoAgBBAWsOAwECAwALIABBCGogAUEIahCxIyAAQQA2AgAMAwsgASkDECEFIAJBBGogAUEEahC0DCABLQAcIQMgAUEYahCSHCEBIAJBHGoiBCADOgAAIABBATYCACAAIAIpAgQ3AgQgAiAFNwIQIABBDGogAkEMaikCADcCACACIAE2AhggAEEUaiACQRRqKQIANwIAIABBHGogBCgCADYCAAwCCyAAQQRqIAFBBGoQtBkgAEECNgIADAELIAEpAxAhBSACQQRqIAFBBGoQrgcgAS0AHCEDIAFBGGoQkhwhASACQRxqIgQgAzoAACAAQQM2AgAgACACKQIENwIEIAIgBTcCECAAQQxqIAJBDGopAgA3AgAgAiABNgIYIABBFGogAkEUaikCADcCACAAQRxqIAQoAgA2AgALIAJBIGokAAvCAgEEfyMAQTBrIgIkACABKAIIIQMgASgCBCEBIAIgADYCECACIAE2AgggAiABIANBMGxqNgIMAn8gAkEIahCJEiIBRQRAQQAhAUEEDAELIAJBBEEEQQQQ+RQgAigCACEDIAIoAgQiBCABNgIAIAJBATYCHCACIAQ2AhggAiADNgIUIAJBKGogAkEQaigCADYCACACIAIpAgg3AyBBBCEDQQEhAQNAIAJBIGoQiRIiBQRAIAIoAhQgAUYEQCACQRRqIAFBAUEEQQQQwBcgAigCGCEECyADIARqIAU2AgAgAiABQQFqIgE2AhwgA0EEaiEDDAELCyACKAIUIQQgAigC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aiQADwsgBSAFQZj04AAQrRAAC9ACAgN/AX4jAEEgayIDJAAgASgCDCEFIANBEGogAiABKAIIIgRBABDTAQJAAkACQAJAAkAgAy0AEEEERwRAIAMpAxAiBkL/AYNCBFINAQsCQCAERQ0AIANBEGogAiAEEMscIAMtABBBBEYNACADKQMQIgZC/wGDQgRSDQILIANBADYCECADQQhqIAIgA0EQakG/uuAAQQEQrBMgAy0ACEEERwRAIAMpAwgiBkL/AYNCBFINAwsgA0EQaiACIAQgAUEAELEFIAMtABBBBEcEQCADKQMQIgZC/wGDQgRSDQQLAkACQCAFRQ0AIANBEGogAiAFEMscIAMtABBBBEYNACADKQMQIgZC/wGDQgRSDQELIABBBDoAAAwFCyAAIAY3AgAMBAsgACAGNwIADAMLIAAgBjcCAAwCCyAAIAY3AgAMAQsgACAGNwIACyADQSBqJAALpwICBn8BfiMAQSBrIgMkACABKAIcIgUgAUEMaygCAEkgASgCGCIEIAFBEGsoAgAiAkkgAiAERhtBAUYEQCADQRhqIAFBEGopAwA3AwAgA0EQaiABQQhqKQMANwMAIAMgASkDADcDCCABQThrIQIgASkDICEIAn8CQANAIAIiAUE4aiABQRBqIgYiAkEoEPwGGiAAIAJGDQEgAUEoayECIAUgAUEEaigCAEkgBCABKAIAIgdJIAQgB0YbDQALIAYhAiABQThqDAELIAFBEGohAiABQThqCyEBIAIgAykDCDcDACACQRBqIANBGGopAwA3AwAgAkEIaiADQRBqKQMANwMAIAFBCGsgCDcDACABQQxrIAU2AgAgAUEQayAENgIACyADQSBqJAAL2QIBCH8jAEEgayIEJAACQCADQQFHDQBBACEDIAAoAgAtAABBAUYNACAAKAIEKAIMIgZFDQAgACgCCCIFIAFB/wFxIgFqQcgAaiEJIAVBCGohByAFQQRqIQggBUEgaiEKIAVBHGohCwNAAkACfyAIKAIAIAcoAgAgBkHYgMQAELAfKAIEIgMEQCALKAIAIAooAgAgAyAJLQAAakHogMQAEK8fKAIADAELIAQgBSAGEJwgIAQgBCkDADcCDANAIARBFmogBEEMahCBDyAELQAWRQ0CIAQtABciAyABSQ0ACyABIANHDQEgBCgAGAsiA0EBRw0CCyAI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IAEgBEEYajYCAAJAIAEoAhAiAyABKAIURg0AIAEgA0EKajYCECADLQAAIgVBAkYNACACQShqIANBCWotAAA6AAAgAiADKQABNwMgDAILIAEgASgCDCIFNgIUIAEgASgCCCIDNgIQIAMgBUYNACABIANBCmo2AhAgAkEoaiADQQlqLQAAOgAAIAIgAykAATcDICADLQAAIgVBAkcNAQsgAEGBgICAeDYCAAwBCyACQRhqIAJBKGotAAA6AAAgAiACKQMgIgY3AxAgAkEsaiACKAAXNgAAIAIgBToAJCACIAQ2AiAgAiAGNwAlIAJBCGogBBDvHyACQTRqIgEgAigCCCACKAIMEMAhIAAgASAEKAIMIAQoAhAgAkEkahC1BQsgAkFAayQAC/NFAQd/IwBBMGsiBSQAAkACQAJAAkACQAJAIAEtAAhBuAFGBEAgASgCECEDIAEoAgwhBCABKAIcIQYgASgCGCEHIAUgASgCFCIIKAIAIAIQvQcgACAFIAQgAyAHIAYQoQ4iAikCADcCACAAQQhqIAJBCGooAgA2AgAgCBDMKyABLQAIQbgBRw0BDAULIAEoAgQhByABKAIAIQggBSABEKUcIAVBGGohAyAFIQEjAEHQAGsiBCQAAkACQAJ/AkACQAJAAkACQAJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBAWsOugEBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzDBATEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG6AQALIANBDjYCCCADQeCe2QA2AgQgA0GAgICAeDYCAAzBAQsgA0EaNgIIIANB1Z/ZADYCBCADQYCAgIB4NgIADMABCyADQSA2AgggA0Hvn9kANgIEIANBgICAgHg2AgAMvwELIANBLzYCCCADQY+g2QA2AgQgA0GAgICAeDYCAAy+AQsgA0HTADYCCCADQb6g2QA2AgQgA0GAgICAeDYCAAy9AQsgA0EpNgIIIANBkaHZADYCBCADQYCAgIB4NgIADLwBCyADQSY2AgggA0G6odkANgIEIANBgICAgHg2AgAMuwELIANBKjYCCCADQeCh2QA2AgQgA0GAgICAeDYCAAy6AQsgA0ERNgIIIANBiqLZADYCBCADQYCAgIB4NgIADLkBCyADQRc2AgggA0GbotkANgIEIANBgICAgHg2AgAMuAELIANBLDYCCCADQbKi2QA2AgQgA0GAgICAeDYCAAy3AQsgA0HiADYCCCADQd6i2QA2AgQgA0GAgICAeDYCAAy2AQsgA0EaNgIIIANBwKPZADYCBCADQYCAgIB4NgIADLUBCyADQSU2AgggA0Hao9kANgIEIANBgICAgHg2AgAMtAELIANBHDYCCCADQf+j2QA2AgQgA0GAgICAeDYCAAyzAQsgA0EnNgIIIANBm6TZADYCBCADQYCAgIB4NgIADLIBCyADQSc2AgggA0HCpNkANgIEIANBgICAgHg2AgAMsQELIANBJzYCCCADQemk2QA2AgQgA0GAgICAeDYCAAywAQsgA0EwNgIIIANBkKXZADYCBCADQYCAgIB4NgIADK8BCyADQSk2AgggA0HApdkANgIEIANBgICAgHg2AgAMrgELIANBNTYCCCADQeml2QA2AgQgA0GAgICAeDYCAAytAQsgA0EzNgIIIANBnqbZADYCBCADQYCAgIB4NgIADKwBCyADQR82AgggA0HRptkANgIEIANBgICAgHg2AgAMqwELIAEtAAFBAmsiAUEHdCABQf4BcUEBdnJB/wFxDgikAaMBowGlAaYBowGjAacBowELIANBKDYCCCADQcin2QA2AgQgA0GAgICAeDYCAAypAQsgA0ElNgIIIANB8KfZADYCBCADQYCAgIB4NgIADKgBCyADQRo2AgggA0GVqNkANgIEIANBgICAgHg2AgAMpwELIANBHDYCCCADQa+o2QA2AgQgA0GAgICAeDYCAAymAQsgA0EXNgIIIANBy6jZADYCBCADQYCAgIB4NgIADKUBCyAEIAFBCGo2AiAgBEEBNgI8IARBkKnZADYCOCAEQgE3AkQgBEHhBDYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCJFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADKQBCyADQRs2AgggA0GYqdkANgIEIANBgICAgHg2AgAMowELIANBFTYCCCADQbOp2QA2AgQgA0GAgICAeDYCAAyiAQsgA0EfNgIIIANByKnZADYCBCADQYCAgIB4NgIADKEBCyAEIAFBBGo2AiAgBEEBNgI8IARB/KnZADYCOCAEQgE3AkQgBEHcBDYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCJFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADKABCyADQRU2AgggA0GEqtkANgIEIANBgICAgHg2AgAMnwELIANBFjYCCCADQZmq2QA2AgQgA0GAgICAeDYCAAyeAQsgBCABQQRqNgIgIARBATYCPCAEQdiq2QA2AjggBEIBNwJEIARBxwA2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAydAQsgA0EmNgIIIANB4KrZADYCBCADQYCAgIB4NgIADJwBCyADQS02AgggA0GGq9kANgIEIANBgICAgHg2AgAMmwELIAQgAUEIajYCICAEQQI2AjwgBEHkq9kANgI4IARCATcCRCAEQeEENgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIkVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMmgELIANBOzYCCCADQfSr2QA2AgQgA0GAgICAeDYCAAyZAQsgA0HMADYCCCADQa+s2QA2AgQgA0GAgICAeDYCAAyYAQsgA0E6NgIIIANB+6zZADYCBCADQYCAgIB4NgIADJcBCyADQcoANgIIIANBta3ZADYCBCADQYCAgIB4NgIADJYBCyADQTE2AgggA0H/rdkANgIEIANBgICAgHg2AgAMlQELIANBFDYCCCADQbCu2QA2AgQgA0GAgICAeDYCAAyUAQsgA0EfNgIIIANBxK7ZADYCBCADQYCAgIB4NgIADJMBCyADQTI2AgggA0HjrtkANgIEIANBgICAgHg2AgAMkgELIAQgAUEMajYCDCAEIAFBBGo2AiAgBEECNgI8IARBtK/ZADYCOCAEQgI3AkQgBEHHADYCHCAEQQg2AhQgBCAEQRBqNgJAIAQgBEEgajYCGCAEIARBDGo2AhAgBEEsaiAEQThqEIkVIANBCGogBEE0aigCADYCACADIAQpAiw3AgAMkQELIANBHjYCCCADQYiw2QA2AgQgA0GAgICAeDYCAAyQAQsgA0ElNgIIIANBprDZADYCBCADQYCAgIB4NgIADI8BCyAEIAFBBGo2AgwgBCABQQhqNgIgIARBAzYCPCAEQeCw2QA2AjggBEICNwJEIARBCDYCHCAEQbUCNgIUIAQgBEEQajYCQCAEIARBIGo2AhggBCAEQQxqNgIQIARBLGogBEE4ahCJFSADQQhqIARBNGooAgA2AgAgAyAEKQIsNwIADI4BCyADQRo2AgggA0H4sNkANgIEIANBgICAgHg2AgAMjQELIANB1QA2AgggA0GSsdkANgIEIANBgICAgHg2AgAMjAELIANBMjYCCCADQeex2QA2AgQgA0GAgICAeDYCAAyLAQsgA0HSADYCCCADQZmy2QA2AgQgA0GAgICAeDYCAAyKAQsgA0EsNgIIIANB67LZADYCBCADQYCAgIB4NgIADIkBCyADQTM2AgggA0GXs9kANgIEIANBgICAgHg2AgAMiAELIANBIjYCCCADQcqz2QA2AgQgA0GAgICAeDYCAAyHAQsgA0E3NgIIIANB7LPZADYCBCADQYCAgIB4NgIADIYBCyADQSg2AgggA0GjtNkANgIEIANBgICAgHg2AgAMhQELIANBDTYCCCADQcu02QA2AgQgA0GAgICAeDYCAAyEAQsgA0ERNgIIIANB2LTZADYCBCADQYCAgIB4NgIADIMBCyADQRU2AgggA0HptNkANgIEIANBgICAgHg2AgAMggELIANBGTYCCCADQf602QA2AgQgA0GAgICAeDYCAAyBAQsgA0EONgIIIANBl7XZADYCBCADQYCAgIB4NgIADIABCyADQRo2AgggA0GltdkANgIEIANBgICAgHg2AgAMfwsgBCABQQhqNgIgIARBAjYCPCAEQdy12QA2AjggBEIBNwJEIARB4QQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAx+CyADQSU2AgggA0HstdkANgIEIANBgICAgHg2AgAMfQsgA0EtNgIIIANBkbbZADYCBCADQYCAgIB4NgIADHwLIANBPDYCCCADQb622QA2AgQgA0GAgICAeDYCAAx7CyADQTQ2AgggA0H6ttkANgIEIANBgICAgHg2AgAMegsgA0ErNgIIIANBrrfZADYCBCADQYCAgIB4NgIADHkLIANBLTYCCCADQdm32QA2AgQgA0GAgICAeDYCAAx4CyADQSQ2AgggA0GGuNkANgIEIANBgICAgHg2AgAMdwsgA0EdNgIIIANBqrjZADYCBCADQYCAgIB4NgIADHYLIANBKDYCCCADQce42QA2AgQgA0GAgICAeDYCAAx1CyADQS42AgggA0HvuNkANgIEIANBgICAgHg2AgAMdAsgA0EqNgIIIANBnbnZADYCBCADQYCAgIB4NgIADHMLIANBNjYCCCADQce52QA2AgQgA0GAgICAeDYCAAxyCyADQT42AgggA0H9udkANgIEIANBgICAgHg2AgAMcQsgA0EzNgIIIANBu7rZADYCBCADQYCAgIB4NgIADHALIANBKTYCCCADQe662QA2AgQgA0GAgICAeDYCAAxvCyADQRk2AgggA0GXu9kANgIEIANBgICAgHg2AgAMbgsgA0E7NgIIIANBsLvZADYCBCADQYCAgIB4NgIADG0LIANBPTYCCCADQeu72QA2AgQgA0GAgICAeDYCAAxsCyADQS02AgggA0GovNkANgIEIANBgICAgHg2AgAMawsgBCABQQhqNgIgIARBAjYCPCAEQYS92QA2AjggBEIBNwJEIARB4QQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAxqCyADQTo2AgggA0GUvdkANgIEIANBgICAgHg2AgAMaQsgA0HwADYCCCADQc692QA2AgQgA0GAgICAeDYCAAxoCyADQTU2AgggA0G+vtkANgIEIANBgICAgHg2AgAMZwsgA0HJADYCCCADQfO+2QA2AgQgA0GAgICAeDYCAAxmCyADQSk2AgggA0G8v9kANgIEIANBgICAgHg2AgAMZQsgA0EmNgIIIANB5b/ZADYCBCADQYCAgIB4NgIADGQLIANBOzYCCCADQYvA2QA2AgQgA0GAgICAeDYCAAxjCyADQTg2AgggA0HGwNkANgIEIANBgICAgHg2AgAMYgsgBCABQQhqNgIgIARBAjYCPCAEQbTB2QA2AjggBEIBNwJEIARB4QQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAxhCyADQSc2AgggA0HEwdkANgIEIANBgICAgHg2AgAMYAsgA0EbNgIIIANB68HZADYCBCADQYCAgIB4NgIADF8LIANBITYCCCADQYbC2QA2AgQgA0GAgICAeDYCAAxeCyADQSU2AgggA0GnwtkANgIEIANBgICAgHg2AgAMXQsgA0HOADYCCCADQczC2QA2AgQgA0GAgICAeDYCAAxcCyADQR02AgggA0Gaw9kANgIEIANBgICAgHg2AgAMWwsgA0E5NgIIIANBt8PZADYCBCADQYCAgIB4NgIADFoLIANBOTYCCCADQfDD2QA2AgQgA0GAgICAeDYCAAxZCyADQTk2AgggA0GpxNkANgIEIANBgICAgHg2AgAMWAsgA0EuNgIIIANB4sTZADYCBCADQYCAgIB4NgIADFcLIAQgAUEIajYCICAEQQI2AjwgBEG4xdkANgI4IARCATcCRCAEQeEENgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIkVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMVgsgA0E/NgIIIANByMXZADYCBCADQYCAgIB4NgIADFULIANBNjYCCCADQYfG2QA2AgQgA0GAgICAeDYCAAxUCyAEIAFBCGo2AiAgBEECNgI8IARBnMfZADYCOCAEQgE3AkQgBEHhBDYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCJFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADFMLIANBxgA2AgggA0Gsx9kANgIEIANBgICAgHg2AgAMUgsgA0EoNgIIIANB8sfZADYCBCADQYCAgIB4NgIADFELIAQgAUEEajYCICAEQQI2AjwgBEHAyNkANgI4IARCATcCRCAEQeIENgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIkVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMUAsgA0EhNgIIIANB0MjZADYCBCADQYCAgIB4NgIADE8LIANBFjYCCCADQfHI2QA2AgQgA0GAgICAeDYCAAxOCyADQRQ2AgggA0GHydkANgIEIANBgICAgHg2AgAMTQsgA0EdNgIIIANBm8nZADYCBCADQYCAgIB4NgIADEwLIANBMTYCCCADQbjJ2QA2AgQgA0GAgICAeDYCAAxLCyADQTM2AgggA0HpydkANgIEIANBgICAgHg2AgAMSgsgBCABQQhqNgIMIAQgAUEQajYCICAEQQM2AjwgBEHAytkANgI4IARCAjcCRCAEQeEENgIcIARB4QQ2AhQgBCAEQRBqNgJAIAQgBEEgajYCGCAEIARBDGo2AhAgBEEsaiAEQThqEIkVIANBCGogBEE0aigCADYCACADIAQpAiw3AgAMSQsgBCABQQhqNgIgIARBAjYCPCAEQfDK2QA2AjggBEIBNwJEIARB4QQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAxICyADQT82AgggA0GAy9kANgIEIANBgICAgHg2AgAMRwsgA0HFADYCCCADQb/L2QA2AgQgA0GAgICAeDYCAAxGCyADQSQ2AgggA0GEzNkANgIEIANBgICAgHg2AgAMRQsgA0EjNgIIIANBqMzZADYCBCADQYCAgIB4NgIADEQLIANBKzYCCCADQcvM2QA2AgQgA0GAgICAeDYCAAxDCyADQTg2AgggA0H2zNkANgIEIANBgICAgHg2AgAMQgsgA0HOADYCCCADQa7N2QA2AgQgA0GAgICAeDYCAAxBCyAEIAFBCGo2AiAgBEECNgI8IARBtM7ZADYCOCAEQgE3AkQgBEHhBDYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCJFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADEALIANBOjYCCCADQcTO2QA2AgQgA0GAgICAeDYCAAw/CyADQTI2AgggA0H+ztkANgIEIANBgICAgHg2AgAMPgsgA0EjNgIIIANBsM/ZADYCBCADQYCAgIB4NgIADD0LIANBKTYCCCADQdPP2QA2AgQgA0GAgICAeDYCAAw8CyADQTk2AgggA0H8z9kANgIEIANBgICAgHg2AgAMOwsgA0HWADYCCCADQbXQ2QA2AgQgA0GAgICAeDYCAAw6CyADQT82AgggA0GL0dkANgIEIANBgICAgHg2AgAMOQsgA0EqNgIIIANBytHZADYCBCADQYCAgIB4NgIADDgLIANBEzYCCCADQfTR2QA2AgQgA0GAgICAeDYCAAw3CyADQQ02AgggA0GH0tkANgIEIANBgICAgHg2AgAMNgsgA0EPNgIIIANBlNLZADYCBCADQYCAgIB4NgIADDULIANB0wA2AgggA0Gj0tkANgIEIANBgICAgHg2AgAMNAsgA0HGADYCCCADQfbS2QA2AgQgA0GAgICAeDYCAAwzCyADQSk2AgggA0G809kANgIEIANBgICAgHg2AgAMMgsgA0EyNgIIIANB5dPZADYCBCADQYCAgIB4NgIADDELIANBLDYCCCADQZfU2QA2AgQgA0GAgICAeDYCAAwwCyADQTA2AgggA0HD1NkANgIEIANBgICAgHg2AgAMLwsgA0E9NgIIIANB89TZADYCBCADQYCAgIB4NgIADC4LIANBHjYCCCADQbDV2QA2AgQgA0GAgICAeDYCAAwtCyADQTI2AgggA0HO1dkANgIEIANBgICAgHg2AgAMLAsgA0EmNgIIIANBgNbZADYCBCADQYCAgIB4NgIADCsLIANBIDYCCCADQabW2QA2AgQgA0GAgICAeDYCAAwqCyADQTg2AgggA0HG1tkANgIEIANBgICAgHg2AgAMKQsgA0EcNgIIIANB/tbZADYCBCADQYCAgIB4NgIADCgLIANBIjYCCCADQZrX2QA2AgQgA0GAgICAeDYCAAwnCyADQTo2AgggA0G819kANgIEIANBgICAgHg2AgAMJgsgA0EzNgIIIANB9tfZADYCBCADQYCAgIB4NgIADCULIANBxAA2AgggA0Gp2NkANgIEIANBgICAgHg2AgAMJAsgBCABQQhqNgIMIAQgAUEQajYCICAEQQM2AjwgBEGQ2dkANgI4IARCAjcCRCAEQeEENgIcIARB4QQ2AhQgBCAEQRBqNgJAIAQgBEEgajYCGCAEIARBDGo2AhAgBEEsaiAEQThqEIkVIANBCGogBEE0aigCADYCACADIAQpAiw3AgAMIwsgA0E6NgIIIANBqNnZADYCBCADQYCAgIB4NgIADCILIANBLjYCCCADQeLZ2QA2AgQgA0GAgICAeDYCAAwhCyADQS02AgggA0GQ2tkANgIEIANBgICAgHg2AgAMIAsgBCABQQhqNgIgIARBAjYCPCAEQeza2QA2AjggBEIBNwJEIARB4QQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQiRUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAwfCyAEIAFBCGo2AiAgBEECNgI8IARB0NvZADYCOCAEQgE3AkQgBEHhBDYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCJFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADB4LIAQgAUEIajYCICAEQQI2AjwgBEGw3NkANgI4IARCATcCRCAEQeEENgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIkVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMHQsgA0HoADYCCCADQcDc2QA2AgQgA0GAgICAeDYCAAwcCyADQegANgIIIANBqN3ZADYCBCADQYCAgIB4NgIADBsLIANBxAA2AgggA0GQ3tkANgIEIANBgICAgHg2AgAMGgsgA0HTADYCCCADQdTe2QA2AgQgA0GAgICAeDYCAAwZCyADQdcANgIIIANBp9/ZADYCBCADQYCAgIB4NgIADBgLIANB2gA2AgggA0H+39kANgIEIANBgICAgHg2AgAMFwsgA0ESNgIIIANB2ODZADYCBCADQYCAgIB4NgIADBYLIANBGTYCCCADQerg2QA2AgQgA0GAgICAeDYCAAwVCyADQSk2AgggA0GD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AS0AUyEEIAEtAFIhBSABLQBRIQYgASgCAEEBRgRAIAJBKGogAUEgaikDADcDACACQSBqIAFBGGopAwA3AwAgAkEYaiABQRBqKQMANwMAIAIgASkDCDcDEEIBIQcLIAAgAzoAUCAAIAIpAgA3AkAgACAEOgBTIAAgBToAUiAAIAY6AFEgACAHNwMAIAAgAikDEDcDCCAAQcgAaiACQQhqKQIANwIAIABBEGogAkEYaikDADcDACAAQRhqIAJBIGopAwA3AwAgAEEgaiACQShqKQMANwMAIAEpAzghByABKQMwIQggAS8BVCEDIAAgASkDKDcDKCAAIAM7AVQgACAINwMwIAAgBzcDOCACQTBqJAALugIBBH9BHyECIABCADcCECABQf///wdNBEAgAUEGIAFBCHZnIgNrdkEBcSADQQF0a0E+aiECCyAAIAI2AhwgAkECdEGojOQAaiEEQQEgAnQiA0HEj+QAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghBxI/kAEHEj+QAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC68CAgV/A34jAEHQAGsiAyQAIANBwgA6ADggA0EYaiABIANBOGoQsw5BCCEBIANBCGoiBCADQShqIgYpAwA3AwAgA0EQaiIFIANBMGoiBykDADcDACADIAMpAyA3AwACQCADKAIYRQRAIANByABqIAUpAwAiCDcDACADQUBrIAQpAwAiCTcDACADIAMpAwAiCjcDOCADQSxqIAg3AgAgA0EkaiAJNwIAIAMgCjcCHCAAQRxqIAcoAgA2AgAgAEEUaiAGKQIANwIAIABBDGogA0EgaikCADcCACAAIAMpAhg3AgQgAEEAOgAkIAAgAjYCIEEBIQEMAQsgACADKQMANwMIIABBGGogBSkDADcDACAAQRBqIAQpAwA3AwAgAhCxFQsgACABNgIAIANB0ABqJAAL5wIBAn8j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ARDJJgsgAhDJJgwCCyABDQELIAAgAjoAAUEADAELIAAgBDYCBEEBCzoAACADQSBqJAAL6gEBBn8jAEEgayIEJAACQCABIANPBEAgACADQQJ0aiEGIAMhBwNAIAcEQCAAIAUgACgCACIIIAIoAgBqIgVqIgk2AgAgBSAISSAFIAlLciEFIAdBAWshByACQQRqIQIgAEEEaiEADAELC0EAIQIgBUUNASABQQJ0IANBAnRrIQADQCAARQRAQQEhAgwDCyAGIAYoAgBBAWoiATYCACAAQQRrIQAgBkEEaiEGIAFFDQALDAELIARBADYCGCAEQQE2AgwgBEHE3+AANgIIIARCBDcCECAEQQhqQeCvwgAQuh0ACyAEQSBqJAAgAgusAgEEfyMAQRBrIgMkAAJAIAItAAwiBEEBRgRAIAAgARDtIAwBCwJAAkACQAJAAkACQAJAAkAgAS0ADCIFQQFrDgIHAQALIARFDQEMAgsgBEUNAQsgASgCBCIEIAEoAggiASACKAIEIgYgAigCCCICEPApQf8BcQ4CAgMBCyADIAEoAgQgASgCCCACKAIEIAIoAggQuxIgACAFIAMQ5hIMBAsgAyAGIAIgBCABEOwbIABBAiAFayADEOYSDAMLIABBCGpBmILCACkCADcCACAAQZCCwgApAgA3AgAMAgsgAyAEIAEgBiACEOwbIAAgBSADEOYSDAELIAMgAhDtICAAIAMpAgA3AgAgA0ECIAMtAAxrOgAMIABBCGogA0EIaikCADcCAAsgA0EQaiQAC/kBAQh/IABBEGogABDiGSECIABBMEEgIABBMGogAEEgahDiGSIDG2ohBCAAQSBBMCADG2oiBSAAIAJBAXNBBHRqIgMgBCAEIAAgAkEEdGoiABDiGSICGyAFIAMQ4hkiBhsiByAAIAQgAyAGGyACGyIIEOIZIQkgAUEIaiAEIAAgAhsiAEEIaikCADcCACABIAApAgA3AgAgAUEYaiAHIAggCRsiAEEIaikCADcCACABIAApAgA3AhAgAUEoaiAIIAcgCRsiAEEIaikCADcCACABIAApAgA3AiAgASADIAUgBhsiACkCADcCMCABQThqIABBCGopAgA3AgALoAIBBH8jAEEwayICJABBgICAgHghBAJAAkAgAUEoahDNDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAg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KAIEIgIoAgBBBWsiBCAEQQZPG0EBaw4FAQIDBAUACyABIAIpAwggAkEYaigCABCrHQwFCyACQQhqIAEQkCIgAkEoaiABEPwsDAQLIAEgAikDECACQSBqKAIAEKsdIAJBKGogARD8LAwDCyACQQhqIAEQkCIgAkEoaiABEPEjDAILIAIgARCQIiACQSBqIAEQ8iMgAkHoAGogARCCLSACQcgAaiABEPEjDAELIAJBCGogARCQIiACKAIoIAEQoxILIABBDGohACADQQxrIQMMAQsLC68IAgZ/AX4CQAJAAkACQAJAAkACQAJAAkAgACgCAEEBaw4HAQIDBAUGBwALIABCADcDECAAKAIgEJcEDwsgAEIANwMQIABBIGoQgS4PCyAAKAIEELUqDwsgACgCBBC1Kg8LIAAoAgQQjBMPCyAAKAIEIgBCADcDECAAQgA3AwAgAEEgahCNJiAAQSRqEPEDDwsgACgCBCIAQgA3AxggAEIANwMIIAAoAihBMGwhASAAKAIkIQNBACEAA0AgACABRg0CIAAgA2oiAkEQakIANwIAIAJBIGpCADcCACACQShqIgIoAgAEQCACEIAuCyAAQTBqIQAMAAsACyAAKAIEIgBCADcDSCAAQgA3AxAgAC0ARUEDRg0AIABBIGohAQNAIAEtACVBAkYEQAJAIAFCADcCDCABKAIEIgAgASgCCEE4bGohBgNAAkACQAJAAkACQAJAAkAgACAGRwRAIABBOGohAiAAKAIAIgFBCUYNAQJAAkACQCABQQFrDggBAgoJCAcGBQALIABCADcCFCAAKAIMQcgAbCEEIAAoAgghBUEAIQEDQCABIARHBEACQAJAAkACQCABIAVqIgMpAwBCA30iB6dBAWpBACAHQgJUG0EBaw4CAQIACyADQShqQgA3AgAgA0E4akIANwIAIAMQhiQMAgsgA0EYakIANwIAIANBCGpCADcCAAwBCyADQRhqQgA3AgAgA0EIakIANwIACyABQcgAaiEBDAELCyAAKAIQQgA3AwggAEEcahCOJiACIQAMCgsgAEIANwIwIABBCGoQ5AggAiEADAkLIABCADcCECAAKAIMQdAAbCEEIAAoAgghBUEAIQEDQAJAIAEgBEcEQAJAAkACQEICIAEgBWoiAykDAEICfSIHIAdCAlobp0EBaw4CAQIACyADQRhqQgA3AgAgA0EoakIANwIADAMLIANBEGpCADcCAAwCCyADQRBqQgA3AgAgA0FAa0IANwIAIANBIGoQhiQMAQsgACgCGCIBBEAgAUIANwIICyAAQRxqEI4mIAIhAAwKCyABQdAAaiEBDAALAAsMCAsgAEEIahCNBCACIQAMBgsgAEIANwIYIABCADcCCCACIQAMBQsgAEIANwIIIABBBGoQgC4gAiEADAQLIAAoAgQiAEIANwMwIABCADcDICAAKQMAUARAIABBCGoQlR4gAiEADAQLIABCADcDCCAAQgA3AxggAiEADAMLIABCADcCCCAAKAIEQgA3AwggAEEQahCOJiACIQAMAgsgAEIANwIIIAAoAgQQvAIgAiEADAELIABCADcCMAJAAkACQCAAKAIIQQFrDgIBAgALIABBEGoQrSEgAiEADAILIABBEGoQrCEgAiEADAELIAAoAgwQjBMgAiEADAALAAsFIAFCADcDECABQgA3AwAgASgCICEBDAELCwsL7AEBBX8gACAAKAIAQQFrIgE2AgACQCABDQACQCAAKAIYIgJFBEBBACEBDAELIAAoAgwiASAAKAIUIgMgAUEAIAEgA00bayIDayIFIAJJBEAgAiAFayEEDAELIAIgA2ohAQsgAEEQaigCACICIANBAnRqIQUgASADayEBA0AgAQRAIAUoAgAQ8w4gAUEBayEBIAVBBGohBQwBBQNAIAQEQCACKAIAEPMOIARBAWshBCACQQRqIQIMAQsLIAAoAgwgAEEQaigCAEEEQQQQyyIgACAAKAIEQQFrIgE2AgQgAQ0CIABBIEEEENERCwsLC6YCAQJ/IwBBEGsiAiQAAn8CQAJAAkACQAJAQQQgACgCACIAKAIAQYCAgIB4cyIDIANBBE8bQQFrDgQBAgMEAAsgAiAAQQhqNgIMIAFByZ3DAEEPQdidwwBBAyACQQxqQZkBEMYLDAQLIAIgAEEIajYCDCABQdudwwBBDUHoncMAQQcgAEEEakGaAUHvncMAQQcgAkEMakEhEJMLDAMLIAIgAEEEajYCDCABQfadwwBBDUHoncMAQQcgAkEMakGbARDGCwwCCyACIABBBGo2AgwgAUGDnsMAQRJB6J3DAEEHIAJBDGpBmwEQxgsMAQsgAiAANgIMIAFBlZ7DAEEJQeidwwBBByAAQQxqQZoBQaWV2gBBBCACQQxqQZwBEJMLCyACQRBqJAALkQIBA38jAEFAaiIFJAACQCABKAIYIgRB/v///wdNBEACQAJAAkACQCACKAIAQQJrDgYAAwMDAQIDCyACKAIMQQN0IQMMAgsgAigCDEECdCEDDAELIAIoAgxBAnQhAwsgASABKAI0IANqNgI0IAEoAhAgBEYEQCABQRBqEPgWCyABIARBAWo2AhggASgCFCAEQQR0aiIDIAIpAgA3AgAgA0EIaiACQQhqKQIANwIAIAUgARD9FyAFKAIAIgFBKkYEQCAAQSo2AgAgACAENgIEDAILIABBBGogBUEEckE8EPwGGiAAIAE2AgAMAQsgAEH/////BzYCCCAAIAQ2AgQgAEEmNgIAIAIQrBkLIAVBQGskAAv1AQELfyABKAIIIgNBHGwhBCADQf////8DcSEIIAItABgiC0EHRiEJIAEoAgQiBiEHAkADQCAERQRAIAEoAgAgA0YEQCABEPUWIAEoAgQhBgsgASADQQFqNgIIIAYgA0EcbGoiASACKQIANwIAIAFBGGogAkEYaigCADYCACABQRBqIAJBEGopAgA3AgAgAUEIaiACQQhqKQIANwIAQQAhCgwCCwJAIActABgiDEEHRiINIAlzRQRAQQEhCiAJIA1yIAsgDEZyDQELIAdBHGohByAFQQFqIQUgBEEcayEEDAELCyAFIQgLIAAgCDYCBCAAIAo2AgALsggCC38BfiMAQRBrIgUkACAAQcABaiEKA0BBACEBIAVBADoADCAFQQA2AgggBSAAKALAASICNgIAIAUgACgCxAEgAmsiAjYCBANAAkAgASACTw0AIAUoAgAgAWotAABBAnRBrJbaAGooAgAiAkUNACAFIAIRBQAhAiAFKAIIIQEgAkUNACAFIAEgAmoiATYCCCAFKAIEIQIMAQsLIAUtAAwgCiABEOcoQQFGBEAgAEEBOgC9AQsCQAJAAkAgACgCxAEiAiAAKALAASIBRg0AIAEtAABBL0cNACABIAIQohxBL0YNASABIAIQohxBKkYNAgsgBUEQaiQADwsgAEECEL8FDAELQQAhAiMAQSBrIggkACAAKALQASEHIABBwAFqIgFBAhDnKCAAKALQASELAkAgACgCwAEiBCAAKALEAUYNACAELQAAQSpHDQAgARCvFUEBIQILQQEhBgJAIAAtAL0BDQAgAC0A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IQkCQAJAAkAgASgCCCIGBEAgAigCCCIHDQELIANBCGpBtK7gACgCADYCACADQayu4AApAgA3AwAMAQsgB0EBRgRAIANBCGogAUEIaigCADYCACADIAEpAgA3AwAgAyAEKAIAEM0HIAQhBSACIQEMAgsgBkEBRgRAIANBCGogAkEIaigCADYCACADIAIpAgA3AwAgAyAFKAIAEM0HDAILIAMgBSAGIAQgBxC4DgsgAigCACAEENkpCyABKAIAIAUQ2SkgACAJIAgQ4BVB/wFxIAMQ5hIgA0EQaiQAC80BAQN/IANB+P///wFxBEAgACAAIANBeHEiBGogACADQQN2IgNBDmwiBWogAxCcCSEAIAEgASAEaiABIAVqIAMQnAkhASACIAIgBGogAiAFaiADEJwJIQILAn8gAC0AACIDIAEtAAAiBEcEQCADIARJDAELIAAtAAEgAS0AAUkLIQUCfyACLQAAIgYgA0cEQCADIAZJDAELIAAtAAEgAi0AAUkLIAVGBH8gAiABIAQgBkcEfyAEIAZJBSABLQABIAItAAFJCyAFcxsFIAALC80BAQN/IANB+P///wFxBEAgACAAIANBA3YiA0EFdCIEaiAAIANBOGwiBWogAxCdCSEAIAEgASAEaiABIAVqIAMQnQkhASACIAIgBGogAiAFaiADEJ0JIQILAn8gACgCACIDIAEoAgAiBEcEQCADIARJDAELIAAoAgQgASgCBEkLIQUCfyACKAIAIgYgA0cEQCADIAZJDAELIAAoAgQgAigCBEkLIAVGBH8gAiABIAQgBkcEfyAEIAZJBSABKAIEIAIoAgRJCyAFcxsFIAALC/cBAQR/IAIoAgghAyACKAIEIQQgABCfDyEFAkACQCABIAIoAgBJBEADQCADRQRAQQAhAAwECyAFKAIQIAUoAhQgA0EBayIAQajB2AAQsh8iBigCACABSQ0CIARBAiAGLQAEIgNBAWsgA0EERhtB/wFxayEEIAAhAwwACwALIAMgBSgCFCIAIAAgA0kbIQADQCAAIANGDQIgBSgCECAFKAIUIANBuMHYABCyHyIGKAIAIAFPDQEgBEECIAYtAAQiBkEBayAGQQRGG0H/AXFqIQQgA0EBaiEDDAALAAsgAyEACyACIAA2AgggAiAENgIEIAIgATYCACAEC/gBAQV/IwBBIGsiBCQAIAEo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ARDqLQ8LIAAoAgxBOGwhAiAAKAIIIQADQCACRQ0CAkACQAJAAkAgACgCAEEBaw4CAQIACyAAQShqIAEQ8iwMAgsgAEEQaiABEL4nDAELIABBBGogARDqLQsgAEE4aiEAIAJBOGshAgwACwALIABBBGogARDyLAsLwwECCH8BfiMAQRBrIgQkACAEQQhqIAJBCEEQEPkUIAJBBHQhCCAEKAIMIQcgBCgCCCIJIQYCQANAIAZFIAUgCEZyRQRAIAEpAwAiC0IDg1AEQCALp0EIayIDIAMoAgAiA0EBajYCACADQQBIDQMLIAEoAgghAyAFIAdqIgogCzcDACAKQQhqIAM2AgAgBkEBayEGIAVBEGohBSABQRBqIQEMAQsLIAAgAjYCCCAAIAc2AgQgACAJNgIAIARBEGokAA8LAAvoAQEBfwJAAkACQAJAAkACQCABKAIAQQFrDgYBAgMEBQUACyAAIAFBCGoQtA4PCyABKAIMQShsIQIgASgCCCEBA0AgAkUNBCABKAIAQQdHBEAgACABEJ4KCyABQShqIQEgAkEoayECDAALAAsgAUEEaiAAEN0tDwsgASgCDEE4bCECIAEoAgghAQNAIAJFDQICQAJAAkACQCABKAIAQQFrDgIBAgALIAFBKGogABDYKwwCCyAAIAFBEGoQtA4MAQsgAUEEaiAAEN0tCyABQThqIQEgAkE4ayECDAALAAsgAUEEaiAAENgrCwvqAQEBfyMAQdAAayIDJAAgAEEANgI4IABCADcCMCAAQQA2AhQgAEKAgICAwAA3AgwgA0HMAGpBADsBACAAIAEpAgA3AgAgACACKQIANwIYIABBCGogAUEIaigCADYCACAAQSBqIAJBCGopAgA3AgAgAEEoaiACQRBqKQIANwIAIANBADYCQCADQgA3AjggA0IENwIYIANCADcCECADQoCAgICAATcCCCADQgA3AkQgA0GAgICAeDYCICAAQcQAakEAOwEAIABCADcCPCADQQhqEPomIANBFGoQ7CYgA0EgahD4JCADQdAAaiQAC9cBAgh/An4jAEHgAGsiAyQAIAEoAhAhBCABKAIMIQUgASgCCCEGAkAgASkDACIKQgODUARAIAqnQQhrIgIgAigCACICQQFqNgIAIAJBAEgNAQsgAS0AFCEHAkAgASgCGCICRQRAQQAhAQwBCxDlIiEB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ACgCFEGz19YAQQIgACgCGCgCDBEDACEADAELIAAoAhRB27TgAEEBIAAoAhgoAgwRAwAhAAsgE0EQaiQAIABBAXELuQEBBX8gA0H4////AXEEQCAAIAAgA0EDdiIDQfAAbCIFaiAAIANBxAFsIgRqIAMQtQohACABIAEgBWogASAEaiADELUKIQEgAiACIAVqIAIgBGogAxC1CiECCyAAKAIEIgQgASgCBCIGSSAAKAIAIgMgASgCACIFSSADIAVGGyIHIAQgAigCBCIISSADIAIoAgAiBEkgAyAERhtGBH8gAiABIAcgBiAISSAEIAVLIAQgBUYbcxsFIAALC8kBAQN/IwBBEGsiAyQAIABBCGohAAJAA0AgAUEDTQRAAkAgAUEBSw0ADAMLBSAAKAAAIANBBCAAIAFBsMnYABCKHSACQQV3c0G5893xeWwhAiADKAIEIQEgAygCACEADAELCyAALwAAIANBCGpBAiAAIAFBoMnYABCKHSACQQV3c0G5893xeWwhAiADKAIMIQEgAygCCCEACyABBEAgAC0AACACQQV3c0G5893xeWwhAgsgA0EQaiQAIAJBBXdB/wFzQbnz3fF5bK0LvwEBBn8gAUHgAGoQ0B8CQAJAIAJFDQAgASgCaCEGIAEoAmwiBSEBA0AgASADa0EBTQRAIAMgBU8NAiAGIANBAnRqKAIAIgMgAygCACIBQQFqNgIAIAFBAE4NAwALIAUgASADakEBdiIETQRAIAQgBUHIwdgAEK0QAAUgAyAEIAYgBEECdGooAgAoAmAgAksiCBshAyAEIAEgCBshAQwBCwALAAtBACEDCxDZHiAAIAMgAiADGzYCBCAAIANFNgIAC80BAQJ/IwBBIGsiAyQAIANBDGogACACIAERBAACfyADKAIMQYCAgIB4RwRAIAMoAhAiAiADKAIUQRhsaiEEAkADQCACIARGDQECQCACLQAQRQ0AIAJBGGogAyACEJYMIAMgAygCACIBNgIYIAMgASADKAIEajYCHANAAkAgA0EYahDWGiIBQQprDgQCAQECAAsgAUGowABrQQJJDQEgAUGAgMQARw0ACyECDAELCyADQQxqEPUiQQEMAgsgA0EMahD1IgtBAAsgA0EgaiQAC4cCAQF/AkACQAJAAkACQAJAAkACQCAAKAIAQQFrDgcCAwQAAAUGAQsACyAA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BDYCFEEBBUEACzYCGCADQQhqIAQgA0EUahCPEiADKAIIQQFGBEAgAygCDCADKAIQENwpAAsgAygCDCEBIAAgBDYCACAAIAE2AgQgA0EgaiQAC8YBAQJ/IwBBMGsiAiQAAkAgASgCAEGAgICAeEYEQCAAEM4kIABBgICAgHg2AgAMAQsgASgCCCEDIAFBADYCCCACQQA2AhQgAiABNgIMIAIgAzYCECACIAEoAgQiATYCBCACIAEgA0EEdGo2AgggACgCAEGAgICAeEYEQCACQQRqEL8SDAELIAJBKGogAkEUaigCADYCACACQSBqIAJBDGopAgA3AwAgAiACKQIENwMYIAAgAkEYahCGCCAAEM0kCyACQTBqJAALvwEBA38jAEEgayIBJAACQCACKAIQIgMgAigCFCIETQRAIABBBGohACACKAIAQQFrQQJPBEAgAUEUaiIFIAAgAigCCCACKAIMIAMgBBCABiABQQRqIAUQ9RsMAgtBACEEAkAgAyACKAIMTw0AIAAtAAAgAigCCCADai0AAEcNACABIAM2AhhBASEEIAEgA0EBajYCHAsgASAENgIUIAFBBGogAUEUahD1GwwBCyABQQA2AgQLIAEoAgQgAUEgaiQAC8sBAQJ/IwBBQGoiBCQAIAQgAzYCECAEIAI2AgwgAiADQQFqTSABKAIMIgUgA09xRQRAIARBAjYCGCAEQciz4AA2AhQgBEICNwIgIARBCTYCOCAEQa0BNgIwIAQgBTYCPCAEIARBLGo2AhwgBCAEQTxqNgI0IAQgBEEMajYCLCAEQRRqQeSfwwAQuh0ACyABIAM2AgQgASACNgIAIABBEGogAUEQaigCADYCACAAQQhqIAFBCGopAgA3AgAgACABKQIANwIAIARBQGskAAvYAQEBfyMAQRBrIgIkAAJ/AkACQAJAAkACQCAAKAIAIgAoAgBBAWsOBAECAwQACyACIABBCGo2AgwgAUG+ktkAQQcgAkEMakGwAxDICgwECyACIABBBGo2AgwgAUHvktkAQRAgAkEMakGxAxDICgwDCyACIABBBGo2AgwgAUH/ktkAQQ4gAkEMakGyAxDICgwCCyACIABBBGo2AgwgAUGngNoAQQogAkEMakHfAhDICgwBCyACIABBBGo2AgwgAUGxgNoAQQsgAkEMakHgAhDICgsgAkEQaiQAC88B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NCEGIAFBzABqIABBJGoQlQMgAUE0aiAGNgIAIAEgBTYCWCABQSxqIAFB1ABqKQIANwIAIAEgAzoARCABIAc3AwAgASAENgIgIAEgASkCTDcCJCABQcgAEPwGIAFB4ABqJAALugEBCX8jAEEQayIDJAACQCACIAAoAggiBU0EQCACQRRsIQIgACgCACIGQQRrIQcgACgCBCEIIAAoAgwhBANAIAJFDQIgA0EIaiAGIAggATUCEBCoHSADLQAMIQkgAygCCCEKIAAgBEEBaiILNgIMIAcgCkECdGsgBDYCACAAIAUgCUEBcWsiBTYCCCACQRRrIQIgAUEUaiEBIAshBAwACwALQcy43wBBxQBB+LnfABDuFwALIANBEGokAAvDAQEDfyMAQSBrIgEkACAAKAIAIgIoAgAhAyACQQA2AgAgAygCECECIANBADYCECACBEAgAUEIaiACEQEAIAAoAgQiAygCACIAKAIAQYCAgIB4RwRAIAAQmhwgACgCACAAQQRqKAIAEI4qIAMoAgAhAAsgACABKQIINwIAIABBCGogAUEQaigCADYCACABQSBqJABBAQ8LIAFBADYCGCABQQE2AgwgAUGw9+AANgIIIAFCBDcCECABQQhqQZj44AAQuh0AC9gBAQF/IwBB8ABrIgQkACAEIAM2AiwgBEEANgIoIARB4gA2AiQgBCAAQRxqNgIgIARBBTYCHCAEQfz24AA2AhggBEECNgIUIARBAzYCBCAEQdzL3wA2AgAgBEEDOgBsIARBADYCaCAEQqCAgIAQNwJgIARCgoCAgCA3AlggBEECNgJQIARBAzoATCAEQQA2AkggBEIgNwJAIARCgYCAgCA3AjggBEECNgIwIAQgBEEwajYCECAEQQM2AgwgBCAEQRhqNgIIIAEgBCACKAIUEQIAIARB8ABqJAALzgEBA38jAEHQAGsiAiQAIAFBKGoQ1SAhAyACQQA7AB4gAiABLQCQAzoAHSACIAEpAYIDNwAPIAIgAUGKA2oiBCgBADYAFyACIAEvAY4DOwAbIAIgASkAkwM3ACAgAiABKACbAzYAKCACQcUAaiABQZcDaikAADcAACACQUBrIAFBkgNqKQEANwIAIAJBOGogBCkBADcCACACIAEpAYIDNwIwIAFBgAFqIAJBD2oQyAggAiABNgIsIAAgASADEEkgAkEsahCg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NgIAIANBAzoAbCADQQA2AmggA0KggICAEDcCYCADQoKAgIAgNwJYIANBAjYCUCADQQM6AEwgA0EANgJIIANCIDcCQCADQoGAgIAgNwI4IANBAjYCMCADIANBMGo2AhAgA0EDNgIMIAMgA0EYajYCCCABIAMQxiQgA0HwAGokAAvDAQEDfyMAQbAHayICJAAgASgClA0oArwCIgMgAygCACIEQQFqNgIAIARBAE4EQCACIAMQ+BcgAkHoBGogASgCoAoQ6h4gAkHUBWogASgCuAoQ6x4gAkHYBGogASgC1AogASgC+AoQ6g4gAkHYAWogARCgFQJAIAEpA6ANQgJRBEAgAkECNgKgBwwBCyACQfAFaiABQaANahCRCQsgAkEYaiACQfAFakHAARD8BhogACACQfAFEPwGGiACQbAHaiQADwsAC6gBAQN/AkACQCABKAIAIgMgAUEIaygCACICRgRAIAEoAgQiAiABQQRrKAIASQ0BDAILIAIgA00NASABKAIEIQILIAFBEGshAQNAAkAgAUEQaiABQQhqIgQpAgA3AgAgACAERg0AAkAgASgCACIEIANGBEAgAiABQQRqKAIASQ0BDAILIAMgBE8NAQsgAUEIayEBDAELCyABQQhqIAOtIAKtQiCGhDcCAAsLvQEBA38jAEEgayIBJAAgACgCACICKAIAIQMgAkEANgIAIAMoAhAhAiADQQA2AhAgAgRAIAFBCGogAhEBACAAKAIEIgMoAgAiACgCACICQYKAgIB4TgRAIAIgAEEEaigCABDWKSADKAIAIQALIAAgASkCCDcCACAAQQhqIAFBEGooAgA2AgAgAUEgaiQAQQEPCyABQQA2AhggAUEBNgIMIAFBsPfgADYCCCABQgQ3AhAgAUEIakGY+OAAELodAAu+AQEDfyMAQdAAayIBJAAgACgCACICKAIAIQMgAkEANgIAIAMoAlAhAiADQQA2AlAgAgRAIAFBCGogAhEBAAJAIAAoAgQiAygCACIAKAI4IgJBAkYgAkVyDQAgACgCQCICRQ0AIAAoAjwgAkEBENERIAMoAgAhAAsgACABQQhqQcgAEPwGGiABQdAAaiQAQQEPCyABQQA2AhggAUEBNgIMIAFBsPfgADYCCCABQgQ3AhAgAUEIakGY+OAAELodAAuqAQEEfyMAQUBqIgYkACAGQQA2AhQgBkKAgICAEDcCDCAGQRhqIAMgASACEK4SA0AgBkE0aiAGQRhqEPUIIAYoAjQEQCAGKAI4IAdrIQMgASAHaiEIIAYoAjwhByAGQQxqIgkgCCADEO0dIAkgBCAFEO0dDAEFIAZBDGogASAHaiACIAdrEO0dIABBCGogBkEUaigCADYCACAAIAYpAgw3AgAgBkFAayQACwsLrgEBA38jAEEQayIGJAAgAS0AgQIhByABLQCAAiEIIAZBCGogAiADIAQgBUGslcAAEOkWIAYgCCAHIAYoAgggBigCDBDvBSAAAn8CQCAGKAIAQQFxBEAgBigCBCAEaiIFIANJDQEgBSADQbyVwAAQrRAAC0EADAELIAAgBCAFIAEgAiAFai0AAGotAABrIgFBACABIAVNGyIBIAEgBEkbNgIEQQILNgIAIAZBEGokAAusAQIEfwJ+IwBBEGsiAiQAQQEhAwJAIAApAwAiBiABKQMAIgdRDQBBACEDIAYgB4VCA4NCAFINACAGELgSIAcQuBJSDQACQCAGIAeEQgODUEUNACAHpygCECEEIAanKAIQIgVFBEAgBA0BDAILIAQgBUYNAQsgAkEIaiAAEJYMIAIoAgwhACACKAIIIAIgARCWDCAAIAIoAgAgAigCBBDjHyEDCyACQRBqJAAgAwvJAQECfyMAQSBrIgIkACACQQA6ABAgAkLkgICAoB83AgggAkKKgICAoAE3AgAgAkEUaiACIAEQlwECQCACKAIUQYCAgIB4Rg0AIAIoAhxBBHQhASACKAIYIQMDQCABRQ0BIANBADoADCABQRBrIQEgA0EQaiEDDAALAAsgAkEUakEBEJ0CAkAgAigCFCIBQYCAgIB4RgRAIABBAjoADAwBCyAAIAIoAhgiACACKAIcIgMQ1g0gACADEN8cIAEgABDoKQsgAkEgaiQAC7ABAQN/IwBBEGsiAiQAAkAgAygCECIEIAMoAhQiBU0EQCADKAIAQQFrQQJPBEAgAkEEaiIGIAEgAygCCCADKAIMIAQgBRD8DSAAIAYQ9RsMAgtBACEFAkAgBCADKAIMTw0AIAEgAygCCCAEai0AAGotAABBAUcNACACIAQ2AgggAiAEQQFqNgIMQQEhBQsgAiAFNgIEIAAgAkEEahD1GwwBCyAAQQA2AgALIAJBEGokAAvUAQEBfyMAQRBrIgIkAAJ/AkACQAJAAkACQCAAKAIAKAIAIgAtAABBAWsOBAECAwQACyABKAIUQd+pwwBBFCABKAIYKAIMEQMADAQLIAEoAhRB86nDAEEWIAEoAhgoAgwRAwAMAwsgAiAAQQFqNgIIIAFBiarDAEERQZnw2QBBAyACQQhqQa8BEMYLDAILIAIgAEEBajYCDCABQZqqwwBBFkGZ8NkAQQMgAkEMakGvARDGCwwBCyABKAIUQbCqwwBBECABKAIYKAIMEQMACyACQRBqJAALpAEBBH8jAEEQayICJAAgAkEMAn8gAUEITwRAQX8gAUEDdEEHbkEBa2d2QQFqIAFB/////wFNDQEaEKkbAAtBBEEIIAFBBEkbCxDlDSACKAIIIQQgAigCBCEDAkAgAigCACIBBEAgAigCDCEFIAFB/wEgA0EJahCKCxogACAFNgIMDAELQQAhAQsgACAENgIIIAAgAzYCBCAAIAE2AgAgAkEQaiQAC6kBAQN/Qb4WIQIjAEEQayIDJAAgAyAANgIMAkAgACABTQRAQQAhAANAIAJBAU0EQCADQQxqIAEgAEEMbEHwq8UAaigCABD3IEH/AXFFIQAMAwUgACACQQF2IgQgAGoiACADQQxqIAEgAEEMbEHwq8UAaigCABD3IEH/AXFBAUYbIQAgAiAEayECDAELAAsAC0HYzdgAQR5B1MPHABDuFwALIANBEGokACAAC6QBAQN/IwBBEGsiAyQAIAMgAQJ/IAJBCE8EQEF/IAJBA3RBB25BAWtndkEBaiACQf////8BTQ0BGhCpGwALQQRBCCACQQRJGwsQoQ0gAygCCCEEIAMoAgQhAQJAIAMoAgAiAgRAIAMoAgwhBSACQf8BIAFBCWoQigsaIAAgBTYCDAwBC0EAIQILIAAgBDYCCCAAIAE2AgQgACACNgIAIANBEGokAAusAQEHfyMAQSBrIgIkACABKAIEIQcgAkEIaiABKAIIIgRBBEEQEPkUIAIoAggiBSAEQf////8AcSIBIAEgBUsbIQNBACEBIAIoAgwhBgNAIAMEQCACQRBqIAEgB2oQ/h0gASAGaiIIQQhqIAJBGGopAgA3AgAgCCACKQIQNwIAIANBAWshAyABQRBqIQEMAQsLIAAgBDYCCCAAIAY2AgQgACAFNgIAIAJBIGokAAuwAQIFfwF+AkAgASgCGCIFRQ0AIAEoAhAhAyABKAIIIQIgASkDACEHA0AgB0IAUkUEQCABIANBQGoiAzYCECABIAJBCGoiBjYCCCABIAIpAwBCf4VCgIGChIiQoMCAf4MiBzcDACAGIQIMAQsLIAEgBUEBazYCGCABIAdCAX0gB4M3AwAgA0UNACADIAd6p0H4AHFrIgJBBGshASACQQhrIQQLIAAgATYCBCAAIAQ2AgALygECA38BfiMAQUBqIgIkACAAKAIwELoRIQMgAkE0aiAAQTRqKAIANgIAIAJBADoAKCACQRhqQcif4wApAwAiBTcDACACQQhqIAU3AwAgAiAANgIgIAIgAzYCJCACQQE6ADkgAiAAKQIsNwIsIAIgAC0APDoAPCACIAAvATo7ATogAkHAn+MAKQMAIgU3AxAgAiAFNwMAIAAtADghBCACIAAtAD06AD0gAiAEOgA4IAMgAUEUahCRISACIAEQpgsgAhD9KCACQUBrJAALswEBBn8jAEEQayIDJAAgAUEQaiEFIAAoAghBOGwhBiAAKAIEIQcDQAJAIAQgBkcEQAJAAkACQCAEIAdqIgIoAgBBAWsOAgECAAsgAkEIaiABEI0iIAJBKGogARCALQwDCyADIAJBEGopAwAgAkEgaigCABC3IyAFIAMpAwAgAygCCBDFCBoMAgsgAkEEaiABEOslDAELIABBFGogARDwIyADQRBqJAAPCyAEQThqIQQMAAsAC74BAQN/IABBQGsQziAgAEGQAWohBCAAKAKEAUHYAGwhAyAAKAKAASECA0ACQCADBEACQAJAAkACQCACKAIAQQFrDgUAAQIFAwULIAJBBGogARCMIgwECyACQQRqIAEQjS0MAwsgAkEEaiABEM4PDAILIAJBBGogARD+LAwBCyAAKAJ4IgIEQCACIAEQqhoLIAQgARDODyAALQA8QQZHBEAgAEEQahDOIAsPCyACQdgAaiECIANB2ABrIQMMAAsAC6QBAQN/IwBBEGsiAyQAIAMgAQJ/IAJBCE8EQEF/IAJBA3RBB25BAWtndkEBaiACQf////8BTQ0BGhCpGwALQQRBCCACQQRJGwsQ5Q0gAygCCCEEIAMoAgQhAQJAIAMoAgAiAgRAIAMoAgwhBSACQf8BIAFBCWoQigsaIAAgBTYCDAwBC0EAIQILIAAgBDYCCCAAIAE2AgQgACACNgIAIANBEGokAAusAQEFfyMAQTBrIgMkACABQTBsIAAoAghBMGwiAWshBCAAKAIEIAFqIQUgAigCBCEBIAIoAgwhBgJAA0AgBEUNASABIAZHBEAgAiABQQRqIgc2AgQgA0IANwMIIANBEjYCACADIAEoAgA2AgQgBSADQTAQ/AYgACAAKAIIQQFqNgIIIARBMGshBEEwaiEFIAchAQwBCwsgA0ETNgIAIAMQmCYLIANBMGokACAERQu6AQIEfwF+IwBBIGsiAyQAIAAoAghBOGwhBCAAKAIEIQVBACEAA0ACQCAAIARHBEACQAJAAkAgACAFaiICKAIAQQFrDgIBAgALIAJBCGogARC8IiACQShqIAEQwy0MAwsgAkEwaiABEJskIAEtAChBAUcNAiADQQhqIAJBEGoQzhsgASADKQMIIgYgAygCGBCMEiAGEPEaDAILIAJBBGogARCRLgwBCyADQSBqJAAPCyAAQThqIQAMAAsAC7oBAgN/AX4jAEEgayIBJAAgACgCCCIDQf7///8HTQRAAkACQCAAKAIUIgJFDQAgACACQQFrIgI2AhQgACgCECACQQxsaikCACIEp0GAgICAeEYNACABQQA2AhAgASAENwMIDAELIAFBADYCECABQoCAgIDAADcCCAsgACABQQhqEOgVIAFBIGokACADDwsgAUEANgIYIAFBATYCDCABQbSuwwA2AgggAUIENwIQIAFBCGpBvK7DABC6HQALtwEBAX8jAEEgayICJAACQAJAIAEQ2C1FBEAgAkEEaiABENYHIAIoAgRBgICAgHhHBEAgAkEYaiACQQxqKAIANgIAIAIgAikCBDcDECAAIAJBEGoQ3hEMAgtBgICAgHggAigCCBCuJCAAIAEQ6gc2AhggAEECNgIAIABBFGogAUEQaigCADYCACAAQQxqIAFBCGopAgA3AgAgACABKQIANwIEDAILIAAQtxELIAEQqx4LIAJBIGokAAuuAQICfwF+IwBBMGsiAiQAAkAgAS0AFEECRgRAEOwiIQMgASgCACIBKQMQIQQgAkEIaiABQRhqEMMLIAJBIGogARDMISADIAQ3AxAgA0EIaiACQShqKQMANwMAIAMgAikDIDcDACADIAIpAwg3AxggA0EgaiACQRBqKQMANwMAIANBKGogAkEYaikDADcDACAAQQI6ABQgACADNgIADAELIAAgARDOGwsgAkEw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fCIBIAAoAoABEOgcIAAoAnggARDoKSAAQYgBahDXIiAAQZQBahDXIiAAKAK8ASAAKALAARDgKSAAKALMASAAKALQARDzKSAAKAKgASAAKAKkARDgKSAAKAKsASAAKAKwARDoKSAAKALcASAAKALgARDoKQunAQECfyMAQSBrIgQkAAJAIAEtAJwNQQFHBEACQAJAIAEpAwBCAlENACACKALIBEECRg0DIARBFGoiBSABIAJB2AFqIAMQ9QkgBEEIaiAFEPoXIAQoAghBAkYNACAAIAQpAgg3AgAgAEEIaiAEQRBqKAIANgIADAELIAAgASACIAMQoRULIARBIGokAA8LQd3r4ABBKEGojMMAEO4XAAtByIvDABDaKQALnQEBAX8jAEEgayIGJAAgBkEQaiACIAMgBCAFQbSlwwAQ6RYgBigCECEFIAYoAhQhAiAGQgE3AhggAAJ/QQAgAiABKAJAIgNJDQAaIAZBCGogASAGQRhqIAUgAiABKAI8IAMgASgCMBELAEEAIAYoAghBAXFFDQAaIAAgBigCDCAEaiIBNgIEIAAgASADajYCCEEBCzYCACAGQSBqJAALmAECBn8BfgJAIAAoAgAiASgCMEEBRw0AIAAoAgQiAigCbCABKAI0SQ0AQQEgASgCOEEBRgRAIAIoAnAhBSABKAI8IQZBACEBIAIoArABQQFGBH8gAigCtAEiASACKAK4ASIEayAEIAFrIAEgBEsbBSABCyAFakF/IAI1ApQBIAatfiIHpyAHQiCIpxtPDQELDwsgABCZBEEAC6QBAgd/AX4jAEFAaiIBJAAQ7yIgACgCACIAKQIkIQggACgCLCEDIAEgABDKCyABQQxqIABBDGoQ1QEgAEEwahD0JCEEIAAtADwhBSAAQTRqEKIPIQYgAEE4ahChDyEHIAFBGGogAEEYahCACyABIAU6ADwgASAENgIwIAEgAzYCLCABIAg3AiQgASAHNgI4IAEgBjYCNCABQcAAEPwGIAFBQGskAAuaAQIGfwF+IwBB0ABrIgEkABDwIiABQQhqIgMgACgCACIAEI4MIAFBFGogAEEMahDKCyAAKQIwIQcgACgCOCEEIAFBIGogAEEYahC2ICAALwFEIQUgAEE8ahCiDyEGIABBQGsQkhwhACABIAU7AUwgASAENgJAIAEgBzcCOCABIAA2AkggASAG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ACIBQQFrNgIAIAFBAUYEQCAAQdwBahD5DQsgACgC0AEgACgC1AEQriQLugEBA38gABCyAwJAAkACQAJAAkACQAJAIAAoAgBBAWsOBwECBgMEBQAGCyAAQQRqENUmDAULIAAoAgQgACgCCBDWJAwECyAAKAIMIQEgACgCCCECIAAoAgRFBEAgAiABEOApDAQLIAIgARDzKQwDCyAAQQxqENckDAILIABBBGoCQCAAKAIMIgJFDQAgACgCECIDRQ0AIAIgA0EBENERCxDXJAwBCyAAQQRqENUmCyAAKAIYQTRBBBDREQu1AQEDfyMAQUBqIgMkAAJAIAEoAtgCIAEoAtwCIAJBlJXDABCvHygCACIERQRAIAMgARCZCCADKAIEIQQgAygCACIFQTBGBEAgASgC2AIgASgC3AIgAkGklcMAEK8fIAQ2AgAgAUHIAmogAhCiGyAAQTA2AgAgACAENgIEDAILIABBCGogA0EIakE4EPwGGiAAIAQ2AgQgACAFNgIADAELIABBMDYCACAAIAQ2AgQLIANBQGskAAuZAQECfwJAIABBCWsiAUEYTwRAQQAhASAAQYABSQ0BAkAgAEEIdiICBEAgAkEwRwRAIAJBIEYNAiACQRZHDQQgAEGALUYhAQwECyAAQYDgAEYhAQwDCyAAQf8BcUG77+AAai0AACEBDAILIABB/wFxQbvv4ABqLQAAQQJxQQF2IQEMAQtBAEGfgIAEIAF2QQFxayEBCyABQQFxC6MBAQN/IwBB4ABrIgMkAAJAAkACQCABKAIAIgQoAlwiBUF/RwRAIAVBAWohAQwBCyADQQA2AkQgA0EEaiABKAIEIAEoAgggAiADQcQAahCcDyADKAIIIQEgAygCBCICQSJHDQELIAAgATYCBCAEIAE2AlwgAEEiNgIADAELIABBCGogA0EMakE4EPwGGiAAIAE2AgQgACACNgIACyADQeAAaiQAC7EBAQN/IwBBEGsiAyQAIAEoAgwhAgJAAkACQAJAAkACQCABKAIEDgIAAQILIAINAUEBIQJBACEBDAILIAINACABKAIAIgIoAgQhASACKAIAIQIMAQsgACABELAGDAELIANBBGogARCdDiADKAIIIQQgAygCBEEBRg0BIAMoAgwgAiABEPwGIQIgACABNgIIIAAgAjYCBCAAIAQ2AgALIANBEGokAA8LIAQgAygCDBDcKQALnwEBB38jAEHQAGsiAiQAIAEoAgQhByACQQhqIAEoAggiBEEIQcAAEPkUIAIoAggiBSAEQf///x9xIgEgASAFSxshA0EAIQEgAigCDCEGA0AgAwRAIAJBEGoiCCABIAdqEIgfIAEgBmogCEHAABD8BhogA0EBayEDIAFBQGshAQwBCwsgACAENgIIIAAgBjYCBCAAIAU2AgAgAkHQAGokAAubAQEHfyMAQUBqIgIkACABKAIEIQcgAkEIaiABKAIIIgRBCEEwEPkUIAIoAggiBSAEQf////8AcSIBIAEgBUsbIQNBACEBIAIoAgwhBgNAIAMEQCACQRBqIgggASAHahBvIAEgBmogCEEwEPwGGiADQQFrIQMgAUEwaiEBDAELCyAAIAQ2AgggACAGNgIEIAAgBTYCACACQUBrJAALrwEBAn8jAEEQayICJAAgAAJ/AkACQAJAAkACQAJAIAEoAgBBAWsOBgIBAgMEBQALIAIgAUEIahCtFSACKAIEIQMgAigCAAwFCyABKAIMIQMgASgCCAwECyABKAIUIQMgASgCEAwDCyABKAIQIQMgASgCDAwCCyABKAIIIQMgASgCBAwBCyACQQhqIAEoAgQQjQMgAigCDCEDIAIoAggLNgIAIAAgAzYCBCACQRBqJAAL+gEBAX8CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMGBgQFAAsgAEEIaiABENAsDwsgAEEIaiABEM8sDwsgACgCBCABEOYTDwsgACgCBCABEOYTDwsgACgCBCIAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAKAIABEAgACABEMssCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCECIAAoAgQhAANAIAJFDQEgACABENEMIAJBOGshAiAAQThqIQAMAAsACwUgACgCICEADAELCwsLrwEBAn8jAEEQayICJAAgAAJ/AkACQAJAAkACQAJAIAEoAgBBAWsOBgIBAgMEBQALIAIgAUEIahCtFSACKAIEIQMgAigCAAwFCyABKAIMIQMgASgCCAwECyABKAIUIQMgASgCEAwDCyABKAIQIQMgASgCDAwCCyABKAIIIQMgASgCBAwBCyACQQhqIAEoAgQQjgMgAigCDCEDIAIoAggLNgIAIAAgAzYCBCACQRBqJAALpwECAX8BfiMAQSBrIgQkACAEQRBqIAMgAUEAENMBAkACQCAELQAQQQRHBEAgBCkDECIFQv8Bg0IEUg0BCyAEIAI2AhggBCABNgIUIARBATYCECAEQQhqIAMgBEEQakHgxOAAQQQQrBMCQCAELQAIQQRHBEAgBCkDCCIFQv8Bg0IEUg0BCyAAQQQ6AAAMAgsgACAFNwIADAELIAAgBTcCAAsgBEEgaiQAC6UBAgR/AX4jAEEQayIBJAAgAUEIakG0ruAAKAIANgIAIAFBrK7gACkCADcDAEKAgIT+pt7hESEFQQQhBANAIAJBAkZFBEAgASgCACACRgRAIAEQ+xYgASgCBCEECyADIARqIAU+AgAgASACQQFqIgI2AgggA0EEaiEDIAVCIIghBQwBCwsgACABKQMANwIAIABBCGogAUEIaigCADYCACABQRBqJAAL+gEBAX8CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMGBgQFAAsgASAAQQhqEJsjDwsgASAAQQhqELsiDwsgACgCBCABEOASDwsgACgCBCABEOASDwsgACgCBCIAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAKAIABEAgACABELItCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCECIAAoAgQhAANAIAJFDQEgACABEMsIIAJBOGshAiAAQThqIQAMAAsACwUgACgCICEADAELCwsLrAEBA38jAEEgayICJAACQAJ/AkACQAJAIAEpAwCnIgNBA3FBAWsOAgIBAAsgAygCBCEEIAMoAgAMAgsgAkEBNgIIIAJBkPrBADYCBCACQgA3AhAgAiACQRxqNgIMIAJBBGpBmPrBABC6HQALIAPAIgNB8AFxQQR2IQQgA0EASA0BIAFBAWoLIQEgACAENgIEIAAgATYCACACQSBqJAAPCyAEQQdBqPrBABCvEAALpAEBA38jAEEQayICJAAgAkEIaiABQbzDxAAQtx0gAigCDCEEAkAgAigCCCIBKAIIIgNFBEAgAEEQNgIADAELIAEgA0EBayIDNgIIIAAgASgCBCADQRxsaiIBKQIANwIAIABBCGog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ARDALAwECyACQRBqIAEQ5iMMAwsgAkEEaiABEMAsDAILIAJBCGogARCWBQwBCwwCCyAAQThqIQAMAAsACwUgACgCICEADAELCwsL+gEBAX8CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMGBgQFAAsgASAAKAIgEKwDDwsgACgCICABEPIPDwsgACgCBCABEOUTDwsgACgCBCABEOUTDwsgACgCBCIAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAKAIABEAgACABEMksCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCECIAAoAgQhAANAIAJFDQEgACABEIIJIAJBOGshAiAAQThqIQAMAAsACwUgACgCICEADAELCwsLqwMBA38CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMGBgQFAAsgACgCICABEPYFDwsgACgCICABEKUSDwsgACgCBCABEOsTDwsgACgCBCABEOsTDwsgACgCBCIAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAKAIABEAgACABEPssCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQAJAAkACQAJAAkAgACAEaiICKAIAQQFrDgkBAgMEBQkGCQcACyACQRxqIAEQ+iMMCAsgAkEIaiABEL0MDAcLIAJBHGogARD6IwwGCwJAAkAgAkEIaigCAEEBaw4CAQcACyACQRBqIAEQiC0MBgsgAkEQaiABEIctDAULIAJBBGogARD7LAwECyACQRBqIAEQ+iMMAwsgAkEEaiABEPssDAILIAJBCGogARCXBQwBCwwCCyAAQThqIQAMAAsACwUgACgCICEADAELCwsLqgECAn8CfiMAQRBrIgMkAAJAIAAtACVBAkYEQCAAKAIIQThsIQIgACgCBCEAA0AgAkUNAiAAIAEQoAIgAkE4ayECIABBOGohAAwACwALIAMgACkDCCAAKAIYELcjIAEoAhghAiADKQMAIQQgASADKAIINgIYIAEpAxAhBSABIAQ3AxAgACgCICABEL4MIAEp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AiAANgIMIAJBBGogAkEMakGWAhCBCCABQRRrIQEgAEEUaiEADAELCyACQQRqENscIAJBEGokAAuPAQEDfyMAQRBrIgIkACAAKAIAIgMoAgQhACADKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEcbCEBA0AgAQRAIAIgADYCDCACQQRqIAJBDGpBlwIQgQggAUEcayEBIABBHGohAAwBCwsgAkEEahDbHCACQRBqJAALjwEBA38jAEEQayICJAAgACgCACIDKAIEIQAgAygCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBFGwhAQNAIAEEQCACIAA2AgwgAkEEaiACQQxqQZoCEIEIIAFBFGshASAAQRRqIQAMAQsLIAJBBGoQ2xwgAkEQaiQAC48BAQN/IwBBEGsiAiQAIAAoAgAiAygCBCEAIAMoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQThsIQEDQCABBEAgAiAANgIMIAJBBGogAkEMakHtAhCBCCABQThrIQEgAEE4aiEADAELCyACQQRqENscIAJBEGokAAuPAQEDfyMAQRBrIgIkACAAKAIAIgMoAgQhACADKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEwbCEBA0AgAQRAIAIgADYCDCACQQRqIAJBDGpB8AIQgQggAUEwayEBIABBMGohAAwBCwsgAkEEahDbHCACQRBqJAALjwEBA38jAEEQayICJAAgACgCACIDKAIEIQAgAygCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBOGwhAQNAIAEEQCACIAA2AgwgAkEEaiACQQxqQfICEIEIIAFBOGshASAAQThqIQAMAQsLIAJBBGoQ2xwgAkEQaiQAC48BAQN/IwBBEGsiAiQAIAAoAgAiAygCBCEAIAMoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQN0IQEDQCABBEAgAiAANgIMIAJBBGogAkEMakHiARCBCCABQQhrIQEgAEEIaiEADAELCyACQQRqENscIAJBEGokAAuPAQEDfyMAQRBrIgIkACAAKAIAIgMoAgQhACADKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEEdCEBA0AgAQRAIAIgADYCDCACQQRqIAJBDGpB9AIQgQggAUEQayEBIABBEGohAAwBCwsgAkEEahDbHCACQRBqJAALjwEBA38jAEEQayICJAAgACgCACIDKAIEIQAgAygCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBXQhAQNAIAEEQCACIAA2AgwgAkEEaiACQQxqQfYCEIEIIAFBIGshASAAQSBqIQAMAQsLIAJBBGoQ2xwgAkEQaiQAC48BAQN/IwBBEGsiAiQAIAAoAgAiAygCBCEAIAMoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQxsIQEDQCABBEAgAiAANgIMIAJBBGogAkEMakH5AhCBCCABQQxrIQEgAEEMaiEADAELCyACQQRqENscIAJBEGokAAuPAQEDfyMAQRBrIgIkACAAKAIAIgMoAgQhACADKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEwbCEBA0AgAQRAIAIgADYCDCACQQRqIAJBDGpB7wIQgQggAUEwayEBIABBMGohAAwBCwsgAkEEahDbHCACQRBqJAALjwEBA38jAEEQayICJAAgACgCACIDKAIEIQAgAygCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBMGwhAQNAIAEEQCACIAA2AgwgAkEEaiACQQxqQZADEIEIIAFBMGshASAAQTBqIQAMAQsLIAJBBGoQ2xwgAkEQaiQAC48BAQN/IwBBEGsiAiQAIAAoAgAiAygCBCEAIAMoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQThsIQEDQCABBEAgAiAANgIMIAJBBGogAkEMakGVAxCBCCABQThrIQEgAEE4aiEADAELCyACQQRqENscIAJBEGokAAuPAQED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AiggAkEANgI0IAJBrIDCADYCMCACQQA2AiAgAkEANgIYIAIgAkEMajYCLCABIAJBGGoQrRdFBEAgACACKQIMNwIAIABBCGogAkEUaigCADYCACACQUBrJAAPC0G4veAAQTcgAkE/akHEgMIAQby+4AAQxg4AC6ABAQF/IwBBQGoiAiQAIAJBADYCFCACQoCAgIAQNwIMIAJBAzoAOCACQSA2AiggAkEANgI0IAJBgP/BADYCMCACQQA2AiAgAkEANgIYIAIgAkEMajYCLCABIAJBGGoQoRlFBEAgACACKQIMNwIAIABBCGogAkEUaigCADYCACACQUBrJAAPC0G4veAAQTcgAkE/akGY/8EAQby+4AAQxg4AC4YBAQJ/IANB+P///wFxBEAgACAAIANBA3YiA0HgAGwiBGogACADQagBbCIFaiADEJgNIQAgASABIARqIAEgBWogAxCYDSEBIAIgAiAEaiACIAVqIAMQmA0hAgsgACACIAEgACgCDCIAIAEoAgwiAUkiAyABIAIoAgwiAklzGyADIAAgAklzGwuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBXQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQZ8BEIEIIAFBIGshASADQSBqIQMMAQsLIAJBBGoQ2xwgAkEQaiQAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEMbCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBoAEQgQggAUEMayEBIANBDGohAwwBCwsgAkEEahDbHCACQRBqJAALigEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQJ0IQEDQCABBEAgAiADNgIMIAJBBGogAkEMakH5ABCBCCABQQRrIQEgA0EEaiEDDAELCyACQQRqENscIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoA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2xwgAkEQaiQAC5ABAQZ/IwBBEGsiAiQAIAEoAgQhByACQQhqIAEoAggiBEEEQQQQ+RQgAigCCCIFIARB/////wNxIgEgASAFSxshA0EAIQEgAigCDCEGA0AgAwRAIAEgBmogASAHahDxGTYCACADQQFrIQMgAUEEaiEBDAELCyAAIAQ2AgggACAGNgIEIAAgBTYCACACQRBqJAALkAEBBn8jAEEQayICJAAgASgCBCEHIAJBCGogASgCCCIEQQRBBBD5FCACKAIIIgUgBEH/////A3EiASABIAVLGyEDQQAhASACKAIMIQYDQCADBEAgASAGaiABIAdqEPAcNgIAIANBAWshAyABQQRqIQEMAQsLIAAgBDYCCCAAIAY2AgQgACAFNgIAIAJBEGokAAuoAQECfyABKALAASABKALEARD0HCIDQYCAxABHBEAgAUHAAWoiBBCvFQJ/QQAgA0ENRw0AGkENIQNBACABKALAASABKALEARD0HEEKRw0AGiAEEK8VQQFBAiACGyEDQbrv4ABBuO/gACACGwshAiAAIAM2AgggACACNgIEIABBADYCACABIAEoAtABNgKkASABIAEoAqABQQFqNgKgAQ8LQZTo2AAQ2ikAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBpLXgAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEECdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBuAIQgQggAUEEayEBIANBBGohAwwBCwsgAkEEahDbHCACQRBqJAALigEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGkteAAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQJ0IQEDQCABBEAgAiADNgIMIAJBBGogAkEMakHxAhCBCCABQQRrIQEgA0EEaiEDDAELCyACQQRqENscIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBHQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQfUCEIEIIAFBEGshASADQRBqIQMMAQsLIAJBBGoQ2xwgAkEQaiQAC4oBAQN/IwBB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AiAAKAIkQShqIQADQCACRQ0CIAAoAgAEQCAAIAEQmy0LIAJBMGshAiAAQTBqIQAMAAsACyAAKAIEIgAtAEVBA0YNACAAQSBqIQADQCAALQAlQQJGBEACQCAAKAIIQThsIQMgACgCBCEEQQAhAANAAkAgACADRwRAIAAgBGoiAigCACIFQQlHBEACQAJAAkACQAJAAkACQCAFQQFrDggBAgMEBQkGCQALIAJBHGogARCFJAwICyACQQhqIAEQwQ0MBwsgAkEcaiABEIUkDAYLIAJBCGooAgANBSACQRBqIAEQni0MBQsgASACQQRqKAIAEJIBDAQLIAJBEGogARCFJAwDCyACQQRqIAEQmy0MAgsgAkEIaiABENoEDAELDAILIABBOGohAAwACwALBSAAKAIgIQAMAQsLCwugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQbTL3wA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEK0XRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtBuL3gAEE3IAJBP2pBzMvfAEG8vuAAEMYOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQbTL3wA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEKEZRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtBuL3gAEE3IAJBP2pBzMvfAEG8vuAAEMYOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQei84AA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEJUrRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtBuL3gAEE3IAJBP2pBgL3gAEG8vuAAEMYOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQei84AA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEJ0ZRQRA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AQIACyABQQhqEI0jIAFBKGoQ8C0MAwsgAUEQahDWJSABQTBqIgEoAgBFDQIgARDvLQwCCyABQQRqEJUpDAELIABBFGoQ9yUPCyACQThqIQIMAAsAC38AAkACQCADIARLDQACQCADRQ0AIAIgA0sEQCABIANqLAAAQb9/Sg0BDAILIAIgA0cNAQsgBEUNASACIARLBEAgASAEaiwAAEG/f0wNAQwCCyACIARGDQELIAEgAiADIARB0NjfABDQJgALIAAgBCADazYCBCAAIAEgA2o2AgALoQEBAX8gACgCDCIBIAAoAhAQwR4gACgCCCABEOspIAAoAhQgACgCGBCKFwJAIAAoAoABRQ0AIAAoAoQBBEAgAEGEAWoQ9BULIAAoAogBRQ0AIABBiAFqEPUVCyAAQZQBahC7ICAAKALcAhDmGCAAKALgAhDmGCAAKALkAhDQFyAAKALoAhDnGCAAKAKgAxC0FCAAQShqEKomIABB0ABqEKomC38BAX8jAEEgayIDJAAgA0EQaiAAIAEQnSAgAyADKQMQNwIYIAJBAWohAQJAAkADQCABQQFrIgEEQCADQQhqIANBGGoQsxEgAygCCEEBRg0BDAILCyADIANBGGoQsxEgAygCAEEBcQ0BC0GghcQAENopAAsgAygCBCADQSBqJAALhQEBA38jAEEQayICJAAgACgCACEDQQAhACABKAIUQaS14ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgQDQCAAQYACRkUEQCACIAAgA2o2AgwgAkEEaiACQQxqQZABEIEIIABBAWohAAwBCwsgAkEEahDbHCACQRBqJAALigEBAn8jAEEQayICJAAgAkEEaiAAIAEQ1QMgAigCBCEDQTRBBBChICIAQgA3AhQgAEEBNgIQIAAgATYCDCAAQQE2AgggACABNgIEIABBATYCACAAQYECOwAxIAAgA0EBczoAMCAAQRxqQgA3AgAgAEEkakIANwIAIABBLGpBADYCACACQRBqJAAgAAuFAQECfwJ/AkACQAJAIAJFBEAgAQ0BQQAMBAsgAkEBayIDIAFPDQEgACADai0AAEGcmcQAai0AACEEQQAhAyABIAJNDQIgACACai0AAEGcmcQAai0AACEDDAILIAAtAABBnJnEAGotAAAMAgsgAyABQdyVxAAQrRAA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CwwBCyAAQQA2AgAPCyAAQQA2AgALigEBAX8jAEEwayICJAACf0EBIAEoAhRBIiABKAIYKAIQEQIADQAaIAIgATYCDCACQQE2AhQgAkH89uAANgIQIAJCATcCHCACQccANgIsIAIgADYCKCACIAJBKGo2AhhBASACQQxqIAJBEGoQ8iQNABogASgCFEEiIAEoAhgoAhARAgALIAJBMGokAAt9AQN/IwBBgAJrIgIkACACQQBBgAIQigshBEEAIQICQANAAkAgAyAEaiACOgAAIANB/wFGDQAgASADENoVBEAgAkH/AXFBAWoiAkH/AXEgAkcNAwsgA0EBaiEDDAELCyAAIARBgAIQ/AYaIARBgAJqJAAPC0GsrcAAENopAAuEAQECfyMAQSBrIgMkACADQRRqIgQgASACENAQIANBCGogBBC/FQJAIAMoAhAEQCAAIAMpAgg3AgAgAEECOgAMIABBCGogA0EQaigCADYCAAwBCyAAQQhqQZiCwgApAgA3AgAgAEGQgsIAKQIANwIAIAMoAgggAygCDBDZKQsgA0EgaiQAC4oBAQN/IABBufPd8XlsIQMCQANAQcyL5AAoAgAiAEUEQBCeFSEACyADQQAgACgCCGt2IgEgACgCBCICTw0BIAAoAgAgAUEGdGoiASABKAIAIgJBASACGzYCACACBEAgARDTEAsgAEHMi+QAKAIARwRAIAEQ6x0MAQsLIAEPCyABIAJBwPfCABCtEAALfAEDfyACIAFrQQJ2IgUgACgCACAAKAIIIgNrSwRAIAAgAyAFQQRBDBCkFyAAKAIIIQMLIAAoAgQgA0EMbGohBCADIAVqIQMDQCABIAJGRQRAIARBADYCACAEQQRqIAJBBGsiAigCADYCACAEQQxqIQQMAQsLIAAgAzYCCAt9AQN/IwBBgAJrIgIkACACQQBBgAIQigshBEEAIQICQANAAkAgAyAEaiACOgAAIANB/wFGDQAgASADENoVBEAgAkH/AXFBAWoiAkH/AXEgAkcNAwsgA0EBaiEDDAELCyAAIARBgAIQ/AYaIARBgAJqJAAPC0GQssMAENopAAuEAQEEfyMAQRBrIgQkACACKAJ4IAIoAnwgAS0A1wQiByADQf///z9xakEBakHA4sMAEK8fKAIAIgZBAEgEQCAEIAI2AgwgBCABNgIIIAQgBEEIaiADIAdB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ACEDIAJBADoACSACIAM6AAggAiABNgIEIAIgAC0AADoADiACQQRqQcGyxABBBSACQQ5qQdEBEPQGIAIgAC0AAToAD0HGssQAQQMgAkEPakHRARD0BhCsECACQRBqJAALewECfyMAQSBrIgQkACAAAn8CQCABEMsTIgVFBEAgAS0A+AFBAkcNASABLQCfAkUNASAEQYEBOgAIIAEgAiAEQQhqEMgjDAELIAAgBTYCBEEBDAELIARBFToACCABIAIgBEEIahDmKCAAIAM5AwhBAAs2AgAgBEEgaiQAC4QBAQN/IwBBIGsiAyQAAkAgASgCwAEiAiABKALEAUYEQCAAQSU2AgAMAQsgAi0AACIEQQJ0QeT+2ABqKAIAIgIEQCAAIAEgAhEAAAwBCyABKALQASECIAFBwAFqQQEQ5yggA0EhOgAIIAMgBDYCDCAAIAIgAiADQQhqENohCyADQSBqJAALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEPMhIAJBKGogARDTLAwDCyACQTBqIgIoAgBFDQIgAiABEMAsDAILIAJBBGogARDrLQwBCw8LIABBOGohAAwACwALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgASACQQhqEPAhIAJBKGogARDdLAwDCyACQTBqIgIoAgBFDQIgAiABEMssDAILIAJBBGogARDpLQwBCw8LIABBOGohAAwACwALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEJAiIAJBKGogARCCLQwDCyACQTBqIgIoAgBFDQIgAiABEPwsDAILIAJBBGogARD4LQwBCw8LIABBOGohAAwACwALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEJEiIAJBKGogARCFLQwDCyACQTBqIgIoAgBFDQIgAiABEP0sDAILIAJBBGogARD3LQwBCw8LIABBOGohAAwACwALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEJIiIAJBKGogARCGLQwDCyACQTBqIgIoAgBFDQIgAiABEPssDAILIAJBBGogARD5LQwBCw8LIABBOGohAAwACwALhQEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEKsiIAJBKGogARCmLQwDCyACQTBqIgIoAgBFDQIgAiABEJstDAILIAJBBGogARCILgwBCw8LIABBOGohAAwACwALhwEBAn8gASgCFCICKAI8QQZ0IQEgAigCOEE8aiECAkADQCACIQMgAUUEQEEAIQEMAgsgAUFAaiEBIANBQGshAiADLQAAQQZHDQALIANBPGsiAUEEaigCACABQQhqKAIAQfjV3wAQpiMhAkEEEOMgIgEgAjYCAAsgAEHo1d8ANgIEIAAgATYCAAtuAQN/QX8hBAJAIAFFDQADQCABQQFNBEACQCAAIANBKGxqKAIYIgAgAkcNAEEAIQQMAwsFIAMgAUEBdiIFIANqIgMgACADQShsaigCGCACSxshAyABIAVrIQEMAQsLIAMgACACSWohAwsgAyAEaguFAQEDfyABKAJYIQQCQAJAAkAgASgCIEGBgICAeEYEQEEBIQMgBEGBgICAeEcNAUEAIQEMAwsgASgCGCECIARBgYCAgHhHDQFBASEDQQAhAQwCCyABKAJQIgEhAgwBCyACIAEoAlAiASACaiICTSEDCyAAIAI2AgggACADNgIEIAAgATYCAAtiAQR+IAAgAkL/////D4MiAyABQv////8PgyIEfiIFIAQgAkIgiCICfiIEIAMgAUIgiCIGfnwiAUIghnwiAzcDACAAIAMgBVStIAIgBn4gASAEVK1CIIYgAUIgiIR8fDcDCAt8AQF/IwBBQGoiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQQI2AhwgBUHYs9gANgIYIAVCAjcCJCAFIAVBEGqtQoCAgICgAYQ3AzggBSAFQQhqrUKAgICAsAGENwMwIAUgBUEwajYCICAFQRhqIAQQuh0AC3gBAn8jAEEQayIDJAAgAigCFEGkteAAQQEgAigC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QCACRQRAQQQhBiAFIARBBBDREQwBC0EEIAUgBEEEIAJBAnQiAxD5AiIGRQ0BGgsgASACNgIAIAEgBjYCBEGBgICAeAshASAAIAM2AgQgACABNgIAC3YBAn8jAEEwayIBJAAgASAANgIMIAAtAABBAk8EQCABQQE2AhQgAUGwq8MANgIQIAFCATcCHCABQfwANgIsIAEgAUEoajYCGCABIAFBDGo2AiggAUEQakGkrMMAELodAAsgACgCBCAAQQxBBBDRESABQTBqJAALagECfyACBH8CQAJAIAEgAkEBayIDSwRAIAAgA2otAABBnJnEAGotAAAhBEEBIQMgASACSw0BDAILIAMgAUHslcQAEK0QAAsgACACai0AAEGcmcQAai0AAEEBcyEDCyADIARxBUEAC0EBcQtyACAAQRxqIAEgAhC2ESAAQRhqIARBGGooAgA2AgAgAEEQaiAEQRBqKQIANwIAIABBCGogBEEIaikCADcCACAAIAQpAgA3AgAgACADKQIANwIoIABBMGogA0EIaikCADcCACAAQThqIANBEGopAgA3AgALWwECfwJAIAEgA0cNACABQQFqIQEDQCABQQFrIgFFIQQgAUUNASAALQAAIAItAABHDQEgAkEBaiEDIABBAWogAEECaiEAIAJBAmohAi0AACADLQAARg0ACwsgBAtpAQR/IwBBEGsiAiQAIAJBCGogASgCACIDQRBqKAIAIANBFGooAgAgASgCBCIDEKIYIAAgAigCCCIEBH8gAigCDCEFIAEgA0EBajYCBCAAQQRqIAQgBRC2EUEDBUEGCzoAACACQRBqJAALcAECfyMAQSBrIgEkAAJAIAAoAiBBAkYEQCAAQSRqIQIMAQsgASAANgIIIAEgAEEkaiICNgIMIAEgAUEfajYCGCABIAFBDGo2AhQgASABQQhqNgIQIABBIGogAUEQakGQy9gAEO4ECyABQSBqJAAgAgtqAQJ/IAFBBHQhAQNAIAEEQCAAQQRqKAIAIABBCGooAgAgAhDcCCACQQsgAC0ADCIEQQlrIgMgA0H/AXFBDU8bQf8BcSIDELIgIANBC0YEQCAEIAIQiyoLIABBEGohACABQRBrIQEMAQsLC3IBBH8jAEEgayIBJAACQCAAKAIAIgJFBEBBACEADAELEOsiIQAgAigCDCEDIAIoAhAhBCABQQxqIAIQqQ0gAEEQaiAENgIAIAAgASkCDDcCACABIAM2AhggAEEIaiABQRRqKQIANwIACyABQSBqJAAgAAvhAgIQfwF+IwBBIGsiAyQAAkAgACgCACIBRQRAQQAhAAwBCxDrIiEAIAEoAgwhCiABKAIQIQsgA0EMaiEFIwBBQGoiAiQAIAEoAgQhDCACQQhqIAEoAggiB0EIQTAQ+RQgAigCCCIIIAdB/////wBxIgEgASAISxshBiACQRhqIQ0gAigCDCEJA0AgBgRAIAQgDGoiASkCACERIA0gAUEIahDOGyABQShqLwEAIQ4gAUEqai0AACEPIAFBIGoQ9SQhECABQSRqEPUkIQEgAiAPOgA6IAIgDjsBOCACIBE3AxAgAiABNgI0IAIgEDYCMCAEIAlqIAJBEGpBMBDQLRogBkEBayEGIARBMGohBAwBCwsgBSAHNgIIIAUgCTYCBCAFIAg2AgAgAkFAayQAIABBEGogCzYCACAAIAMpAgw3AgAgAyAKNgIYIABBCGogA0EUaikCADcCAAsgA0EgaiQAIAALegECfyMAQSBrIgIkACAAIAEQ+yIiAQRAIAAoAqACIQMgAEElNgKgAiAAIAApA7gCNwPwAiACQRRqIABBrAJqKQIANwIAIAJBHGogAEG0AmooAgA2AgAgAiAAKQKkAjcCDCACIAM2AgggAkEIahDCCgsgAkEgaiQAIAELegEDfyMAQRBrIgMkAAJAAkACQCABKAIAQQFrDgIBAQALIANBCGogAUEIahCgHCADKAIIIgIgASgCKBClDyIEIAIgBEkbIQEgAiAEIAIgBEsbIQIMAQsgASgCDCECIAEoAgghAQsgACACNgIEIAAgATYCACADQRBqJAALeQEBfyMAQRBrIgEkAAJ/AkACQAJAAkACQAJAIAAoAgBBAWsOBgIBAgMEBQALIAEgAEEIahCtFSABKAIEDAULIAAoAgwMBAsgACgCFAwDCyAAKAIQDAILIAAoAggMAQsgAUEIaiAAKAIEEI0DIAEoAgwLIAFBEGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUElEJQJAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUEmEKsGAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUEqEJQJAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtsAQF/IwBBIGsiAiQAIAJBCGogAUH8ABCrBgJAIAIoAghBJUcEQCAAIAIpAwg3AwAgAEEQaiACQRhqKQMANwMAIABBCGogAkEQaikDADcDAAwBCyAAIAIoAgw2AgQgAEEmNgIACyACQSBqJAALcQECfyMAQRBrIgQkACAEQQhqIAIgAyABKAIIIgMQnxkgBCgCDCECIAEgBCgCCCIFNgIIIAAgAjYCDCAAIAE2AgggACADIAJrNgIQIAAgASgCBCIBIAJBOGxqNgIEIAAgASAFQThsajYCACAEQRBqJAALcgEBfyMAQdAAayICJAAgAkEIaiABEOQYIAJByABqIAJBIGopAwA3AgAgAkFAayACQRhqKQMANwIAIAJBOGogAkEQaikDADcCACAAQQA2AgAgAiACKQMINwIwIABBBGogAkEsakEkEPwGGiACQdAAaiQAC3MBBH8jAEEQayICJAAgAkEIakEAQQAgASgCCCIEEJ8ZIAIoAgwhAyABIAIoAggiBTYCCCAAIAM2AgwgACABNgIIIAAgBCADazYCECAAIAEoAgQiASADQdgAbGo2AgQgACABIAVB2ABsajYCACACQRBqJAALcQECfyMAQRBrIgQkACAEQQhqIAIgAyABKAIIIgMQnxkgBCgCDCECIAEgBCgCCCIFNgIIIAAgAjYCDCAAIAE2AgggACADIAJrNgIQIAAgASgCBCIBIAJBMGxqNgIEIAAgASAFQTBsajYCACAEQRBqJAALegEDfyMAQRBrIgMkAAJAAkACQCABKAIAQQFrDgIBAQALIANBCGogAUEIahDKHCADKAIIIgIgASgCKBClDyIEIAIgBEkbIQEgAiAEIAIgBEsbIQIMAQsgASgCDCECIAEoAgghAQsgACACNgIEIAAgATYCACADQRBqJAALeAIB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IAEQgiIMAwsgAEEEaiABEMwsDAILIABBBGogARDtLAwBCyAAQQRqIAEQyQ8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCAIgwDCyAAQQRqIAEQyywMAgsgAEEEaiABEOssDAELIABBBGogARDKDwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEIQiDAMLIABBBGogARDJLAwCCyAAQQRqIAEQ8CwMAQsgAEEEaiABEMsPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQgSIMAwsgAEEEaiABEM0sDAILIABBBGogARDsLAwBCyAAQQRqIAEQzA8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCKIgwDCyAAQQRqIAEQ+CwMAgsgAEEEaiABEI8tDAELIABBBGogARDNDwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEIwiDAMLIABBBGogARD+LAwCCyAAQQRqIAEQjS0MAQsgAEEEaiABEM4PCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQjyIMAwsgAEEEaiABEPwsDAILIABBBGogARCMLQwBCyAAQQRqIAEQzw8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCOIgwDCyAAQQRqIAEQ/SwMAgsgAEEEaiABEI4tDAELIABBBGogARDQDwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEIsiDAMLIABBBGogARD7LAwCCyAAQQRqIAEQkC0MAQsgAEEEaiABENEPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQsiIMAwsgAEEEaiABEJwtDAILIABBBGogARCjLQwBCyAAQQRqIAEQ0g8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCqIgwDCyAAQQRqIAEQmy0MAgsgAEEEaiABEKQtDAELIABBBGogARDTDwsgAEEoaiEAIAJBKGshAgwBCwsLcgECfyMAQRBrIgIkAAJAIAFBgAFPBEAgAkEANgIMIAIgASACQQxqEOEJIAAgAigCACACKAIEEO0dDAELIAAoAggiAyAAKAIARgRAIAAQ8RcLIAAgA0EBajYCCCAAKAIEIANqIAE6AAALIAJBEGokAEEAC14BAn8CQCABRQ0AA38gAUEBTQR/IAAgA0EobGooAhgiACACRg0CIAMgACACSWoFIAMgAUEBdiIEIANqIgMgACADQShsaigCGCACSxshAyABIARrIQEMAQsLIQMLIAMLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABELoiDAMLIABBBGogARCyLQwCCyAAQQRqIAEQvy0MAQsgAEEEaiABENYPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQwCIMAwsgAEEEaiABEK4tDAILIABBBGogARDALQwBCyAAQQRqIAEQ1w8LIABBKGohACACQShrIQIMAQsLC3YBAX8gACgCCEE4bCECIAAoAgQhAANAAkAgAgRAAkACQAJAIAAoAgBBAWsOAgECAAsgAEEIaiABEL4iIABBKGogARC+LQwDCyAAQTBqIAEQtyYMAgsgAEEEaiABEJIuDAELDwsgAEE4aiEAIAJBOGshAgwACwALeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEL8iDAMLIABBBGogARC0LQwCCyAAQQRqIAEQwS0MAQsgAEEEaiABENkPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQxSIMAwsgAEEEaiABELUtDAILIABBBGogARDCLQwBCyAAQQRqIAEQ2g8LIABBKGohACACQShrIQIMAQsLC2IBBX8gAUE0aiEHIAEvATIhBgNAIARBAXEgAyAGS3JFBEAgByADQQJ0aigCACIFIAM7ATAgBSABNgIAIARBASADIAZJIgUbIQQgAyAFaiEDDAELCyAAIAI2AgQgACABNgIAC2QBAX8jAEEgayICJAAgAkEIaiABQaQDakEAQQAQwQYgAigCCCIBQQNHBEAgACACKQIMNwIEIABBFGogAkEcaigCADYCACAAQQxqIAJBFGopAgA3AgALIAAgATYCACACQSBqJAALcAECfyMAQRBrIgYkACABLQABIQcgAS0AACEBIAZBCGogAiADIAQgBUGIl8AAEOkWIAYgASAHIAYoAgggBigCDBDvBUEAIQEgACAGKAIAQQFxBH8gACAGKAIEIARqNgIEQQIFIAELNgIAIAZBEGokAAt4AQF/IwBBIGsiAyQAAkAgASAAKAIATQRAIAMgACABQQQgAhCLECADKAIAIgBBgYCAgHhHDQEgA0EgaiQADwsgA0EANgIYIANBATYCDCADQfSf4wA2AgggA0IENwIQIANBCGpByKDjABC6HQALIAAgAygCBBDcKQALeAEBfyMAQSBrIgIkAAJAIAEgACgCAE0EQCACIAAgAUEEQQQQixAgAigCACIAQYGAgIB4Rw0BIAJBIGokAA8LIAJBADYCGCACQQE2AgwgAkH0n+MANgIIIAJCBDcCECACQQhqQcig4wAQuh0ACyAAIAIoAgQQ3CkAC3UBAX8jAEEQayICJAAgAiAAKAIAIgBBJGo2AgwgAUGCs8AAQQhB+pTaAEEEIABBKGpBM0GKs8AAQQUgAEEIakE0QY+zwABBBSAAQRRqQTVBvIHEAEELIABBIGpBEEGUs8AAQRMgAkEMakEhEIQKIAJBEGokAAtpAQN/IwBBEGsiAiQAIAIgATYCCAJAQQFBAiABEA4iA0EBRhtBACADGyIDQQJHBEAgACADOgABDAELIAAgAkEIaiACQQ9qQezDwAAQ/wQ2AgRBASEECyAAIAQ6AAAgARDJJiACQRBqJAALZgEFfiAAIAApAxgiAUIQiSABIAApAwh8IgGFIgIgACkDECIDIAApAwB8IgRCIIl8IgU3AwAgACACQhWJIAWFNwMYIAAgASADQg2JIASFIgJ8IgEgAkIRiYU3AxAgACABQiCJNwMIC3ABAn8jAEEQayICJAACQCABQYABTwRAIAJBADYCDCACIAEgAkEMahDhCSAAIAIoAgAgAigCBBDpHQwBCyAAKAIIIgMgACgCAEYEQCAAEO4WCyAAIANBAWo2AgggACgCBCADaiABOgAACyACQRBqJAALbAEDfwNAAkAgAQRAIAAoAgAgAEEEaigCABCuJCAAQRhqKAIAIQMgAEEcaigCACIEKAIAIgIEQCADIAIRAQALIAQoAgQiAkUNASADIAIgBCgCCBDREQwBCw8LIAFBAWshASAAQSBqIQAMAAsAC3QAA0AgAQRAAkACQAJAAkAgACgCAEECaw4GAAMDAwECAwsgAEEEaigCACAAQQhqKAIAEOApDAILIABBBGooAgAgAEEIaigCABDZKQwBCyAAQQRqKAIAIABBCGooAgAQ2SkLIAFBAWshASAAQRBqIQAMAQsLC3EBAn8CQAJAIAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBBBCkFyAAKAIIIQIMAQsgAUUNAQsgASACaiEDIAAoAgQgAkECdGohAgNAIAJBgICAgHg2AgAgAkEEaiECIAFBAWsiAQ0ACyAAIAM2AggLC3gBAX8jAEEgayIEJAACQCABIAAoAgBNBEAgBCAAIAEgAiADEIsQIAQoAgAiAEGBgICAeEcNASAEQSBqJAAPCyAEQQA2AhggBEEBNgIMIARB9J/jADYCCCAEQgQ3AhAgBEEIakHIoOMAELodAAsgACAEKAIEENwpAAtqAQN/QQMhAgJAIAAgAS0ADCIEQQNHBH8gBEECRwRAIAEoAgAiAiACKAIAIgNBAWo2AgAgA0EASA0CIAEoAgghAyABKAIEIQELIAAgAzYCCCAAIAE2AgQgACACNgIAIAQFIAILOgAMDwsAC3ABAn8jAEEQayICJAACQCABQYABTwRAIAJBADYCDCACIAEgAkEMahDhCSAAIAIoAgAgAigCBBDtHQwBCyAAKAIIIgMgACgCAEYEQCAAEPcWCyAAIANBAWo2AgggACgCBCADaiABOgAACyACQRBqJAALeQECf0EQIQECQAJAAkBBBiAAKAIAIgAoAghBAmsiAiACQQlPG0ECaw4FAgICAgEAC0EEIQELIABBCGogAWoiASgCACABQQRqKAIAENYpCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEHQAEEEENERCwt5AQF/IwBBEGsiAyQAIAMgAjYCDCADIAEoAgBBCGpBqMbYABDqGiADKAIEIQECQCADKAIAIANBDGoQ4QgiAkUEQCAAQYCAgIB4NgIADAELIAAgAkEEaigCACACQQhqKAIAEKcICyABIAEoAgBBAWs2AgAgA0EQaiQAC3kBAX8jAEEQayIDJAAgAyACNgIMIAMgASgCBEEIakGIx9gAEOoaIAMoAgQhAQJAIAMoAgAgA0EMahDhCCICRQRAIABBgICAgHg2AgAMAQsgACACQQRqKAIAIAJBCGooAgAQpwgLIAEgASgCAEEBazYCACADQRBqJAALcAECfyMAQRBrIgIkAAJAIAFBgAFPBEAgAkEANgIMIAIgASACQQxqEOEJIAAgAigCACACKAIEEO0dDAELIAAoAggiAyAAKAIARgRAIAAQ8RcLIAAgA0EBajYCCCAAKAIEIANqIAE6AAALIAJBEGokAAtiAQR/AkAgASADRw0AIAFBAWohAQNAIAFBAWsiAUUhBCABRQ0BIAJBBGohAyAAQQRqIQUgAigCACEGIAAoAgAgAkEIaiECIABBCGohACAFKAIAIAYgAygCABDjHw0ACwsgBAthAQR/IwBBEGsiAiQAIAACfyABQShqIgQQzQ0iBUUEQEEADAELQQAgBSgCAEETRw0AGiACQQhqIAFBASAEELogEIAHIAIoAgghAyACKAIMCzYCBCAAIAM2AgAgAkEQaiQAC3QBBX8jAEEQayICJAAgASgCACEEIAEoAgQhBSACQQhqIAEQ/QkCQCACKAIIRQRAQYCAxAAhAwwBCyACKAIMIQMgASABKAIAIAEoAggiBiAFaiAEIAEoAgRqa2o2AggLIAAgAzYCBCAAIAY2AgAgAkEQaiQAC20BAn8jAEEgayIBJAACQCAAKAIAQQJGBEAgAEEEaiECDAELIAEgADYCCCABIABBBGoiAjYCDCABIAFBH2o2AhggASABQQxqNgIUIAEgAUEIajYCECAAIAFBEGpBmLrfABDuBAsgAUEgaiQAIAILbAEEfyABLQAmIQQgAUEAOgAmIABBDGogACgCCEEGdCECIAAoAgQhAwNAIAIEQCABIAMQyh4gAkFAaiECIANBQGshAwwBCwsgASAEOgAmIAEQkxogACgCGEGAgICAeEcEQCABIABBGGoQmSELC2EBBH8jAEEQayICJAAgAAJ/IAFBKGoiBBDnDSIFRQRAQQAMAQtBACAFKAIAQRNHDQAaIAJBCGogAUEBIAQQ1SAQhQcgAigCCCEDIAIoAgwLNgIEIAAgAzYCACACQRBqJAALdAEDfyABKAIIQShsIQIgASgCBCEDIAAtACghBANAIAIEQCAAQQE6ACggAyAAENARIAJBKGshAiADQShqIQMMAQUCQCABKAIMIgEoAgBBgICAgHhHBEAgASAAEMIaDAELIAFBBGogABCyLQsgACAEOgAoCwsLgAEBAX8gAUKV192Yw5eKjAtRIAJC2KGkg7Hi0d18UXFFBEAgACgCKCEDIABBBGoQyiIgACgCHCAAQSBqKAIAENYpIABBLEEEENERIAMgASACIAMoAgAoAhAREgAPCyAAQQRqEMoiIAAoAigiAyADKAIAKAIAEQEAIABBLEEEENERC74HAwZ/BX4CfCABKAIcQQFxIQQgASgCCEEBRgRAIAEgACsDACAEIAEoAgwQQA8LIAApAwAiCL8hDSAIQv///////////wCDvyIORACA4Dd5w0FDZiAORAAAAAAAAAAAYiAORC1DHOviNho/Y3FyRQRAIAEgDSAEQQEQ7wMPCwJ/IwBBoAFrIgAkACANvSEIAn9BAyANmUQAAAAAAADwf2ENABpBAiAIQoCAgICAgID4/wCDIglCgICAgICAgPj/AFENABogCEL/////////B4MiDEKAgICAgICACIQgCEIBhkL+////////D4MgCEI0iKdB/w9xIgIbIgpCAYMhCyAJUARAQQQgDFAN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NgIMIANB4PfAADYCCCADQgI3AhQgA0KAgICAkAEiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACELodAAtuAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEDNgIMIAJBuLvAADYCCCACQgI3AhQgAiACQQRqrUKAgICAkAGENwMoIAIgAq1CgICAgJABhDcDICACIAJBIGo2AhAgAkEIakG44OAAELodAAtqAgF/AX4jAEEwayIDJAAgAyABNgIEIAMgADYCACADQQM2AgwgA0Hku8AANgIIIANCAjcCFCADQoCAgICQASIEIANBBGqthDcDKCADIAQgA62ENwMgIAMgA0EgajYCECADQQhqIAIQuh0AC2oCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAzYCDCADQbD4wAA2AgggA0ICNwIUIANCgICAgJABIgQgA62ENwMoIAMgBCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhC6HQALawECfyMAQRBrIgMkAANAAkAgAyABNgIIIAMgASACIgRqNgIMIAMgA0EIahDgCSADKAIARQRAQQAhBAwBCyADKAIMIAMoAghrIQIgAygCBEEgRg0BCwsgACAENgIEIAAgATYCACADQRBqJAALpAEBA38gACgCCCIDIAAoAgBGBEAjAEEQayICJAAgAkEIaiAAIAAoAgBBAUEEQSAQnwggAigCCCIEQYGAgIB4RwRAIAQgAigCDBDcKQALIAJBEGokAAsgACADQQFqNgIIIAAoAgQgA0EFdGoiACABKQIANwIAIABBCGogAUEIaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEYaiABQRhqKQIANwIAC2UBAX8jAEEQayIDJAAgA0EANgIMIANCgICAgBA3AgQgA0EEaiACEPMeIAIEQANAIANBBGogARDpDyACQQFrIgINAAsLIAAgAykCBDcCACAAQQhqIANBDGooAgA2AgAgA0EQaiQAC2oBA38jAEEQayIGJAAgASgCQCEHIAEoAjwhCCAGQQhqIAIgAyAEIAVBxKXDABDpFkEAIQEgACAGKAIIIAYoAgwgCCAHEPgfBH8gACAENgIEIAAgBCAHajYCCEEBBSABCzYCACAGQRBqJAALcgEBfyMAQSBrIgIkACABQQBI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QQhqQf0CEMgKDAELIAIgAEEEajYCDCABQaWu4ABBBCACQQxqQbgCEMgKCyACQRBqJAALYwEBfyMAQRBrIgIkAAJ/IAAoAgAiACgCAEUEQCACIABBCGo2AgggAUGEruAAQQUgAkEIakH9AxDICgwBCyACIABBBGo2AgwgAUHVk9oAQQggAkEMakH/AxDICgsgAkEQaiQAC2IBAn8gACgCCEEEdCECIAAoAgQhAANAAkAgAgRAIAEtADRFDQEgAS0AOiEDIAFBAToAOiAAIAEQ1CsgAEEMaiABEKolIAEgAzoAOgwBCw8LIABBEGohACACQRBrIQIMAAsAC2wBA38jAEEQayICJABBAEEAELoREIoEIQMgACgCFCEEIAAgAzYCFCACIAAQ7wcgASAAENMjIAEoAhggABCbEiAAEOsKIAAgBDYCFCAAQQhqIAJBCGopAgA3AgAgACACKQIANwIAIAJBEGokAAtdAQR/IAEgACgCCCICKAIAIAAoAhAiBCAAKAIMIgNqIgVrSwRAIAIgBSABQQhBOBDAFwsgAigCBCICIAEgA2oiAUE4bGogAiADQThsaiAEQThsENAtGiAAIAE2AgwLbgACQAJAAkACQAJAAkACQCAAKAIAQQFrDgYBAgMEBgUACyAAKQMIIAAoAhggARDVFA8LIABBBGogARCaFw8LIABBBGogARDoLQ8LIABBBGogARCMDQ8LIABBBGogARDNJQ8LIABBBGogARDNLAsLbgACQAJAAkACQAJAAkACQCAAKAIAQQFrDgYBAgMEBgUACyAAKQMIIAAoAhggARC4HA8LIABBBGogARCRFQ8LIABBBGogARDrJQ8LIABBBGogARC8Cw8LIABBBGogARDbJQ8LIABBBGogARD+LAsLaAIBfgF/ENUYIQIgACABKQMANwMAIAEgAjcDACAAQRhqIAFBGGoiAykDADcDACAAQRBqIAFBEGopAwA3AwAgAEEIaiABQQhqIgApAwA3AwAgAEIANwMAIAFBDWpCADcAACADQQA2AgALYQEEfyABIAAoAggiAigCACAAKAIQIgQgACgCDCIDaiIFa0sEQCACIAUgAUEIQdgAEKQXCyACKAIEIgIgASADaiIBQdgAbGogAiADQdgAbGogBEHYAGwQ0C0aIAAgATYCDAt1AQJ/AkACQAJAAkACQAJAAkAgACgC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akEeQYiDxABBByAAQTdBj4PEAEEIIABBEGpBEEGXg8QAQQkgAkEMakEhELQKIAJBEGokAAtbAQF/IwBBMGsiAyQAIAMgATYCDCADIAA2AgggA0EBNgIUIANB/PbgADYCECADQgE3AhwgAyADQQhqrUKAgICAsAGENwMoIAMgA0EoajYCGCADQRBqIAIQuh0AC1YBAX8jAEEgayICJAAgAkEAOgAYIAIgATYCFCACIAA2AhAgAkEBNgIMIAIgAkEMajYCHCACQRxqQZCAwAAQBiACKAIMBEAgAkEQahDJIgsgAkEgaiQAC5ABACAAQcgAakH4ABDxFCAAQdQAakEhEPEUIABB4ABqQT4Q8RQgAEL8gICA4As3AkAgAEL8gICAwA83AjggAELbgICA0As3AjAgAEKngICA4As3AiggAEKugICAgAw3AiAgAEKsgICA4A43AhggAELegICA4Ac3AhAgAEKrgICAoAc3AgggAEKtgICAwA83AgALZgECfyMAQSBrIgEkAAJAAkACQCAApyICQQNxQQFrDgICAAELIAFBATYCCCABQdT5wQA2AgQgAUIANwIQIAEgAUEcajYCDCABQQRqQdz5wQAQuh0ACyACKQMIIQALIAFBIGokACAAC1YBAX8jAEEgayICJAAgAkEANgIQIAJBCGogASACQRBqEOEJIAJBFGogAigCCCACKAIMEL4VIABBCGogAkEcaigCADYCACAAIAIpAhQ3AgAgAkEgaiQAC1YBAX8jAEEgayICJAAgAkEANgIQIAJBCGogASACQRBqEOEJIAJBFGogAigCCCACKAIMEI4RIABBCGogAkEcaigCADYCACAAIAIpAhQ3AgAgAkEgaiQAC1MBAn8jAEEQayIFJAACQCACIARJBEAgBUEEaiIGIAMgBBDBFSAAIAYgASACEPIIDAELIAVBBGoiBiABIAIQwRUgACAGIAMgBBDyCAsgBUEQaiQAC18BAX8jAEEQayICJAAgAiAAQSxqNgIMIAFBmIHEAEEIQaCBxABBCCAAQRhqQR5BqIHEAEEJIABBH0GxgcQAQQsgAEEcakEgQbyBxABBCyACQQxqQSEQtAogAkEQaiQAC1sBAn9BASEDAkAgAkUNAAJAAkAgASACQQFrIgRLBEAgACAEai0AAEEKaw4EAwEBAgELIAQgAUGMlcQAEK0QAAtB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AjYCACAAIAE2AgggBEEgaiQAC1ABA38CQCABLQAADQAgAS0AASIDIAEtAAIiBEsNACADIARPBEBBASECIAFBAToAAAwBC0EBIQIgASADQQFqOgABCyAAIAM6AAEgACACOgAAC1sBAX8jAEEQayICJAACfyAAKAIAIgAtAABFBEAgASgCFEGw7+AAQQQgASgCGCgCDBEDAAwBCyACIABBAWo2AgwgAUG07+AAQQQgAkEMakESEMgKCyACQRBqJAALWwEBf0EBIQMCQCABQf8BcUEBRwRAIAFBASACKAIIGyEDDAELIAJBADYCCCACQQRBBBCjGSACEMoKCyAAIAM6AAwgACACKQIANwIAIABBCGogAkEIaigCADYCAAtYAQF/IAAoAggiAiAAKAIARgRAIAAQghcLIAAgAkEBajYCCCAAKAIEIAJBGGxqIgAgASkCADcCACAAQQhqIAFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIAC1gBAX8gACgCCCICIAAoAgBGBEAgABCDFwsgACACQQFqNgIIIAAoAgQgAkEUbGoiACABKQIANwIAIABBCGogAUEIaikCADcCACAAQRBqIAFBEGooAgA2AgALWwEBfyMAQRBrIgIkAAJ/IAAoAgAiACkDAEICUQRAIAEoAhRBsO/gAEEEIAEoAhgoAgwRAwAMAQsgAiAANgIMIAFBtO/gAEEEIAJBDGpB7QAQyAoLIAJBEGokAAtbAQF/IwBBEGsiAiQAAn8gACgCACIAKAIAQQNGBEAgASgCFEGw7+AAQQQgASgCGCgCDBEDAAwBCyACIAA2AgwgAUG07+AAQQQgAkEMakHvABDICgsgAkEQaiQAC1sBAX8jAEEQayICJAACfyAAKAIAIgAoAgBBAkYEQCABKAIUQbDv4ABBBCABKAIYKAIMEQMADAELIAIgADYCDCABQbTv4ABBBCACQQxqQfEAEMgKCyACQRBqJAALYQEBfyMAQRBrIgIkACACIAAoAgAoAgAiAEHYAGo2AgwgAUG43sMAQQpBx53EAEEGIABBCGpB9wBBw5PaAEEFIABBzABqQfgAQcLewwBBCyACQQxqQfkAEOIKIAJBEGokAAteAQF/IwBBIGsiBCQAIAIgA0sEQCAEQQA2AhggBEEBNgIMIARBiKDDADYCCCAEQgQ3AhAgBEEIakGojsMAELod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QeHW4ABBDiAAQSBqQQ9B79bgAEEEIAJBDGpBogIQ4gogAkEQaiQAC1sAAkACQAJAAkACQAJAIAAoAgBBAWsOBgABAgMFBAULIABBBGogARDKGg8LIABBBGogARCSLg8LIABBBGogARDYDw8LIABBBGogARC/Jg8LIABBBGogARC0LQsLUQEBfyMAQRBrIgQkACAEQQRqIAFBACACIAMQlQogBCgCCCEBIAQoAgRFBEAgACAEKAIMNgIEIAAgATYCACAEQRBqJAAPCyABIAQoAgwQ3CkAC1EBAX8jAEEQayICJAAgAkEEaiABQQBBBEEEEJUKIAIoAgghASACKAIERQRAIAAgAigCDDYCBCAAIAE2AgAgAkEQaiQADwsgASACKAIMENwpAAtDAQF/AkAgACABBH8gAkUNASABIAJuIgMgASACIANsR2oFQQALIgE2AgggAEEBNgIEIAAgATYCAA8LQYCzwgAQpRsAC1EBAX8jAEEQayIDJAAgA0EEaiABQQBBBCACEJUKIAMoAgghASADKAIERQRAIAAgAygCDDYCBCAAIAE2AgAgA0EQaiQADwsgASADKAIMENwpAAtUAQF/IwBBEGsiAiQAAn8gACgCAEUEQCABKAIUQbDv4ABBBCABKAIYKAIMEQMADAELIAIgADYCDCABQbTv4ABBBCACQQxqQfQAEMgKCyACQRBqJAALUgEBfyMAQSBrIgEkACABQQhqIAAQ2hwgASgCCEEBRgRAIAEgASkDEDcDGEG8msMAQRUgAUEYakGYkcMAQZDKwwAQxg4ACyABKAIMIAFBIGokAAt+AQJ/IAAoAgAiACgCCCAAQQxqKAIAEOApIABBFGoiASgCBCICIAEoAggQqAkgASgCACACEPUpIABBIGoiASgCBCICIAEoAggQ9xcgASgCACACEN0pAkAgAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAQTBBBBDREQsLSQBBACEFAkAgAyAETQ0AIAIgBGotAAAiAiABLQAARwRAIAEtAAEgAkcNAQsgACAENgIEQQEhBSAAIARBAWo2AggLIAAgBTYCAAtVAQF/QTRBBBChICIAQgA3AhQgAEEBNgIQIABCATcCCCAAQgE3AgAgAEEAOgAyIABBATsBMCAAQRxqQgA3AgAgAEEkakIANwIAIABBLGpBADYCACAA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PSEEIAMgACABELcjIAMoAgghASADKQMAIQACQCAERQRAIAIgACABEMcQDAELIAIgACABIAItAD4QjgYLIANBEGokAAtMAQF/IAAoAghBOGwhASAAKAIEQTBqIQADQAJAIAEEQCAAQTBrEKwUIAAoAgBFDQEgABDfLQwBCw8LIAFBOGshASAAQThqIQAMAAsAC08BAn8gASAAKAIIIgJJBEBBACECIAAoAgAiAygCACAAKAIEIAFBFGxqIgAoAgBGBH8gAygCBCAAKAIERgUgAgsPCyABIAJBzLffABCtEAALgQECAn4Bf0GgkOQAKQMAUARAQQFBABDUGiECQaCQ5AApAwBBoJDkACACNwMAEOUYC0GgkOQAKQMAEPQaIQIgAEEQaiABQRBqKQMANwMAIABBCGogAUEIaiIEKQMANwMAIAAgASkDADcDACAEQgA3AwAgASACNwMAIAFBDWpCADcAAAtMAgF/AX4CQCABKAIYRQ0AIAEQkA8hAiABIAEoAhhBAWs2AhggAkUNACACQQhrKAIAIQEgAkEQaykDACEDCyAAIAE2AgggACADNwMAC0wBAn8gACgCCEEobCECIAAoAgQhAQNAIAIEQCABKAIAQQdHBEAgARDqEwsgAUEoaiEBIAJBKGshAgwBCwsgAEEUahCoKiAAQQA6ABgLVwEDfyAAKAIEIQMgACgCACEBIABCiICAgIABNwIAIAMgAWtB2ABuIQICQCABIANGDQADQCACRQ0BIAJBAWshAiABEMcIIAFB2ABqIQEMAAsACyAAEMQSC0wBAX8gACgCCEE4bCEBIAAoAgRBMGohAANAAkAgAQRAIABBMGsQ6RMgACgCAEUNASAAEO8tDAELDwsgAUE4ayEBIABBOGohAAwACwALTAEBfyAAKAIIQThsIQEgACgCBEEwaiEAA0ACQCABBEAgAEEwaxDqEyAAKAIARQ0BIAAQ8S0MAQsPCyABQThrIQEgAEE4aiEADAALAAtMAQJ/IABCADcCDCAAKAIIQShsIQIgACgCBCEBA0AgAgRAIAEoAgBBB0cEQCABEKoSCyABQShqIQEgAkEoayECDAELCyAAQRRqEJEmC18AAkACQAJAAkACQAJAAkAgACgCAEEBaw4GAQIDBAUGAAsgAEIANwMQDwsgAEIANwIEDwsgAEIANwIEDwsgAEIANwMIDwsgAEIANwMIDwsgAEIANwMYDwsgAEIANwMYC1UBA38gACgCBCEDIAAoAgAhASAAQoiAgICAATcCACADIAFrQTBuIQICQCABIANGDQADQCACRQ0BIAJBAWshAiABEOEDIAFBMGohAQwACwALIAAQ0BILRQEEfyAAKAIEIQUgACgCACEDAkADQCABIAJGDQEgAyAFRwRAIAAgA0EMaiIDNgIAIAJBAWohAgwBCwsgASACayEECyAEC1ABAn8jAEEQayIFJAAgBUEIaiABIAIgAxCgEyAFKAIIIgZFBEAgAiADIAEgAyAEENAmAAsgBSgCDCEBIAAgBjYCACAAIAE2AgQgBUEQaiQAC1ABA38gAC0AAEEDRgRAIAAoAgQiACgCACECIAAoAgQiAygCACIBBEAgAiABEQEACyADKAIEIgEEQCACIAEgAygCCBDREQsgAEEMQQQQ0RELC1cBAn8CQAJAAkACQAJAQQsgACgCACICQYCAgIB4cyIBIAFBEk8bIgEOAwIBAwALIAFBC0YNAwsPCyAAQQRqEOMUDwsgAEEEahCTGQ8LIAIgACgCBBDWKQteAQJ/AkACQAJAAkAgASgCAEGAgICAeHMOAwABAgMLIAFBBGohAkHc0eAAIQMMAgsgAUEEaiECQZjS4AAhAwwBCyABQQRqIQJB1NLgACEDCyAAIAM2AgQgACACNgIAC1EBAX8jAEEQayIDJAAgA0EEaiABQQBBCCACEJUKIAMoAgghASADKAIERQRAIAAgAygCDDYCBCAAIAE2AgAgA0EQaiQADwsgASADKAIMENwpAAtJAQN/IAEhAyACIQQgASgCACIFBEAgAS8BMCEEIAJBAWohAwsgAUHkAEE0IAIbQQQQ0REgACAFNgIAIAAgA60gBK1CIIaENwIEC1MBAX8jAEEQayICJAAgAiAAQYECajYCDCABQc2XwABBDEHZl8AAQQcgAEEaQciXwABBBSAAQYACakEYQeCXwABBBSACQQxqQRIQ4gogAkEQaiQAC1EBAX8jAEEQayICJAAgAiAAQQJqNgIMIAFBkpjAAEEPQciXwABBBSAAQRhB4JfAAEEFIABBAWpBGEHzl8AAQQUgAkEMakESEOIKIAJBEGokAAtTAQJ/IABBADoAICAAKAIIIQIgAEEANgIIIAAoAgQhAQNAIAIEQCABKAIAIAFBBGooAgAQ1ikgAkEBayECIAFBDGohAQwBCwsgAEKAgICAcDcCFAtPAQJ/IwBBEGsiAyQAIANBCGogAkEEQQQQuRQgAygCCCEEIAMoAgwgASACQQJ0EPwGIQEgACACNgIIIAAgATYCBCAAIAQ2AgAgA0EQaiQAC0wBA38gASgCACICIAFBBGsiAygCACIESQRAA0ACQCADIgFBBGogBDYCACAAIAFGDQAgAiABQQRrIgMoAgAiBEkNAQsLIAEgAjYCAAsLTQEBfyMAQTBrIgEkACABQQE2AgwgAUHI7sAANgIIIAFCATcCFCABIAFBL2qtQoCAgICACYQ3AyAgASABQSBqNgIQIAFBCGogABC6HQALTQEBfyMAQTBrIgEkACABQQE2AgwgAUHs7sAANgIIIAFCATcCFCABIAFBL2qtQoCAgICQCYQ3AyAgASABQSBqNgIQIAFBCGogABC6HQALTAECfyAAQf8BcUEDRgRAIAEoAgAhACABKAIEIgMoAgAiAgRAIAAgAhEBAAsgAygCBCICBEAgACACIAMoAggQ0RELIAFBDEEEENERCwtZAQF/IAEoAgwhAgJAAkACQAJAIAEoAgQOAgABAgsgAg0BQQEhAUEAIQIMAgsgAg0AIAEoAgAiASgCBCECIAEoAgAhAQwBCyAAIAEQsAYPCyAAIAEgAhC+FQtPAQJ/IwBBEGsiAiQAIAJBCGpBAUEBEJsZIAIoAggiA0UEQEEBQQEQ3CkACyAAQQE2AgggACADNgIEIABBATYCACADIAE6AAAgAkEQaiQAC1EBAX8jAEEQayICJAAgAiAAQQhqNgIMIAFB14vEAEEJQb6dxABBAyAAQTlB4IvEAEEHIABBDGpBD0Hni8QAQQ4gAkEMakEhEOIKIAJBEGokAAtUAQF/IwBBEGsiAiQAIAIgAEGMA2o2AgwgAUHHgcQAQQVBxIvEAEEIIABBkgFBzIvEAEELIABBMGpBkwFBvIHEAEELIAJBDGpBIRDiCiACQRBqJAALWQEBfyABKAIMIQICQAJAAkACQCABKAIEDgIAAQILIAINAUEBIQFBACECDAILIAINACABKAIAIgEoAgQhAiABKAIAIQEMAQsgACABELAGDwsgACABIAIQjhELTwECfyMAQRBrIgMkACADQQhqIAJBBEEIEPkUIAMoAgghBCADKAIMIAEgAkEDdBD8BiEBIAAgAjYCCCAAIAE2AgQgACAENgIAIANBEGokAAtPAQJ/IwBBEGsiAyQAIANBCGogAkEBQQIQ+RQgAygCCCEEIAMoAgwgASACQQF0EPwGIQEgACACNgIIIAAgATYCBCAAIAQ2AgAgA0EQaiQAC00BAn8jAEEQayIBJAAgACgCECICBEAgAUEEaiAAKAIEIAAoAgggAkEBahDqDSAAKAIMIAEoAgxrIAEoAgQgASgCCBCyJAsgAUEQaiQAC1kBAX8gASgCDCECAkACQAJAAkAgASgCBA4CAAECCyACDQFBASEBQQAhAgwCCyACDQAgASgCACIBKAIEIQIgASgCACEBDAELIAAgARCwBg8LIAAgASACEMgVC08BAX8jAEEQayIEJAAgBEEEaiABIAIgAxCiCyAEKAIIIQEgBCgCBEUEQCAAIAQoAgw2AgQgACABNgIAIARBEGokAA8LIAEgBCgCDBDcKQALWwEBfwJAAkACQAJAAkAgACgCACIBQQdrQQAgAUEITxsOBAABAgMECyAAEIEODwsgACgCBCAAKAIIENYpDwsgACgCBCAAKAIIEOApDwsgACgCBCAAKAIIEPMpCwtMAQN/IAEhAyACIQQgASgCiAIiBQRAIAEvAZADIQQgAkEBaiEDCyABQcgDQZgDIAIbQQgQ0REgACAFNgIAIAAgA60gBK1CIIaENwIEC5QBAQN/IAEoAgwhAgJAAkACQAJAIAEoAgQOAgABAgsgAg0BQQEhAUEAIQIMAgsgAg0AIAEoAgAiASgCBCECIAEoAgAhAQwBCyAAIAEQsAYPCyMAQRBrIgMkACADQQhqIAIQyhQgAygCCCEEIAMoAgwgASACEPwGIQEgACACNgIIIAAgATYCBCAAIAQ2AgAgA0EQaiQAC1IBAX9B+JbkAC0AABpBIBBgIgNFBEAACyADIAE2AgQgAyAANgIAIAMgAikDADcDCCADQRBqIAJBCGopAwA3AwAgA0EYaiACQRBqKQMANwMAIAMLUQAgACABKQGqAjcBBCAAQRlqIAFBvwJqKQAANwAAIABBFGogAUG6AmopAQA3AQAgAEEMaiABQbICaikBADcBACABQShqIAIQ0AggACABNgIAC0oBAX8jAEFAaiIBJAAgAUEYaiAAQRBqKQMANwMAIAFBEGogAEEIaikDADcDACABQRo2AgAgASAAKQMANwMIIAEQ2CggAUFAayQAC0oBAX8jAEFAaiIBJAAgAUEUaiAAQRBqKAIANgIAIAFBDGogAEEIaikCADcCACABQRk2AgAgASAAKQIANwIEIAEQ2CggAUFAayQAC0oBAX8jAEFAaiIBJAAgAUEUaiAAQRBqKAIANgIAIAFBDGogAEEIaikCADcCACABQRY2AgAgASAAKQIANwIEIAEQ2CggAUFAayQAC0oBAX8jAEFAaiIBJAAgAUEUaiAAQRBqKQIANwIAIAFBDGogAEEIaikCADcCACABQR02AgAgASAAKQIANwIEIAEQ2CggAUFAayQAC1kBAX8gASgCDCECAkACQAJAAkAgASgCBA4CAAECCyACDQFBASEBQQAhAgwCCyACDQAgASgCACIBKAIEIQIgASgCACEBDAELIAAgARCwBg8LIAAgASACEJwWC08BAX8jAEEQayICJAAgAkEEaiABQQFBARCiCyACKAIIIQEgAigCBEUEQCAAIAIoAgw2AgQgACABNgIAIAJBEGokAA8LIAEgAigCDBDcKQALWwACQCACIANB5bngAEEFEOMfRQRAIAIgA0HfteAAQQcQ4x8NASACIANB5rXgAEEGEOMfRQRAIABBBjoAAA8LIABBgDw7AQAPCyAAQYICOwEADwsgAEGAPjsBAAtbAAJAIAIgA0GAuuAAQQYQ4x9FBEAgAiADQau14ABBCBDjHw0BIAIgA0HOtuAAQQcQ4x9FBEAgAEEGOgAADwsgAEGAKjsBAA8LIABBgho7AQAPCyAAQYASOwEAC08BAX8jAEEQayIDJAAgA0EEaiABQQggAhCiCyADKAIIIQEgAygCBEUEQCAAIAMoAgw2AgQgACABNgIAIANBEGokAA8LIAEgAygCDBDcKQALVAEBfyMAQRBrIgIkACACIABBEGo2AgwgAUHI/9kAQQNB79bgAEEEIABBCGpB+wBBxN7gAEEFIABByQNBwJTaAEEDIAJBDGpB5AMQ4gogAkEQaiQAC1kBAX8gASgCDCECAkACQAJAAkAgASgCBA4CAAECCyACDQFBASEBQQAhAgwCCyACDQAgASgCACIBKAIEIQIgASgCACEBDAELIAAgARCwBg8LIAAgASACELYRC1QBAX8jAEEQayICJAAgAiAANgIMIAFBiITaAEEJQe/W4ABBBCAAQQxqQfsAQeSQ2gBB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ACgCCEEGdCECIAAoAgQhAwNAIAIEQCADIAEQuiYgAkFAaiECIANBQGshAwwBCwsgAEEMaiABEMYaIABBGGogARCgJAtKAQN/IAAoAgAiAgRAIAAoAgQiAygCACIBBEAgAiABEQEACyADKAIEIgEEQCACIAEgAygCCBDREQsgACgCDCAAKAIIKAIMEQEACwtOACABKAIEIAEoAgggAkGEhcAAELAfIQIgACADQQFxBH8gASgCECABKAIUIARBlIXAABCxH0EFagUgAgsoAAAiATYCBCAAIAFBAEc2AgALPQEBfyABIAJBAWoiBEsEQCAAIARBAnRqIAAgAkECdGogAkF/cyABakECdBDQLRoLIAAgAkECdGogAzYCAAtQAAJ/AkACQCACRQRAIAEoAtACIgFFDQEMAgsgASgC1AIiAQ0BQQAQziYhAUEBDAILQQEQziYhAUEBDAELQQALIQIgACABNgIEIAAgAjYCAAtSAQJ/IwBBEGsiASQAQdD54wBB0PnjACgCACICQQFqNgIAIAFBwAAQyQogAEEIaiABQQhqKQIANwIAIAAgASkCADcCACAAIAI2AhAgAUEQaiQAC0wBAn8jAEEQayIDJAAgA0EIaiACQQFBARC5FCADKAIIIQQgAygCDCABIAIQ/AYhASAAIAI2AgggACABNgIEIAAgBDYCACADQRBqJAALTAECfyMAQRBrIgIkACACQQhqIgMgAUEIaigCADYCACACIAEpAgA3AwAgAhDKCiAAQQhqIAMoAgA2AgAgACACKQMANwIAIAJBEGokAAtDAQJ/IwBBEGsiBCQAIARBBGoiBSABIAIQwRUgBSADEM0HIABBCGogBEEMaigCADYCACAAIAQpAgQ3AgAgBEEQaiQAC0sBAn8jAEEQayIDJAAgA0EIaiACELoUIAMoAgghBCADKAIMIAEgAkECdBD8BiEBIAAgAjYCCCAAIAE2AgQgACAENgIAIANBEGokAAtKAQN/IAAoAgghAiAAKAIEIgMhAQNAIAIEQCABKAIAIAFBBGooAgAQ1ikgAkEBayECIAFBDGohAQwBCwsgACgCACADQQRBDBDLIgtHACAAKAK4AiAAKALIAkEUbCAAKALUAkECdGogACgCvAIiACgCEEEDdGogACgCHEEFdGogACgCKEEMbGogACgCLGpqQYADagtPAQF/IwBB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BCIBa0EEdiECA0AgAgRAIAEpAwAQ8RogAkEBayECIAFBEGohAQwBCwsgACgCCCAAKAIAEOopC0IBAn8gAEEAOgA5IAEoAjhBDGwhAiABKAI0IQMDQCACBEAgAyAAENQrIAJBDGshAiADQQxqIQMMAQsLIAEgABDFEQs/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARCqFAsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCAAIAEQxhELIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABEMgRCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARCrFAsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCAAIAEQrRQLIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABEKkRCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAEgABCvCQsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCAAIAEQrhQLIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABEK8UCyAAQShqIQAgAkEoayECDAELCwtMAAJAAkACQAJAIAAoAgBBAWsOAwECAwALIAApAwggACgCGCABELgcDwsgAEEEaiABEJEVDwsgAEEEaiABEOslDwsgAEEEaiABELwLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABELEUCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARCrEgsgAEEoaiEAIAJBKGshAgwB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A0EQaiQACz4BAX8jAEEQayIDJAAgA0EMaiACQQhqKAIANgIAIANBBjYCACADIAIpAgA3AgQgACABIAMQ5wggA0EQaiQAC0MBAn8gACgCECAAKAIUIAFB7JjEABCvHygCACIDIAAoAhhJBH8gACgCBCAAKAIIIANB/JjEABCvHygCACABRgUgAgsLQQEBf0EYEOMgIgJBEGogAUEQaikCADcCACACQQhqIAFBCGopAgA3AgAgAiABKQIANwIAIAAgAjYCBCAAQQA2AgALOgACQCACIANNBEBBACEDDAELIAEgA0EDdGoiASgCAEEIaiEDIAEoAgQhAgsgACACNgIEIAAgAzYCAAs8AQF/IwBBEGsiAiQAIAIgACgCACIANgIMIAFB3NPYAEEQIABBDGpB+wAgAkEMakGcARCtCiACQRBqJAALPAEBfyMAQRBrIgIkACACIAAoAgAiAEEMajYCDCABQdDE2ABBByAAQeMBIAJBDGpBpAIQrQogAkEQaiQACzsBAX8gACgCACgCACICKQMAIAAoAgQoAgAgAUEEdGtBEGsiACkDAIUgAkEIaikDACAAQQhqKQMAhYRQC0UBAX9BnJDkACgCACIBRQRAQeTH4ABByAAQ/yoACyABEOkfIAFBCGooAgAgAUEMaigCACAAQbDI2AAQtB8oAgAgARDZHgs9AAJAIAAoAgAiACgCAEEDRwRAIAAQkxwMAQsgAEEQahCfAyAAQQRqEOQmIABBIGoQ5SYLIABBKEEIENERCzgBAX8gACgChAEiAUGAAU0EfyAAQQFqBSAAKAIEIQEgACgCCAsgAUUEQEEAQQBBqODfABCtEAALCywBAX8jAEEQayIBJAAgASAANgIMIAFBATYCCCABQQhqELkjIAFBEGokAEEACzIBAn8gAkEDdCECA0AgAiIDBEAgAkEIayECIAEgABCyCyABQQhqIQFFDQELCyADQQBHCzoBAX8jAEFAaiIBJAAgAUEMaiAAQQhqKQIANwIAIAFBIDYCACABIAApAgA3AgQgARDYKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGooAgA2AgAgAUEqNgIAIAEgACkCADcCBCABENgoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaikCADcCACABQRE2AgAgASAAKQIANwIEIAEQ2CggAUFAayQACzoBAX8jAEFAaiIBJAAgAUEMaiAAQQhqKQIANwIAIAFBMDYCACABIAApAgA3AgQgARDYKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGopAgA3AgAgAUEtNgIAIAEgACkCADcCBCABENgoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaigCADYCACABQSE2AgAgASAAKQIANwIEIAEQ2CggAUFAayQACzoBAX8jAEFAaiIBJAAgAUEQaiAAQQhqKQMANwMAIAFBLzYCACABIAApAwA3AwggARDYKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGopAgA3AgAgAUEsNgIAIAEgACkCADcCBCABENgoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaigCADYCACABQSM2AgAgASAAKQIANwIEIAEQ2CggAUFAayQAC0EAIAAQmBwgACgCACAAQQRqKAIAEJAqIABBDGoQ7CYgAEEYahD4JCAAKAI8ELkeIABBQGsQjycgAEHIAEEEENERC0EAIAAQmBwgACgCACAAQQRqKAIAEJAqIABBDGoQ7CYgAEEYahD4JCAAKAI8ELkeIABBQGsQkycgAEHIAEEEENERC0EAIAAQmBwgACgCACAAQQRqKAIAEJAqIABBDGoQ7CYgAEEYahD4JCAAKAI8ELkeIABBQGsQlycgAEHIAEEEENERCz0AAkAgACgCACIAKAIAQQNHBEAgABCAGwwBCyAAQRBqEL4CIABBBGoQ5CYgAEEgahCjJQsgAEEoQQgQ0RELPQACQCAAKAIAIgAoAgBBA0cEQCAAEIEbDAELIABBEGoQugMgAEEEahDkJiAAQSBqEKMlCyAAQShBCBDREQtBACAAEJgcIAAoAgAgAEEEaigCABCQKiAAQQxqEOwmIABBGGoQ+CQgACgCPBC5HiAAQUBrELcnIABByABBBBDREQtBACAAEJgcIAAoAgAgAEEEaigCABCQKiAAQQxqEOwmIABBGGoQ+CQgACgCPBC5HiAAQUBrEMUnIABByABBBBDREQtBACAAEJgcIAAoAgAgAEEEaigCABCQKiAAQQxqEOwmIABBGGoQ+CQgACgCPBC5HiAAQUBrEMsnIABByABBBBDREQtBAQF/IAAtACYhAiAAQQA6ACYg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rIvkACABQRhqKQMANwIAIAEgAzcDICADp0UNACACEIIICyABQUBrJABBnIvkACIBKAIABEBByPjBABDtFAALIAFBfzYCACABQQRqIAAQ4AsgASABKAIAQQFqNgIACzwAAkAgASACTQRAIAIgA00NASACIANBkMvfABCvEAALIAEgAkGQy98AELAQAAsgACACNgIEIAAgATYCAAs5AQF/IAAoAgAhACABKAIcIgJBEHFFBEAgAkEgcUUEQCAAIAEQ2ykPCyAAIAEQ1wwPCyAAIAEQ2AwLPgEEf0EBIQICQCAAQQRqIgMgASgCFCIEIAEoAhgiBRDkAg0AIAAoAgAgARDgBw0AIAMgBCAFEPAfIQILIAILQAECf0EBIQICQCAAQQRqIgMgASgCFCABKAIYEOQCDQAgACgCACABENspDQAgAyABKAIUIAEoAhgQ8B8hAgsgAgs3AQJ/IAAgAiABayICQQJ2IgMQtxMgACgCBCAAKAIIIgRBAnRqIAEgAhD8BhogACADIARqNgIICzABAX9BfyABIANHIAEgA0kbIgQEfyAEBSAAIAAgAUECdGogAiACIANBAnRqENEQCws6AQF/IwBBEGsiBCQAIARBCGogASACIAMQ9x0gBCgCDCEBIAAgBCgCCDYCACAAIAE2AgQgBEEQaiQAC0cBAX8gACgC6AIgACgC7AIQ1ikgACgCACIBQYCAgIB4RwRAIAEgACgCBBDWKQsgACgCvAJBgICAgHhHBEAgAEG8AmoQwR8LCzkBAX8CQCAALQAMIgFBA0YgAUECRnINACAAKAIAIgEgASgCACIBQQFrNgIAIAFBAUcNACAAELcOCws7AAJAIAEpAwBCAlIEQCAAKALwAkECRg0BIAAgARC0ESAAQcABaiABQYgFahC0EQsPC0GojcQAENopAAs6AQF/IwBBEGsiByQAIAdBCGogASACEL0fIAAgBygCCCADIAQgBSAGIAcoAgwoAiARCAAgB0EQaiQACzUBAX8jAEEQayICJAAgAiAAQQFqNgIMIAFBqovEAEEHIABBGCACQQxqQRIQrQogAkEQaiQACzMBA38gASgCACIEaCIDQR9NBEAgASAEQX4gA3dxNgIAQQEhAgsgACADNgIEIAAgAjYCAAtIAAJAAkACQAJAIAAoAgBBAmsOBgADAwMBAgMLIAAoAgQgACgCCBDg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IAEQ/CwgAkEMayECIABBDGohAAwBCwsLNAEBfyAAKAIIQQJ0IQIgACgCBCEAA0AgAgRAIAAgARCbLSACQQRrIQIgAEEEaiEADAELCws0AQF/IAAoAghBMGwhAiAAKAIEIQADQCACBEAgACABENoEIAJBMGshAiAAQTBqIQAMAQsLCzQBAX8gACgCCEEwbCECIAAoAgQhAANAIAIEQCAAIAEQ+AQgAkEwayECIABBMGohAAwBCwsLNAEBfyAAKAIIQQxsIQIgACgCBCEAA0AgAgRAIAAgARCbLSACQQxrIQIgAEEMaiEADAELCws0AQF/IAAoAghBDGwhAiAAKAIEIQADQCACBEAgACABEJwtIAJBDGshAiAAQQxqIQAMAQsLCzQBAX8gACgCCEEwbCECIAAoAgQhAANAIAIEQCAAIAEQmQUgAkEwayECIABBMGohAAwBCwsLNAEBfyAAKAIIQTBsIQIgACgCBCEAA0AgAgRAIAAgARDsAyACQTBrIQIgAEEwaiEADAELCws0AQF/IAAoAghBDGwhAiAAKAIEIQADQCACBEAgACABEK4tIAJBDGshAiAAQQxqIQAMAQsLCzQBAX8gACgCCEECdCECIAAoAgQhAANAIAIEQCAAIAEQvQMgAkEEayECIABBBGohAAwBCwsLNAEBfyABKAIIQShsIQIgASgCBCEBA0AgAgRAIAEgABDWCCACQShrIQIgAUEoaiEBDAELCws0AQF/IAAoAghBMGwhAiAAKAIEIQADQCACBEAgACABENEeIAJBMGshAiAAQTBqIQAMAQsLCzQBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAIAEQ6hcgAkEoayECIABBKGohAAwBCwsLNAEBfyAAKAIIQTBsIQIgACgCBCEAA0AgAgRAIAAgARDbBCACQTBrIQIgAEEwaiEADAELCws0AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgASAAEKQkIAJBKGshAiAAQShqIQAMAQsLCzQBAX8gACgCCEECdCECIAAoAgQhAANAIAIEQCAAIAEQsi0gAkEEayECIABBBGohAAwBCwsLNAEBfyAAKAIIQQxsIQIgACgCBCEAA0AgAgRAIAAgARCyLSACQQxrIQIgAEEMaiEADAELCws0AQF/IAAoAghBDGwhAiAAKAIEIQADQCACBEAg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AgggAUIENwIQIAFBCGogABC6HQALOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABB6MbgADYCCCAAQgQ3AhAgAEEIakHU98EAELodAAs6AQF/IwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHoxuAANgIIIABCBDcCECAAQQhqQdTH4AAQuh0ACzYBAX8gACABKAIIIgIgASgCAEkEfyABIAJBAUEBEOwLIAEoAggFIAILNgIEIAAgASgCBDYCAAszAQF/AkAgAEUNACABKAIAIgIEQCAAIAIRAQALIAEoAgQiAkUNACAAIAIgASgCCBDREQsLbwEDfyAAKAIIIgMgACgCAEYEQCMAQRBrIgIkACACQQhqIAAgACgCAEEBQQhBCBCfCCACKAIIIgRBgYCAgHhHBEAgBCACKAIMENwpAAsgAkEQaiQACyAAIANBAWo2AgggACgCBCADQQN0aiABOQMACzMBAX8gACgCCCICIAAoAgBGBEAgABDyFgsgACACQQFqNgIIIAAoAgQgAkECdGogATYCAAssAQF/AkAgAC0AAUEERw0AIAAtAAVBBEcNACAALQAADQAgAC0ACUUhAQsgAQsuAQF/IwBBEGsiAyQAIANBADYCDCADIAI6AAwgACABIANBDGoQ1iIgA0EQaiQACzoBAX8jAEEgayIAJAAgAEEANgIYIABBATYCDCAAQYj5wgA2AgggAEIENwIQIABBCGpBiPrCABC6HQALOgEBfyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABBiPnCADYCCCAAQgQ3AhAgAEEIakGY+sIAELodAAs9AQF/IABBBGohAQJAAkACQCAAKAIAQQFrDgMBAgIACyABKAIAQSRqIQEMAQsgASgCAEEsaiEBCyABKAIACzIBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBuJzEAEEMIAJBDGpB8wAQyAogAkEQaiQACzMBAX8gACgCCCIBIAAoAgBGBEAgABDnFgsgACABQQFqNgIIIAAoAgQgAUEDdGpCADcCAAszAQF/IAAoAggiASAAKAIARgRAIAAQ6hYLIAAgAUEBajYCCCAAKAIEIAFBAnRqQQA2AgALMAEBfyMAQRBrIgIkACACQQhqIAAgARC9HyACKAIIIAIoAgwoAigRBQAgAkEQaiQACygBAX8gASACSwR/IAAgAkEDdGoiACgCBCAAKAIAa0EBdkEBagUgAwsLMgEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUGUncQAQQogAkEMakGFARDICiACQRBqJAALMgEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUHAncMAQQkgAkEMakGMARDICiACQRBqJAALMgEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUHcysMAQQogAkEMakGhARDICiACQRBqJAALMQEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUH4ycMAQQ4gAkEMakENEMgKIAJBEGokAAsqAEF/IAAgAiABIAMgASADSRsQnBUiACABIANrIAAbIgBBAEcgAEEASBsLMgEBfyABKAIAIgIgASgCBEYEQCAAQSs2AgAPCyABIAJBHGo2AgAgACABQQhqIAIQ+SkLMwEBfyAAKAIIIgIgACgCAEYEQCAAEOcWCyAAIAJBAWo2AgggACgCBCACQQN0aiABNwIACzIBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBgZ3EAEETIAJBDGpBuAEQyAogAkEQaiQACzEBAX8jAEEQayICJAAgAiAAKAIANgIMIAFBmMjDAEEKIAJBDGpBOxDICiACQRBqJAALMgEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUHEnMQAQRggAkEMakG7ARDICiACQRBqJAALMQEBfyMAQRBrIgIkACACIAAoAgA2AgwgAUGencQAQRAgAkEMakE2EMgKIAJBEGokAAsyAQF/IwBBEGsiAiQAIAIgACgCADYCDCABQemcxABBDCACQQxqQb8BEMgKIAJBEGokAAsyAQF/IwBBEGsiAiQAIAIgACgCADYCDCABQdycxABBDSACQQxqQcMBEMgKIAJBEGokAAsxAQF/IwBBEGsiAiQAIAIgACgCADYCDCABQficxABBCSACQQxqQTYQyAogAkEQaiQACzABAn8gASgCACIDIAEoAgRJBEAgASADQQFqNgIAQQEhAgsgACADNgIEIAAgAjYCAAsuAQF/AkAgACABEPgeBH8gAUEMTQ0BIAAoAAkFIAILDwtBDSABQfjcwwAQrxAACzIBAX8jAEEQayICJAAgAiAAKAIANgIMIAFB9ZzEAEEDIAJBDGpBygEQyAogAkEQaiQACy8BAX8jAEEQayIDJAAgA0EIaiAAEJYM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CiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUHwkMMAQQcgAkEMakHuABDICiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUHKwcMAQRIgAkEMakHwABDICiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUHBncQAQQYgAkEMakHyABDICiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUG4jsMAQQkgAkEMakH2ABDICiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUHQncQAQQogAkEMakH9ABDICiACQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUH9kMMAQQ0gAkEMakGEARDICiACQRBqJAALLQEBfyAAIAEoAgBBAUYEfyAAQQRqQQAgASgCBCABKAIIEO0SQQEFIAILNgIACy8BAX8jAEEQayICJAAgAiAANgIMIAFBjYvEAEEHIAJBDGpBjwEQyAogAkEQaiQACy4BAX8jAEEQayICJAAgAiAANgIMIAFBpIvEAEEGIAJBDGpBEhDICiACQRBqJAALNAEBfyAAIAEoAggiAiABKAIASQR/IAEgAkEEEN4PIAEoAggFIAILNgIEIAAgASgCBDYCAAsxAQF/IwBBEGsiAyQAIAIgACABEOwIIANB/wE6AA8gAiADQQ9qQQEQ7AggA0EQaiQACysAIAEgA0sEQCABIAMgBBCuEAALIAAgAyABazYCBCAAIAIgAUEEdGo2AgALLwEBfyMAQRBrIgIkACACIAA2AgwgAUHQncQAQQogAkEMakGuARDICiACQRBqJAALMQEBfyABKAIAIgIgASgCBEYEQCAAQSs2AgAPCyABIAJBHGo2AgAgACABKAIIIAIQMAsrACABIANLBEAgASADIAQQrhAACyAAIAMgAWs2AgQgACACIAFBAXRqNgIACy8BAX8jAEEQayICJAAgAiABKQIANwIIIAAgAkEIaiIAEOQaIAAQ5R4gAkEQaiQACzABAX8jAEEQayIDJAAgAyABNgIMIAIgA0EMakEEEOwIIAIgACABEOwIIANBEGokAAsuAQF/IwBBEGsiAiQAIAIgADYCDCABQdj4wwBBCyACQQxqQTsQyAogAkEQaiQACyoBAX8gAkH///8/cSICIAEoAnxJBH8gAkF/IAAoAvwEdEF/c3FFBSADCwsuAQF/IwBBEGsiAiQAIAIgADYCDCABQbz4wwBBCiACQQxqQTYQyAogAkEQaiQACzABAX8gACgCCCEBIAAoAgQhAANAIAEEQCABQQFrIQEgABCIGCAAQdgAaiEADAELCwswAQF/AkAgACgCACABKAIARw0AIAAoAgQgASgCBEcNACAAKAIIIAEoAghGIQILIAILIgEBf0EBIABBwQBrQQZJIABBMGtBCkkgAEHhAGtBBklyGws7AQF/QYDAAyEBAkAgAEH/rwNGDQAgAEEBaiIBQYCwA3NBgIDEAGtB/4+8f0sNAEHswMcAENopAAsgAQsrACABIANLBEAgASADIAQQrhAACyAAIAMgAWs2AgQgACACIAFBGGxqNgIACysAIAEgA0sEQCABIAMgBBCuEAALIAAgAyABazYCBCAAIAIgAUEDdGo2AgALLgEBfyMAQRBrIgIkACACIAA2AgwgAUGAt9YAQRAgAkEMakE2EMgKIAJBEGokAAs2AQF+QfiW5AAtAAAaIAApAgAhAUEUEGAiAEUEQAALIABCADcCDCAAIAE3AgQgAEEBNgIAIAALPAACQAJAAkACQCAALQAADgcDAwMBAgADAAsgAEEEahCYBA8LIAAoAgQgACgCCBDWKQ8LIABBBGoQ3iYLCykBAn8jAEEQayIDJAAgA0EIaiIEIAAgASACEPIDIAQQ4BggA0EQaiQACywBAn8jAEEQayIBJAAgAUEIaiICIABBgbbgAEEEEO8kIAIQ4BggAUEQaiQACy0BAX8jAEEQayICJAAgAkEIaiAAEJYMIAEgAigCCCACKAIMEKoDIAJBEGokAAtKAQJ/IwBBEGsiAiQAIAJBADYCDCMAQRBrIgMkACADIAE3AwggAyAANwMAIAJBDGogA0EQEI0LIANBEGokACACNQIMIAJBEGokAAsvAQF/IwBBEGsiAiQAIAIgADYCDCABQYjC2ABBCSACQQxqQZQCEMgKIAJBEGokAAsuAQF/IwBBEGsiAiQAIAIgADYCDCABQezT2ABBByACQQxqQTsQyAogAkEQaiQACzcCAX8BfiAAKAIAIgFFBEBBAA8LEOUiIQAgASkCBCECIAEQ8RkhASAAIAI3AgQgACABNgIAIAALNwAgAEEgahCfAwJAAkACQCAAKAIADgIBAgALIABBBGoQnwMPCyAAKQMIEPEaDwsgACkDCBDxGgsvAQF/IAAoAgghASAAKAIEIQADQCABBEAgAUEBayEBIAAQyhMgAEEoaiEADAELCws3AQF/AkAgAC0ALEECRgRAIAAoAhgiARCVHCABQTBBCBDREQwBCyAAKQMYEPEaCyAAKQMAEPEaCy8BAX8gACgCCCEBIAAoAgQhAANAIAEEQCABQQFrIQEgABD6JCAAQShqIQAMAQsLCy8BAX8gACgCCCEBIAAoAgQhAANAIAEEQCABQQFrIQEgABDPISAAQTBqIQAMAQsLCy8BAX8gACgCCCEBIAAoAgQhAANAIAEEQCABQQFrIQEgABDSKCAAQUBrIQAMAQsLCy0AA0AgAQRAIABBEGopAwAQ6yYgACkDABDxGiABQQFrIQEgAEEgaiEADAELCwsvAQF/IAAoAgghASAAKAIEIQADQCABBEAgAUEBayEBIAAQ4wUgAEEwaiEADAELCws3ACAAQSBqENQoAkACQAJAIAAoAgAOAgECAAsgAEEEahDUKA8LIAApAwgQ8RoPCyAAKQMIEPEaCzQBA34gASkDACECIAEpAwghAxDVGCAAQQA2AhAgACADNwMIIABBADoAFCAAIAI3AwAQ8RoLLgEBfyMAQUBqIgIkACACIAE2AgggAiAANgIEIAJBMTYCACACENgoIAJBQGskAAswAQF/IwBBEGsiASQAIAFBCGogABCWDEHQ9NgAIAEoAgggASgCDBCGBCABQRBqJAALMAAgAAJ/IAEtAABFBEAgACABLQABOgABQQAMAQsgACABKQMIEPQaNwMIQQELOgAACzgBAX8gACABIAEoAgBBAnQiAkHU5OMAaigCAGooAgA2AgQgACABIAJBwOTjAGooAgBqKAIANgIACzABAX8jAEEQayIBJAAgAUEIaiAAEJYMQej02AAgASgCCCABKAIMEIYEIAFBEGokAAssAQF/IwBBEGsiAiQAIAIgATYCDCACIAA2AgggAkEIakEBEMwTIAJBEGokAAsrAQF/IwBBEGsiAiQAIAJBCGpB3wAgACABENgNIAIoAgggAkEQaiQAQQFGCywBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqQQIQzBMgAkEQaiQACzEAIAAgASkDCDcDACAAQRBqIAFBGGopAwA3AwAgAEEIaiABQRBqKQMANwMA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ACACQQFqNgIIIAAoAgQgAmogAToAAAsyAQF/IAAgAcBBAnQiAUHk3uMAaigCACICNgIAIAAgAiABQaze4wBqKAIAQQF0ajYCBAsqAANAIAEEQCAAKAIAIABBBGooAgAQriQgAUEBayEBIABBDGohAAwBCwsLMAEBfyAAKAIIIgIgACgCAEYEQCAAEPEXCyAAIAJBAWo2AgggACgCBCACaiABOgAACygBAn8jAEFAaiIBJAAQ5yIgASAAKAIAEFMgAUHAABD8BiABQUBrJAALMQAgACgCACIAKQMIEPEaIABBIGoQzB0gAEE4ahDtJiAAQSRqEO8mIABByABBCBDREQsqAQJ/IwBBMGsiAiQAIAJBCGoiAyABQSgQ/AYaIAAgAxCADCACQTBqJAALKgEBfyMAQUBqIgEkACABQQhqIAAQnBwgAUEaNgIAIAEQ2CggAUFAayQACyoBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqENYaIAJBEGokAAsoAQF/IwBBEGsiAiQAIAJBCGogACABEIQTIAIoAgggAkEQaiQAQQFGCycAIAEgAkYEf0EABSABLAAAIgJBAE4LIQEgACACOgABIAAgAToAAAsuACAALQAUQQJGBEAgACgCACIAQRhqEPccIAAQwxkgAEEwQQgQ0REPCyAAEMMZCyoBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqENoKIAJBEGokAAsnACAAQX8gAUEBa2d2QQAgAUECTxsiAUEBajYCBCAAIAFBf0c2AgALLgAgAC0AFEECRgRAIAAoAgAiAEEYahD6HCAAEMMZIABBMEEIENERDwsgABDDGQsvAAJAIAEoAgBBA0cNACAAIAFBBGoQlSEgASgCBCIBKAIAQRlHDQAgACABEMwBCwswACAALQAUQQJGBEAgACgCACIAQRhqEPwcIAApAwAQ8RogABCUKw8LIAApAwAQ8RoLOAEBfyAALQCcASECIABBAToAnAEgACABKAIAEK8JIABBADoAnAEgAUEEaiAAEPgsIAAgAjoAnAELMQAgABD6JiAAQQxqEOwmIABBGGoQ+CQgACgCPBC5HiAAQUBrENcnIABByABBBBDREQsoACABQThsIQEDQCABBEAgACACEKoRIAFBOGshASAAQThqIQAMAQsLCzUBA38gAS8BFCEC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ACAAKAIAIgAoAgBBA0cEQCAAEIkgDwsgAEEQahDfLSAAQQRqEMkZCywAA0AgAC0AFEECR0UEQCAAKAIAQRhqIQAMAQsLIAEgACkDACAAKAIQEIcbCycBAn8jAEFAaiIAJAAgAEEANgIIIABCDDcDACAAENgoIABBQGskAAs1AQF/IABBBGohAQJAAkACQCAAKAIAQQFrDgIBAgALIAEQ/C0PCyABKAIAEN0UDwsgARDyLQssACAAEPomIABBDGoQ7CYgAEEYahD4JCAAKAI8ENkoIABBQGsQjyggABCLKws6AQF/QRwQ4yAiAEEANgIIIABCgYCAgBA3AgAgAEHAn+MAKQMANwIMIABBFGpByJ/jACkDADcCACAACygAIAAgARCuLSAAKAIMIgAEQCABIABBDGooAgAgAEEQaigCABCYIAsLMgEBfyABKAIkIQIgAEEMaiABQQxqEIAdIABBADYCCCAAQoCAgICAATcCACAAIAI2AiQLMAAgASgCFCAALQAAQQJ0IgBB9KXjAGooAgAgAEHopeMAaigCACABKAIYKAIMEQMACzAAIAEoAhQgAC0AAEECdCIAQZim4wBqKAIAIABBjKbjAGooAgAgASgCGCgCDBEDAAswACABKAIUIAAtAABBAnQiAEGwpuMAaigCACAAQaSm4wBqKAIAIAEoAhgoAgwRAwALJQAgACABIAIoAghBAWtBeHFqQQhqIAMgBCAFIAYgAigCEBEIAAsnACACIANNBEAgAyACQfSrwAAQrRAACyAAIAEgA0EMbGopAgQ3AwALKgEBfyAAIAIQ6B8gACgCCCIDIAAoAgRqIAEgAhD8BhogACACIANqNgIICyoBAX8gACACENseIAAoAggiAyAAKAIEaiABIAIQ/AYaIAAgAiADajYCCAsjAQF/IwBBEGsiASQAIAFBCGogABCPCSABKAIMIAFBEGokAAuXAgEEfyAAIAAoAgAiAUEBazYCACABQQJxIAFBBElyRQRAAkAgACICKAIAIQADQCAAQQJxIAAiAUEESXINASACIABBAnIgAigCACIAIAAgAUYbNgIAIAAgAUcNAAsDQAJAIAFBfHEiBCEAA0AgACgCACIDBEACQCAEIAM2AgAgAUEBcUUEQCADKAIEIgAEQCAEIAA2AgAgAiACKAIAQX1xNgIADAULA0AgAiABQQFxIAIoAgAiACAAIAFGIgEbNgIAIAENBSAAIQEgAEEESQ0ACwwBCyACIAFBfXEgAigCACIAIAAgAUYiARs2AgAgAUUNAAwFCwUgACgCCCIDIAA2AgQgAyEADAELCyAAIQEMAQsLELIbAAsLCyoAAkAgACgCAEGJgMQARwRAIABB9ABqENomDAELIABBBGohAAsgABCTEQsqAQF/IAAgAhDzHiAAKAIIIgMgACgCBGogASACEPwGGiAAIAIgA2o2AggLLAACQCABQQJHBEAgACgCAEGAgICAeEYNASAAQQA2AhQLDwtBiI3EABDaKQALLAACQCABQQNHBEAgACgCAEGAgICAeEYNASAAIAIQqCMLDwtBmI3EABDaKQALKQEBfyABIAAoAggiAk8EQCABIAJB7K7DABCtEAALIAAoAgQgAUEMbGoLMAAgASgCFCAALQAAQQJ0IgBBwNjjAGooAgAgAEGo2OMAaigCACABKAIYKAIMEQMACysBAX8gASAAKALIAiICTwRAIAEgAkGwkMQAEK0QAAsgACgCxAIgAUEUbGoLKQAgACABaiwAAEEATgR/IAApAwBCgIGChIiQoMCAf4N6p0EDdgUgAQsLJQAgACABIAIoAghBAWtBeHFqQQhqIAMgBCAFIAYgAigCIBEIAAssAQF/QQEhAgJAIAFBgICAgHhGDQAgABD+EyABRg0AIAAQxhUgAUYhAgsgAgsnACABLQAQQQFxBEAgAxDaAwsgAgRAIAMQsggLIABBgICAgHg2AgALJgAgAkUEQEEBQQAgAxCuEAALIAAgAkEBazYCBCAAIAFBCGo2AgALIwAgACACQQdxIANBA3RyNgIEIAAgAkH4AXFBA3YgAXI2AgALMAAgASgCFCAALQAAQQJ0IgBBuL3YAGooAgAgAEGQvNgAaigCACABKAIYKAIMEQMACzAAIAEoAhQgAC0AAEECdCIAQdzg4wBqKAIAIABBuODjAGooAgAgASgCGCgCDBEDAAsgAQF/IAEgA08EfyACIAMgACABIANraiADEOMfBSAECwswAQJ+IAEpAwghAiABKQMAEPQaIQMgACABKQMQELIjNwMQIAAgAzcDACAAIAI3AwgLMAECfiABKQMQIQIgASkDABD0GiEDIAAgASkDCBD0GjcDCCAAIAM3AwAgACACNwMQCy8CAX4BfyABKQIAIQIgASgCCCEDIAAgAUEMahDwHDYCDCAAIAM2AgggACACNwIACy8CAX4BfyABKQIIIQIgARDwHCEDIAAgAUEEahDxGTYCBCAAIAM2AgAgACACNwIICy8CAX4BfyABKQIIIQIgARDwHCEDIAAgAUEEahD2EDYCBCAAIAM2AgAgACACNwIICyoAIAApAwggACkDGBCIKyAALQA0QQNHBEAgAEEgahDPGwsgACgCOBDVKAsqACAAKQMIIAApAxgQiCsgAC0ANEEDRwRAIABBIGoQzxsLIAAoAjgQ8yILLwACQAJAAkAgACgCAA4CAQIACyAAQQRqENooDwsgACkDCBDxGg8LIAApAwgQ8RoLKwEBfwJAAkACQCAAQQprDgQBAgIBAAsgAEGowABrQQJPDQELQQEhAQsgAQssAQF/IABBBGohASAAKAIAIgBBgICAgHhHBEAgACABKAIAENYpDwsgARD/IgssACAAKQMIEPEaIAAoAiAQuR4gAEE4ahDtJiAAQSRqEO8mIABByABBCBDREQsoAEEGIQEgACACIANBk7bgAEEFEOMfBH8gAEELOgABQQAFIAELOgAACygAQQYhASAAIAIgA0G2r+AAQQMQ4x8EfyAAQRI6AAFBAgUgAQs6AAALKABBBiEBIAAgAiADQeyK4ABBBBDjHwR/IABBJDoAAUEABSABCzoAAAsoAEEGIQEgACACIANB+bngAEEFEOMfBH8gAEEdOgABQQIFIAELOgAACyUAIABBCGoQ7yggAC0ANEEDRwRAIABBIGoQ+hwLIABBOGoQoyULJQAgAEEIahDvKCAALQA0QQNHBEAgAEEgahD3HAsgAEE4ahCjJQsoAAJAIAAtAChFBEAgAEEMaiABEIApDAELIABBLGohAAsgACABEJMfCyoBAX8DQCAAQRhqIQIgAC0ALEECR0UEQCACKAIAIQAMAQsLIAEgAhCBCQspACABIAAQ8SEgAEEgaiABEN4jIABB6ABqIAEQ4CwgAEHIAGogARDdIwspACABIAAQ8CEgAEEgaiABENwjIABB6ABqIAEQ3SwgAEHIAGogARDbIwsqACAAKQMIIAApAxgQiCsgAC0ANEEDRwRAIABBIGoQ/BwLIAAoAjgQ1SgLLQECfxD6IiEBEPoiIQIgAEEQakEAOgAAIABCADcCCCAAIAI2AgQgACABNgIACykAIAAtABRBAkYEQCAAKAIAIgAQ4ycgAEEwQQgQ0REPCyAAKQMAEPEaCy8AAkACQAJAIAAoAgAOAgECAAsgAEEEahCiKQ8LIAApAwgQ8RoPCyAAKQMIEPEaCygAIAAtABRBAkYEQCAAKAIAIgBCADcDECAAQRhqEJUeCyAAQgA3AwgLLgAgACgCCCIAQQRqKAIAIABBCGooAgBB2NffABCmIyIAKAIEIAAoAgggARDxKgsuACAAKAIUIgBBFGooAgAgAEEYaigCAEGs198AEKYjIgAoAgQgACgCCCABEPEqCzAAIAEoAhQgAC0AAEECdCIAQaTx4wBqKAIAIABBgPHjAGooAgAgASgCGCgCDBEDAAsvAAJAAkACQCAAKAIADgIBAgALIABBBGoQtCkPCyAAKQMIEPEaDwsgACkDCBDxGgskACACRQRAIAEEQCAAIAFBCBDREQtBCA8LIAAgAUEIIAIQ+QILJwEBfyMAQSBrIgIkACACQQg2AgggACABIAJBCGoQ3h8gAkEgaiQACycBAX8jAEEgayICJAAgAkEXNgIIIAAgASACQQhqEN4fIAJBIGokAAspACAAIAEQvCIgASAAQSBqEKQkIABB6ABqIAEQwy0gAEHIAGogARCdJAsmAQF/IAAtABQgAEEBOgAUIABBCGshAEUEQCAAEM4tDwsgABDzDgsjACABIANNBEAgACABNgIEIAAgAjYCAA8LIAEgAyAEEK8QAAsnACABIANHBEBBrKDAAEEoQdSgwAAQ7hcACyACIAAgAUECdBD8BhoLJgAgAUELTQRAIAAgATYCBCAAIAI2AgAPCyABQQtB5KDAABCvEAALHgEBf0EBQSAgAEEBcmdrQQF2IgF0IAAgAXZqQQF2CykAIAAoAgQgACgCCCAAIANB/wFxakFAay0AACACakG4gsQAEK8fKAIACyUAIAAoAgAgACgCBCIAKAIIQQFrQXhxakEIaiABIAAoAlARAgALJQAgACACIAMQpAogAEEQaiACQRBqIAMQpAogAkEIIAEgAxDMBwslACAAKAIAIAAoAgQiACgCCEEBa0F4cWpBCGogASAAKAIMEQIAC14BAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgACgCACIAKAIMIABBEGooAgAQ1ikCQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABBGEEEENERCwsLJwAgACgCAEGAgICAeEcEQCAAENYmIABBJGoQhRgPCyAAQQRqENYmCyEAIAEgA0cEQCABIAMgBBCzEAALIAAgAiABQQJ0EPwGGgsjACABIANNBEAgACABNgIEIAAgAjYCAA8LQQJBASAEEK8QAAsqAQJ/IAAoAgghASAAKAIEIQIgACgCAEUEQCACIAEQ4CkPCyACIAEQ8ykLJwAgAgRAQfiW5AAtAAAaIAIgARC9ISEBCyAAIAI2AgQgACABNgIACy4AIAEoAhRBk+LDAEH9zsMAIAAoAgAtAAAiABtBDUEDIAAbIAEoAhgoAgwRAwALIgEBfyAAEPcIBH8gABDgBSAAKAIAKAJQIAAoAghHBSABCwspAQF/IABBBCAAKAIAQf7///8HaiIBIAFBBE8bQQJ0QfDb4wBqKAIAagsjACACIAMgARCoFSEBIAAgA0EBazYCBCAAIAJBACABGzYCAAszAQF/QX8hAgNAIAJBAWohAiAAQs2Zs+bMmbPmTH4iAEK05syZs+bMmTNUDQALIAEgAk0LKQAgACAALQAEIAFBLkZyOgAEIAAoAgAiACgCFCABIAAoAhgoAhARAgALLAEBf0EBIQIgASgCFEGA0dgAQQIgASgCGCgCDBEDAAR/IAIFIAAgARCfGwsLIAAgASgCACACQWhsakEYayIAKQMAIABBCGopAwAQjxwLJQAgAiADIAFBARD7HSEBIAAgA0EBazYCBCAAIAJBACABGzYCAAsvAgF+AXwgASkDACECIAErAwghAyAAIAEpAxAQsiM3AxAgACADOQMIIAAgAjcDAAsqACAAIAEQswwgACABQQxqEJIcNgIMIAAgAS8BGDsBGCAAIAEpAhA3AhALKwEBfiABKQIYIQIgACABEKoNIABBDGogASgCECABKAIUEKoJIAAgAjcCGAslACAABEAgABCXHCAAKAIAIABBBGooAgAQjiogAEEUQQQQ0RELCy4CAX8BfhDlIiEBIAAoAgAiACkCBCECIAAQ8RkhACABIAI3AgQgASAANgIAIAELLQAgAC0AAEECdCIAQYzh4wBqKAIAIABBgOHjAGooAgAgASgCFCABKAIYEPUCCy0AIAAtAABBAnQiAEGk4eMAaigCACAAQZjh4wBqKAIAIAEoAhQgASgCGBD1AgstACAALQAAQQJ0IgBBlOLjAGooAgAgAEGw4eMAaigCACABKAIUIAEoAhgQ9QILLQAgAC0AAEECdCIAQbjj4wBqKAIAIABB+OLjAGooAgAgASgCFCABKAIYEPUCCy0AIAAtAABBAnQiAEGU5OMAaigCACAAQfjj4wBqKAIAIAEoAhQgASgCGBD1AgsrAQF/IAAoAgAhASAAQYGAxAA2AgAgAUGBgMQARgR/IABBBGoQ1hoFIAELCyIAA0AgAQRAIAApAwAQ8RogAUEBayEBIABBCGohAAwBCwsLJgAgAC0AqgJBAXFFBEAgAEEoaiABIAIgAxD9FBCAEw8LIAMQ7wYLLgAgASgCFEHlnOMAQeCc4wAgACgCAC0AACIAG0EMQQUgABsgASgCGCgCDBEDAAsuACABKAIUQZ6u4ABB4JzjACAAKAIALQAAIgAbQQdBBSAAGyABKAIYKAIMEQMACyoBAX8gACgCECIBKAIAIAFBBGooAgAQ2SkgAUEQQQQQ0REgAEEIahCZJQslACAAQQhqEO8oIAAtADRBA0cEQCAAQSBqEPccCyAAKAI4ENUoCyIAA0AgAQRAIAApAwAQ8RogAUEBayEBIABBEGohAAwBCwsLKQEBfyAALQA0BEAgAC8AOSECIABBgQI7ADkgASAAENcrIAAgAjsAOQsLKQEBfyAALQA0BEAgAC8AOSECIABBgQI7ADkgASAAEI4aIAAgAjsAOQsLKgEBfyAALwEkIQIgAEECOgAkIAFBMGogABCTGiABIAAQrRQgACACOwEkCy8AIAApAxAQ8RoCQAJAAkAgACgCAA4DAAIBAgsgACkDCBDxGg8LIABBBGoQtAILCykAA0AgAC0ALEECR0UEQCAAKAIYIQAMAQsLIAEgACkDGCAAKAIoEKsdCx4BAX8gACABEPEJBH8gAEEQaiABEPEJQQFzBSACCwsnACAALQCCA0EBcUUEQCAAQYABaiABIAIgAxD9FBCAEw8LIAMQ8wYLJQADQCAALQAUQQJHRQRAIAAoAgBBGGohAAwBCwsgASAAEPsFGgskACAALQA0QQNHBEAgAEEgaiABKAIkEM8eCyABIABBOGoQlCQLJAAgASgCJCAAQQhqEPsFGiABIABBIGoQsCYgASAAQSRqELAmCyoBAX8gAC0AKCECIABBAToAKCABQTBqIAAQxRogASAAENARIAAgAjoAKAskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBBBCkFwsLZgEBfyAAKAIAIgEgASgCACIBQQFrNgIAIAFBAUYEQCAAKAIAIgBBCGoQzSIgACgCFCAAQRhqKAIAENkpAkAgAEF/Rg0AIAAgACgCBCIBQQFrNgIEIAFBAUcNACAAQSxBBBDREQsLCyQAIAMgBUkEQCAFIANBuLjAABCvEAALIAAgASACIAUgBBD3AwsrACABKAIUQaDiwwBBk+LDACAALQAAIgAbQQ9BDSAAGyABKAIYKAIMEQMACyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABCOCQsLJwECfyABQQAQCiECIAFBARAKIQMgARDJJiAAIAM2AgQgACACNgIACyUBAX8gAEEAIAAtAAAiASABQQFGIgEbOgAAIAFFBEAgABDsDAsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEEQQwQrBcLCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBAUEBEKwXCwskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBHBCsFwsLIgAgAiADSQRAIAMgAiAEEK8QAAsgACADNgIEIAAgATYCAAssACABKAIAQYCAgIB4RgRAIABBgICAgHg2AgAPCyAAIAEoAgQgASgCCBD3EwskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBIBCsFwsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEEQQgQrBcLCxwBAX8gASADRgR/IAAgAiABQQJ0EJwVRQUgBAsLHwAgAQRAIAAoAgAgAW4gAWpBAXYPC0H0s8IAEKUbAAt6AQJ/IAAoAgAiASABKAIAIgFBAWs2AgAgAUEBRgRAAkAgACgCACIAKAIQQQFHDQAgACgCFCIBQQA6AAAgACgCGCICRQ0AIAEgAkEBENERCwJAIABBf0YNACAAIAAoAgQiAUEBazYCBCABQQFHDQAgAEEgQQgQ0RELCwslAQF/IAAoAgAiASABKAIAIgFBAWs2AgAgAUEBRgRAIAAQ+w0LCyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABC3DgsLJQEBfyAAKAIAIgEgASgCACIBQQFrNgIAIAFBAUYEQCAAEJ8VCwsrAQJ/IAAoAgAiAUGAgICAeEcEQCAAKAIEIgIgACgCCBDfHCABIAIQ6CkLCyMBAX8gACgCCCICIAFPBEAgACABNgIIDwsgACABIAJrEOgOCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBBEEcEMAXCwspACAAQQxqIAEQgxggAEE8aiABEIMYIABBADYCCCAAQoCAgIDAADcCAAspACAAQgA3AhQgAEKAgICAwAA3AgwgAEIENwIEIAAgAUECRkEfdDYCAAsiACACQQNPBEAgAkECIAMQrxAACyAAIAI2AgQgACABNgIACyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABC/FAsLIwAgACgCACAAKAIEIgAoAghBAWtBeHFqQQhqIAAoAkARBQALJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEEQQwQpBcLCyMBAX8gACgCCCICIAFPBEAgACABNgIIDwsgACABIAJrEO4MCyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABD1FwsLJwEBfyAAQQQQ8x4gACgCCCIBIAAoAgRqQQA2AAAgACABQQRqNgIICyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBAUEBEMAXCwskAQF/IwBBEGsiAiQAIAJCADcCACAAIAEgAhDnCCACQRBqJAALHQAgASACSwRAIAAgAkECdGoPCyACIAEgAxCtEAALIAAgASACSwRAIAAgAkECdGoPCyACIAFB0L7DABCtEAALJwEBf0EMQQQQoSAiAUEIaiAAQQhqKAIANgIAIAEgACkCADcCACABCyAAIAEEQCAALQAAQQJxQQF2DwtBAEEAQdjbwwAQrRAACygAIAFBuNrDAEEJEO0dIABBCGogAUEIaigCADYCACAAIAEpAgA3AgALJwAgAEEEaigCACAAQQhqKAIAQYjdwwAQpiMiACAALQAAQQFyOgAACysAIAFBkAFqKAIAIAFBlAFqKAIAIAJB////P3EgACgC/AR2QdzvwwAQsh8LIAAgASACSwRAIAAgAkECdGoPCyACIAFB3JLEABCtEAALJwACQCABQQFxRQRAIAIoAgBBhoDEAEkNAQsgAxCwIAsgAEEiNgIACyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBBEEIEMAXCwskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQFBAhDAFwsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEEQQwQwBcLCx8AA0AgAQRAIAFBAWshASAAEPEeIABBCGohAAwBCwsLKwECfyAAKAIAIgFBgICAgHhHBEAgACgCBCICIAAoAggQ7hwgASACEN0pCwsrAQJ/IAAoAgAiAUGAgICAeEcEQCAAKAIEIgIgACgCCBCBHyABIAIQ4CkLCx0AIAAgAUF0bGoiAEEMaygCACAAQQhrKAIAELYKCyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABDVCwsLJQEBfyAAKAIAIgEgASgCACIBQQFrNgIAIAFBAUYEQCAAEOoPCwsmAQF+IAEpAyAhAiAAIAEQzCEgAEEQaiABQRBqEMwhIAAgAjcDIAsmAQF+IAEpAyghAiAAQTBqIAFBMGoQygsgACABEN8EIAAgAjcDKAseAQF/IAAoAgBBGkYEfyAAQQhqIAEgAhDKGwUgAwsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEEQQQQwBcLCx8AA0AgAQRAIAFBAWshASAAEOcmIABBDGohAAwBCwsLHwADQCABBEAgAUEBayEBIAAQtgYgAEEEaiEADAELCwslACABKQMAUEUEQCAAIAEQnBwPCyAAQQI6ABQgACABKAIINgIACx8AA0AgAQRAIAFBAWshASAAEIknIABBDGohAAwBCwsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEIQTgQwBcLCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBCEEwEMAXCwslACABIAJLBEAgASACQZDL3wAQsBAACyAAIAI2AgQgACABNgIACysAQYS74ABB+rrgACAAKAIALQAAIgAbQQtBCiAAGyABKAIUIAEoAhgQ9QILJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEIQRAQwBcLCyEAIABBIGogARDUKyAAKAIAQQJGBEAgAEEEaiABENQrCwskAANAIAAtABRBAkdFBEAgACgCAEEYaiEADAELCyAAIAEQjw8LIwAgABC4EiIAp0G5893xeWxBBXcgAEIgiKdzQbnz3fF5bK0LIQAgAEEgaiABEMAsIAAoAgBBAk8EQCAAQQRqIAEQwCwLCyEAIABBIGogARDDLCAAKAIAQQJGBEAgAEEEaiABEMMsCwshACAAQSBqIAEQzCwgACgCAEECRgRAIABBBGogARDMLAsLIQAgAEEgaiABEMssIAAoAgBBAkYEQCAAQQRqIAEQyywLCyEAIAFBIGogABDNLCABKAIAQQJGBEAgAUEEaiAAEM0sCwsiAQF+IAApAwAiAVAEQCAAQQhqEPwcDwsgASAAKQMQEIgrCyEAIABBIGogARD7LCAAKAIAQQJPBEAgAEEEaiABEPssCwshACAAQSBqIAEQ/iwgACgCAEECTwRAIABBBGogARD+LAsLIQAgAEEgaiABEP0sIAAoAgBBAk8EQCAAQQRqIAEQ/SwLCyEAIABBIGogARD8LCAAKAIAQQJPBEAgAEEEaiABEPwsCwshACAAQSBqIAEQmy0gACgCAEECTwRAIABBBGogARCbLQsLKAACQCAAQQNHDQAgAi0ABSABmUQAAAAAAADwf2JyDQAgAkEAOgAECwslACAAQQE2AgQgACABKAIEIAEoAgBrQQxuIgE2AgggACABNgIACyUAIABBATYCBCAAIAEoAgwgASgCBGtBGG4iATYCCCAAIAE2AgALJQEBfyAAKAIAIgEgASgCACIBQQFrNgIAIAFBAUYEQCAAEIwYCwsfAANAIAEEQCABQQFrIQEgABDpCSAAQShqIQAMAQsLCx0AIAAgAUFobGoiAEEYaykDACAAQRBrKAIAEKscCyYAIAEoAhggABC2FSABLQAUQQJHBEAgACABKQMAIAEoAhAQjBILCyEAIABBIGogARCyLSAAKAIAQQJPBEAgAEEEaiABELItCwsmACABKAIYIAAQugggAS0AFEECRwRAIAAgASkDACABKAIQEIwSCwshACABQSBqIAAQtS0gASgCAEECRgRAIAFBBGogABC1LQsLIQAgAEEgaiABELQtIAAoAgBBAk8EQCAAQQRqIAEQtC0LCyEAIABBIGogARCuLSAAKAIAQQJPBEAgAEEEaiABEK4tCwslACAAQQRqKAIAIABBCGooAgAgAiABKAIAdkH4kMAAEK8fKAIACxwAIAEgAk0EQCACIAEgAxCtEAALIAAgAkECdGoLHAAgASACTQRAIAIgASADEK0QAAsgACACQRRsagscACABIAJNBEAgAiABIAMQrRAA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gBEgAEEoQQgQ0RELFQAgACgCACIAEIsFIABBDEEEENERCxUAIAAoAgAiABDzBCAAQQxBBBDREQsVACAAKAIAIgAQjAUgAEEMQQQQ0RELEwAgACABEOMsIABBBGogARDNLAsXACAAKQMAIAAtABQQtSMgACgCGBC9GAsSACAALQAIQQVGBEAgABCKKQsLFQAgACgCACIAEI0FIABBDEEEENERCxUAIAAoAgAiABCgEiAAQShBCBDREQsVACAAKAIAIgAQ0AUgAEEwQQgQ0RELEQAgACgCAARAIAAgARD4LAsLEgAgACgCAEETRwRAIAAQ0QULCxEAIAAoAgAiAARAIAAQjBsLCxEAIAAoAhgiAARAIAAQgwYLCxYAIAAoAgBBgICAgHhHBEAgABCOGwsLEgAgACgCAEEHRwRAIAAQ6RMLCxMAIAAgARD+LCAAQQRqIAEQ0wMLEwAgACABEP4sIABBBGogARCLLQsTACAAIAEQgC0gAEEEaiABEP4sCxMAIABBMGogARCpGiAAIAEQqhELEQAgACgCAARAIAAgARD+LAsLEwAgACABELAaIAEgAEEMahDpJQsRACABKAIABEAgASAAEIstCwsSACAAKAIAQQdHBEAgABCiEgsLFQAgACgCACIAEKISIABBKEEIENERCxYAIAAoAgBBgICAgHhHBEAgABCkCQsLEgAgACgCAEEHRwRAIAAQhhELCxIAIAAoAgBBB0cEQCAAEOoTCwsVACAAKAIAIgAQ0QUgAEEwQQgQ0RELFwAgACkDACAALQAUELUjIAAoAhgQvxgLFQAgACgCACIAEIIRIABBKEEIENERCxUAIAAoAgAiABCOBSAAQQxBBBDREQsRACABKAIABEAgASAAEIotCwsRACABKAIABEAgASAAENMDCwsTACAAIAEQgC0gAEEUaiABEPAjCxEAIAAoAgAiAARAIAAQjxsLCxIAIABBIGoQ3icgAEEkahDeJwsVACAAKAIAIgAQ9AQgAEEMQQQQ0RELFQAgACgCACIAEI8FIABBDEEEENERCxcAIAApAwAgAC0AFBC1IyAAKAIYEP4cCxUAIAAoAgAiABDXBSAAQTBBCBDREQsVACAAKAIAIgAQ9QQgAEEMQQQQ0RELFQAgACgCACIAEIMRIABBKEEIENERCxMAIAAgARCFLSAAQQRqIAEQ/SwLEwAg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Qp7sxIjmq5/Dh383AwggAEKDzfm7tpbBqFM3AwALEQAgACgCFC0ATBCwKUH/AXELEQAgACgCACIAEN4EIAAQiSsLDwAgABD4CyAAQThqELQpCw8AIABBIGoQtCkgABCZHgsRACAAKAIAIgAQsh0gABCSKwsPACAAELQpIABBBGoQvQULDwAgABCHJyAAQRRqEI8oCw8AIAAQiCcgAEEUahCPKAsPACAAEKMmIABBFGoQjygLDwAgACABQQAgAiACEIYHCxEAIAAgAiABKAIAKAIAENQDCxAAIAAgAiABKAIAKAIAEGELEgAgACgCABDaByAAKAIEENoHCwkAIAAgARC5IgsPACAAEOIWIABBIGoQ0CkLIgAgAEKN3+Lb25j2yIh/NwMIIABCtMGymvbrpbTGADcDAAsTACAAQQ02AgQgAEHG0+AANgIACxMAIABBKDYCBCAAQaTP4AA2AgALIQAgAEK4h5nDq+GknDE3AwggAEK50ILmgbedrdUANwMACxMAIABBHzYCBCAAQafT4AA2AgALIgAgAELDjtHY8PH8kuoANwMIIABC3YHgytDyyNryADcDAAshACAAQvvi0Y3g2ZSkDzcDCCAAQqz/qZjKrojwzAA3AwALHwAgAEKlt6iw9LLgRjcDCCAAQvSN5o+b7figBzcDAAshACAAQqHqw6jImIWvqH83AwggAEKTm/rvsOqY42E3AwALEAAgABC2JiAAQTBBBBDREQsQACAAEJwkIABBOEEEENERCxMAIABB3NTgADYCBCAAIAE2AgALEwAgAEGY1eAANgIEIAAgATYCAAsfACAAQo6h7Z7+iefBETcDCCAAQvbP7rqIjPV3NwMACxEAIAAoAgAiABDCAiAAEIkrCw8AIAAQ0CkgAEEEahD6BAshACAAQpSw3o7wlbnsJzcDCCAAQoPqtPO82uiE/wA3AwALDwAgAEEMahDsCiAAEIknCw8AIAAQ4AIgAEEEahCUBQsPACAAEMYmIABBFGoQoigLDQAgACABQQFBARDLIgsPAEH4luQALQAAGiAAEGALzhIBEH8gACEEIwBBsAFrIgMkACACQQA2AgACQAJAAkAgASIAKAIAIgUgASgCBCIJSw0AIAJBBGohBwJAAkACQCAEKAI8IggEQCABLQAQQQFHDQELAkACQCACKAIQRQRAIARB3AJB2AIgAC0A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IAQoAtQCTQ0BDAMLIAYgAykC7AE3AgQgBiAHNgIAIAZBDGogA0H0AWooAgA2AgAMCwsgA0HgAGogBCABEJ0gIAMgAykDYDcC4AEgA0HYAGogA0HgAWpBABCMECADKAJYQQFxRQ0LQQEhByADQewBaiADKAJcIgAgBUEBaiILIBAoAgAgDygCACAAQZCFxAAQrx8oAgBrIAsQ4xIMAQsgCSAIQeSqwAAQrRAACyAFQQFqIQUMAAsACyAGAn8CQAJAIAQoAtgCIgFFDQAgASAEKALUAksNACADQdAAaiAEIAEQnSAgAyADKQNQNwLgASADQcgAaiADQeABakEAEIwQIAMoAkhBAXFFDQogA0HsAWogAygCTCIAIAUgBEE0aigCACAEQThqKAIAIABBkIXEABCvHygCAGsgBRDjEgwBCyACKAIMIgcgBSAFIAdJGyEIIARByABqIQsgAigCCCENIARBCGohAiAEQQRqIQkgBEEgaiEOIARBHGohDwNAIAUgDEYEQCAGQQA2AgAMCgsCQCAFIAhHBEAgCyAFIA1qLQAAIgpqIRAgASEAA0ACQAJ/IAkoAgAgAigCACAAQdiAxAAQsB8oAgQiAQRAIA8oAgAgDigCACABIBAtAABqQeiAxAAQrx8oAgAMAQsgA0FAayAEIAAQnCAgAyADKQNANwKEAgNAIANB4AFqIANBhAJqEIEPIAMtAOABRQ0CIAMtAOEBIgEgCkkNAAsgASAKRw0BIAMoAOIBCyIBQQFHDQMLIAkoAgAgAigCACAAQYCFxAAQsB8oAgwhAAwACwALIAggB0HkqsAAEK0QAAsCQCABIAQoAtACSw0AQQAgAUUNAxogASAEKALUAksNACADQThqIAQgARCdICADIAMpAzg3AuABIANBMGogA0HgAWpBABCMECADKAIwQQFxBEAgA0HsAWogAygCNCIAIAVBAWoiASAEQTRqKAIAIARBOGooAgAgAEGQhcQAEK8fKAIAayABEOMSDAMLDAsLIAVBAWohBQwACwALIAYgAykC7AE3AgQgBkEMaiADQfQBaigCADYCAEEBCzYCAAwGCwJAIAQoAtgCIgFFDQAgASAEKALUAksNACADQagBaiAEIAEQnSAgAyADKQOoATcC7AEgA0GgAWogA0HsAWpBABCMECADKAKgAUEBcUUNByADQeABaiADKAKkASIAIAUgBEE0aigCACAEQThqKAIAIABBkIXEABCvHygCAGsgBRDjEiAGQQE2AgAgBkEMaiADQegBaigCADYCACAGIAMpAuABNwIEDAYLIANB7AFqIAAgBEFAayILKAIAIAIoAggiCCACKAIMIgcgBSAMEOYdAkACQAJAIAMoAuwBIgBBAWsOAgEAAgsgBEHIAGohDSADKALwASECIARBCGohCSAEQQRqIQogBEEgaiEOIARBHGohDwNAIAwgAiIFTQRAIAZBADYCAAwJCwJAIAUgB0kEQCANIAUgCGotAAAiAmohECABIQADQAJAAn8gCigCACAJKAIAIABB2IDEABCwHygCBCIBBEAgDygCACAOKAIAIAEgEC0AAGpB6IDEABCvHygCAAwBCyADQZgBaiAEIAAQnCAgAyADKQOYATcChAIDQCADQewBaiADQYQCahCBDyADLQDsAUUNAiADLQDtASIBIAJJDQALIAEgAkcNASADKADuAQsiAUEBRw0DCyAKKAIAIAkoAgAgAEGAhcQAELAfKAIMIQAMAAsACyAFIAdB5KrAABCtEAALAkAgASAEKALQAksNACABBEACQCAEKALUAiABTwRAIANBkAFqIAQgARCdICADIAMpA5ABNwLsASADQYgBaiADQewBakEAEIwQIAMoAogBQQFxDQEMDQsgA0HsAWogBCgCPCALKAIAIAggByAFIAwQ5h0gA0GAAWogAygC7AEgAygC8AEQvCEgAygCgAFFBEAgBkEANgIADAwLIAMoAoQBIgIgBUsNAwwCCyADQeABaiADKAKMASIAIAVBAWoiASAEQTRqKAIAIARBOGooAgAgAEGQhcQAEK8fKAIAayABEOMSIAZBATYCACAGQQxqIANB6AFqKAIANgIAIAYgAykC4AE3AgQMCgsgBkEANgIADAkLIAVBAWohAgwACwALIAYgAykC8AE3AgQgBkEMaiADQfgBaigCADYCAAsgBiAANgIADAULIAYgAykC8AE3AgQgBkEMaiADQfgBaigCADYCAAsgBiAANgIADAMLIARByABqIQ4gAygC8AEhAiAEQQhqIQogBEEEaiELIARBOGohDyAEQTRqIRAgBEEgaiERIARBHGohEgNAAkACQCAMIAIiBUsEQAJAIAUgCEkEQCAOIAUgCWotAAAiAmohEyABIQADQAJAAn8g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DQsgBCgCBCIAIAFLDQILIAFBAWohAAwBCwsgBEEQaiADQRBqKAIAIANBFGooAgAgBiADKAI8dkECa0HYgsQAELQfIgAoAgQgACgCCEEAELUfKAIAIgAgAUEBaiIBIANBHGooAgAgA0EgaigCACAAQciCxAAQrx8oAgBrIAEQ4xIgBUEBNgIAIAVBDGogBEEYaigCADYCACAFIAQpAhA3AgQMCQtBARDOJiEAIAVBAjYCACAFIAA2AgQMCAsgASACQeSqwAAQrRAACyAFQQA2AgAMBgsgBSAEKQIkNwIEIAVBDGogBEEsaigCADYCAAsgBSAANgIADAQLIAUgBCkCJDcCBCAFQQxqIARBLGooAgA2AgALIAUgADYCAAwCCyADQUBrIQogBCgCJCEAIANBCGohDCADQQRqIQ4gA0EUaiEPIANBEGohECADQSBqIREgA0EcaiENA0ACQAJAAkACQCALIAAiAUsEQCAAIAJPDQIgDigCACAMKAIAIAYgCiAAIAhqLQAAai0AAGpBuILEABCvHygCACIGIAMoAsgCSw0DIAZFDQQgBiADKALMAk0NASAEQSBqIAMoAiggCSgCACAIIAIgACALEOYdIARBCGogBCgCICAEKAIkELwhIAQoAghFBEAgBUEANgIADAgLIAQoAgwiACABTQ0DDAULIAUgBCkCEDcCBCAFIAc2AgAgBUEMaiAEQRhqKAIANgIADAYLQQEhByAEQRBqIBAoAgAgDygCACAGIAMoAjx2QQJrQdiCxAAQtB8iACgCBCAAKAIIQQAQtR8oAgAiEiABQQFqIgAgDSgCACARKAIAIBJByILEABCvHygCAGsgABDjEgwDCyABIAJB5KrAABCtEAALIAFBAWohAAwBCwsgBSAEKQIQNwIEIAUgBzYCACAFQQxqIARBGGooAgA2AgAMAQsgBSAINgIAIAUgASkCADcCBCAFQQxqIAFBCGooAgA2AgALIARBMGokAAvXDwEMfyMAQSBrIgUkACACQQA2AgACQCABIgMoAgAiASADKAIEIgtLDQAgAkEEaiEIAkACQAJAAkACQAJAAkACQCAAKAIoIgkEQCADLQAQQQFHDQELAkACQAJAIAIoAhBFBEAgAy0AEA0BIAAoAtACIgQNAgwLCyACKAIUIQQgAigCGA0CIAIoAiAhAQwICyAAKALUAiIERQ0DCyAEIAAoAswCSw0FIAIoAhxBACACKAIYGyIGIABBEGoiCSgCACAAQRRqIgooAgAgBCAAKAI8dkECa0H4gsQAELQfKAIITw0FIAJBATYCGCACIAZBAWo2AhwgBUEQaiAJKAIAIAooAgAgBCAAKAI8dkECa0HYgsQAELQfIgMoAgQgAygCCCAGELUfKAIAIgMgASAAQRxqKAIAIABBIGooAgAgA0HIgsQAEK8fKAIAayABEOMSIAJBATYCACAIIAUpAhA3AgAgCEEIaiAFQRhqKAIANgIADAkLIAIoAhwiASAAQRBqIgcoAgAgAEEUaiIGKAIAIAQgACgCPHZBAmtB+ILEABC0HygCCE8EQCACQQA2AhggAkEANgIAIAIgAigCIEEBaiIBNgIgDAYLIAJBATYCGCACIAFBAWo2AhwgAigCICEDIAVBEGogBygCACAGKAIAIAQgACgCPHZBAmtB2ILEABC0HyIEKAIEIAQoAgggARC1HygCACIBIANBAWoiAyAAQRxqKAIAIABBIGooAgAgAUHIgsQAEK8fKAIAayADEOMSIAJBATYCACAIIAUpAhA3AgAgCEEIaiAFQRhqKAIANgIADAYLAkACQCACKAIQRQRAIAAoAtACIgRFDQkgBCAAKALMAk0NAQwECyACKAIUIQQgAigCGA0BIAIoAiAhAQwECyACKAIcQQAgAigCGBsiBiAAQRBqIgooAgAgAEEUaiIMKAIAIAQgACgCPHZBAmtB+ILEABC0HygCCE8NAiACQQE2AhggAiAGQQFqNgIcIAVBEGogCigCACAMKAIAIAQgACgCPHZBAmtB2ILEABC0HyIDKAIEIAMoAgggBhC1HygCACIDIAEgAEEcaigCACAAQSBqKAIAIANByILEABCvHygCAGsgARDjEiACQQE2AgAgCCAFKQIQNwIAIAhBCGogBUEYaigCADYCAAwICyACKAIcIgEgAEEQaiIHKAIAIABBFGoiBigCACAEIAAoAjx2QQJrQfiCxAAQtB8oAghPBEAgAkEANgIYIAJBADYCACACIAIoAiBBAWoiATYCIAwDCyACQQE2AhggAiABQQFqNgIcIAIoAiAhAyAFQRBqIAcoAgAgBigCACAEIAAoAjx2QQJrQdiCxAAQtB8iBCgCBCAEKAIIIAEQtR8oAgAiASADQQFqIgMgAEEcaigCACAA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QQEhCQsgA0GgAWogBCAFQSBqIhQoAgAgAigCCCISIAIoAgwiDyAGIBUQ5h0CQAJAAkACQCADKAKgASIAQQFrDgIBAAILIAVBLGohEyADKAKkASEAIAVBCGohCyAFQQRqIREgBUEUaiEODAILIAggAykCpAE3AgQgCEEMaiADQawBaigCADYCAAsgCCAANgIADAILAkADQAJAAkAgFSAAIgJLBEAgACAPSQRAIBMgACASai0AAGotAAAiB0ECaiEGIAEhAANAAkACQAJAAkACQAJAAkAgESgCACALKAIAIABBoIPEABCvHygCACIBQf8BcUH+AWsOAgECAAsgA0GAAWogESgCACALKAIAIABBAmoiDEGwg8QAEOQbIAFBAnZBP3EgAUEDcUEAR2oiCiADKAKEASIBSw0SIAMoAoABIQ0gCkECdCEEQX8hAQNAIARFDQYgAUEBaiEBIAcgDSgCACIQQf8BcUYNAyAHIBBBCHZB/wFxRg0EIAcgEEEQdkH/AXFGDQUgDUEEaiENIARBBGshBCAHIBBBGHZHDQALIBEoAgAgCygCACAKIAxqIAFBAnRqQQNqQdCDxAAQrx8oAgAhAQwKCyAHIBEoAgAgCygCACAAQZCExAAQrx8tAAFGDQgMBAsgESgCACALKAIAIAAgBmpBsITEABCvHygCACIBQQFGDQMMCAsgESgCACALKAIAIAogDGogAUECdGpBgITEABCvHygCACEBDAcLIBEoAgAgCygCACAKIAxqIAFBAnRqQQFqQfCDxAAQrx8oAgAhAQwGCyARKAIAIAsoAgAgCiAMaiABQQJ0akECakHgg8QAEK8fKAIAIQEMBQsgESgCACALKAIAIABBAWpBwITEABCvHygCACEADAALAAsgAiAPQeSqwAAQrRAACyAIIAMpApABNwIEIAggCTYCACAIQQxqIANBmAFqKAIANgIADAULIBEoAgAgCygCACAAQQJqQaCExAAQrx8oAgAhAQsCQAJAIAEgBSgCtAJLDQAgAUUNASADQZABagJ/AkAgBSgCuAIgAU8EQCAFKAIoIQAgA0H4AGogESgCACALKAIAIAFB4ITEABDkGyADKAJ8IhBFDQogEAJ/IAMoAngiBi0AACIEQf8BRwRAIAQgBEECdmogBEEDcUEAR2pBAmoMAQsgAEECagsiBE0NBiAGIARBAnRq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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAIoAgAiA0EMayIEIARBJk8bQQFrDiQAAQIDBAUGBwgJCgsMDSEODxAREiETFBUhIRYXGBkaGxwdIR4hCyACKAIMQQR0IQMgAigCCCECA0AgA0UNISACKAIAQQJHBEAgAkEMaiABENQrCyACQRBqIQIgA0EQayEDDAALAAsgASACQQRqELkDDB8LIAEgAkEIahDYBAweCyACQQRqIAEQ1CsMHQsgAkEMaiABENQrDBwLIAJBBGogARDUKyACQQhqIAEQ1CsMGwsgAkE4agJAAkACQAJAAkACQAJAAkACQAJAAkACQCADQQFrDgsBAgMEBQYHCAkLCgALIAEgAkEIahDIGQwKCyACQQhqIAEQlB8MCQsgASACQQhqEOghDAgLIAJBBGogARDUKwwHCyACQQRqIAEQ7xgMBgsgASACQQRqEMggDAULIAEgAkEEahDIIAwECyACQQRqIAEQ1CsMAwsgASACQQRqEMggDAILIAJBBGogARCrJQwBCyACQQhqIQMCQAJAIAIoAgRBAWsOAgECAAsgAyABEIsVDAELIAMgARCLDQsgARDUKwwaCyACQQhqIAEQlB8MGQsgASACQQhqEOghDBgLIAJBBGogARDUKyACQQhqIAEQ1CsgAkEMaiABENQrDBcLIAItABhBBUYEQCACQRBqIAEQ1CsLIAJBBGogARDwGCACQShqIAEQziMMFgsgAkEQaiABENQrIAIoAgRBgICAgHhHBEAgAkEEaiABEPAYCyACQSBqIAEQziMMFQsgAkEEaiABEIwaDBQLIAJBCGogARCPDwwTCyACQQRqIAEQjBoMEgsgAkEEaiABENQrIAJBGGogARDOIyACKAIIIAEQjBoMEQsgAigCECEHQRghCEEAIQQgASgCMBC6ESEFIABB4ABqQcif4wApAwAiDjcDAEEIIQMgAEHQAGogDjcDACAAQfwAaiABQTRqKAIANgIAIABBAToAcCAAIAE2AmggACAFNgJsIABBAToAgQEgAEHAn+MAKQMAIg43A1ggACAONwNIIAAgASkCLDcCdCAAIAEtADw6AIQBIAAgAS8BOjsBggEgAS0AOCEFIAAgAS0APToAhQEgACAFOgCAASACQSBqIABByABqEL4NIAAtAIEBIQsgAEEAOgCB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BhCDAgsPACAAQeXQ3QBBmAQQgwILDwAgAEH91N0AQdwNEIMCCw8AIABB2eLdAEGNARCDAgsPACAAQebj3QBB9wAQgwILDwAgAEHd5N0AQawDEIMCCw8AIABBiejdAEHxBxCDAgsPACAAQfrv3QBB1AoQgwILEAAgAEHO+t0AQcmTARCDAgsOACAAQZeO3wBBJBCDAgsPACAAQbuO3wBBpAoQgwILDwAgAEHfmN8AQYYGEIMCCw8AIABB5Z7fAEG5FBCDAguoBwICfwJ+AkAgACgCACIAKAIAIgJBGkYEQCABKAIAQQFHDQEgASgCBCICIAAoAhhHDQEgACkDCBD0GiEEIAApAxAhBSAALQAcIQNBwABBCBChICIBIAM6ABwgASACNgIYIAFCADcDECABIAQ3AwggAUEaNgIAQazI3wBBARDUGiEEIAAQpwIgACABNgIoIAAgBTcDICAAQgA3AxggACAENwMQIABBADYCCCAAQRQ2AgAMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAJBDGsiAyADQSZPG0EBaw4kAAECEhMDBAUGBwgJFRYWFQoLDA0WEhIOFhYPEBISEhISEhYRFgsgACgCDEEEdCECIAAoAgghAANAIAJFDRYgACgCAEECRwRAIABBDGogARDALAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARDtCQwUCyAAQQhqIAEQwSwMEwsgAEEEaiABEMAsIABBCGogARDALAwSCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDgsAAQIDBAUGBwgKCQoLIABBCGogARCXHwwJCyAAQQhqIAEQ6yEMCAsgAEEEaiABEMAsDAcLIABBBGogARCqHAwGCyAAQQRqIAEQwCwMBQsgAEEEaiABEMAsDAQLIABBBGogARDALAwDCyAAQQRqIAEQwCwMAgsgAEEEaiABEMAsDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQlRcMAQsgAiABELwOCyABEMAsDBELIABBCGogARCXHwwQCyAAQQhqIAEQ6yEMDwsgAEEEaiABEMAsIABBCGogARDALAwLCyAALQAYQQVGBEAgAEEQaiABEMAsCwwLCyAAQRBqIAEQwCwgACgCBEGAgICA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CyAAKAIMRQ0HDAULIABBIGoQzCAMBgsgACgCBCABEKIMDAULIABBBGogARDKDwwECyAAQQRqIAEQrhwMAwsgAEEEaiABEMssDAILIABBDGogARDLLAwBCyAAQQRqIAEQnxoLC+cFAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECExQDBAUGBwgJFgoXFgsMDQ4XExMPFxcQERMTExMTExcSFwsgACgCDEEEdCECIAAoAgghAANAIAJFDRcgACgCAEECRwRAIABBDGogARDMLAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARCqCgwVCyAAQQhqIAEQwCcMFAsgAEEEaiABEMwsIABBCGogARDMLAwTCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwECAwQFBgcICQsKAAsgAEEIaiABEP8oDAoLIABBCGogARCZHwwJCyABIABBCGoQ9yEMCAsgAEEEaiABEMwsDAcLIABBBGogARCtHAwGCyAAQQRqIAEQzCwMBQsgAEEEaiABEMwsDAQLIABBBGogARDMLAwDCyAAQQRqIAEQzCwMAgsgAEEEaiABEMwsDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQlxcMAQsgAiABEPUNCyABEMwsDBILIABBCGogARCZHwwRCyABIABBCGoQ9yEMEAsgAEEEaiABEMwsIABBCGogARDMLAwMCyAALQAYQQVGBEAgAEEQaiABEMwsCwwMCyAAQRBqIAEQzCwgACgCBEGAgICAeEYNDQwLCyABIAApAwggACgCGBCHGwwMCyAAQQRqIAEQzCwgACgCCCABEJ0aDAsLIABBBGogARDXEgwKCyAAQQhqIAEQwScMCQsgACgCDEUNCAwFCyAAQSBqIAEQ3B0MBwsgACgCBCABEIIMDAYLIABBBGogARDJDwwFCyAAQQRqIAEQrRwMBAsgAEEEaiABEMwsDAMLIABBDGogARDMLAwCCyAAQQRqIAEQ9RgMAQsgAEEEaiABEJ0aCwsMACABIAAoAgAQ8gELDAAgACgCACABEMYRCwwAIAAoAhggARCcEguPAgEFfyAAKAIYIgMgARCUGiADKAIUQdgAbCEFIAMoAhAhBgNAIAIgBUcEQAJAAkACQAJAAkACQAJAAkAgAiAGaiIAKAIAIgRBBGtBACAEQQVrQQhJG0EBaw4IAQIDBAcHBQYACyAAIAEQ6QsMBgsgAEEIaiABELQlDAULIABBIGogARDELAwECyABIABBCGoQ8CEgAEE8aiABELUlIABBMGogARCUGgwDCyAAQSRqIAEQtSUgAEEsaiABEJQaDAILIABBBGogARCVGgwBCyAAQQhqIgQoAgBBBUcEQCABIAQQ8CELIABBPGogARC1JSAAQTBqIAEQlBoLIAJB2ABqIQIMAQsLIANBMGogARC1JQsMACAAKAIYIAEQ8g8LDAAgASAAKAIYEKwDCwwAIAAoAgAgARCqFAsMACAAKAIAIAEQ1wQLDAAgACgCACABEK4ICwwAIAAoAgAgARCWBQsMACAAKAIAIAEQ5BMLDAAgASAAKAIAEMkBCwwAIAAoAgAgARD5AQsMACABIAAoAgAQpB0LDAAgACgCACABEMgDCwwAIAAoAgAgARDlEwsMACAAKAIAIAEQqxQLDAAgACgCACABEP0ECwwAIAAoAgAgARDmEwsMACAAKAIAIAEQyBELDAAgACgCACABENUECwwAIAAoAgAgARDnEwsMACAAKAIAIAEQqRELCwAgACgCACABEF4LDAAgASAAKAIAEIsgCwwAIAAoAgAgARCtFAsMACAAKAIAIAEQswMLDAAgASAAKAIAEMkeCwsAIABBKEEIENERCwoAIAAQmgsaQQELDAAgACgCACABEKIMCwwAIAAoAgAgARCkDAsMACAAKAIAIAEQggwLDAAgACgCACABEKEMCwwAIAAoAgAgARCnCwsMACAAKAIAIAEQowwLDAAgACgCACABEIEMCwwAIAAoAgAgARCcCgsMACAAKAIAIAEQ2ykLDAAgASAAKAIAEMEECwwAIABByABBCBDREQsLACAAKAIYIAEQUgsMACAAKAIYIAEQphILDAAgASAAKAIAEKoBCwwAIAEgACgCABDzAwsMACAAKAIAIAEQ0g0LDAAgASAAKAIAELECC5sGAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECExQDBAUGBwgJFgoXFgsMDQ4XExMPFxcQERMTExMTExcSFwsgACgCDEEEdCECIAAoAgghAANAIAJFDRcgACgCAEECRwRAIABBDGogARD8LAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARDjCAwVCyAAQSBqIAEQgS0MFAsgAEEEaiABEPwsIABBCGogARD8LAwTCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDgsAAQIDBAUGBwgKCQoLIABBCGogARCgHwwJCyAAQQhqIAEQjyIMCAsgAEEEaiABEPwsDAcLIABBBGogARC6HAwGCyAAQQRqIAEQ/CwMBQsgAEEEaiABEPwsDAQLIABBBGogARD8LAwDCyAAQQRqIAEQ/CwMAgsgAEEEaiABEPwsDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQnBcMAQsgAiABEL4OCyABEPwsDBILIABBCGogARCgHwwRCyAAQQhqIAEQjyIMEAsgAEEEaiABEPwsIABBCGogARD8LAwMCyAALQAYQQVGBEAgAEEQaiABEPwsCwwMCyAAQRBqIAEQ/CwgACgCBEGAgICAeEYNDQwLCyABIAApAwggACgCGBCrHQwMCyAAQQRqIAEQ/CwgACgCCCABEKwaDAsLIAAoAgxBKGwhAiAAKAIIIQMDQCACBEAgAyABEK4UIAJBKGshAiADQShqIQMMAQsLIAAoAhAiACgCAEGAgICAeEcEQCAAIAEQrRoMCwsMBgsgAEEgaiABEPEFDAkLIAAoAgxFDQgMBQsgAEEIaiABEMweDAcLIAAoAgQgARCEDAwGCyAAQQRqIAEQzw8MBQsgAEEEaiABELocDAQLIABBBGogARD8LAwDCyAAQQxqIAEQ/CwMAgsgAEEEaiABEIMZDAELIABBBGogARCsGgsLhQYBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECEhMDBAUGBwgJFRYWFQoLDA0WEhIOFhYPEBISEhISEhYRFgsgACgCDEEEdCECIAAoAgghAANAIAJFDRYgACgCAEECRwRAIABBDGogARD9LAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARDv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Pj0gMS9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvcGFja2VkL3JhYmlua2FycC5ycwDMGRAAbwAAAD0AAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogaGFzaF9sZW4gPj0gMQDMGRAAbwAAAD8AAAAJAAAAzBkQAG8AAABNAAAALAAAAMwZEABvAAAATwAAABcAAABAAAAAzBkQAG8AAABgAAAAKwAAAMwZEABvAAAAbwAAABEAAADMGRAAbwAAAFsAAAAJAAAAzBkQAG8AAACOAAAAIwAAAMwZEABvAAAAlwAAAAkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3V0aWwvcmVtYXBwZXIucnPwGhAAbAAAAHIAAAASAAAA8BoQAGwAAACMAAAAJAAAAPAaEABsAAAAkQAAACAAAADwGhAAbAAAAJMAAAAdAAAAQm9ycm93ZWRPd25lZC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvcGFja2VkL3BhdHRlcm4ucnMAAKkbEABtAAAAXQAAABoAAACpGxAAbQAAAF0AAAAwAAAAINAQAGkAAACHAgAAKQAAAGltcG1lbW9yeV91c2FnZQAVAwAADAAAAAQAAAAWAwAAFwMAABgDAABhbGxvYy9zcmMvcmF3X3ZlYy5yc3AcEAAUAAAAGAAAAAUAQZy5wAALfQEAAAAZAwAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3RhbGxvYy9zcmMvZm10LnJzAAD6HBAAEAAAAH4CAAAOAEGkusAAC/ICAQAAABoDAABhbGxvYy9zcmMvc2xpY2UucnMAACwdEAASAAAANQIAADIAAABh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aWNvZGVfZGF0YS5ycwAAAEFEEAAgAAAATgAAACgAAABBRBAAIAAAAFoAAAAWAAAAgICAgICAgICA9O6AgPKAgICAgICAgICAgICAgICAgIAgIaIjJCUmpygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlvcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9foCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgGNvcmUvc3JjL251bS9iaWdudW0ucnMAAIRFEAAWAAAAqgEAAAEAAABhc3NlcnRpb24gZmFpbGVkOiBub2JvcnJvd2Fzc2VydGlvbiBmYWlsZWQ6IGRpZ2l0cyA8IDQwYXNzZXJ0aW9uIGZhaWxlZDogb3RoZXIgPiAwAABa1juS1lP07j87oQYpqj8R+GVlG2a0WJUHxSSkWcrHSna/PqJ/4a66SfYtDfC8eV1Tb86K35la6dxzeRAsLNj0lAXBtiug2JFp6EuKmxsHeflGcaQ2yE62hOLebILiSJe3mI1NRHri4yWbFggjGxv9cn94sGqMbY73IA7l9fAw/k+fllyF7wiyNalRXjMtvb0jR7yzZiuL3oIT5jWAeCytdqxVMCD7FosxzK8hUMs7TJMXazzoudytPb8bKiS+St943YVLYuhT2Q2vojStbR3Xa6ozbz1x1IdoreVAjGRyhgaVAMuMjcmpwhgfUa/9DmhIusD97/A71PLeZiUbvRICbXSY/pV2pYRXS2D3MLZLAYiRPn471M6lLV44Nb2jnkHqNc5dSolCz7l1hoKsTAZSsuGges6ViYGTCZTR6+9Dcx8aSRlC++uh+Av5xebrFBCmYJufEvpmyvZOd3fgJhrU0DiCR5e4AP20IlWVmLAgiYJjsYxecyCesDVVXV9utFVivN0vNpCoxR2DqjT3iSHreyvVu0O0EvfkI9UBdezppS07ZVWqsGuabjYlIckzskf4ib7q1JwGwQqEbmm7wJ6ZdixuJQpESPENJcpD6nAGwMrbZFeGKs2W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AAAAIAEAACEAAADolBAAbQAAACEBAAAYAAAA6JQQAG0AAABCAQAAPAAAAOiUEABtAAAARgEAACkAAADolBAAbQAAAEsBAAAPAAAA6JQQAG0AAABOAQAAGwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL251bS1iaWdpbnQtMC40LjYvc3JjL2JpZ3VpbnQvc2hpZnQucnMAADyWEABqAAAAKAAAABkAAAA8lhAAagAAAEoAAAAjAAAAbmVnYXRpdmUgdmFsdWVzIGFyZSBub24temVyby9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL251bS1iaWdpbnQtMC40LjYvc3JjL2JpZ2ludC9zaGlmdC5ycwAAAOSWEABpAAAAZgAAACgAAAAAAAAABAAAAAQAAAA7AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbnVtLWJpZ2ludC0wLjQuNi9zcmMvYmlndWludC9hZGRpdGlvbi5ycwAAAHCXEABtAAAAOwAAABoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9udW0tYmlnaW50LTAuNC42L3NyYy9iaWd1aW50L3N1YnRyYWN0aW9uLnJz8JcQAHAAAAA0AAAAGgAAAPCXEABwAAAANQAAABoAAABDYW5ub3Qgc3VidHJhY3QgYiBmcm9tIGEgYmVjYXVzZSBiIGlzIGxhcmdlciB0aGFuIGEugJgQADQAAADwlxAAcAAAAEUAAAAFAAAA8JcQAHAAAABdAAAAGgAAAPCXEABwAAAAXgAAABoAAABhc3NlcnRpb24gZmFpbGVkOiBhX2hpLmlzX2VtcHR5KCkAAADwlxAAcAAAAGIAAAAFAAAA8JcQAHAAAABlAAAABQAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwAAMJkQAE4AAADxBQAAFQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL251bS1pbnRlZ2VyLTAuMS40Ni9zcmMvcm9vdHMucnOQmRAAZAAAAIMBAAABAAAAAAAAAAQAAAAEAAAAOwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMUmhAAZAAAAKEAAAA2AAAAFJoQAGQAAACbAAAACQAAADM4OzI7AAAAmJoQAAUAAACxFxgAAQAAALEXGAABAAAANDg7MjsAAAC4mhAABQAAALEXGAABAAAAsRcYAAEAAAAbWzEyMzQ1Njc4ORtbMG0A45oQAAQAAAAzMDMxMzIzMzM0MzUzNjM3Mzk5MDkxOTI5Mzk0OTU5Njk3NDA0MTQyNDM0NDQ1NDY0NzQ5MTAwMTAxMTAyMTAzMTA0MTA1MTA2MTA3Mzg7MjsyNDA7MjQ4OzI1NTM4OzI7MjUwOzIzNTsyMTUzODsyOzAwMDsyNTU7MjU1Mzg7MjsxMjc7MjU1OzIxMjM4OzI7MjQwOzI1NTsyNTUzODsyOzI0NTsyNDU7MjIwMzg7MjsyNTU7MjI4OzE5NjM4OzI7MDAwOzAwMDswMDAzODsyOzI1NTsyMzU7MjA1Mzg7MjswMDA7MDAwOzI1NTM4OzI7MTM4OzA0MzsyMjYzODsyOzE2NTswNDI7MDQyMzg7MjsyMjI7MTg0OzEzNTM4OzI7MDk1OzE1ODsxNjAzODsyOzEyNzsyNTU7MDAwMzg7MjsyMTA7MTA1OzAzMDM4OzI7MjU1OzEyNzswODAzODsyOzEwMDsxNDk7MjM3Mzg7MjsyNTU7MjQ4OzIyMDM4OzI7MjIwOzAyMDswNjAzODsyOzAwMDswMDA7MTM5Mzg7MjswMDA7MTM5OzEzOTM4OzI7MTg0OzEzNDswMTEzODsyOzE2OTsxNjk7MTY5Mzg7MjswMDA7MTAwOzAwMDM4OzI7MTg5OzE4MzsxMDczODsyOzEzOTswMDA7MTM5Mzg7MjswODU7MTA3OzA0NzM4OzI7MjU1OzE0MDswMDAzODsyOzE1MzswNTA7MjA0Mzg7MjsxMzk7MDAwOzAwMDM4OzI7MjMzOzE1MDsxMjIzODsyOzE0MzsxODg7MTQzMzg7MjswNzI7MDYxOzEzOTM4OzI7MDQ3OzA3OTswNzkzODsyOzAwMDsyMDY7MjA5Mzg7MjsxNDg7MDAwOzIxMTM4OzI7MjU1OzAyMDsxNDczODsyOzAwMDsxOTE7MjU1Mzg7MjsxMDU7MTA1OzEwNTM4OzI7MDMwOzE0NDsyNTUzODsyOzE3ODswMzQ7MDM0Mzg7MjsyNTU7MjUwOzI0MDM4OzI7MDM0OzEzOTswMzQzODsyOzI1NTswMDA7MjU1Mzg7MjsyMjA7MjIwOzIyMDM4OzI7MjQ4OzI0ODsyNTUzODsyOzI1NTsyMTU7MDAwMzg7MjsyMTg7MTY1OzAzMjM4OzI7MTI4OzEyODsxMjgzODsyOzAwMDsxMjg7MDAwMzg7MjsxNzM7MjU1OzA0NzM4OzI7MjQwOzI1NTsyNDAzODsyOzI1NTsxMDU7MTgwMzg7MjsyMDU7MDkyOzA5MjM4OzI7MDc1OzAwMDsxMzAzODsyOzI1NTsyNTU7MjQwMzg7MjsyNDA7MjMwOzE0MDM4OzI7MjMwOzIzMDsyNTAzODsyOzI1NTsyNDA7MjQ1Mzg7MjsxMjQ7MjUyOzAwMDM4OzI7MjU1OzI1MDsyMDUzODsyOzE3MzsyMTY7MjMwMzg7MjsyNDA7MTI4OzEyODM4OzI7MjI0OzI1NTsyNTUzODsyOzI1MDsyNTA7MjEwMzg7MjsyMTE7MjExOzIxMTM4OzI7MTQ0OzIzODsxNDQzODsyOzI1NTsxODI7MTkzMzg7MjsyNTU7MTYwOzEyMjM4OzI7MDMyOzE3ODsxNzAzODsyOzEzNTsyMDY7MjUwMzg7MjsxMTk7MTM2OzE1MzM4OzI7MTc2OzE5NjsyMjIzODsyOzI1NTsyNTU7MjI0Mzg7MjswMDA7MjU1OzAwMDM4OzI7MDUwOzIwNTswNTAzODsyOzI1MDsyNDA7MjMwMzg7MjsxMjg7MDAwOzAwMDM4OzI7MTAyOzIwNTsxNzAzODsyOzAwMDswMDA7MjA1Mzg7MjsxODY7MDg1OzIxMTM4OzI7MTQ3OzExMjsyMTkzODsyOzA2MDsxNzk7MTEzMzg7MjsxMjM7MTA0OzIzODM4OzI7MDAwOzI1MDsxNTQzODsyOzA3MjsyMDk7MjA0Mzg7MjsxOTk7MDIxOzEzMzM4OzI7MDI1OzAyNTsxMTIzODsyOzI0NTsyNTU7MjUwMzg7MjsyNTU7MjI4OzIyNTM4OzI7MjU1OzIyODsxODEzODsyOzI1NTsyMjI7MTczMzg7MjswMDA7MDAwOzEyODM4OzI7MjUzOzI0NTsyMzAzODsyOzEyODsxMjg7MDAwMzg7MjsxMDc7MTQyOzAzNTM4OzI7MjU1OzE2NTswMDAzODsyOzI1NTswNjk7MDAwMzg7MjsyMTg7MTEyOzIxNDM4OzI7MjM4OzIzMjsxNzAzODsyOzE1MjsyNTE7MTUyMzg7MjsxNzU7MjM4OzIzODM4OzI7MjE5OzExMjsxNDczODsyOzI1NTsyMzk7MjEzMzg7MjsyNTU7MjE4OzE4NTM4OzI7MjA1OzEzMzswNjMzODsyOzI1NTsxOTI7MjAzMzg7MjsyMjE7MTYwOzIyMTM4OzI7MTc2OzIyNDsyMzAzODsyOzEyODswMDA7MTI4Mzg7MjsxMDI7MDUxOzE1MzM4OzI7MjU1OzAwMDswMDAzODsyOzE4ODsxNDM7MTQzMzg7MjswNjU7MTA1OzIyNTM4OzI7MTM5OzA2OTswMTkzODsyOzI1MDsxMjg7MTE0Mzg7MjsyNDQ7MTY0OzA5NjM4OzI7MDQ2OzEzOTswODczODsyOzI1NTsyNDU7MjM4Mzg7MjsxNjA7MDgyOzA0NTM4OzI7MTkyOzE5MjsxOTIzODsyOzEzNTsyMDY7MjM1Mzg7MjsxMDY7MDkwOzIwNTM4OzI7MTEyOzEyODsxNDQzODsyOzI1NTsyNTA7MjUwMzg7MjswMDA7MjU1OzEyNzM4OzI7MDcwOzEzMDsxODAzODsyOzIxMDsxODA7MTQwMzg7MjswMDA7MTI4OzEyODM4OzI7MjE2OzE5MTsyMTYzODsyOzI1NTswOTk7MDcxMzg7MjswNjQ7MjI0OzIwODM4OzI7MjM4OzEzMDsyMzgzODsyOzI0NTsyMjI7MTc5Mzg7MjsyNTU7MjU1OzI1NTM4OzI7MjQ1OzI0NTsyNDUzODsyOzI1NTsyNTU7MDAwMzg7MjsxNTQ7MjA1OzA1MDQ4OzI7MjQwOzI0ODsyNTU0ODsyOzI1MDsyMzU7MjE1NDg7MjswMDA7MjU1OzI1NTQ4OzI7MTI3OzI1NTsyMTI0ODsyOzI0MDsyNTU7MjU1NDg7MjsyNDU7MjQ1OzIyMDQ4OzI7MjU1OzIyODsxOTY0ODsyOzAwMDswMDA7MDAwNDg7MjsyNTU7MjM1OzIwNTQ4OzI7MDAwOzAwMDsyNTU0ODsyOzEzODswNDM7MjI2NDg7MjsxNjU7MDQyOzA0MjQ4OzI7MjIyOzE4NDsxMzU0ODsyOzA5NTsxNTg7MTYwNDg7MjsxMjc7MjU1OzAwMDQ4OzI7MjEwOzEwNTswMzA0ODsyOzI1NTsxMjc7MDgwNDg7MjsxMDA7MTQ5OzIzNzQ4OzI7MjU1OzI0ODsyMjA0ODsyOzIyMDswMjA7MDYwNDg7MjswMDA7MDAwOzEzOTQ4OzI7MDAwOzEzOTsxMzk0ODsyOzE4NDsxMzQ7MDExNDg7MjsxNjk7MTY5OzE2OTQ4OzI7MDAwOzEwMDswMDA0ODsyOzE4OTsxODM7MTA3NDg7MjsxMzk7MDAwOzEzOTQ4OzI7MDg1OzEwNzswNDc0ODsyOzI1NTsxNDA7MDAwNDg7MjsxNTM7MDUwOzIwNDQ4OzI7MTM5OzAwMDswMDA0ODsyOzIzMzsxNTA7MTIyNDg7MjsxNDM7MTg4OzE0MzQ4OzI7MDcyOzA2MTsxMzk0ODsyOzA0NzswNzk7MDc5NDg7MjswMDA7MjA2OzIwOTQ4OzI7MTQ4OzAwMDsyMTE0ODsyOzI1NTswMjA7MTQ3NDg7MjswMDA7MTkxOzI1NTQ4OzI7MTA1OzEwNTsxMDU0ODsyOzAzMDsxNDQ7MjU1NDg7MjsxNzg7MDM0OzAzNDQ4OzI7MjU1OzI1MDsyNDA0ODsyOzAzNDsxMzk7MDM0NDg7MjsyNTU7MDAwOzI1NTQ4OzI7MjIwOzIyMDsyMjA0ODsyOzI0ODsyNDg7MjU1NDg7MjsyNTU7MjE1OzAwMDQ4OzI7MjE4OzE2NTswMzI0ODsyOzEyODsxMjg7MTI4NDg7MjswMDA7MTI4OzAwMDQ4OzI7MTczOzI1NTswNDc0ODsyOzI0MDsyNTU7MjQwNDg7MjsyNTU7MTA1OzE4MDQ4OzI7MjA1OzA5MjswOTI0ODsyOzA3NTswMDA7MTMwNDg7MjsyNTU7MjU1OzI0MDQ4OzI7MjQwOzIzMDsxNDA0ODsyOzIzMDsyMzA7MjUwNDg7MjsyNTU7MjQwOzI0NTQ4OzI7MTI0OzI1MjswMDA0ODsyOzI1NTsyNTA7MjA1NDg7MjsxNzM7MjE2OzIzMDQ4OzI7MjQwOzEyODsxMjg0ODsyOzIyNDsyNTU7MjU1NDg7MjsyNTA7MjUwOzIxMDQ4OzI7MjExOzIxMTsyMTE0ODsyOzE0NDsyMzg7MTQ0NDg7MjsyNTU7MTgyOzE5MzQ4OzI7MjU1OzE2MDsxMjI0ODsyOzAzMjsxNzg7MTcwNDg7MjsxMzU7MjA2OzI1MDQ4OzI7MTE5OzEzNjsxNTM0ODsyOzE3NjsxOTY7MjIyNDg7MjsyNTU7MjU1OzIyNDQ4OzI7MDAwOzI1NTswMDA0ODsyOzA1MDsyMDU7MDUwNDg7MjsyNTA7MjQwOzIzMDQ4OzI7MTI4OzAwMDswMDA0ODsyOzEwMjsyMDU7MTcwNDg7MjswMDA7MDAwOzIwNTQ4OzI7MTg2OzA4NTsyMTE0ODsyOzE0NzsxMTI7MjE5NDg7MjswNjA7MTc5OzExMzQ4OzI7MTIzOzEwNDsyMzg0ODsyOzAwMDsyNTA7MTU0NDg7MjswNzI7MjA5OzIwNDQ4OzI7MTk5OzAyMTsxMzM0ODsyOzAyNTswMjU7MTEyNDg7MjsyNDU7MjU1OzI1MDQ4OzI7MjU1OzIyODsyMjU0ODsyOzI1NTsyMjg7MTgxNDg7MjsyNTU7MjIyOzE3MzQ4OzI7MDAwOzAwMDsxMjg0ODsyOzI1MzsyNDU7MjMwNDg7MjsxMjg7MTI4OzAwMDQ4OzI7MTA3OzE0MjswMzU0ODsyOzI1NTsxNjU7MDAwNDg7MjsyNTU7MDY5OzAwMDQ4OzI7MjE4OzExMjsyMTQ0ODsyOzIzODsyMzI7MTcwNDg7MjsxNTI7MjUxOzE1MjQ4OzI7MTc1OzIzODsyMzg0ODsyOzIxOTsxMTI7MTQ3NDg7MjsyNTU7MjM5OzIxMzQ4OzI7MjU1OzIxODsxODU0ODsyOzIwNTsxMzM7MDYzNDg7MjsyNTU7MTkyOzIwMzQ4OzI7MjIxOzE2MDsyMjE0ODsyOzE3NjsyMjQ7MjMwNDg7MjsxMjg7MDAwOzEyODQ4OzI7MTAyOzA1MTsxNTM0ODsyOzI1NTswMDA7MDAwNDg7MjsxODg7MTQzOzE0MzQ4OzI7MDY1OzEwNTsyMjU0ODsyOzEzOTswNjk7MDE5NDg7MjsyNTA7MTI4OzExNDQ4OzI7MjQ0OzE2NDswOTY0ODsyOzA0NjsxMzk7MDg3NDg7MjsyNTU7MjQ1OzIzODQ4OzI7MTYwOzA4MjswNDU0ODsyOzE5MjsxOTI7MTkyNDg7MjsxMzU7MjA2OzIzNTQ4OzI7MTA2OzA5MDsyMDU0ODsyOzExMjsxMjg7MTQ0NDg7MjsyNTU7MjUwOzI1MDQ4OzI7MDAwOzI1NTsxMjc0ODsyOzA3MDsxMzA7MTgwNDg7MjsyMTA7MTgwOzE0MDQ4OzI7MDAwOzEyODsxMjg0ODsyOzIxNjsxOTE7MjE2NDg7MjsyNTU7MDk5OzA3MTQ4OzI7MDY0OzIyNDsyMDg0ODsyOzIzODsxMzA7MjM4NDg7MjsyNDU7MjIyOzE3OTQ4OzI7MjU1OzI1NTsyNTU0ODsyOzI0NTsyNDU7MjQ1NDg7MjsyNTU7MjU1OzAwMDQ4OzI7MTU0OzIwNTswNTAzODs1OzAzODs1OzEzODs1OzIzODs1OzMzODs1OzQzODs1OzUzODs1OzYzODs1OzczODs1OzgzODs1OzkzODs1OzEwMzg7NTsxMTM4OzU7MTIzODs1OzEzMzg7NTsxNDM4OzU7MTUzODs1OzE2Mzg7NTsxNzM4OzU7MTgzODs1OzE5Mzg7NTsyMDM4OzU7MjEzODs1OzIyMzg7NTsyMzM4OzU7MjQzODs1OzI1Mzg7NTsyNjM4OzU7MjczODs1OzI4Mzg7NTsyOTM4OzU7MzAzODs1OzMxMzg7NTszMjM4OzU7MzMzODs1OzM0Mzg7NTszNTM4OzU7MzYzODs1OzM3Mzg7NTszODM4OzU7MzkzODs1OzQwMzg7NTs0MTM4OzU7NDIzODs1OzQzMzg7NTs0NDM4OzU7NDUzODs1OzQ2Mzg7NTs0NzM4OzU7NDgzODs1OzQ5Mzg7NTs1MDM4OzU7NTEzODs1OzUyMzg7NTs1MzM4OzU7NTQzODs1OzU1Mzg7NTs1NjM4OzU7NTczODs1OzU4Mzg7NTs1OTM4OzU7NjAzODs1OzYxMzg7NTs2MjM4OzU7NjMzODs1OzY0Mzg7NTs2NTM4OzU7NjYzODs1OzY3Mzg7NTs2ODM4OzU7NjkzODs1OzcwMzg7NTs3MTM4OzU7NzIzODs1OzczMzg7NTs3NDM4OzU7NzUzODs1Ozc2Mzg7NTs3NzM4OzU7NzgzODs1Ozc5Mzg7NTs4MDM4OzU7ODEzODs1OzgyMzg7NTs4MzM4OzU7ODQzODs1Ozg1Mzg7NTs4NjM4OzU7ODczODs1Ozg4Mzg7NTs4OTM4OzU7OTAzODs1OzkxMzg7NTs5MjM4OzU7OTMzODs1Ozk0Mzg7NTs5NTM4OzU7OTYzODs1Ozk3Mzg7NTs5ODM4OzU7OTkzODs1OzEwMDM4OzU7MTAxMzg7NTsxMDIzODs1OzEwMzM4OzU7MTA0Mzg7NTsxMDUzODs1OzEwNjM4OzU7MTA3Mzg7NTsxMDgzODs1OzEwOTM4OzU7MTEwMzg7NTsxMTEzODs1OzExMjM4OzU7MTEzMzg7NTsxMTQzODs1OzExNTM4OzU7MTE2Mzg7NTsxMTczODs1OzExODM4OzU7MTE5Mzg7NTsxMjAzODs1OzEyMTM4OzU7MTIyMzg7NTsxMjMzODs1OzEyNDM4OzU7MTI1Mzg7NTsxMjYzODs1OzEyNzM4OzU7MTI4Mzg7NTsxMjkzODs1OzEzMDM4OzU7MTMxMzg7NTsxMzIzODs1OzEzMzM4OzU7MTM0Mzg7NTsxMzUzODs1OzEzNjM4OzU7MTM3Mzg7NTsxMzgzODs1OzEzOTM4OzU7MTQwMzg7NTsxNDEzODs1OzE0MjM4OzU7MTQzMzg7NTsxNDQzODs1OzE0NTM4OzU7MTQ2Mzg7NTsxNDczODs1OzE0ODM4OzU7MTQ5Mzg7NTsxNTAzODs1OzE1MTM4OzU7MTUyMzg7NTsxNTMzODs1OzE1NDM4OzU7MTU1Mzg7NTsxNTYzODs1OzE1NzM4OzU7MTU4Mzg7NTsxNTkzODs1OzE2MDM4OzU7MTYxMzg7NTsxNjIzODs1OzE2MzM4OzU7MTY0Mzg7NTsxNjUzODs1OzE2NjM4OzU7MTY3Mzg7NTsxNjgzODs1OzE2OTM4OzU7MTcwMzg7NTsxNzEzODs1OzE3MjM4OzU7MTczMzg7NTsxNzQzODs1OzE3NTM4OzU7MTc2Mzg7NTsxNzczODs1OzE3ODM4OzU7MTc5Mzg7NTsxODAzODs1OzE4MTM4OzU7MTgyMzg7NTsxODMzODs1OzE4NDM4OzU7MTg1Mzg7NTsxODYzODs1OzE4NzM4OzU7MTg4Mzg7NTsxODkzODs1OzE5MDM4OzU7MTkxMzg7NTsxOTIzODs1OzE5MzM4OzU7MTk0Mzg7NTsxOTUzODs1OzE5NjM4OzU7MTk3Mzg7NTsxOTgzODs1OzE5OTM4OzU7MjAwMzg7NTsyMDEzODs1OzIwMjM4OzU7MjAzMzg7NTsyMDQzODs1OzIwNTM4OzU7MjA2Mzg7NTsyMDczODs1OzIwODM4OzU7MjA5Mzg7NTsyMTAzODs1OzIxMTM4OzU7MjEyMzg7NTsyMTMzODs1OzIxNDM4OzU7MjE1Mzg7NTsyMTYzODs1OzIxNzM4OzU7MjE4Mzg7NTsyMTkzODs1OzIyMDM4OzU7MjIxMzg7NTsyMjIzODs1OzIyMzM4OzU7MjI0Mzg7NTsyMjUzODs1OzIyNjM4OzU7MjI3Mzg7NTsyMjgzODs1OzIyOTM4OzU7MjMwMzg7NTsyMzEzODs1OzIzMjM4OzU7MjMzMzg7NTsyMzQzODs1OzIzNTM4OzU7MjM2Mzg7NTsyMzczODs1OzIzODM4OzU7MjM5Mzg7NTsyNDAzODs1OzI0MTM4OzU7MjQyMzg7NTsyNDMzODs1OzI0NDM4OzU7MjQ1Mzg7NTsyNDYzODs1OzI0NzM4OzU7MjQ4Mzg7NTsyNDkzODs1OzI1MDM4OzU7MjUxMzg7NTsyNTIzODs1OzI1MzM4OzU7MjU0Mzg7NTsyNTU0ODs1OzA0ODs1OzE0ODs1OzI0ODs1OzM0ODs1OzQ0ODs1OzU0ODs1OzY0ODs1Ozc0ODs1Ozg0ODs1Ozk0ODs1OzEwNDg7NTsxMTQ4OzU7MTI0ODs1OzEzNDg7NTsxNDQ4OzU7MTU0ODs1OzE2NDg7NTsxNzQ4OzU7MTg0ODs1OzE5NDg7NTsyMDQ4OzU7MjE0ODs1OzIyNDg7NTsyMzQ4OzU7MjQ0ODs1OzI1NDg7NTsyNjQ4OzU7Mjc0ODs1OzI4NDg7NTsyOTQ4OzU7MzA0ODs1OzMxNDg7NTszMjQ4OzU7MzM0ODs1OzM0NDg7NTszNTQ4OzU7MzY0ODs1OzM3NDg7NTszODQ4OzU7Mzk0ODs1OzQwNDg7NTs0MTQ4OzU7NDI0ODs1OzQzNDg7NTs0NDQ4OzU7NDU0ODs1OzQ2NDg7NTs0NzQ4OzU7NDg0ODs1OzQ5NDg7NTs1MDQ4OzU7NTE0ODs1OzUyNDg7NTs1MzQ4OzU7NTQ0ODs1OzU1NDg7NTs1NjQ4OzU7NTc0ODs1OzU4NDg7NTs1OTQ4OzU7NjA0ODs1OzYxNDg7NTs2MjQ4OzU7NjM0ODs1OzY0NDg7NTs2NTQ4OzU7NjY0ODs1OzY3NDg7NTs2ODQ4OzU7Njk0ODs1OzcwNDg7NTs3MTQ4OzU7NzI0ODs1OzczNDg7NTs3NDQ4OzU7NzU0ODs1Ozc2NDg7NTs3NzQ4OzU7Nzg0ODs1Ozc5NDg7NTs4MDQ4OzU7ODE0ODs1OzgyNDg7NTs4MzQ4OzU7ODQ0ODs1Ozg1NDg7NTs4NjQ4OzU7ODc0ODs1Ozg4NDg7NTs4OTQ4OzU7OTA0ODs1OzkxNDg7NTs5MjQ4OzU7OTM0ODs1Ozk0NDg7NTs5NTQ4OzU7OTY0ODs1Ozk3NDg7NTs5ODQ4OzU7OTk0ODs1OzEwMDQ4OzU7MTAxNDg7NTsxMDI0ODs1OzEwMzQ4OzU7MTA0NDg7NTsxMDU0ODs1OzEwNjQ4OzU7MTA3NDg7NTsxMDg0ODs1OzEwOTQ4OzU7MTEwNDg7NTsxMTE0ODs1OzExMjQ4OzU7MTEzNDg7NTsxMTQ0ODs1OzExNTQ4OzU7MTE2NDg7NTsxMTc0ODs1OzExODQ4OzU7MTE5NDg7NTsxMjA0ODs1OzEyMTQ4OzU7MTIyNDg7NTsxMjM0ODs1OzEyNDQ4OzU7MTI1NDg7NTsxMjY0ODs1OzEyNzQ4OzU7MTI4NDg7NTsxMjk0ODs1OzEzMDQ4OzU7MTMxNDg7NTsxMzI0ODs1OzEzMzQ4OzU7MTM0NDg7NTsxMzU0ODs1OzEzNjQ4OzU7MTM3NDg7NTsxMzg0ODs1OzEzOTQ4OzU7MTQwNDg7NTsxNDE0ODs1OzE0MjQ4OzU7MTQzNDg7NTsxNDQ0ODs1OzE0NTQ4OzU7MTQ2NDg7NTsxNDc0ODs1OzE0ODQ4OzU7MTQ5NDg7NTsxNTA0ODs1OzE1MTQ4OzU7MTUyNDg7NTsxNTM0ODs1OzE1NDQ4OzU7MTU1NDg7NTsxNTY0ODs1OzE1NzQ4OzU7MTU4NDg7NTsxNTk0ODs1OzE2MDQ4OzU7MTYxNDg7NTsxNjI0ODs1OzE2MzQ4OzU7MTY0NDg7NTsxNjU0ODs1OzE2NjQ4OzU7MTY3NDg7NTsxNjg0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AABo7BAAbgAAAPAIAABBAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvd2lyZS5ycwAANM4QAGoAAABXAgAADgAAADTOEABqAAAAeAMAAAwAAABHcm91cEluZm9Ub29NYW55UGF0dGVybnNlcnJUb29NYW55R3JvdXBzcGF0dGVybm1pbmltdW1NaXNzaW5nR3JvdXBzRmlyc3RNdXN0QmVVbm5hbWVkRHVwbGljYXRlZXhwZWN0ZWQgbnVtYmVyIG9mIHBhdHRlcm5zIHRvIG1hdGNoIHBhdHRlcm4gSUQAAAAezxAALwAAAMj/EABwAAAANAQAAA0AAADI/xAAcAAAAFUEAAA5AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL3NlYXJjaC5ycwAAeM8QAGoAAABOAQAACQAAAGludmFsaWQgbWF0Y2ggc3BhbgAA9M8QABIAAAB4zxAAagAAAFsDAAAJAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy9wYWNrZWQvYXBpLnJzAAAAINAQAGkAAAAZAgAAHAAAACDQEABpAAAAHwIAADEAAADdAwAABAAAAAQAAADeAwAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL2J5dGVzZXQucnMAvNAQAHcAAAAjAAAAEQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL3ByZWZpbHRlci9tZW1jaHIucnMAAETREAB2AAAAJwAAAC0AAABE0RAAdgAAAFUAAAAWAAAARNEQAHYAAABWAAAAFgAAAETREAB2AAAAZAAAADYAAABE0RAAdgAAAJIAAAAWAAAARNEQAHYAAACTAAAAFgAAAETREAB2AAAAlAAAABYAAABE0RAAdgAAAKIAAAA+AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL21lbW1lbS5ycwAAPNIQAHYAAAArAAAAJwAAADzSEAB2AAAAOwAAABgAAABhaG8tY29yYXNpY2sgREZBIHNob3VsZCBuZXZlciBmYWlsL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL3RlZGR5LnJzAPbSEAB1AAAAcQAAABIAQYSnwwALsgwBAAAAEwMAAAAAAAAIAAAABAAAAN8DAAAAAAAABAAAAAQAAADgAwAAAAAAAAEAAAABAAAADwAAAAAAAAAEAAAABAAAABAAAABtYXhpbXVtX2xlbmxvb2tfc2V0bG9va19zZXRfcHJlZml4bG9va19zZXRfc3VmZml4bG9va19zZXRfcHJlZml4X2FueWxvb2tfc2V0X3N1ZmZpeF9hbnl1dGY4ZXhwbGljaXRfY2FwdHVyZXNfbGVuc3RhdGljX2V4cGxpY2l0X2NhcHR1cmVzX2xlbmxpdGVyYWxhbHRlcm5hdGlvbl9saXRlcmFsAAC8ABEACwAAAMzTEAALAAAA19MQAAgAAADf0xAADwAAAO7TEAAPAAAA/dMQABMAAAAQ1BAAEwAAACPUEAAEAAAAJ9QQABUAAAA81BAAHAAAAFjUEAAHAAAAX9QQABMAAABQcm9wZXJ0aWVzSUludmFsaWRJbnB1dEFuY2hvcmVkSW52YWxpZElucHV0VW5hbmNob3JlZFVuc3VwcG9ydGVkU3RyZWFtVW5zdXBwb3J0ZWRPdmVybGFwcGluZ1Vuc3VwcG9ydGVkRW1wdHllcnJvciBidWlsZGluZyBORkEAAEDVEAASAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZm91bmQgaW1wb3NzaWJsZSBlcnJvciBpbiBtZXRhIGVuZ2luZTogAAAAXNUQAFEAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9lcnJvci5ycwC41RAAawAAAO0AAAARAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL25mYS90aG9tcHNvbi9yYW5nZV90cmllLnJzNNYQAHgAAAD6AAAAKQAAADTWEAB4AAAA/AAAACsAAAA01hAAeAAAAA8BAAArAAAANNYQAHgAAABLAQAAOwAAADTWEAB4AAAAiQEAADsAAAA01hAAeAAAADEBAAANAAAAdG9vIG1hbnkgc2VxdWVuY2VzIGFkZGVkIHRvIHJhbmdlIHRyaWUAAAzXEAAmAAAANNYQAHgAAAC0AQAAEQAAADTWEAB4AAAA4AEAADcAAAA01hAAeAAAABkCAAAsAAAANNYQAHgAAAAeAgAAFQAAADTWEAB4AAAAIwIAABkAAAA01hAAeAAAAEkCAAAaAAAAYXNzZXJ0aW9uIGZhaWxlZDogbGVuID4gMAAAADTWEAB4AAAAhgIAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBsZW4gPD0gNAAANNYQAHgAAACHAgAACQAAADTWEAB4AAAApwIAABUAAAA01hAAeAAAAEUDAAANAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvYWxwaGFiZXQucnNFT0kAAACC2BAAAwAAAEJ5dGVDbGFzc2VzKJDYEAAMAAAAID0+IFsAAAABAAAA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AAAATUFUQ0goAABA4xAABgAAAGDQGAABAAAAAQAAAAAAAACQMRgAAQAAAKDiEAAEAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3RhY2suaXNfZW1wdHkoKS9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL2RldGVybWluaXplL21vZC5ycwCS4xAAdQAAAHgBAAAFAAAAU21hbGxJbmRleFBhdHRlcm5JRGNhbm5vdCBjcmVhdGUgaXRlcmF0b3IgZm9yIFBhdHRlcm5JRCB3aGVuIG51bWJlciBvZiBlbGVtZW50cyBleGNlZWQgACvkEABEAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJpbWl0aXZlcy5yc3jkEABwAAAA8QIAAAEAAABQYXR0ZXJuSURFcnJvclN0YXRlSUQAAAB45BAAcAAAAPICAAABAAAAU3RhdGVJREVycm9yAAAAAAQAAAAEAAAA6AMAAAAAAAAIAAAABAAAAOkDAAAAAAAABAAAAAQAAADqAwAAUHJvcGVydGllcykgYXJlIG5vdCBzdXBwb3J0ZWQgb3IgZW5hYmxlZOsDAAAIAAAABAAAAOwDAADtAwAA7QMAAGFzc2VydGlvbiBmYWlsZWQ6IG0uaXNfZW1wdHkoKQAAIRgYAGoAAAClAgAACQAAACEYGABqAAAApgIAAEAAAABQYXR0ZXJuU2V0IHNob3VsZCBoYXZlIHN1ZmZpY2llbnQgY2FwYWNpdHkAADQZGABsAAAAywQAAA4AAABxdWl0IHNlYXJjaCBhZnRlciBvYnNlcnZpbmcgYnl0ZSAgYXQgb2Zmc2V0IBjmEAAhAAAAOeYQAAsAAABnYXZlIHVwIHNlYXJjaGluZyBhdCBvZmZzZXQgVOYQABwAAABoYXlzdGFjayBvZiBsZW5ndGggIGlzIHRvbyBsb25nAHjmEAATAAAAi+YQAAwAAAB1bmFuY2hvcmVkIHNlYXJjaGVzIGFyZSBu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bm8gcXVpdCBpbiBzdGFydCB3aXRob3V0IGxvb2stYmVoaW5kKPUQAGsAAABFBgAAFgAAAGFzc2VydGlvbiBmYWlsZWQ6IGlkLmlzX21hdGNoKCkAKPUQAGsAAAC1BgAACQAAAG5vIGluLXByb2dyZXNzIHNlYXJjaCB0byB1cGRhdGUAKPUQAGsAAAC3BwAAJAAAAG5vIGluLXByb2dyZXNzIHNlYXJjaCB0byBmaW5pc2gAKPUQAGsAAADDBwAAIgAAACj1EABrAAAAjgoAAB0AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvaHlicmlkL3NlYXJjaC5ycwAAJPIQAG4AAABZAAAAKQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IHNpZCBiZWluZyB1bmtub3duIGlzIGEgYnVnpPIQAEQAAAAk8hAAbgAAAB0BAAARAAAAJPIQAG4AAAAaAQAALQAAACTyEABuAAAAVwEAACkAAAAk8hAAbgAAAK0BAAARAAAAJPIQAG4AAACqAQAALQAAACTyEABuAAAA+wEAACUAAAAk8hAAbgAAACICAAARAAAAJPIQAG4AAAAdAgAAFQAAACTyEABuAAAA4gIAABQAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9saW1pdGVkLnJzAAAAgPMQAG0AAACOAAAAJQAAAIDzEABtAAAA6AAAABQAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9zdG9wYXQucnMQ9BAAbAAAAG4AAAAlAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvZW1wdHkucnMAjPQQAGsAAAD5AAAAOgBBkOrDAAvlCQEAAADwAwAAAAAAAAgAAAAIAAAA8QMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy9oeWJyaWQvZGZhLnJzACj1EABrAAAAUwgAAB8AAAAo9RAAawAAABYJAAA6AAAAYWRkaW5nIG9uZSBzdGF0ZSBhZnRlciBjYWNoZSBjbGVhciBtdXN0IHdvcmso9RAAawAAALwJAAASAAAAY2Fubm90IHNhdmUgc2VudGluZWwgc3RhdGUAAPD1EAAaAAAAKPUQAGsAAACpCQAADQAAACj1EABrAAAA5gkAAEAAAAAo9RAAawAAAOcJAABHAAAAKPUQAGsAAADoCQAARwAAACj1EABrAAAA6QkAAAkAAAAo9RAAawAAAOoJAAAJAAAAKPUQAGsAAADrCQAACQAAAHN0YXRlIHNhdmVyIGRvZXMgbm90IGhhdmUgc2F2ZWQgc3RhdGUgSUQo9RAAawAAABQKAAAOAAAAaW52YWxpZCAnZnJvbScgaWQ6IAC89hAAEwAAACj1EABrAAAAKQoAAAkAAABpbnZhbGlkICd0bycgaWQ6IAAAAOj2EAARAAAAKPUQAGsAAAAqCgAACQAAACj1EABrAAAALQoAABkAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFzX3JlZigpLmlzX3ZhbGlkKGlkKSj1EABrAAAAOwoAAAkAAABhdHRlbXB0ZWQgdG8gc2VhcmNoIGZvciBhIHNwZWNpZmljIHBhdHRlcm4gd2l0aG91dCBlbmFibGluZyBzdGFydHNfZm9yX2VhY2hfcGF0dGVybgBg9xAAUwAAACj1EABrAAAAQQoAABEAAAAo9RAAawAAAEoKAAAaAAAAKPUQAGsAAACWCgAAGwAAACj1EABrAAAAsgoAADMAAAAo9RAAawAAALsKAAAzAAAAY2Fubm90IGJ1aWxkIGxhenkgREZBcyBmb3IgcmVnZXhlcyB3aXRoIFVuaWNvZGUgd29yZCBib3VuZGFyaWVzOyBzd2l0Y2ggdG8gQVNDSUkgd29yZCBib3VuZGFyaWVzLCBvciBoZXVyaXN0aWNhbGx5IGVuYWJsZSBVbmljb2RlIHdvcmQgYm91bmRhcmllcyBvciB1c2UgYSBkaWZmZXJlbnQgcmVnZXggZW5naW5lL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL21ldGEvbGl0ZXJhbC5ycwAAvfgQAG0AAAAeAAAADQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGxpdGVyYWwsIGdvdCA8+RAAQAAAAL34EABtAAAAOAAAAB4AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZCBsaXRlcmFsIG9yIGNvbmNhdCwgZ290IAAAlPkQAEoAAAC9+BAAbQAAADwAAAASAEGY9MMAC7Uc4QMAAFgAAAAIAAAA8gMAANEDAAAEAAAABAAAAIEAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAABAAABAAAA8wMAAAAAAAAAAQAAAQAAAL0AAAAAAAAAIAAAAAgAAADjAwAAc3RyaWRlMnN0YXJ0X21hcGNsYXNzZXNxdWl0c2V0Y2FjaGVfY2FwYWNpdHnHDhEABgAAAM0OEQADAAAAePoQAAcAAAB/+hAACQAAAIj6EAAHAAAAj/oQAAcAAACW+hAADgAAAAAAAAABAAAAAQAAAMwAAADkAwAAEAAAAAQAAAC0AAAAAAAAAAEAAAABAAAA5QMAAAAAAAAoAAAACAAAAOYDAAAAAAAACAAAAAQAAADfAwAAAAAAAAgAAAAEAAAA5wMAAAAAAAAEAAAABAAAAPQDAABzdGFydHNfZm9yX2VhY2hfcGF0dGVybmJ5dGVfY2xhc3Nlc3VuaWNvZGVfd29yZF9ib3VuZGFyeXNwZWNpYWxpemVfc3RhcnRfc3RhdGVzc2tpcF9jYWNoZV9jYXBhY2l0eV9jaGVja21pbmltdW1fY2FjaGVfY2xlYXJfY291bnRtaW5pbXVtX2J5dGVzX3Blcl9zdGF0ZbQOEQAKAAAAvg4RAAMAAABM+xAA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YWlsYWJsZSAobWFrZSBzdXJlIHRoZSB1bmljb2RlLWNhc2UgZmVhdHVyZSBpcyBlbmFibGVkKQAooxUAZgAAAPIBAAAeAAAAKKMVAGYAAABPAgAAHgAAAENsYXNzVW5pY29kZVJhbmdlc3RhcnRlbmQAAAAooxUAZgAAADoGAAA2AAAAQ2xhc3NCeXRlc1Jhbmdl4oiFAABrGREAAwAAACijFQBmAAAA9wsAABIAAAAooxUAZgAAAOgLAAAZAAAATG9va0NhcHR1cmVTdGFydEVuZFN0YXJ0TEZFbmRMRlN0YXJ0Q1JMRkVuZENSTEZXb3JkQXNjaWlXb3JkQXNjaWlOZWdhdGVXb3JkVW5pY29kZVdvcmRVbmljb2RlTmVnYXRlV29yZFN0YXJ0QXNjaWlXb3JkRW5kQXNjaWlXb3JkU3RhcnRVbmljb2RlV29yZEVuZFVuaWNvZGVXb3JkU3RhcnRIYWxmQXNjaWlXb3JkRW5kSGFsZkFzY2lpV29yZFN0YXJ0SGFsZlVuaWNvZGVXb3JkRW5kSGFsZlVuaWNvZGVpbmRleG1pbm1heGdyZWVkeRsDAAAMAAAABAAAAFgDAAAOBAAAWgMAQay1xAALwYESAQAAAB8DAAABAAAAAQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvaGlyL2xpdGVyYWwucnNhc3NlcnRpb24gZmFpbGVkOiBzZXExLmxlbigpLm1hcF9vcih0cnVlLCB8eHwgeCA8PSBzZWxmLmxpbWl0X3RvdGFsKQAAvBoRAGoAAAA5AgAACQAAALwaEQBqAAAAZgIAAAkAAAC8GhEAagAAAGcGAAAYAAAAvBoRAGoAAAB0BgAAEwAAALwaEQBqAAAAbQYAABoAAAC8GhEAagAAAJwGAAAYAAAAvBoRAGoAAACqBgAAEwAAALwaEQBqAAAAowYAABoAAAC8GhEAagAAAHgHAAARAAAABQAAAAoAAAAEAAAACgAAAAMAAABAAAAAAgAAAEAAAAABAAAACgAAALwaEQBqAAAAzggAABUAAAC8GhEAagAAAN4IAAAoAAAAvBoRAGoAAADyCAAAFQAAALwaEQBqAAAA4ggAAB4AAAC8GhEAagAAAOQIAAAnAAAAvBoRAGoAAADkCAAAMwAAALwaEQBqAAAA5QgAADQAAAC8GhEAagAAAOsIAAAgAAAANzQzMjEwLy4tZ/JCQ+UsKyopKCcmJSQjIiE4IB8eHRz/lKSViKCbrd3ehnroytfg0NzMu7ezsaiyyOLDmriufni/ncKqvaKhlsGOiauwuae6cK/AvJyMj3uFgJOKknLfl/nY7uz949rm94e08en29OeL9fP768nE8NaYts21fxvU09LV5MWpn4OsaVBiYGFRz5F0c5CCmXlrhG1ufG9SbHaNcYF3faV1XGpTSGNdQU+m7aPHvuHRy8bZ287q+J7v/////////////////////////////////////////////////////////////////////////////////////3RyaWVkIHRvIHVud3JhcCBleHByIGZyb20gSGlyRnJhbWUsIGdvdDogAAAApB0RACkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2hpci90cmFuc2xhdGUucnPYHREAbAAAAAEBAAASAAAAdHJpZWQgdG8gdW53cmFwIFVuaWNvZGUgY2xhc3MgZnJvbSBIaXJGcmFtZSwgZ290OiAAAFQeEQAyAAAA2B0RAGwAAAAKAQAAEgAAAHRyaWVkIHRvIHVud3JhcCBieXRlIGNsYXNzIGZyb20gSGlyRnJhbWUsIGdvdDogAKAeEQAvAAAA2B0RAGwAAAAXAQAAEgAAAHRyaWVkIHRvIHVud3JhcCByZXBldGl0aW9uIGZyb20gSGlyRnJhbWUsIGdvdDogAOgeEQAvAAAA2B0RAGwAAAAlAQAAEQAAAHRyaWVkIHRvIHVud3JhcCBncm91cCBmcm9tIEhpckZyYW1lLCBnb3Q6IAAAMB8RACoAAADYHREAbAAAADQBAAARAAAAdHJpZWQgdG8gdW53cmFwIGFsdCBwaXBlIGZyb20gSGlyRnJhbWUsIGdvdDogAAAAdB8RAC0AAADYHREAbAAAAD8BAAARAAAA2B0RAGwAAABOAQAAJwAAANgdEQBsAAAATwEAABcAAADYHREAbAAAAE4BAAAJAAAA2B0RAGwAAACsAQAALgAAANgdEQBsAAAAowEAAC4AAADYHREAbAAAALcBAAAnAAAA2B0RAGwAAAC4AQAAHAAAANgdEQBsAAAAvAEAACcAAADYHREAbAAAAL0BAAAsAAAA2B0RAGwAAADOAQAAIAAAANgdEQBsAAAA/gEAAC4AAADYHREAbAAAAPoBAAAuAAAA2B0RAGwAAAAKAgAALgAAANgdEQBsAAAABgIAAC4AAADYHREAbAAAABkCAAAuAAAA2B0RAGwAAAAUAgAALgAAANgdEQBsAAAAIAIAACoAAADYHREAbAAAACwCAAAuAAAA2B0RAGwAAAAnAgAALgAAANgdEQBsAAAAPgIAAC8AAADYHREAbAAAAEUCAAAvAAAA2B0RAGwAAAAzAgAALwAAANgdEQBsAAAAOgIAAC8AAADYHREAbAAAAIwCAAAmAAAA2B0RAGwAAACNAgAAJgAAANgdEQBsAAAAjgIAACYAAADYHREAbAAAAHMCAAAmAAAA2B0RAGwAAAB0AgAAJgAAANgdEQBsAAAAdQIAACYAAADYHREAbAAAALgCAAAcAAAA2B0RAGwAAADDAgAALAAAANgdEQBsAAAA0QIAACwAAADYHREAbAAAANsCAAAcAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBVbmljb2RlIGNsYXNzzCERAFQAAADYHREAbAAAAOkCAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBieXRlIGNsYXNzAAAAOCIRAFEAAADYHREAbAAAAOwCAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCByZXBldGl0aW9uAAAApCIRAFEAAADYHREAbAAAAO8CAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBncm91cBAjEQBMAAAA2B0RAGwAAADyAgAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LCBnb3QgYWx0IG1hcmtlcgAAAHQjEQBRAAAA2B0RAGwAAAD1AgAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LCBnb3QgYWx0IGJyYW5jaCBtYXJrZXLgIxEAWAAAANgdEQBsAAAA+AIAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZCBleHByIG9yIGFsdCwgZ290IFVuaWNvZGUgY2xhc3MAAABQJBEAUQAAANgdEQBsAAAACAMAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZCBleHByIG9yIGFsdCwgZ290IGJ5dGUgY2xhc3MAALwkEQBOAAAA2B0RAGwAAAALAwAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgYWx0LCBnb3QgcmVwZXRpdGlvbgAAJCURAE4AAADYHREAbAAAAA4DAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBhbHQsIGdvdCBncm91cAAAAIwlEQBJAAAA2B0RAGwAAAARAwAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgYWx0LCBnb3QgY29uY2F0IG1hcmtlcgAAAPAlEQBRAAAA2B0RAGwAAAAUAwAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgYWx0LCBnb3QgYWx0IGJyYW5jaCBtYXJrZXIAAABcJhEAVQAAANgdEQBsAAAAFwMAABEAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmZsYWdzKCkudW5pY29kZSgp2B0RAGwAAABDBAAACQAAAAVhc3NlcnRpb24gZmFpbGVkOiAhc2VsZi5mbGFncygpLnVuaWNvZGUoKQAA2B0RAGwAAABZBAAACQAAADA5QVphekFaYXoAfwkJICAAH39/MDkhfmF6IH4hLzpAW2B7fgkJCgoLCwwMDQ0gIEFaMDlBWl9fYXowOUFGYWZhAAAAYgAAAGMAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAKiEAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAfwEAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABBAAAAQgAAAEMAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAAKiEAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAfwEAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAACcAwAAvAMAAOAAAADhAAAA4gAAAOMAAADkAAAA5QAAACshAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPgAAAD5AAAA+gAAAPsAAAD8AAAA/QAAAP4AAACeHgAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAKyEAAMYAAADHAAAAyAAAAMkAAADKAAAAywAAAMwAAADNAAAAzgAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAHgBAAABAQAAAAEAAAMBAAACAQAABQEAAAQBAAAHAQAABgEAAAkBAAAIAQAACwEAAAoBAAANAQAADAEAAA8BAAAOAQAAEQEAABABAAATAQAAEgEAABUBAAAUAQAAFwEAABYBAAAZAQAAGAEAABsBAAAaAQAAHQEAABwBAAAfAQAAHgEAACEBAAAgAQAAIwEAACIBAAAlAQAAJAEAACcBAAAmAQAAKQEAACgBAAArAQAAKgEAAC0BAAAsAQAALwEAAC4BAAAzAQAAMgEAADUBAAA0AQAANwEAADYBAAA6AQAAOQEAADwBAAA7AQAAPgEAAD0BAABAAQAAPwEAAEIBAABBAQAARAEAAEMBAABGAQAARQEAAEgBAABHAQAASwEAAEoBAABNAQAATAEAAE8BAABOAQAAUQEAAFABAABTAQAAUgEAAFUBAABUAQAAVwEAAFYBAABZAQAAWAEAAFsBAABaAQAAXQEAAFwBAABfAQAAXgEAAGEBAABgAQAAYwEAAGIBAABlAQAAZAEAAGcBAABmAQAAaQEAAGgBAABrAQAAagEAAG0BAABsAQAAbwEAAG4BAABxAQAAcAEAAHMBAAByAQAAdQEAAHQBAAB3AQAAdgEAAP8AAAB6AQAAeQEAAHwBAAB7AQAAfgEAAH0BAABTAAAAcwAAAEMCAABTAgAAgwEAAIIBAACFAQAAhAEAAFQCAACIAQAAhwEAAFYCAABXAgAAjAEAAIsBAADdAQAAWQIAAFsCAACSAQAAkQEAAGACAABjAgAA9gEAAGkCAABoAgAAmQEAAJgBAAA9AgAAbwIAAHICAAAgAgAAdQIAAKEBAACgAQAAowEAAKIBAAClAQAApAEAAIACAACoAQAApwEAAIMCAACtAQAArAEAAIgCAACwAQAArwEAAIoCAACLAgAAtAEAALMBAAC2AQAAtQEAAJICAAC5AQAAuAEAAL0BAAC8AQAA9wEAAMUBAADGAQAAxAEAAMYBAADEAQAAxQEAAMgBAADJAQAAxwEAAMkBAADHAQAAyAEAAMsBAADMAQAAygEAAMwBAADKAQAAywEAAM4BAADNAQAA0AEAAM8BAADSAQAA0QEAANQBAADTAQAA1gEAANUBAADYAQAA1wEAANoBAADZAQAA3AEAANsBAACOAQAA3wEAAN4BAADhAQAA4AEAAOMBAADiAQAA5QEAAOQBAADnAQAA5gEAAOkBAADoAQAA6wEAAOoBAADtAQAA7AEAAO8BAADuAQAA8gEAAPMBAADxAQAA8wEAAPEBAADyAQAA9QEAAPQBAACVAQAAvwEAAPkBAAD4AQAA+wEAAPoBAAD9AQAA/AEAAP8BAAD+AQAAAQIAAAACAAADAgAAAgIAAAUCAAAEAgAABwIAAAYCAAAJAgAACAIAAAsCAAAKAgAADQIAAAwCAAAPAgAADgIAABECAAAQAgAAEwIAABICAAAVAgAAFAIAABcCAAAWAgAAGQIAABgCAAAbAgAAGgIAAB0CAAAcAgAAHwIAAB4CAACeAQAAIwIAACICAAAlAgAAJAIAACcCAAAmAgAAKQIAACgCAAArAgAAKgIAAC0CAAAsAgAALwIAAC4CAAAxAgAAMAIAADMCAAAyAgAAZSwAADwCAAA7AgAAmgEAAGYsAAB+LAAAfywAAEICAABBAgAAgAEAAIkCAACMAgAARwIAAEYCAABJAgAASAIAAEsCAABKAgAATQIAAEwCAABPAgAATgIAAG8sAABtLAAAcCwAAIEBAACGAQAAiQEAAIoBAACPAQAAkAEAAKunAACTAQAArKcAAJQBAACNpwAAqqcAAJcBAACWAQAArqcAAGIsAACtpwAAnAEAAG4sAACdAQAAnwEAAGQsAACmAQAAxacAAKkBAACxpwAArgEAAEQCAACxAQAAsgEAAEUCAAC3AQAAsqcAALCnAACZAwAAuQMAAL4fAABxAwAAcAMAAHMDAAByAwAAdwMAAHYDAAD9AwAA/gMAAP8DAADzAwAArAMAAK0DAACuAwAArwMAAMwDAADNAwAAzgMAALEDAACyAwAA0AMAALMDAAC0AwAAtQMAAPUDAAC2AwAAtwMAALgDAADRAwAA9AMAAEUDAAC5AwAAvh8AALoDAADwAwAAuwMAALUAAAC8AwAAvQMAAL4DAAC/AwAAwAMAANYDAADBAwAA8QMAAMIDAADDAwAAxAMAAMUDAADGAwAA1QMAAMcDAADIAwAAyQMAACYhAADKAwAAywMAAIYDAACIAwAAiQMAAIoDAACRAwAAkgMAANADAACTAwAAlAMAAJUDAAD1AwAAlgMAAJcDAACYAwAA0QMAAPQDAABFAwAAmQMAAL4fAACaAwAA8AMAAJsDAAC1AAAAnAMAAJ0DAACeAwAAnwMAAKADAADWAwAAoQMAAPEDAACjAwAAwwMAAKMDAADCAwAApAMAAKUDAACmAwAA1QMAAKcDAACoAwAAqQMAACYhAACqAwAAqwMAAIwDAACOAwAAjwMAANcDAACSAwAAsgMAAJgDAAC4AwAA9AMAAKYDAADGAwAAoAMAAMADAADPAwAA2QMAANgDAADbAwAA2gMAAN0DAADcAwAA3wMAAN4DAADhAwAA4AMAAOMDAADiAwAA5QMAAOQDAADnAwAA5gMAAOkDAADoAwAA6wMAAOoDAADtAwAA7AMAAO8DAADuAwAAmgMAALoDAAChAwAAwQMAAPkDAAB/AwAAmAMAALgDAADRAwAAlQMAALUDAAD4AwAA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IB4AACMeAAAiHgAAJR4AACQeAAAnHgAAJh4AACkeAAAoHgAAKx4AACoeAAAtHgAALB4AAC8eAAAuHgAAMR4AADAeAAAzHgAAMh4AADUeAAA0HgAANx4AADYeAAA5HgAAOB4AADseAAA6HgAAPR4AADweAAA/HgAAPh4AAEEeAABAHgAAQx4AAEIeAABFHgAARB4AAEceAABGHgAASR4AAEgeAABLHgAASh4AAE0eAABMHgAATx4AAE4eAABRHgAAUB4AAFMeAABSHgAAVR4AAFQeAABXHgAAVh4AAFkeAABYHgAAWx4AAFoeAABdHgAAXB4AAF8eAABeHgAAYR4AAJseAABgHgAAmx4AAGMeAABiHgAAZR4AAGQeAABnHgAAZh4AAGkeAABoHgAAax4AAGoeAABtHgAAbB4AAG8eAABuHgAAcR4AAHAeAABzHgAAch4AAHUeAAB0HgAAdx4AAHYeAAB5HgAAeB4AAHseAAB6HgAAfR4AAHweAAB/HgAAfh4AAIEeAACAHgAAgx4AAIIeAACFHgAAhB4AAIceAACGHgAAiR4AAIgeAACLHgAAih4AAI0eAACMHgAAjx4AAI4eAACRHgAAkB4AAJMeAACSHgAAlR4AAJQeAABgHgAAYR4AAN8AAAChHgAAoB4AAKMeAACiHgAApR4AAKQeAACnHgAAph4AAKkeAACoHgAAqx4AAKoeAACtHgAArB4AAK8eAACuHgAAsR4AALAeAACzHgAAsh4AALUeAAC0HgAAtx4AALYeAAC5HgAAuB4AALseAAC6HgAAvR4AALweAAC/HgAAvh4AAMEeAADAHgAAwx4AAMIeAADFHgAAxB4AAMceAADGHgAAyR4AAMgeAADLHgAAyh4AAM0eAADMHgAAzx4AAM4eAADRHgAA0B4AANMeAADSHgAA1R4AANQeAADXHgAA1h4AANkeAADYHgAA2x4AANoeAADdHgAA3B4AAN8eAADeHgAA4R4AAOAeAADjHgAA4h4AAOUeAADkHgAA5x4AAOYeAADpHgAA6B4AAOseAADqHgAA7R4AAOweAADvHgAA7h4AAPEeAADwHgAA8x4AAPIeAAD1HgAA9B4AAPceAAD2HgAA+R4AAPgeAAD7HgAA+h4AAP0eAAD8HgAA/x4AAP4eAAAIHwAACR8AAAofAAALHwAADB8AAA0fAAAOHwAADx8AAAAfAAABHwAAAh8AAAMfAAAEHwAABR8AAAYfAAAHHwAAGB8AABkfAAAaHwAAGx8AABwfAAAdHwAAEB8AABEfAAASHwAAEx8AABQfAAAVHwAAKB8AACkfAAAqHwAAKx8AACwfAAAtHwAALh8AAC8fAAAgHwAAIR8AACIfAAAjHwAAJB8AACUfAAAmHwAAJx8AADgfAAA5HwAAOh8AADsfAAA8HwAAPR8AAD4fAAA/HwAAMB8AADEfAAAyHwAAMx8AADQfAAA1HwAANh8AADcfAABIHwAASR8AAEofAABLHwAATB8AAE0fAABAHwAAQR8AAEIfAABDHwAARB8AAEUfAABZHwAAWx8AAF0fAABfHwAAUR8AAFMfAABVHwAAVx8AAGgfAABpHwAAah8AAGsfAABsHwAAbR8AAG4fAABvHwAAYB8AAGEfAABiHwAAYx8AAGQfAABlHwAAZh8AAGcfAAC6HwAAux8AAMgfAADJHwAAyh8AAMsfAADaHwAA2x8AAPgfAAD5HwAA6h8AAOsfAAD6HwAA+x8AAIgfAACJHwAAih8AAIsfAACMHwAAjR8AAI4fAACPHwAAgB8AAIEfAACCHwAAgx8AAIQfAACFHwAAhh8AAIcfAACYHwAAmR8AAJofAACbHwAAnB8AAJ0fAACeHwAAnx8AAJAfAACRHwAAkh8AAJMfAACUHwAAlR8AAJYfAACXHwAAqB8AAKkfAACqHwAAqx8AAKwfAACtHwAArh8AAK8fAACgHwAAoR8AAKIfAACjHwAApB8AAKUfAACmHwAApx8AALgfAAC5HwAAvB8AALAfAACxHwAAcB8AAHEfAACzHwAARQMAAJkDAAC5AwAAzB8AAHIfAABzHwAAdB8AAHUfAADDHwAA2B8AANkfAADQHwAA0R8AAHYfAAB3HwAA6B8AAOkfAADsHwAA4B8AAOEfAAB6HwAAex8AAOUfAAD8HwAAeB8AAHkfAAB8HwAAfR8AAPMfAACpAwAAyQMAAEsAAABrAAAAxQAAAOUAAABOIQAAMiEAAHAhAABxIQAAciEAAHMhAAB0IQAAdSEAAHYhAAB3IQAAeCEAAHkhAAB6IQAAeyEAAHwhAAB9IQAAfiEAAH8hAABgIQAAYSEAAGIhAABjIQAAZCEAAGUhAABmIQAAZyEAAGghAABpIQAAaiEAAGshAABsIQAAbSEAAG4hAABvIQAAhCEAAIMhAADQJAAA0SQAANIkAADTJAAA1CQAANUkAADWJAAA1yQAANgkAADZJAAA2iQAANskAADcJAAA3SQAAN4kAADfJAAA4CQAAOEkAADiJAAA4yQAAOQkAADlJAAA5iQAAOckAADoJAAA6SQAALYkAAC3JAAAuCQAALkkAAC6JAAAuyQAALwkAAC9JAAAviQAAL8kAADAJAAAwSQAAMIkAADDJAAAxCQAAMUkAADGJAAAxyQAAMgkAADJJAAAyiQAAMskAADMJAAAzSQAAM4kAADPJAAAMCwAADEsAAAyLAAAMywAADQsAAA1LAAANiwAADcsAAA4LAAAOSwAADosAAA7LAAAPCwAAD0sAAA+LAAAPywAAEAsAABBLAAAQiwAAEMsAABELAAARSwAAEYsAABHLAAASCwAAEksAABKLAAASywAAEwsAABNLAAATiwAAE8sAABQLAAAUSwAAFIsAABTLAAAVCwAAFUsAABWLAAAVywAAFgsAABZLAAAWiwAAFssAABcLAAAXSwAAF4sAABfLAAAACwAAAEsAAACLAAAAywAAAQsAAAFLAAABiwAAAcsAAAILAAACSwAAAosAAALLAAADCwAAA0sAAAOLAAADywAABAsAAARLAAAEiwAABMsAAAULAAAFSwAABYsAAAXLAAAGCwAABksAAAaLAAAGywAABwsAAAdLAAAHiwAAB8sAAAgLAAAISwAACIsAAAjLAAAJCwAACUsAAAmLAAAJywAACgsAAApLAAAKiwAACssAAAsLAAALSwAAC4sAAAvLAAAYSwAAGAsAABrAgAAfR0AAH0CAAA6AgAAPgIAAGgsAABnLAAAaiwAAGksAABsLAAAaywAAFECAABxAgAAUAIAAFICAABzLAAAciwAAHYsAAB1LAAAPwIAAEACAACBLAAAgCwAAIMsAACCLAAAhSwAAIQsAACHLAAAhiwAAIksAACILAAAiywAAIosAACNLAAAjCwAAI8sAACOLAAAkSwAAJAsAACTLAAAkiwAAJUsAACULAAAlywAAJYsAACZLAAAmCwAAJssAACaLAAAnSwAAJwsAACfLAAAniwAAKEsAACgLAAAoywAAKIsAAClLAAApCwAAKcsAACmLAAAqSwAAKgsAACrLAAAqiwAAK0sAACsLAAArywAAK4sAACxLAAAsCwAALMsAACyLAAAtSwAALQsAAC3LAAAtiwAALksAAC4LAAAuywAALosAAC9LAAAvCwAAL8sAAC+LAAAwSwAAMAsAADDLAAAwiwAAMUsAADELAAAxywAAMYsAADJLAAAyCwAAMssAADKLAAAzSwAAMwsAADPLAAAziwAANEsAADQLAAA0ywAANIsAADVLAAA1CwAANcsAADWLAAA2SwAANgsAADbLAAA2iwAAN0sAADcLAAA3ywAAN4sAADhLAAA4CwAAOMsAADiLAAA7CwAAOssAADuLAAA7SwAAPMsAADyLAAAoBAAAKEQAACiEAAAoxAAAKQQAAClEAAAphAAAKcQAACoEAAAqRAAAKoQAACrEAAArBAAAK0QAACuEAAArxAAALAQAACxEAAAshAAALMQAAC0EAAAtRAAALYQAAC3EAAAuBAAALkQAAC6EAAAuxAAALwQAAC9EAAAvhAAAL8QAADAEAAAwRAAAMIQAADDEAAAxBAAAMUQAADHEAAAzRAAAEGmAABApgAAQ6YAAEKmAABFpgAARKYAAEemAABGpgAASaYAAEimAACIHAAAS6YAAIgcAABKpgAATaYAAEymAABPpgAATqYAAFGmAABQpgAAU6YAAFKmAABVpgAAVKYAAFemAABWpgAAWaYAAFimAABbpgAAWqYAAF2mAABcpgAAX6YAAF6mAABhpgAAYKYAAGOmAABipgAAZaYAAGSmAABnpgAAZqYAAGmmAABopgAAa6YAAGqmAABtpgAAbKYAAIGmAACApgAAg6YAAIKmAACFpgAAhKYAAIemAACGpgAAiaYAAIimAACLpgAAiqYAAI2mAACMpgAAj6YAAI6mAACRpgAAkKYAAJOmAACSpgAAlaYAAJSmAACXpgAAlqYAAJmmAACYpgAAm6YAAJqmAAAjpwAAIqcAACWnAAAkpwAAJ6cAACanAAAppwAAKKcAACunAAAqpwAALacAACynAAAvpwAALqcAADOnAAAypwAANacAADSnAAA3pwAANqcAADmnAAA4pwAAO6cAADqnAAA9pwAAPKcAAD+nAAA+pwAAQacAAECnAABDpwAAQqcAAEWnAABEpwAAR6cAAEanAABJpwAASKcAAEunAABKpwAATacAAEynAABPpwAATqcAAFGnAABQpwAAU6cAAFKnAABVpwAAVKcAAFenAABWpwAAWacAAFinAABbpwAAWqcAAF2nAABcpwAAX6cAAF6nAABhpwAAYKcAAGOnAABipwAAZacAAGSnAABnpwAAZqcAAGmnAABopwAAa6cAAGqnAABtpwAAbKcAAG+nAABupwAAeqcAAHmnAAB8pwAAe6cAAHkdAAB/pwAAfqcAAIGnAACApwAAg6cAAIKnAACFpwAAhKcAAIenAACGpwAAjKcAAIunAABlAgAAkacAAJCnAACTpwAAkqcAAMSnAACXpwAAlqcAAJmnAACYpwAAm6cAAJqnAACdpwAAnKcAAJ+nAACepwAAoacAAKCnAACjpwAAoqcAAKWnAACkpwAAp6cAAKanAACppwAAqKcAAGYCAABcAgAAYQIAAGwCAABqAgAAngIAAIcCAACdAgAAU6sAALWnAAC0pwAAt6cAALanAAC5pwAAuKcAALunAAC6pwAAvacAALynAAC/pwAAvqcAAMGnAADApwAAw6cAAMKnAACUpwAAggIAAI4dAADIpwAAx6cAAMqnAADJpwAA0acAANCnAADXpwAA1qcAANmnAADYpwAA9qcAAPWnAACzpwAAoBMAAKETAACiEwAAoxMAAKQTAAClEwAAphMAAKcTAACoEwAAqRMAAKoTAACrEwAArBMAAK0TAACuEwAArxMAALATAACxEwAAshMAALMTAAC0EwAAtRMAALYTAAC3EwAAuBMAALkTAAC6EwAAuxMAALwTAAC9EwAAvhMAAL8TAADAEwAAwRMAAMITAADDEwAAxBMAAMUTAADGEwAAxxMAAMgTAADJEwAAyhMAAMsTAADMEwAAzRMAAM4TAADPEwAA0BMAANETAADSEwAA0xMAANQTAADVEwAA1hMAANcTAADYEwAA2RMAANoTAADbEwAA3BMAAN0TAADeEwAA3xMAAOATAADhEwAA4hMAAOMTAADkEwAA5RMAAOYTAADnEwAA6BMAAOkTAADqEwAA6xMAAOwTAADtEwAA7hMAAO8TAABB/wAAQv8AAEP/AABE/wAARf8AAEb/AABH/wAASP8AAEn/AABK/wAAS/8AAEz/AABN/wAATv8AAE//AABQ/wAAUf8AAFL/AABT/wAAVP8AAFX/AABW/wAAV/8AAFj/AABZ/wAAWv8AACH/AAAi/wAAI/8AACT/AAAl/wAAJv8AACf/AAAo/wAAKf8AACr/AAAr/wAALP8AAC3/AAAu/wAAL/8AADD/AAAx/wAAMv8AADP/AAA0/wAANf8AADb/AAA3/wAAOP8AADn/AAA6/wAAKAQBACkEAQAqBAEAKwQBACwEAQAtBAEALgQBAC8EAQAwBAEAMQQBADIEAQAzBAEANAQBADUEAQA2BAEANwQBADgEAQA5BAEAOgQBADsEAQA8BAEAPQQBAD4EAQA/BAEAQAQBAEEEAQBCBAEAQwQBAEQEAQBFBAEARgQBAEcEAQBIBAEASQQBAEoEAQBLBAEATAQBAE0EAQBOBAEATwQBAAAEAQABBAEAAgQBAAMEAQAEBAEABQQBAAYEAQAHBAEACAQBAAkEAQAKBAEACwQBAAwEAQANBAEADgQBAA8EAQAQBAEAEQQBABIEAQATBAEAFAQBABUEAQAWBAEAFwQBABgEAQAZBAEAGgQBABsEAQAcBAEAHQQBAB4EAQAfBAEAIAQBACEEAQAiBAEAIwQBACQEAQAlBAEAJgQBACcEAQDYBAEA2QQBANoEAQDbBAEA3AQBAN0EAQDeBAEA3wQBAOAEAQDhBAEA4gQBAOMEAQDkBAEA5QQBAOYEAQDnBAEA6AQBAOkEAQDqBAEA6wQBAOwEAQDtBAEA7gQBAO8EAQDwBAEA8QQBAPIEAQDzBAEA9AQBAPUEAQD2BAEA9wQBAPgEAQD5BAEA+gQBAPsEAQCwBAEAsQQBALIEAQCzBAEAtAQBALUEAQC2BAEAtwQBALgEAQC5BAEAugQBALsEAQC8BAEAvQQBAL4EAQC/BAEAwAQBAMEEAQDCBAEAwwQBAMQEAQDFBAEAxgQBAMcEAQDIBAEAyQQBAMoEAQDLBAEAzAQBAM0EAQDOBAEAzwQBANAEAQDRBAEA0gQBANMEAQCXBQEAmAUBAJkFAQCaBQEAmwUBAJwFAQCdBQEAngUBAJ8FAQCgBQEAoQUBAKMFAQCkBQEApQUBAKYFAQCnBQEAqAUBAKkFAQCqBQEAqwUBAKwFAQCtBQEArgUBAK8FAQCwBQEAsQUBALMFAQC0BQEAtQUBALYFAQC3BQEAuAUBALkFAQC7BQEAvAUBAHAFAQBxBQEAcgUBAHMFAQB0BQEAdQUBAHYFAQB3BQEAeAUBAHkFAQB6BQEAfAUBAH0FAQB+BQEAfwUBAIAFAQCBBQEAggUBAIMFAQCEBQEAhQUBAIYFAQCHBQEAiAUBAIkFAQCKBQEAjAUBAI0FAQCOBQEAjwUBAJAFAQCRBQEAkgUBAJQFAQCVBQEAwAwBAMEMAQDCDAEAwwwBAMQMAQDFDAEAxgwBAMcMAQDIDAEAyQwBAMoMAQDLDAEAzAwBAM0MAQDODAEAzwwBANAMAQDRDAEA0gwBANMMAQDUDAEA1QwBANYMAQDXDAEA2AwBANkMAQDaDAEA2wwBANwMAQDdDAEA3gwBAN8MAQDgDAEA4QwBAOIMAQDjDAEA5AwBAOUMAQDmDAEA5wwBAOgMAQDpDAEA6gwBAOsMAQDsDAEA7QwBAO4MAQDvDAEA8AwBAPEMAQDyDAEAgAwBAIEMAQCCDAEAgwwBAIQMAQCFDAEAhgwBAIcMAQCIDAEAiQwBAIoMAQCLDAEAjAwBAI0MAQCODAEAjwwBAJAMAQCRDAEAkgwBAJMMAQCUDAEAlQwBAJYMAQCXDAEAmAwBAJkMAQCaDAEAmwwBAJwMAQCdDAEAngwBAJ8MAQCgDAEAoQwBAKIMAQCjDAEApAwBAKUMAQCmDAEApwwBAKgMAQCpDAEAqgwBAKsMAQCsDAEArQwBAK4MAQCvDAEAsAwBALEMAQCyDAEAwBgBAMEYAQDCGAEAwxgBAMQYAQDFGAEAxhgBAMcYAQDIGAEAyRgBAMoYAQDLGAEAzBgBAM0YAQDOGAEAzxgBANAYAQDRGAEA0hgBANMYAQDUGAEA1RgBANYYAQDXGAEA2BgBANkYAQDaGAEA2xgBANwYAQDdGAEA3hgBAN8YAQCgGAEAoRgBAKIYAQCjGAEApBgBAKUYAQCmGAEApxgBAKgYAQCpGAEAqhgBAKsYAQCsGAEArRgBAK4YAQCvGAEAsBgBALEYAQCyGAEAsxgBALQYAQC1GAEAthgBALcYAQC4GAEAuRgBALoYAQC7GAEAvBgBAL0YAQC+GAEAvxgBAGBuAQBhbgEAYm4BAGNuAQBkbgEAZW4BAGZuAQBnbgEAaG4BAGluAQBqbgEAa24BAGxuAQBtbgEAbm4BAG9uAQBwbgEAcW4BAHJuAQBzbgEAdG4BAHVuAQB2bgEAd24BAHhuAQB5bgEAem4BAHtuAQB8bgEAfW4BAH5uAQB/bgEAQG4BAEFuAQBCbgEAQ24BAERuAQBFbgEARm4BAEduAQBIbgEASW4BAEpuAQBLbgEATG4BAE1uAQBObgEAT24BAFBuAQBRbgEAUm4BAFNuAQBUbgEAVW4BAFZuAQBXbgEAWG4BAFluAQBabgEAW24BAFxuAQBdbgEAXm4BAF9uAQAi6QEAI+kBACTpAQAl6QEAJukBACfpAQAo6QEAKekBACrpAQAr6QEALOkBAC3pAQAu6QEAL+kBADDpAQAx6QEAMukBADPpAQA06QEANekBADbpAQA36QEAOOkBADnpAQA66QEAO+kBADzpAQA96QEAPukBAD/pAQBA6QEAQekBAELpAQBD6QEAAOkBAAHpAQAC6QEAA+kBAATpAQAF6QEABukBAAfpAQAI6QEACekBAArpAQAL6QEADOkBAA3pAQAO6QEAD+kBABDpAQAR6QEAEukBABPpAQAU6QEAFekBABbpAQAX6QEAGOkBABnpAQAa6QEAG+kBABzpAQAd6QEAHukBAB/pAQAg6QEAIekBAEEAAACAJxEAAQAAAEIAAACEJxEAAQAAAEMAAACIJxEAAQAAAEQAAAAYMBYAAQAAAEUAAACMJxEAAQAAAEYAAACQJxEAAQAAAEcAAACUJxEAAQAAAEgAAACYJxEAAQAAAEkAAACcJxEAAQAAAEoAAACgJxEAAQAAAEsAAACkJxEAAgAAAEwAAACsJxEAAQAAAE0AAACwJxEAAQAAAE4AAAC0JxEAAQAAAE8AAAC4JxEAAQAAAFAAAAC8JxEAAQAAAFEAAADAJxEAAQAAAFIAAADEJxEAAQAAAFMAAADIJxEAAgAAAFQAAADQJxEAAQAAAFUAAADUJxEAAQAAAFYAAADYJxEAAQAAAFcAAADcJxEAAQAAAFgAAADgJxEAAQAAAFkAAADkJxEAAQAAAFoAAADoJxEAAQAAAGEAAADsJxEAAQAAAGIAAADwJxEAAQAAAGMAAAD0JxEAAQAAAGQAAAAUMBYAAQAAAGUAAAD4JxEAAQAAAGYAAAD8JxEAAQAAAGcAAAAAKBEAAQAAAGgAAAAEKBEAAQAAAGkAAAAIKBEAAQAAAGoAAAAMKBEAAQAAAGsAAAAQKBEAAgAAAGwAAAAYKBEAAQAAAG0AAAAcKBEAAQAAAG4AAAAgKBEAAQAAAG8AAAAkKBEAAQAAAHAAAAAoKBEAAQAAAHEAAAAsKBEAAQAAAHIAAAAwKBEAAQAAAHMAAAA0KBEAAgAAAHQAAAA8KBEAAQAAAHUAAABAKBEAAQAAAHYAAABEKBEAAQAAAHcAAABIKBEAAQAAAHgAAABMKBEAAQAAAHkAAABQKBEAAQAAAHoAAABUKBEAAQAAALUAAABYKBEAAgAAAMAAAABgKBEAAQAAAMEAAABkKBEAAQAAAMIAAABoKBEAAQAAAMMAAABsKBEAAQAAAMQAAABwKBEAAQAAAMUAAAB0KBEAAgAAAMYAAAB8KBEAAQAAAMcAAACAKBEAAQAAAMgAAACEKBEAAQAAAMkAAACIKBEAAQAAAMoAAACMKBEAAQAAAMsAAACQKBEAAQAAAMwAAACUKBEAAQAAAM0AAACYKBEAAQAAAM4AAACcKBEAAQAAAM8AAACgKBEAAQAAANAAAACkKBEAAQAAANEAAACoKBEAAQAAANIAAACsKBEAAQAAANMAAACwKBEAAQAAANQAAAC0KBEAAQAAANUAAAC4KBEAAQAAANYAAAC8KBEAAQAAANgAAADAKBEAAQAAANkAAADEKBEAAQAAANoAAADIKBEAAQAAANsAAADMKBEAAQAAANwAAADQKBEAAQAAAN0AAADUKBEAAQAAAN4AAADYKBEAAQAAAN8AAADcKBEAAQAAAOAAAADgKBEAAQAAAOEAAADkKBEAAQAAAOIAAADoKBEAAQAAAOMAAADsKBEAAQAAAOQAAADwKBEAAQAAAOUAAAD0KBEAAgAAAOYAAAD8KBEAAQAAAOcAAAAAKREAAQAAAOgAAAAEKREAAQAAAOkAAAAIKREAAQAAAOoAAAAMKREAAQAAAOsAAAAQKREAAQAAAOwAAAAUKREAAQAAAO0AAAAYKREAAQAAAO4AAAAcKREAAQAAAO8AAAAgKREAAQAAAPAAAAAkKREAAQAAAPEAAAAoKREAAQAAAPIAAAAsKREAAQAAAPMAAAAwKREAAQAAAPQAAAA0KREAAQAAAPUAAAA4KREAAQAAAPYAAAA8KREAAQAAAPgAAABAKREAAQAAAPkAAABEKREAAQAAAPoAAABIKREAAQAAAPsAAABMKREAAQAAAPwAAABQKREAAQAAAP0AAABUKREAAQAAAP4AAABYKREAAQAAAP8AAABcKREAAQAAAAABAABgKREAAQAAAAEBAABkKREAAQAAAAIBAABoKREAAQAAAAMBAABsKREAAQAAAAQBAABwKREAAQAAAAUBAAB0KREAAQAAAAYBAAB4KREAAQAAAAcBAAB8KREAAQAAAAgBAACAKREAAQAAAAkBAACEKREAAQAAAAoBAACIKREAAQAAAAsBAACMKREAAQAAAAwBAACQKREAAQAAAA0BAACUKREAAQAAAA4BAACYKREAAQAAAA8BAACcKREAAQAAABABAACgKREAAQAAABEBAACkKREAAQAAABIBAACoKREAAQAAABMBAACsKREAAQAAABQBAACwKREAAQAAABUBAAC0KREAAQAAABYBAAC4KREAAQAAABcBAAC8KREAAQAAABgBAADAKREAAQAAABkBAADEKREAAQAAABoBAADIKREAAQAAABsBAADMKREAAQAAABwBAADQKREAAQAAAB0BAADUKREAAQAAAB4BAADYKREAAQAAAB8BAADcKREAAQAAACABAADgKREAAQAAACEBAADkKREAAQAAACIBAADoKREAAQAAACMBAADsKREAAQAAACQBAADwKREAAQAAACUBAAD0KREAAQAAACYBAAD4KREAAQAAACcBAAD8KREAAQAAACgBAAAAKhEAAQAAACkBAAAEKhEAAQAAACoBAAAIKhEAAQAAACsBAAAMKhEAAQAAACwBAAAQKhEAAQAAAC0BAAAUKhEAAQAAAC4BAAAYKhEAAQAAAC8BAAAcKhEAAQAAADIBAAAgKhEAAQAAADMBAAAkKhEAAQAAADQBAAAoKhEAAQAAADUBAAAsKhEAAQAAADYBAAAwKhEAAQAAADcBAAA0KhEAAQAAADkBAAA4KhEAAQAAADoBAAA8KhEAAQAAADsBAABAKhEAAQAAADwBAABEKhEAAQAAAD0BAABIKhEAAQAAAD4BAABMKhEAAQAAAD8BAABQKhEAAQAAAEABAABUKhEAAQAAAEEBAABYKhEAAQAAAEIBAABcKhEAAQAAAEMBAABgKhEAAQAAAEQBAABkKhEAAQAAAEUBAABoKhEAAQAAAEYBAABsKhEAAQAAAEcBAABwKhEAAQAAAEgBAAB0KhEAAQAAAEoBAAB4KhEAAQAAAEsBAAB8KhEAAQAAAEwBAACAKhEAAQAAAE0BAACEKhEAAQAAAE4BAACIKhEAAQAAAE8BAACMKhEAAQAAAFABAACQKhEAAQAAAFEBAACUKhEAAQAAAFIBAACYKhEAAQAAAFMBAACcKhEAAQAAAFQBAACgKhEAAQAAAFUBAACkKhEAAQAAAFYBAACoKhEAAQAAAFcBAACsKhEAAQAAAFgBAACwKhEAAQAAAFkBAAC0KhEAAQAAAFoBAAC4KhEAAQAAAFsBAAC8KhEAAQAAAFwBAADAKhEAAQAAAF0BAADEKhEAAQAAAF4BAADIKhEAAQAAAF8BAADMKhEAAQAAAGABAADQKhEAAQAAAGEBAADUKhEAAQAAAGIBAADYKhEAAQAAAGMBAADcKhEAAQAAAGQBAADgKhEAAQAAAGUBAADkKhEAAQAAAGYBAADoKhEAAQAAAGcBAADsKhEAAQAAAGgBAADwKhEAAQAAAGkBAAD0KhEAAQAAAGoBAAD4KhEAAQAAAGsBAAD8KhEAAQAAAGwBAAAAKxEAAQAAAG0BAAAEKxEAAQAAAG4BAAAIKxEAAQAAAG8BAAAMKxEAAQAAAHABAAAQKxEAAQAAAHEBAAAUKxEAAQAAAHIBAAAYKxEAAQAAAHMBAAAcKxEAAQAAAHQBAAAgKxEAAQAAAHUBAAAkKxEAAQAAAHYBAAAoKxEAAQAAAHcBAAAsKxEAAQAAAHgBAAAwKxEAAQAAAHkBAAA0KxEAAQAAAHoBAAA4KxEAAQAAAHsBAAA8KxEAAQAAAHwBAABAKxEAAQAAAH0BAABEKxEAAQAAAH4BAABIKxEAAQAAAH8BAABMKxEAAgAAAIABAABUKxEAAQAAAIEBAABYKxEAAQAAAIIBAABcKxEAAQAAAIMBAABgKxEAAQAAAIQBAABkKxEAAQAAAIUBAABoKxEAAQAAAIYBAABsKxEAAQAAAIcBAABwKxEAAQAAAIgBAAB0KxEAAQAAAIkBAAB4KxEAAQAAAIoBAAB8KxEAAQAAAIsBAACAKxEAAQAAAIwBAACEKxEAAQAAAI4BAACIKxEAAQAAAI8BAACMKxEAAQAAAJABAACQKxEAAQAAAJEBAACUKxEAAQAAAJIBAACYKxEAAQAAAJMBAACcKxEAAQAAAJQBAACgKxEAAQAAAJUBAACkKxEAAQAAAJYBAACoKxEAAQAAAJcBAACsKxEAAQAAAJgBAACwKxEAAQAAAJkBAAC0KxEAAQAAAJoBAAC4KxEAAQAAAJwBAAC8KxEAAQAAAJ0BAADAKxEAAQAAAJ4BAADEKxEAAQAAAJ8BAADIKxEAAQAAAKABAADMKxEAAQAAAKEBAADQKxEAAQAAAKIBAADUKxEAAQAAAKMBAADYKxEAAQAAAKQBAADcKxEAAQAAAKUBAADgKxEAAQAAAKYBAADkKxEAAQAAAKcBAADoKxEAAQAAAKgBAADsKxEAAQAAAKkBAADwKxEAAQAAAKwBAAD0KxEAAQAAAK0BAAD4KxEAAQAAAK4BAAD8KxEAAQAAAK8BAAAALBEAAQAAALABAAAELBEAAQAAALEBAAAILBEAAQAAALIBAAAMLBEAAQAAALMBAAAQLBEAAQAAALQBAAAULBEAAQAAALUBAAAYLBEAAQAAALYBAAAcLBEAAQAAALcBAAAgLBEAAQAAALgBAAAkLBEAAQAAALkBAAAoLBEAAQAAALwBAAAsLBEAAQAAAL0BAAAwLBEAAQAAAL8BAAA0LBEAAQAAAMQBAAA4LBEAAgAAAMUBAABALBEAAgAAAMYBAABILBEAAgAAAMcBAABQLBEAAgAAAMgBAABYLBEAAgAAAMkBAABgLBEAAgAAAMoBAABoLBEAAgAAAMsBAABwLBEAAgAAAMwBAAB4LBEAAgAAAM0BAACALBEAAQAAAM4BAACELBEAAQAAAM8BAACILBEAAQAAANABAACMLBEAAQAAANEBAACQLBEAAQAAANIBAACULBEAAQAAANMBAACYLBEAAQAAANQBAACcLBEAAQAAANUBAACgLBEAAQAAANYBAACkLBEAAQAAANcBAACoLBEAAQAAANgBAACsLBEAAQAAANkBAACwLBEAAQAAANoBAAC0LBEAAQAAANsBAAC4LBEAAQAAANwBAAC8LBEAAQAAAN0BAADALBEAAQAAAN4BAADELBEAAQAAAN8BAADILBEAAQAAAOABAADMLBEAAQAAAOEBAADQLBEAAQAAAOIBAADULBEAAQAAAOMBAADYLBEAAQAAAOQBAADcLBEAAQAAAOUBAADgLBEAAQAAAOYBAADkLBEAAQAAAOcBAADoLBEAAQAAAOgBAADsLBEAAQAAAOkBAADwLBEAAQAAAOoBAAD0LBEAAQAAAOsBAAD4LBEAAQAAAOwBAAD8LBEAAQAAAO0BAAAALREAAQAAAO4BAAAELREAAQAAAO8BAAAILREAAQAAAPEBAAAMLREAAgAAAPIBAAAULREAAgAAAPMBAAAcLREAAgAAAPQBAAAkLREAAQAAAPUBAAAoLREAAQAAAPYBAAAsLREAAQAAAPcBAAAwLREAAQAAAPgBAAA0LREAAQAAAPkBAAA4LREAAQAAAPoBAAA8LREAAQAAAPsBAABALREAAQAAAPwBAABELREAAQAAAP0BAABILREAAQAAAP4BAABMLREAAQAAAP8BAABQLREAAQAAAAACAABULREAAQAAAAECAABYLREAAQAAAAICAABcLREAAQAAAAMCAABgLREAAQAAAAQCAABkLREAAQAAAAUCAABoLREAAQAAAAYCAABsLREAAQAAAAcCAABwLREAAQAAAAgCAAB0LREAAQAAAAkCAAB4LREAAQAAAAoCAAB8LREAAQAAAAsCAACALREAAQAAAAwCAACELREAAQAAAA0CAACILREAAQAAAA4CAACMLREAAQAAAA8CAACQLREAAQAAABACAACULREAAQAAABECAACYLREAAQAAABICAACcLREAAQAAABMCAACgLREAAQAAABQCAACkLREAAQAAABUCAACoLREAAQAAABYCAACsLREAAQAAABcCAACwLREAAQAAABgCAAC0LREAAQAAABkCAAC4LREAAQAAABoCAAC8LREAAQAAABsCAADALREAAQAAABwCAADELREAAQAAAB0CAADILREAAQAAAB4CAADMLREAAQAAAB8CAADQLREAAQAAACACAADULREAAQAAACICAADYLREAAQAAACMCAADcLREAAQAAACQCAADgLREAAQAAACUCAADkLREAAQAAACYCAADoLREAAQAAACcCAADsLREAAQAAACgCAADwLREAAQAAACkCAAD0LREAAQAAACoCAAD4LREAAQAAACsCAAD8LREAAQAAACwCAAAALhEAAQAAAC0CAAAELhEAAQAAAC4CAAAILhEAAQAAAC8CAAAMLhEAAQAAADACAAAQLhEAAQAAADECAAAULhEAAQAAADICAAAYLhEAAQAAADMCAAAcLhEAAQAAADoCAAAgLhEAAQAAADsCAAAkLhEAAQAAADwCAAAoLhEAAQAAAD0CAAAsLhEAAQAAAD4CAAAwLhEAAQAAAD8CAAA0LhEAAQAAAEACAAA4LhEAAQAAAEECAAA8LhEAAQAAAEICAABALhEAAQAAAEMCAABELhEAAQAAAEQCAABILhEAAQAAAEUCAABMLhEAAQAAAEYCAABQLhEAAQAAAEcCAABULhEAAQAAAEgCAABYLhEAAQAAAEkCAABcLhEAAQAAAEoCAABgLhEAAQAAAEsCAABkLhEAAQAAAEwCAABoLhEAAQAAAE0CAABsLhEAAQAAAE4CAABwLhEAAQAAAE8CAAB0LhEAAQAAAFACAAB4LhEAAQAAAFECAAB8LhEAAQAAAFICAACALhEAAQAAAFMCAACELhEAAQAAAFQCAACILhEAAQAAAFYCAACMLhEAAQAAAFcCAACQLhEAAQAAAFkCAACULhEAAQAAAFsCAACYLhEAAQAAAFwCAACcLhEAAQAAAGACAACgLhEAAQAAAGECAACkLhEAAQAAAGMCAACoLhEAAQAAAGUCAACsLhEAAQAAAGYCAACwLhEAAQAAAGgCAAC0LhEAAQAAAGkCAAC4LhEAAQAAAGoCAAC8LhEAAQAAAGsCAADALhEAAQAAAGwCAADELhEAAQAAAG8CAADILhEAAQAAAHECAADMLhEAAQAAAHICAADQLhEAAQAAAHUCAADULhEAAQAAAH0CAADYLhEAAQAAAIACAADcLhEAAQAAAIICAADgLhEAAQAAAIMCAADkLhEAAQAAAIcCAADoLhEAAQAAAIgCAADsLhEAAQAAAIkCAADwLhEAAQAAAIoCAAD0LhEAAQAAAIsCAAD4LhEAAQAAAIwCAAD8LhEAAQAAAJICAAAALxEAAQAAAJ0CAAAELxEAAQAAAJ4CAAAILxEAAQAAAEUDAAAMLxEAAwAAAHADAAAYLxEAAQAAAHEDAAAcLxEAAQAAAHIDAAAgLxEAAQAAAHMDAAAkLxEAAQAAAHYDAAAoLxEAAQAAAHcDAAAsLxEAAQAAAHsDAAAwLxEAAQAAAHwDAAA0LxEAAQAAAH0DAAA4LxEAAQAAAH8DAAA8LxEAAQAAAIYDAABALxEAAQAAAIgDAABELxEAAQAAAIkDAABILxEAAQAAAIoDAABMLxEAAQAAAIwDAABQLxEAAQAAAI4DAABULxEAAQAAAI8DAABYLxEAAQAAAJEDAABcLxEAAQAAAJIDAABgLxEAAgAAAJMDAABoLxEAAQAAAJQDAABsLxEAAQAAAJUDAABwLxEAAgAAAJYDAAB4LxEAAQAAAJcDAAB8LxEAAQAAAJgDAACALxEAAwAAAJkDAACMLxEAAwAAAJoDAACYLxEAAgAAAJsDAACgLxEAAQAAAJwDAACkLxEAAgAAAJ0DAACsLxEAAQAAAJ4DAACwLxEAAQAAAJ8DAAC0LxEAAQAAAKADAAC4LxEAAgAAAKEDAADALxEAAgAAAKMDAADILxEAAgAAAKQDAADQLxEAAQAAAKUDAADULxEAAQAAAKYDAADYLxEAAgAAAKcDAADgLxEAAQAAAKgDAADkLxEAAQAAAKkDAADoLxEAAgAAAKoDAADwLxEAAQAAAKsDAAD0LxEAAQAAAKwDAAD4LxEAAQAAAK0DAAD8LxEAAQAAAK4DAAAAMBEAAQAAAK8DAAAEMBEAAQAAALEDAAAIMBEAAQAAALIDAAAMMBEAAgAAALMDAAAUMBEAAQAAALQDAAAYMBEAAQAAALUDAAAcMBEAAgAAALYDAAAkMBEAAQAAALcDAAAoMBEAAQAAALgDAAAsMBEAAwAAALkDAAA4MBEAAwAAALoDAABEMBEAAgAAALsDAABMMBEAAQAAALwDAABQMBEAAgAAAL0DAABYMBEAAQAAAL4DAABcMBEAAQAAAL8DAABgMBEAAQAAAMADAABkMBEAAgAAAMEDAABsMBEAAgAAAMIDAAB0MBEAAgAAAMMDAAB8MBEAAgAAAMQDAACEMBEAAQAAAMUDAACIMBEAAQAAAMYDAACMMBEAAgAAAMcDAACUMBEAAQAAAMgDAACYMBEAAQAAAMkDAACcMBEAAgAAAMoDAACkMBEAAQAAAMsDAACoMBEAAQAAAMwDAACsMBEAAQAAAM0DAACwMBEAAQAAAM4DAAC0MBEAAQAAAM8DAAC4MBEAAQAAANADAAC8MBEAAgAAANEDAADEMBEAAwAAANUDAADQMBEAAgAAANYDAADYMBEAAgAAANcDAADgMBEAAQAAANgDAADkMBEAAQAAANkDAADoMBEAAQAAANoDAADsMBEAAQAAANsDAADwMBEAAQAAANwDAAD0MBEAAQAAAN0DAAD4MBEAAQAAAN4DAAD8MBEAAQAAAN8DAAAAMREAAQAAAOADAAAEMREAAQAAAOEDAAAIMREAAQAAAOIDAAAMMREAAQAAAOMDAAAQMREAAQAAAOQDAAAUMREAAQAAAOUDAAAYMREAAQAAAOYDAAAcMREAAQAAAOcDAAAgMREAAQAAAOgDAAAkMREAAQAAAOkDAAAoMREAAQAAAOoDAAAsMREAAQAAAOsDAAAwMREAAQAAAOwDAAA0MREAAQAAAO0DAAA4MREAAQAAAO4DAAA8MREAAQAAAO8DAABAMREAAQAAAPADAABEMREAAgAAAPEDAABMMREAAgAAAPIDAABUMREAAQAAAPMDAABYMREAAQAAAPQDAABcMREAAwAAAPUDAABoMREAAgAAAPcDAABwMREAAQAAAPgDAAB0MREAAQAAAPkDAAB4MREAAQAAAPoDAAB8MREAAQAAAPsDAACAMREAAQAAAP0DAACEMREAAQAAAP4DAACIMREAAQAAAP8DAACMMREAAQAAAAAEAACQMREAAQAAAAEEAACUMREAAQAAAAIEAACYMREAAQAAAAMEAACcMREAAQAAAAQEAACgMREAAQAAAAUEAACkMREAAQAAAAYEAACoMREAAQAAAAcEAACsMREAAQAAAAgEAACwMREAAQAAAAkEAAC0MREAAQAAAAoEAAC4MREAAQAAAAsEAAC8MREAAQAAAAwEAADAMREAAQAAAA0EAADEMREAAQAAAA4EAADIMREAAQAAAA8EAADMMREAAQAAABAEAADQMREAAQAAABEEAADUMREAAQAAABIEAADYMREAAgAAABMEAADgMREAAQAAABQEAADkMREAAgAAABUEAADsMREAAQAAABYEAADwMREAAQAAABcEAAD0MREAAQAAABgEAAD4MREAAQAAABkEAAD8MREAAQAAABoEAAAAMhEAAQAAABsEAAAEMhEAAQAAABwEAAAIMhEAAQAAAB0EAAAMMhEAAQAAAB4EAAAQMhEAAgAAAB8EAAAYMhEAAQAAACAEAAAcMhEAAQAAACEEAAAgMhEAAgAAACIEAAAoMhEAAwAAACMEAAA0MhEAAQAAACQEAAA4MhEAAQAAACUEAAA8MhEAAQAAACYEAABAMhEAAQAAACcEAABEMhEAAQAAACgEAABIMhEAAQAAACkEAABMMhEAAQAAACoEAABQMhEAAgAAACsEAABYMhEAAQAAACwEAABcMhEAAQAAAC0EAABgMhEAAQAAAC4EAABkMhEAAQAAAC8EAABoMhEAAQAAADAEAABsMhEAAQAAADEEAABwMhEAAQAAADIEAAB0MhEAAgAAADMEAAB8MhEAAQAAADQEAACAMhEAAgAAADUEAACIMhEAAQAAADYEAACMMhEAAQAAADcEAACQMhEAAQAAADgEAACUMhEAAQAAADkEAACYMhEAAQAAADoEAACcMhEAAQAAADsEAACgMhEAAQAAADwEAACkMhEAAQAAAD0EAACoMhEAAQAAAD4EAACsMhEAAgAAAD8EAAC0MhEAAQAAAEAEAAC4MhEAAQAAAEEEAAC8MhEAAgAAAEIEAADEMhEAAwAAAEMEAADQMhEAAQAAAEQEAADUMhEAAQAAAEUEAADYMhEAAQAAAEYEAADcMhEAAQAAAEcEAADgMhEAAQAAAEgEAADkMhEAAQAAAEkEAADoMhEAAQAAAEoEAADsMhEAAgAAAEsEAAD0MhEAAQAAAEwEAAD4MhEAAQAAAE0EAAD8MhEAAQAAAE4EAAAAMxEAAQAAAE8EAAAEMxEAAQAAAFAEAAAIMxEAAQAAAFEEAAAMMxEAAQAAAFIEAAAQMxEAAQAAAFMEAAAUMxEAAQAAAFQEAAAYMxEAAQAAAFUEAAAcMxEAAQAAAFYEAAAgMxEAAQAAAFcEAAAkMxEAAQAAAFgEAAAoMxEAAQAAAFkEAAAsMxEAAQAAAFoEAAAwMxEAAQAAAFsEAAA0MxEAAQAAAFwEAAA4MxEAAQAAAF0EAAA8MxEAAQAAAF4EAABAMxEAAQAAAF8EAABEMxEAAQAAAGAEAABIMxEAAQAAAGEEAABMMxEAAQAAAGIEAABQMxEAAgAAAGMEAABYMxEAAgAAAGQEAABgMxEAAQAAAGUEAABkMxEAAQAAAGYEAABoMxEAAQAAAGcEAABsMxEAAQAAAGgEAABwMxEAAQAAAGkEAAB0MxEAAQAAAGoEAAB4MxEAAQAAAGsEAAB8MxEAAQAAAGwEAACAMxEAAQAAAG0EAACEMxEAAQAAAG4EAACIMxEAAQAAAG8EAACMMxEAAQAAAHAEAACQMxEAAQAAAHEEAACUMxEAAQAAAHIEAACYMxEAAQAAAHMEAACcMxEAAQAAAHQEAACgMxEAAQAAAHUEAACkMxEAAQAAAHYEAACoMxEAAQAAAHcEAACsMxEAAQAAAHgEAACwMxEAAQAAAHkEAAC0MxEAAQAAAHoEAAC4MxEAAQAAAHsEAAC8MxEAAQAAAHwEAADAMxEAAQAAAH0EAADEMxEAAQAAAH4EAADIMxEAAQAAAH8EAADMMxEAAQAAAIAEAADQMxEAAQAAAIEEAADUMxEAAQAAAIoEAADYMxEAAQAAAIsEAADcMxEAAQAAAIwEAADgMxEAAQAAAI0EAADkMxEAAQAAAI4EAADoMxEAAQAAAI8EAADsMxEAAQAAAJAEAADwMxEAAQAAAJEEAAD0MxEAAQAAAJIEAAD4MxEAAQAAAJMEAAD8MxEAAQAAAJQEAAAANBEAAQAAAJUEAAAENBEAAQAAAJYEAAAINBEAAQAAAJcEAAAMNBEAAQAAAJgEAAAQNBEAAQAAAJkEAAAUNBEAAQAAAJoEAAAYNBEAAQAAAJsEAAAcNBEAAQAAAJwEAAAgNBEAAQAAAJ0EAAAkNBEAAQAAAJ4EAAAoNBEAAQAAAJ8EAAAsNBEAAQAAAKAEAAAwNBEAAQAAAKEEAAA0NBEAAQAAAKIEAAA4NBEAAQAAAKMEAAA8NBEAAQAAAKQEAABANBEAAQAAAKUEAABENBEAAQAAAKYEAABINBEAAQAAAKcEAABMNBEAAQAAAKgEAABQNBEAAQAAAKkEAABUNBEAAQAAAKoEAABYNBEAAQAAAKsEAABcNBEAAQAAAKwEAABgNBEAAQAAAK0EAABkNBEAAQAAAK4EAABoNBEAAQAAAK8EAABsNBEAAQAAALAEAABwNBEAAQAAALEEAAB0NBEAAQAAALIEAAB4NBEAAQAAALMEAAB8NBEAAQAAALQEAACANBEAAQAAALUEAACENBEAAQAAALYEAACINBEAAQAAALcEAACMNBEAAQAAALgEAACQNBEAAQAAALkEAACUNBEAAQAAALoEAACYNBEAAQAAALsEAACcNBEAAQAAALwEAACgNBEAAQAAAL0EAACkNBEAAQAAAL4EAACoNBEAAQAAAL8EAACsNBEAAQAAAMAEAACwNBEAAQAAAMEEAAC0NBEAAQAAAMIEAAC4NBEAAQAAAMMEAAC8NBEAAQAAAMQEAADANBEAAQAAAMUEAADENBEAAQAAAMYEAADINBEAAQAAAMcEAADMNBEAAQAAAMgEAADQNBEAAQAAAMkEAADUNBEAAQAAAMoEAADYNBEAAQAAAMsEAADcNBEAAQAAAMwEAADgNBEAAQAAAM0EAADkNBEAAQAAAM4EAADoNBEAAQAAAM8EAADsNBEAAQAAANAEAADwNBEAAQAAANEEAAD0NBEAAQAAANIEAAD4NBEAAQAAANMEAAD8NBEAAQAAANQEAAAANREAAQAAANUEAAAENREAAQAAANYEAAAINREAAQAAANcEAAAMNREAAQAAANgEAAAQNREAAQAAANkEAAAUNREAAQAAANoEAAAYNREAAQAAANsEAAAcNREAAQAAANwEAAAgNREAAQAAAN0EAAAkNREAAQAAAN4EAAAoNREAAQAAAN8EAAAsNREAAQAAAOAEAAAwNREAAQAAAOEEAAA0NREAAQAAAOIEAAA4NREAAQAAAOMEAAA8NREAAQAAAOQEAABANREAAQAAAOUEAABENREAAQAAAOYEAABINREAAQAAAOcEAABMNREAAQAAAOgEAABQNREAAQAAAOkEAABUNREAAQAAAOoEAABYNREAAQAAAOsEAABcNREAAQAAAOwEAABgNREAAQAAAO0EAABkNREAAQAAAO4EAABoNREAAQAAAO8EAABsNREAAQAAAPAEAABwNREAAQAAAPEEAAB0NREAAQAAAPIEAAB4NREAAQAAAPMEAAB8NREAAQAAAPQEAACANREAAQAAAPUEAACENREAAQAAAPYEAACINREAAQAAAPcEAACMNREAAQAAAPgEAACQNREAAQAAAPkEAACUNREAAQAAAPoEAACYNREAAQAAAPsEAACcNREAAQAAAPwEAACgNREAAQAAAP0EAACkNREAAQAAAP4EAACoNREAAQAAAP8EAACsNREAAQAAAAAFAACwNREAAQAAAAEFAAC0NREAAQAAAAIFAAC4NREAAQAAAAMFAAC8NREAAQAAAAQFAADANREAAQAAAAUFAADENREAAQAAAAYFAADINREAAQAAAAcFAADMNREAAQAAAAgFAADQNREAAQAAAAkFAADUNREAAQAAAAoFAADYNREAAQAAAAsFAADcNREAAQAAAAwFAADgNREAAQAAAA0FAADkNREAAQAAAA4FAADoNREAAQAAAA8FAADsNREAAQAAABAFAADwNREAAQAAABEFAAD0NREAAQAAABIFAAD4NREAAQAAABMFAAD8NREAAQAAABQFAAAANhEAAQAAABUFAAAENhEAAQAAABYFAAAINhEAAQAAABcFAAAMNhEAAQAAABgFAAAQNhEAAQAAABkFAAAUNhEAAQAAABoFAAAYNhEAAQAAABsFAAAcNhEAAQAAABwFAAAgNhEAAQAAAB0FAAAkNhEAAQAAAB4FAAAoNhEAAQAAAB8FAAAsNhEAAQAAACAFAAAwNhEAAQAAACEFAAA0NhEAAQAAACIFAAA4NhEAAQAAACMFAAA8NhEAAQAAACQFAABANhEAAQAAACUFAABENhEAAQAAACYFAABINhEAAQAAACcFAABMNhEAAQAAACgFAABQNhEAAQAAACkFAABUNhEAAQAAACoFAABYNhEAAQAAACsFAABcNhEAAQAAACwFAABgNhEAAQAAAC0FAABkNhEAAQAAAC4FAABoNhEAAQAAAC8FAABsNhEAAQAAADEFAABwNhEAAQAAADIFAAB0NhEAAQAAADMFAAB4NhEAAQAAADQFAAB8NhEAAQAAADUFAACANhEAAQAAADYFAACENhEAAQAAADcFAACINhEAAQAAADgFAACMNhEAAQAAADkFAACQNhEAAQAAADoFAACUNhEAAQAAADsFAACYNhEAAQAAADwFAACcNhEAAQAAAD0FAACgNhEAAQAAAD4FAACkNhEAAQAAAD8FAACoNhEAAQAAAEAFAACsNhEAAQAAAEEFAACwNhEAAQAAAEIFAAC0NhEAAQAAAEMFAAC4NhEAAQAAAEQFAAC8NhEAAQAAAEUFAADANhEAAQAAAEYFAADENhEAAQAAAEcFAADINhEAAQAAAEgFAADMNhEAAQAAAEkFAADQNhEAAQAAAEoFAADUNhEAAQAAAEsFAADYNhEAAQAAAEwFAADcNhEAAQAAAE0FAADgNhEAAQAAAE4FAADkNhEAAQAAAE8FAADoNhEAAQAAAFAFAADsNhEAAQAAAFEFAADwNhEAAQAAAFIFAAD0NhEAAQAAAFMFAAD4NhEAAQAAAFQFAAD8NhEAAQAAAFUFAAAANxEAAQAAAFYFAAAENxEAAQAAAGEFAAAINxEAAQAAAGIFAAAMNxEAAQAAAGMFAAAQNxEAAQAAAGQFAAAUNxEAAQAAAGUFAAAYNxEAAQAAAGYFAAAcNxEAAQAAAGcFAAAgNxEAAQAAAGgFAAAkNxEAAQAAAGkFAAAoNxEAAQAAAGoFAAAsNxEAAQAAAGsFAAAwNxEAAQAAAGwFAAA0NxEAAQAAAG0FAAA4NxEAAQAAAG4FAAA8NxEAAQAAAG8FAABANxEAAQAAAHAFAABENxEAAQAAAHEFAABINxEAAQAAAHIFAABMNxEAAQAAAHMFAABQNxEAAQAAAHQFAABUNxEAAQAAAHUFAABYNxEAAQAAAHYFAABcNxEAAQAAAHcFAABgNxEAAQAAAHgFAABkNxEAAQAAAHkFAABoNxEAAQAAAHoFAABsNxEAAQAAAHsFAABwNxEAAQAAAHwFAAB0NxEAAQAAAH0FAAB4NxEAAQAAAH4FAAB8NxEAAQAAAH8FAACANxEAAQAAAIAFAACENxEAAQAAAIEFAACINxEAAQAAAIIFAACMNxEAAQAAAIMFAACQNxEAAQAAAIQFAACUNxEAAQAAAIUFAACYNxEAAQAAAIYFAACcNxEAAQAAAKAQAACgNxEAAQAAAKEQAACkNxEAAQAAAKIQAACoNxEAAQAAAKMQAACsNxEAAQAAAKQQAACwNxEAAQAAAKUQAAC0NxEAAQAAAKYQAAC4NxEAAQAAAKcQAAC8NxEAAQAAAKgQAADANxEAAQAAAKkQAADENxEAAQAAAKoQAADINxEAAQAAAKsQAADMNxEAAQAAAKwQAADQNxEAAQAAAK0QAADUNxEAAQAAAK4QAADYNxEAAQAAAK8QAADcNxEAAQAAALAQAADgNxEAAQAAALEQAADkNxEAAQAAALIQAADoNxEAAQAAALMQAADsNxEAAQAAALQQAADwNxEAAQAAALUQAAD0NxEAAQAAALYQAAD4NxEAAQAAALcQAAD8NxEAAQAAALgQAAAAOBEAAQAAALkQAAAEOBEAAQAAALoQAAAIOBEAAQAAALsQAAAMOBEAAQAAALwQAAAQOBEAAQAAAL0QAAAUOBEAAQAAAL4QAAAYOBEAAQAAAL8QAAAcOBEAAQAAAMAQAAAgOBEAAQAAAMEQAAAkOBEAAQAAAMIQAAAoOBEAAQAAAMMQAAAsOBEAAQAAAMQQAAAwOBEAAQAAAMUQAAA0OBEAAQAAAMcQAAA4OBEAAQAAAM0QAAA8OBEAAQAAANAQAABAOBEAAQAAANEQAABEOBEAAQAAANIQAABIOBEAAQAAANMQAABMOBEAAQAAANQQAABQOBEAAQAAANUQAABUOBEAAQAAANYQAABYOBEAAQAAANcQAABcOBEAAQAAANgQAABgOBEAAQAAANkQAABkOBEAAQAAANoQAABoOBEAAQAAANsQAABsOBEAAQAAANwQAABwOBEAAQAAAN0QAAB0OBEAAQAAAN4QAAB4OBEAAQAAAN8QAAB8OBEAAQAAAOAQAACAOBEAAQAAAOEQAACEOBEAAQAAAOIQAACIOBEAAQAAAOMQAACMOBEAAQAAAOQQAACQOBEAAQAAAOUQAACUOBEAAQAAAOYQAACYOBEAAQAAAOcQAACcOBEAAQAAAOgQAACgOBEAAQAAAOkQAACkOBEAAQAAAOoQAACoOBEAAQAAAOsQAACsOBEAAQAAAOwQAACwOBEAAQAAAO0QAAC0OBEAAQAAAO4QAAC4OBEAAQAAAO8QAAC8OBEAAQAAAPAQAADAOBEAAQAAAPEQAADEOBEAAQAAAPIQAADIOBEAAQAAAPMQAADMOBEAAQAAAPQQAADQOBEAAQAAAPUQAADUOBEAAQAAAPYQAADYOBEAAQAAAPcQAADcOBEAAQAAAPgQAADgOBEAAQAAAPkQAADkOBEAAQAAAPoQAADoOBEAAQAAAP0QAADsOBEAAQAAAP4QAADwOBEAAQAAAP8QAAD0OBEAAQAAAKATAAD4OBEAAQAAAKETAAD8OBEAAQAAAKITAAAAOREAAQAAAKMTAAAEOREAAQAAAKQTAAAIOREAAQAAAKUTAAAMOREAAQAAAKYTAAAQOREAAQAAAKcTAAAUOREAAQAAAKgTAAAYOREAAQAAAKkTAAAcOREAAQAAAKoTAAAgOREAAQAAAKsTAAAkOREAAQAAAKwTAAAoOREAAQAAAK0TAAAsOREAAQAAAK4TAAAwOREAAQAAAK8TAAA0OREAAQAAALATAAA4OREAAQAAALETAAA8OREAAQAAALITAABAOREAAQAAALMTAABEOREAAQAAALQTAABIOREAAQAAALUTAABMOREAAQAAALYTAABQOREAAQAAALcTAABUOREAAQAAALgTAABYOREAAQAAALkTAABcOREAAQAAALoTAABgOREAAQAAALsTAABkOREAAQAAALwTAABoOREAAQAAAL0TAABsOREAAQAAAL4TAABwOREAAQAAAL8TAAB0OREAAQAAAMATAAB4OREAAQAAAMETAAB8OREAAQAAAMITAACAOREAAQAAAMMTAACEOREAAQAAAMQTAACIOREAAQAAAMUTAACMOREAAQAAAMYTAACQOREAAQAAAMcTAACUOREAAQAAAMgTAACYOREAAQAAAMkTAACcOREAAQAAAMoTAACgOREAAQAAAMsTAACkOREAAQAAAMwTAACoOREAAQAAAM0TAACsOREAAQAAAM4TAACwOREAAQAAAM8TAAC0OREAAQAAANATAAC4OREAAQAAANETAAC8OREAAQAAANITAADAOREAAQAAANMTAADEOREAAQAAANQTAADIOREAAQAAANUTAADMOREAAQAAANYTAADQOREAAQAAANcTAADUOREAAQAAANgTAADYOREAAQAAANkTAADcOREAAQAAANoTAADgOREAAQAAANsTAADkOREAAQAAANwTAADoOREAAQAAAN0TAADsOREAAQAAAN4TAADwOREAAQAAAN8TAAD0OREAAQAAAOATAAD4OREAAQAAAOETAAD8OREAAQAAAOITAAAAOhEAAQAAAOMTAAAEOhEAAQAAAOQTAAAIOhEAAQAAAOUTAAAMOhEAAQAAAOYTAAAQOhEAAQAAAOcTAAAUOhEAAQAAAOgTAAAYOhEAAQAAAOkTAAAcOhEAAQAAAOoTAAAgOhEAAQAAAOsTAAAkOhEAAQAAAOwTAAAoOhEAAQAAAO0TAAAsOhEAAQAAAO4TAAAwOhEAAQAAAO8TAAA0OhEAAQAAAPATAAA4OhEAAQAAAPETAAA8OhEAAQAAAPITAABAOhEAAQAAAPMTAABEOhEAAQAAAPQTAABIOhEAAQAAAPUTAABMOhEAAQAAAPgTAABQOhEAAQAAAPkTAABUOhEAAQAAAPoTAABYOhEAAQAAAPsTAABcOhEAAQAAAPwTAABgOhEAAQAAAP0TAABkOhEAAQAAAIAcAABoOhEAAgAAAIEcAABwOhEAAgAAAIIcAAB4OhEAAgAAAIMcAACAOhEAAgAAAIQcAACIOhEAAwAAAIUcAACUOhEAAwAAAIYcAACgOhEAAgAAAIccAACoOhEAAgAAAIgcAACwOhEAAgAAAJAcAAC4OhEAAQAAAJEcAAC8OhEAAQAAAJIcAADAOhEAAQAAAJMcAADEOhEAAQAAAJQcAADIOhEAAQAAAJUcAADMOhEAAQAAAJYcAADQOhEAAQAAAJccAADUOhEAAQAAAJgcAADYOhEAAQAAAJkcAADcOhEAAQAAAJocAADgOhEAAQAAAJscAADkOhEAAQAAAJwcAADoOhEAAQAAAJ0cAADsOhEAAQAAAJ4cAADwOhEAAQAAAJ8cAAD0OhEAAQAAAKAcAAD4OhEAAQAAAKEcAAD8OhEAAQAAAKIcAAAAOxEAAQAAAKMcAAAEOxEAAQAAAKQcAAAIOxEAAQAAAKUcAAAMOxEAAQAAAKYcAAAQOxEAAQAAAKccAAAUOxEAAQAAAKgcAAAYOxEAAQAAAKkcAAAcOxEAAQAAAKocAAAgOxEAAQAAAKscAAAkOxEAAQAAAKwcAAAoOxEAAQAAAK0cAAAsOxEAAQAAAK4cAAAwOxEAAQAAAK8cAAA0OxEAAQAAALAcAAA4OxEAAQAAALEcAAA8OxEAAQAAALIcAABAOxEAAQAAALMcAABEOxEAAQAAALQcAABIOxEAAQAAALUcAABMOxEAAQAAALYcAABQOxEAAQAAALccAABUOxEAAQAAALgcAABYOxEAAQAAALkcAABcOxEAAQAAALocAABgOxEAAQAAAL0cAABkOxEAAQAAAL4cAABoOxEAAQAAAL8cAABsOxEAAQAAAHkdAABwOxEAAQAAAH0dAAB0OxEAAQAAAI4dAAB4OxEAAQAAAAAeAAB8OxEAAQAAAAEeAACAOxEAAQAAAAIeAACEOxEAAQAAAAMeAACIOxEAAQAAAAQeAACMOxEAAQAAAAUeAACQOxEAAQAAAAYeAACUOxEAAQAAAAceAACYOxEAAQAAAAgeAACcOxEAAQAAAAkeAACgOxEAAQAAAAoeAACkOxEAAQAAAAseAACoOxEAAQAAAAweAACsOxEAAQAAAA0eAACwOxEAAQAAAA4eAAC0OxEAAQAAAA8eAAC4OxEAAQAAABAeAAC8OxEAAQAAABEeAADAOxEAAQAAABIeAADEOxEAAQAAABMeAADIOxEAAQAAABQeAADMOxEAAQAAABUeAADQOxEAAQAAABYeAADUOxEAAQAAABceAADYOxEAAQAAABgeAADcOxEAAQAAABkeAADgOxEAAQAAABoeAADkOxEAAQAAABseAADoOxEAAQAAABweAADsOxEAAQAAAB0eAADwOxEAAQAAAB4eAAD0OxEAAQAAAB8eAAD4OxEAAQAAACAeAAD8OxEAAQAAACEeAAAAPBEAAQAAACIeAAAEPBEAAQAAACMeAAAIPBEAAQAAACQeAAAMPBEAAQAAACUeAAAQPBEAAQAAACYeAAAUPBEAAQAAACceAAAYPBEAAQAAACgeAAAcPBEAAQAAACkeAAAgPBEAAQAAACoeAAAkPBEAAQAAACseAAAoPBEAAQAAACweAAAsPBEAAQAAAC0eAAAwPBEAAQAAAC4eAAA0PBEAAQAAAC8eAAA4PBEAAQAAADAeAAA8PBEAAQAAADEeAABAPBEAAQAAADIeAABEPBEAAQAAADMeAABIPBEAAQAAADQeAABMPBEAAQAAADUeAABQPBEAAQAAADYeAABUPBEAAQAAADceAABYPBEAAQAAADgeAABcPBEAAQAAADkeAABgPBEAAQAAADoeAABkPBEAAQAAADseAABoPBEAAQAAADweAABsPBEAAQAAAD0eAABwPBEAAQAAAD4eAAB0PBEAAQAAAD8eAAB4PBEAAQAAAEAeAAB8PBEAAQAAAEEeAACAPBEAAQAAAEIeAACEPBEAAQAAAEMeAACIPBEAAQAAAEQeAACMPBEAAQAAAEUeAACQPBEAAQAAAEYeAACUPBEAAQAAAEceAACYPBEAAQAAAEgeAACcPBEAAQAAAEkeAACgPBEAAQAAAEoeAACkPBEAAQAAAEseAACoPBEAAQAAAEweAACsPBEAAQAAAE0eAACwPBEAAQAAAE4eAAC0PBEAAQAAAE8eAAC4PBEAAQAAAFAeAAC8PBEAAQAAAFEeAADAPBEAAQAAAFIeAADEPBEAAQAAAFMeAADIPBEAAQAAAFQeAADMPBEAAQAAAFUeAADQPBEAAQAAAFYeAADUPBEAAQAAAFceAADYPBEAAQAAAFgeAADcPBEAAQAAAFkeAADgPBEAAQAAAFoeAADkPBEAAQAAAFseAADoPBEAAQAAAFweAADsPBEAAQAAAF0eAADwPBEAAQAAAF4eAAD0PBEAAQAAAF8eAAD4PBEAAQAAAGAeAAD8PBEAAgAAAGEeAAAEPREAAgAAAGIeAAAMPREAAQAAAGMeAAAQPREAAQAAAGQeAAAUPREAAQAAAGUeAAAYPREAAQAAAGYeAAAcPREAAQAAAGceAAAgPREAAQAAAGgeAAAkPREAAQAAAGkeAAAoPREAAQAAAGoeAAAsPREAAQAAAGseAAAwPREAAQAAAGweAAA0PREAAQAAAG0eAAA4PREAAQAAAG4eAAA8PREAAQAAAG8eAABAPREAAQAAAHAeAABEPREAAQAAAHEeAABIPREAAQAAAHIeAABMPREAAQAAAHMeAABQPREAAQAAAHQeAABUPREAAQAAAHUeAABYPREAAQAAAHYeAABcPREAAQAAAHceAABgPREAAQAAAHgeAABkPREAAQAAAHkeAABoPREAAQAAAHoeAABsPREAAQAAAHseAABwPREAAQAAAHweAAB0PREAAQAAAH0eAAB4PREAAQAAAH4eAAB8PREAAQAAAH8eAACAPREAAQAAAIAeAACEPREAAQAAAIEeAACIPREAAQAAAIIeAACMPREAAQAAAIMeAACQPREAAQAAAIQeAACUPREAAQAAAIUeAACYPREAAQAAAIYeAACcPREAAQAAAIceAACgPREAAQAAAIgeAACkPREAAQAAAIkeAACoPREAAQAAAIoeAACsPREAAQAAAIseAACwPREAAQAAAIweAAC0PREAAQAAAI0eAAC4PREAAQAAAI4eAAC8PREAAQAAAI8eAADAPREAAQAAAJAeAADEPREAAQAAAJEeAADIPREAAQAAAJIeAADMPREAAQAAAJMeAADQPREAAQAAAJQeAADUPREAAQAAAJUeAADYPREAAQAAAJseAADcPREAAgAAAJ4eAADkPREAAQAAAKAeAADoPREAAQAAAKEeAADsPREAAQAAAKIeAADwPREAAQAAAKMeAAD0PREAAQAAAKQeAAD4PREAAQAAAKUeAAD8PREAAQAAAKYeAAAAPhEAAQAAAKceAAAEPhEAAQAAAKgeAAAIPhEAAQAAAKkeAAAMPhEAAQAAAKoeAAAQPhEAAQAAAKseAAAUPhEAAQAAAKweAAAYPhEAAQAAAK0eAAAcPhEAAQAAAK4eAAAgPhEAAQAAAK8eAAAkPhEAAQAAALAeAAAoPhEAAQAAALEeAAAsPhEAAQAAALIeAAAwPhEAAQAAALMeAAA0PhEAAQAAALQeAAA4PhEAAQAAALUeAAA8PhEAAQAAALYeAABAPhEAAQAAALceAABEPhEAAQAAALgeAABIPhEAAQAAALkeAABMPhEAAQAAALoeAABQPhEAAQAAALseAABUPhEAAQAAALweAABYPhEAAQAAAL0eAABcPhEAAQAAAL4eAABgPhEAAQAAAL8eAABkPhEAAQAAAMAeAABoPhEAAQAAAMEeAABsPhEAAQAAAMIeAABwPhEAAQAAAMMeAAB0PhEAAQAAAMQeAAB4PhEAAQAAAMUeAAB8PhEAAQAAAMYeAACAPhEAAQAAAMceAACEPhEAAQAAAMgeAACIPhEAAQAAAMkeAACMPhEAAQAAAMoeAACQPhEAAQAAAMseAACUPhEAAQAAAMweAACYPhEAAQAAAM0eAACcPhEAAQAAAM4eAACgPhEAAQAAAM8eAACkPhEAAQAAANAeAACoPhEAAQAAANEeAACsPhEAAQAAANIeAACwPhEAAQAAANMeAAC0PhEAAQAAANQeAAC4PhEAAQAAANUeAAC8PhEAAQAAANYeAADAPhEAAQAAANceAADEPhEAAQAAANgeAADIPhEAAQAAANkeAADMPhEAAQAAANoeAADQPhEAAQAAANseAADUPhEAAQAAANweAADYPhEAAQAAAN0eAADcPhEAAQAAAN4eAADgPhEAAQAAAN8eAADkPhEAAQAAAOAeAADoPhEAAQAAAOEeAADsPhEAAQAAAOIeAADwPhEAAQAAAOMeAAD0PhEAAQAAAOQeAAD4PhEAAQAAAOUeAAD8PhEAAQAAAOYeAAAAPxEAAQAAAOceAAAEPxEAAQAAAOgeAAAIPxEAAQAAAOkeAAAMPxEAAQAAAOoeAAAQPxEAAQAAAOseAAAUPxEAAQAAAOweAAAYPxEAAQAAAO0eAAAcPxEAAQAAAO4eAAAgPxEAAQAAAO8eAAAkPxEAAQAAAPAeAAAoPxEAAQAAAPEeAAAsPxEAAQAAAPIeAAAwPxEAAQAAAPMeAAA0PxEAAQAAAPQeAAA4PxEAAQAAAPUeAAA8PxEAAQAAAPYeAABAPxEAAQAAAPceAABEPxEAAQAAAPgeAABIPxEAAQAAAPkeAABMPxEAAQAAAPoeAABQPxEAAQAAAPseAABUPxEAAQAAAPweAABYPxEAAQAAAP0eAABcPxEAAQAAAP4eAABgPxEAAQAAAP8eAABkPxEAAQAAAAAfAABoPxEAAQAAAAEfAABsPxEAAQAAAAIfAABwPxEAAQAAAAMfAAB0PxEAAQAAAAQfAAB4PxEAAQAAAAUfAAB8PxEAAQAAAAYfAACAPxEAAQAAAAcfAACEPxEAAQAAAAgfAACIPxEAAQAAAAkfAACMPxEAAQAAAAofAACQPxEAAQAAAAsfAACUPxEAAQAAAAwfAACYPxEAAQAAAA0fAACcPxEAAQAAAA4fAACgPxEAAQAAAA8fAACkPxEAAQAAABAfAACoPxEAAQAAABEfAACsPxEAAQAAABIfAACwPxEAAQAAABMfAAC0PxEAAQAAABQfAAC4PxEAAQAAABUfAAC8PxEAAQAAABgfAADAPxEAAQAAABkfAADEPxEAAQAAABofAADIPxEAAQAAABsfAADMPxEAAQAAABwfAADQPxEAAQAAAB0fAADUPxEAAQAAACAfAADYPxEAAQAAACEfAADcPxEAAQAAACIfAADgPxEAAQAAACMfAADkPxEAAQAAACQfAADoPxEAAQAAACUfAADsPxEAAQAAACYfAADwPxEAAQAAACcfAAD0PxEAAQAAACgfAAD4PxEAAQAAACkfAAD8PxEAAQAAACofAAAAQBEAAQAAACsfAAAEQBEAAQAAACwfAAAIQBEAAQAAAC0fAAAMQBEAAQAAAC4fAAAQQBEAAQAAAC8fAAAUQBEAAQAAADAfAAAYQBEAAQAAADEfAAAcQBEAAQAAADIfAAAgQBEAAQAAADMfAAAkQBEAAQAAADQfAAAoQBEAAQAAADUfAAAsQBEAAQAAADYfAAAwQBEAAQAAADcfAAA0QBEAAQAAADgfAAA4QBEAAQAAADkfAAA8QBEAAQAAADofAABAQBEAAQAAADsfAABEQBEAAQAAADwfAABIQBEAAQAAAD0fAABMQBEAAQAAAD4fAABQQBEAAQAAAD8fAABUQBEAAQAAAEAfAABYQBEAAQAAAEEfAABcQBEAAQAAAEIfAABgQBEAAQAAAEMfAABkQBEAAQAAAEQfAABoQBEAAQAAAEUfAABsQBEAAQAAAEgfAABwQBEAAQAAAEkfAAB0QBEAAQAAAEofAAB4QBEAAQAAAEsfAAB8QBEAAQAAAEwfAACAQBEAAQAAAE0fAACEQBEAAQAAAFEfAACIQBEAAQAAAFMfAACMQBEAAQAAAFUfAACQQBEAAQAAAFcfAACUQBEAAQAAAFkfAACYQBEAAQAAAFsfAACcQBEAAQAAAF0fAACgQBEAAQAAAF8fAACkQBEAAQAAAGAfAACoQBEAAQAAAGEfAACsQBEAAQAAAGIfAACwQBEAAQAAAGMfAAC0QBEAAQAAAGQfAAC4QBEAAQAAAGUfAAC8QBEAAQAAAGYfAADAQBEAAQAAAGcfAADEQBEAAQAAAGgfAADIQBEAAQAAAGkfAADMQBEAAQAAAGofAADQQBEAAQAAAGsfAADUQBEAAQAAAGwfAADYQBEAAQAAAG0fAADcQBEAAQAAAG4fAADgQBEAAQAAAG8fAADkQBEAAQAAAHAfAADoQBEAAQAAAHEfAADsQBEAAQAAAHIfAADwQBEAAQAAAHMfAAD0QBEAAQAAAHQfAAD4QBEAAQAAAHUfAAD8QBEAAQAAAHYfAAAAQREAAQAAAHcfAAAEQREAAQAAAHgfAAAIQREAAQAAAHkfAAAMQREAAQAAAHofAAAQQREAAQAAAHsfAAAUQREAAQAAAHwfAAAYQREAAQAAAH0fAAAcQREAAQAAAIAfAAAgQREAAQAAAIEfAAAkQREAAQAAAIIfAAAoQREAAQAAAIMfAAAsQREAAQAAAIQfAAAwQREAAQAAAIUfAAA0QREAAQAAAIYfAAA4QREAAQAAAIcfAAA8QREAAQAAAIgfAABAQREAAQAAAIkfAABEQREAAQAAAIofAABIQREAAQAAAIsfAABMQREAAQAAAIwfAABQQREAAQAAAI0fAABUQREAAQAAAI4fAABYQREAAQAAAI8fAABcQREAAQAAAJAfAABgQREAAQAAAJEfAABkQREAAQAAAJIfAABoQREAAQAAAJMfAABsQREAAQAAAJQfAABwQREAAQAAAJUfAAB0QREAAQAAAJYfAAB4QREAAQAAAJcfAAB8QREAAQAAAJgfAACAQREAAQAAAJkfAACEQREAAQAAAJofAACIQREAAQAAAJsfAACMQREAAQAAAJwfAACQQREAAQAAAJ0fAACUQREAAQAAAJ4fAACYQREAAQAAAJ8fAACcQREAAQAAAKAfAACgQREAAQAAAKEfAACkQREAAQAAAKIfAACoQREAAQAAAKMfAACsQREAAQAAAKQfAACwQREAAQAAAKUfAAC0QREAAQAAAKYfAAC4QREAAQAAAKcfAAC8QREAAQAAAKgfAADAQREAAQAAAKkfAADEQREAAQAAAKofAADIQREAAQAAAKsfAADMQREAAQAAAKwfAADQQREAAQAAAK0fAADUQREAAQAAAK4fAADYQREAAQAAAK8fAADcQREAAQAAALAfAADgQREAAQAAALEfAADkQREAAQAAALMfAADoQREAAQAAALgfAADsQREAAQAAALkfAADwQREAAQAAALofAAD0QREAAQAAALsfAAD4QREAAQAAALwfAAD8QREAAQAAAL4fAAAAQhEAAwAAAMMfAAAMQhEAAQAAAMgfAAAQQhEAAQAAAMkfAAAUQhEAAQAAAMofAAAYQhEAAQAAAMsfAAAcQhEAAQAAAMwfAAAgQhEAAQAAANAfAAAkQhEAAQAAANEfAAAoQhEAAQAAANgfAAAsQhEAAQAAANkfAAAwQhEAAQAAANofAAA0QhEAAQAAANsfAAA4QhEAAQAAAOAfAAA8QhEAAQAAAOEfAABAQhEAAQAAAOUfAABEQhEAAQAAAOgfAABIQhEAAQAAAOkfAABMQhEAAQAAAOofAABQQhEAAQAAAOsfAABUQhEAAQAAAOwfAABYQhEAAQAAAPMfAABcQhEAAQAAAPgfAABgQhEAAQAAAPkfAABkQhEAAQAAAPofAABoQhEAAQAAAPsfAABsQhEAAQAAAPwfAABwQhEAAQAAACYhAAB0QhEAAgAAACohAAB8QhEAAgAAACshAACEQhEAAgAAADIhAACMQhEAAQAAAE4hAACQQhEAAQAAAGAhAACUQhEAAQAAAGEhAACYQhEAAQAAAGIhAACcQhEAAQAAAGMhAACgQhEAAQAAAGQhAACkQhEAAQAAAGUhAACoQhEAAQAAAGYhAACsQhEAAQAAAGchAACwQhEAAQAAAGghAAC0QhEAAQAAAGkhAAC4QhEAAQAAAGohAAC8QhEAAQAAAGshAADAQhEAAQAAAGwhAADEQhEAAQAAAG0hAADIQhEAAQAAAG4hAADMQhEAAQAAAG8hAADQQhEAAQAAAHAhAADUQhEAAQAAAHEhAADYQhEAAQAAAHIhAADcQhEAAQAAAHMhAADgQhEAAQAAAHQhAADkQhEAAQAAAHUhAADoQhEAAQAAAHYhAADsQhEAAQAAAHchAADwQhEAAQAAAHghAAD0QhEAAQAAAHkhAAD4QhEAAQAAAHohAAD8QhEAAQAAAHshAAAAQxEAAQAAAHwhAAAEQxEAAQAAAH0hAAAIQxEAAQAAAH4hAAAMQxEAAQAAAH8hAAAQQxEAAQAAAIMhAAAUQxEAAQAAAIQhAAAYQxEAAQAAALYkAAAcQxEAAQAAALckAAAgQxEAAQAAALgkAAAkQxEAAQAAALkkAAAoQxEAAQAAALokAAAsQxEAAQAAALskAAAwQxEAAQAAALwkAAA0QxEAAQAAAL0kAAA4QxEAAQAAAL4kAAA8QxEAAQAAAL8kAABAQxEAAQAAAMAkAABEQxEAAQAAAMEkAABIQxEAAQAAAMIkAABMQxEAAQAAAMMkAABQQxEAAQAAAMQkAABUQxEAAQAAAMUkAABYQxEAAQAAAMYkAABcQxEAAQAAAMckAABgQxEAAQAAAMgkAABkQxEAAQAAAMkkAABoQxEAAQAAAMokAABsQxEAAQAAAMskAABwQxEAAQAAAMwkAAB0QxEAAQAAAM0kAAB4QxEAAQAAAM4kAAB8QxEAAQAAAM8kAACAQxEAAQAAANAkAACEQxEAAQAAANEkAACIQxEAAQAAANIkAACMQxEAAQAAANMkAACQQxEAAQAAANQkAACUQxEAAQAAANUkAACYQxEAAQAAANYkAACcQxEAAQAAANckAACgQxEAAQAAANgkAACkQxEAAQAAANkkAACoQxEAAQAAANokAACsQxEAAQAAANskAACwQxEAAQAAANwkAAC0QxEAAQAAAN0kAAC4QxEAAQAAAN4kAAC8QxEAAQAAAN8kAADAQxEAAQAAAOAkAADEQxEAAQAAAOEkAADIQxEAAQAAAOIkAADMQxEAAQAAAOMkAADQQxEAAQAAAOQkAADUQxEAAQAAAOUkAADYQxEAAQAAAOYkAADcQxEAAQAAAOckAADgQxEAAQAAAOgkAADkQxEAAQAAAOkkAADoQxEAAQAAAAAsAADsQxEAAQAAAAEsAADwQxEAAQAAAAIsAAD0QxEAAQAAAAMsAAD4QxEAAQAAAAQsAAD8QxEAAQAAAAUsAAAARBEAAQAAAAYsAAAERBEAAQAAAAcsAAAIRBEAAQAAAAgsAAAMRBEAAQAAAAksAAAQRBEAAQAAAAosAAAURBEAAQAAAAssAAAYRBEAAQAAAAwsAAAcRBEAAQAAAA0sAAAgRBEAAQAAAA4sAAAkRBEAAQAAAA8sAAAoRBEAAQAAABAsAAAsRBEAAQAAABEsAAAwRBEAAQAAABIsAAA0RBEAAQAAABMsAAA4RBEAAQAAABQsAAA8RBEAAQAAABUsAABARBEAAQAAABYsAABERBEAAQAAABcsAABIRBEAAQAAABgsAABMRBEAAQAAABksAABQRBEAAQAAABosAABURBEAAQAAABssAABYRBEAAQAAABwsAABcRBEAAQAAAB0sAABgRBEAAQAAAB4sAABkRBEAAQAAAB8sAABoRBEAAQAAACAsAABsRBEAAQAAACEsAABwRBEAAQAAACIsAAB0RBEAAQAAACMsAAB4RBEAAQAAACQsAAB8RBEAAQAAACUsAACARBEAAQAAACYsAACERBEAAQAAACcsAACIRBEAAQAAACgsAACMRBEAAQAAACksAACQRBEAAQAAACosAACURBEAAQAAACssAACYRBEAAQAAACwsAACcRBEAAQAAAC0sAACgRBEAAQAAAC4sAACkRBEAAQAAAC8sAACoRBEAAQAAADAsAACsRBEAAQAAADEsAACwRBEAAQAAADIsAAC0RBEAAQAAADMsAAC4RBEAAQAAADQsAAC8RBEAAQAAADUsAADARBEAAQAAADYsAADERBEAAQAAADcsAADIRBEAAQAAADgsAADMRBEAAQAAADksAADQRBEAAQAAADosAADURBEAAQAAADssAADYRBEAAQAAADwsAADcRBEAAQAAAD0sAADgRBEAAQAAAD4sAADkRBEAAQAAAD8sAADoRBEAAQAAAEAsAADsRBEAAQAAAEEsAADwRBEAAQAAAEIsAAD0RBEAAQAAAEMsAAD4RBEAAQAAAEQsAAD8RBEAAQAAAEUsAAAARREAAQAAAEYsAAAERREAAQAAAEcsAAAIRREAAQAAAEgsAAAMRREAAQAAAEksAAAQRREAAQAAAEosAAAURREAAQAAAEssAAAYRREAAQAAAEwsAAAcRREAAQAAAE0sAAAgRREAAQAAAE4sAAAkRREAAQAAAE8sAAAoRREAAQAAAFAsAAAsRREAAQAAAFEsAAAwRREAAQAAAFIsAAA0RREAAQAAAFMsAAA4RREAAQAAAFQsAAA8RREAAQAAAFUsAABARREAAQAAAFYsAABERREAAQAAAFcsAABIRREAAQAAAFgsAABMRREAAQAAAFksAABQRREAAQAAAFosAABURREAAQAAAFssAABYRREAAQAAAFwsAABcRREAAQAAAF0sAABgRREAAQAAAF4sAABkRREAAQAAAF8sAABoRREAAQAAAGAsAABsRREAAQAAAGEsAABwRREAAQAAAGIsAAB0RREAAQAAAGMsAAB4RREAAQAAAGQsAAB8RREAAQAAAGUsAACARREAAQAAAGYsAACERREAAQAAAGcsAACIRREAAQAAAGgsAACMRREAAQAAAGksAACQRREAAQAAAGosAACURREAAQAAAGssAACYRREAAQAAAGwsAACcRREAAQAAAG0sAACgRREAAQAAAG4sAACkRREAAQAAAG8sAACoRREAAQAAAHAsAACsRREAAQAAAHIsAACwRREAAQAAAHMsAAC0RREAAQAAAHUsAAC4RREAAQAAAHYsAAC8RREAAQAAAH4sAADARREAAQAAAH8sAADERREAAQAAAIAsAADIRREAAQAAAIEsAADMRREAAQAAAIIsAADQRREAAQAAAIMsAADURREAAQAAAIQsAADYRREAAQAAAIUsAADcRREAAQAAAIYsAADgRREAAQAAAIcsAADkRREAAQAAAIgsAADoRREAAQAAAIksAADsRREAAQAAAIosAADwRREAAQAAAIssAAD0RREAAQAAAIwsAAD4RREAAQAAAI0sAAD8RREAAQAAAI4sAAAARhEAAQAAAI8sAAAERhEAAQAAAJAsAAAIRhEAAQAAAJEsAAAMRhEAAQAAAJIsAAAQRhEAAQAAAJMsAAAURhEAAQAAAJQsAAAYRhEAAQAAAJUsAAAcRhEAAQAAAJYsAAAgRhEAAQAAAJcsAAAkRhEAAQAAAJgsAAAoRhEAAQAAAJksAAAsRhEAAQAAAJosAAAwRhEAAQAAAJssAAA0RhEAAQAAAJwsAAA4RhEAAQAAAJ0sAAA8RhEAAQAAAJ4sAABARhEAAQAAAJ8sAABERhEAAQAAAKAsAABIRhEAAQAAAKEsAABMRhEAAQAAAKIsAABQRhEAAQAAAKMsAABURhEAAQAAAKQsAABYRhEAAQAAAKUsAABcRhEAAQAAAKYsAABgRhEAAQAAAKcsAABkRhEAAQAAAKgsAABoRhEAAQAAAKksAABsRhEAAQAAAKosAABwRhEAAQAAAKssAAB0RhEAAQAAAKwsAAB4RhEAAQAAAK0sAAB8RhEAAQAAAK4sAACARhEAAQAAAK8sAACERhEAAQAAALAsAACIRhEAAQAAALEsAACMRhEAAQAAALIsAACQRhEAAQAAALMsAACURhEAAQAAALQsAACYRhEAAQAAALUsAACcRhEAAQAAALYsAACgRhEAAQAAALcsAACkRhEAAQAAALgsAACoRhEAAQAAALksAACsRhEAAQAAALosAACwRhEAAQAAALssAAC0RhEAAQAAALwsAAC4RhEAAQAAAL0sAAC8RhEAAQAAAL4sAADARhEAAQAAAL8sAADERhEAAQAAAMAsAADIRhEAAQAAAMEsAADMRhEAAQAAAMIsAADQRhEAAQAAAMMsAADURhEAAQAAAMQsAADYRhEAAQAAAMUsAADcRhEAAQAAAMYsAADgRhEAAQAAAMcsAADkRhEAAQAAAMgsAADoRhEAAQAAAMksAADsRhEAAQAAAMosAADwRhEAAQAAAMssAAD0RhEAAQAAAMwsAAD4RhEAAQAAAM0sAAD8RhEAAQAAAM4sAAAARxEAAQAAAM8sAAAERxEAAQAAANAsAAAIRxEAAQAAANEsAAAMRxEAAQAAANIsAAAQRxEAAQAAANMsAAAURxEAAQAAANQsAAAYRxEAAQAAANUsAAAcRxEAAQAAANYsAAAgRxEAAQAAANcsAAAkRxEAAQAAANgsAAAoRxEAAQAAANksAAAsRxEAAQAAANosAAAwRxEAAQAAANssAAA0RxEAAQAAANwsAAA4RxEAAQAAAN0sAAA8RxEAAQAAAN4sAABARxEAAQAAAN8sAABERxEAAQAAAOAsAABIRxEAAQAAAOEsAABMRxEAAQAAAOIsAABQRxEAAQAAAOMsAABURxEAAQAAAOssAABYRxEAAQAAAOwsAABcRxEAAQAAAO0sAABgRxEAAQAAAO4sAABkRxEAAQAAAPIsAABoRxEAAQAAAPMsAABsRxEAAQAAAAAtAABwRxEAAQAAAAEtAAB0RxEAAQAAAAItAAB4RxEAAQAAAAMtAAB8RxEAAQAAAAQtAACARxEAAQAAAAUtAACERxEAAQAAAAYtAACIRxEAAQAAAActAACMRxEAAQAAAAgtAACQRxEAAQAAAAktAACURxEAAQAAAAotAACYRxEAAQAAAAstAACcRxEAAQAAAAwtAACgRxEAAQAAAA0tAACkRxEAAQAAAA4tAACoRxEAAQAAAA8tAACsRxEAAQAAABAtAACwRxEAAQAAABEtAAC0RxEAAQAAABItAAC4RxEAAQAAABMtAAC8RxEAAQAAABQtAADARxEAAQAAABUtAADERxEAAQAAABYtAADIRxEAAQAAABctAADMRxEAAQAAABgtAADQRxEAAQAAABktAADURxEAAQAAABotAADYRxEAAQAAABstAADcRxEAAQAAABwtAADgRxEAAQAAAB0tAADkRxEAAQAAAB4tAADoRxEAAQAAAB8tAADsRxEAAQAAACAtAADwRxEAAQAAACEtAAD0RxEAAQAAACItAAD4RxEAAQAAACMtAAD8RxEAAQAAACQtAAAASBEAAQAAACUtAAAESBEAAQAAACctAAAISBEAAQAAAC0tAAAMSBEAAQAAAECmAAAQSBEAAQAAAEGmAAAUSBEAAQAAAEKmAAAYSBEAAQAAAEOmAAAcSBEAAQAAAESmAAAgSBEAAQAAAEWmAAAkSBEAAQAAAEamAAAoSBEAAQAAAEemAAAsSBEAAQAAAEimAAAwSBEAAQAAAEmmAAA0SBEAAQAAAEqmAAA4SBEAAgAAAEumAABASBEAAgAAAEymAABISBEAAQAAAE2mAABMSBEAAQAAAE6mAABQSBEAAQAAAE+mAABUSBEAAQAAAFCmAABYSBEAAQAAAFGmAABcSBEAAQAAAFKmAABgSBEAAQAAAFOmAABkSBEAAQAAAFSmAABoSBEAAQAAAFWmAABsSBEAAQAAAFamAABwSBEAAQAAAFemAAB0SBEAAQAAAFimAAB4SBEAAQAAAFmmAAB8SBEAAQAAAFqmAACASBEAAQAAAFumAACESBEAAQAAAFymAACISBEAAQAAAF2mAACMSBEAAQAAAF6mAACQSBEAAQAAAF+mAACUSBEAAQAAAGCmAACYSBEAAQAAAGGmAACcSBEAAQAAAGKmAACgSBEAAQAAAGOmAACkSBEAAQAAAGSmAACoSBEAAQAAAGWmAACsSBEAAQAAAGamAACwSBEAAQAAAGemAAC0SBEAAQAAAGimAAC4SBEAAQAAAGmmAAC8SBEAAQAAAGqmAADASBEAAQAAAGumAADESBEAAQAAAGymAADISBEAAQAAAG2mAADMSBEAAQAAAICmAADQSBEAAQAAAIGmAADUSBEAAQAAAIKmAADYSBEAAQAAAIOmAADcSBEAAQAAAISmAADgSBEAAQAAAIWmAADkSBEAAQAAAIamAADoSBEAAQAAAIemAADsSBEAAQAAAIimAADwSBEAAQAAAImmAAD0SBEAAQAAAIqmAAD4SBEAAQAAAIumAAD8SBEAAQAAAIymAAAASREAAQAAAI2mAAAESREAAQAAAI6mAAAISREAAQAAAI+mAAAMSREAAQAAAJCmAAAQSREAAQAAAJGmAAAUSREAAQAAAJKmAAAYSREAAQAAAJOmAAAcSREAAQAAAJSmAAAgSREAAQAAAJWmAAAkSREAAQAAAJamAAAoSREAAQAAAJemAAAsSREAAQAAAJimAAAwSREAAQAAAJmmAAA0SREAAQAAAJqmAAA4SREAAQAAAJumAAA8SREAAQAAACKnAABASREAAQAAACOnAABESREAAQAAACSnAABISREAAQAAACWnAABMSREAAQAAACanAABQSREAAQAAACenAABUSREAAQAAACinAABYSREAAQAAACmnAABcSREAAQAAACqnAABgSREAAQAAACunAABkSREAAQAAACynAABoSREAAQAAAC2nAABsSREAAQAAAC6nAABwSREAAQAAAC+nAAB0SREAAQAAADKnAAB4SREAAQAAADOnAAB8SREAAQAAADSnAACASREAAQAAADWnAACESREAAQAAADanAACISREAAQAAADenAACMSREAAQAAADinAACQSREAAQAAADmnAACUSREAAQAAADqnAACYSREAAQAAADunAACcSREAAQAAADynAACgSREAAQAAAD2nAACkSREAAQAAAD6nAACoSREAAQAAAD+nAACsSREAAQAAAECnAACwSREAAQAAAEGnAAC0SREAAQAAAEKnAAC4SREAAQAAAEOnAAC8SREAAQAAAESnAADASREAAQAAAEWnAADESREAAQAAAEanAADISREAAQAAAEenAADMSREAAQAAAEinAADQSREAAQAAAEmnAADUSREAAQAAAEqnAADYSREAAQAAAEunAADcSREAAQAAAEynAADgSREAAQAAAE2nAADkSREAAQAAAE6nAADoSREAAQAAAE+nAADsSREAAQAAAFCnAADwSREAAQAAAFGnAAD0SREAAQAAAFKnAAD4SREAAQAAAFOnAAD8SREAAQAAAFSnAAAAShEAAQAAAFWnAAAEShEAAQAAAFanAAAIShEAAQAAAFenAAAMShEAAQAAAFinAAAQShEAAQAAAFmnAAAUShEAAQAAAFqnAAAYShEAAQAAAFunAAAcShEAAQAAAFynAAAgShEAAQAAAF2nAAAkShEAAQAAAF6nAAAoShEAAQAAAF+nAAAsShEAAQAAAGCnAAAwShEAAQAAAGGnAAA0ShEAAQAAAGKnAAA4ShEAAQAAAGOnAAA8ShEAAQAAAGSnAABAShEAAQAAAGWnAABEShEAAQAAAGanAABIShEAAQAAAGenAABMShEAAQAAAGinAABQShEAAQAAAGmnAABUShEAAQAAAGqnAABYShEAAQAAAGunAABcShEAAQAAAGynAABgShEAAQAAAG2nAABkShEAAQAAAG6nAABoShEAAQAAAG+nAABsShEAAQAAAHmnAABwShEAAQAAAHqnAAB0ShEAAQAAAHunAAB4ShEAAQAAAHynAAB8ShEAAQAAAH2nAACAShEAAQAAAH6nAACEShEAAQAAAH+nAACIShEAAQAAAICnAACMShEAAQAAAIGnAACQShEAAQAAAIKnAACUShEAAQAAAIOnAACYShEAAQAAAISnAACcShEAAQAAAIWnAACgShEAAQAAAIanAACkShEAAQAAAIenAACoShEAAQAAAIunAACsShEAAQAAAIynAACwShEAAQAAAI2nAAC0ShEAAQAAAJCnAAC4ShEAAQAAAJGnAAC8ShEAAQAAAJKnAADAShEAAQAAAJOnAADEShEAAQAAAJSnAADIShEAAQAAAJanAADMShEAAQAAAJenAADQShEAAQAAAJinAADUShEAAQAAAJmnAADYShEAAQAAAJqnAADcShEAAQAAAJunAADgShEAAQAAAJynAADkShEAAQAAAJ2nAADoShEAAQAAAJ6nAADsShEAAQAAAJ+nAADwShEAAQAAAKCnAAD0ShEAAQAAAKGnAAD4ShEAAQAAAKKnAAD8ShEAAQAAAKOnAAAASxEAAQAAAKSnAAAESxEAAQAAAKWnAAAISxEAAQAAAKanAAAMSxEAAQAAAKenAAAQSxEAAQAAAKinAAAUSxEAAQAAAKmnAAAYSxEAAQAAAKqnAAAcSxEAAQAAAKunAAAgSxEAAQAAAKynAAAkSxEAAQAAAK2nAAAoSxEAAQAAAK6nAAAsSxEAAQAAALCnAAAwSxEAAQAAALGnAAA0SxEAAQAAALKnAAA4SxEAAQAAALOnAAA8SxEAAQAAALSnAABASxEAAQAAALWnAABESxEAAQAAALanAABISxEAAQAAALenAABMSxEAAQAAALinAABQSxEAAQAAALmnAABUSxEAAQAAALqnAABYSxEAAQAAALunAABcSxEAAQAAALynAABgSxEAAQAAAL2nAABkSxEAAQAAAL6nAABoSxEAAQAAAL+nAABsSxEAAQAAAMCnAABwSxEAAQAAAMGnAAB0SxEAAQAAAMKnAAB4SxEAAQAAAMOnAAB8SxEAAQAAAMSnAACASxEAAQAAAMWnAACESxEAAQAAAManAACISxEAAQAAAMenAACMSxEAAQAAAMinAACQSxEAAQAAAMmnAACUSxEAAQAAAMqnAACYSxEAAQAAANCnAACcSxEAAQAAANGnAACgSxEAAQAAANanAACkSxEAAQAAANenAACoSxEAAQAAANinAACsSxEAAQAAANmnAACwSxEAAQAAAPWnAAC0SxEAAQAAAPanAAC4SxEAAQAAAFOrAAC8SxEAAQAAAHCrAADASxEAAQAAAHGrAADESxEAAQAAAHKrAADISxEAAQAAAHOrAADMSxEAAQAAAHSrAADQSxEAAQAAAHWrAADUSxEAAQAAAHarAADYSxEAAQAAAHerAADcSxEAAQAAAHirAADgSxEAAQAAAHmrAADkSxEAAQAAAHqrAADoSxEAAQAAAHurAADsSxEAAQAAAHyrAADwSxEAAQAAAH2rAAD0SxEAAQAAAH6rAAD4SxEAAQAAAH+rAAD8SxEAAQAAAICrAAAATBEAAQAAAIGrAAAETBEAAQAAAIKrAAAITBEAAQAAAIOrAAAMTBEAAQAAAISrAAAQTBEAAQAAAIWrAAAUTBEAAQAAAIarAAAYTBEAAQAAAIerAAAcTBEAAQAAAIirAAAgTBEAAQAAAImrAAAkTBEAAQAAAIqrAAAoTBEAAQAAAIurAAAsTBEAAQAAAIyrAAAwTBEAAQAAAI2rAAA0TBEAAQAAAI6rAAA4TBEAAQAAAI+rAAA8TBEAAQAAAJCrAABATBEAAQAAAJGrAABETBEAAQAAAJKrAABITBEAAQAAAJOrAABMTBEAAQAAAJSrAABQTBEAAQAAAJWrAABUTBEAAQAAAJarAABYTBEAAQAAAJerAABcTBEAAQAAAJirAABgTBEAAQAAAJmrAABkTBEAAQAAAJqrAABoTBEAAQAAAJurAABsTBEAAQAAAJyrAABwTBEAAQAAAJ2rAAB0TBEAAQAAAJ6rAAB4TBEAAQAAAJ+rAAB8TBEAAQAAAKCrAACATBEAAQAAAKGrAACETBEAAQAAAKKrAACITBEAAQAAAKOrAACMTBEAAQAAAKSrAACQTBEAAQAAAKWrAACUTBEAAQAAAKarAACYTBEAAQAAAKerAACcTBEAAQAAAKirAACgTBEAAQAAAKmrAACkTBEAAQAAAKqrAACoTBEAAQAAAKurAACsTBEAAQAAAKyrAACwTBEAAQAAAK2rAAC0TBEAAQAAAK6rAAC4TBEAAQAAAK+rAAC8TBEAAQAAALCrAADATBEAAQAAALGrAADETBEAAQAAALKrAADITBEAAQAAALOrAADMTBEAAQAAALSrAADQTBEAAQAAALWrAADUTBEAAQAAALarAADYTBEAAQAAALerAADcTBEAAQAAALirAADgTBEAAQAAALmrAADkTBEAAQAAALqrAADoTBEAAQAAALurAADsTBEAAQAAALyrAADwTBEAAQAAAL2rAAD0TBEAAQAAAL6rAAD4TBEAAQAAAL+rAAD8TBEAAQAAACH/AAAATREAAQAAACL/AAAETREAAQAAACP/AAAITREAAQAAACT/AAAMTREAAQAAACX/AAAQTREAAQAAACb/AAAUTREAAQAAACf/AAAYTREAAQAAACj/AAAcTREAAQAAACn/AAAgTREAAQAAACr/AAAkTREAAQAAACv/AAAoTREAAQAAACz/AAAsTREAAQAAAC3/AAAwTREAAQAAAC7/AAA0TREAAQAAAC//AAA4TREAAQAAADD/AAA8TREAAQAAADH/AABATREAAQAAADL/AABETREAAQAAADP/AABITREAAQAAADT/AABMTREAAQAAADX/AABQTREAAQAAADb/AABUTREAAQAAADf/AABYTREAAQAAADj/AABcTREAAQAAADn/AABgTREAAQAAADr/AABkTREAAQAAAEH/AABoTREAAQAAAEL/AABsTREAAQAAAEP/AABwTREAAQAAAET/AAB0TREAAQAAAEX/AAB4TREAAQAAAEb/AAB8TREAAQAAAEf/AACATREAAQAAAEj/AACETREAAQAAAEn/AACITREAAQAAAEr/AACMTREAAQAAAEv/AACQTREAAQAAAEz/AACUTREAAQAAAE3/AACYTREAAQAAAE7/AACcTREAAQAAAE//AACgTREAAQAAAFD/AACkTREAAQAAAFH/AACoTREAAQAAAFL/AACsTREAAQAAAFP/AACwTREAAQAAAFT/AAC0TREAAQAAAFX/AAC4TREAAQAAAFb/AAC8TREAAQAAAFf/AADATREAAQAAAFj/AADETREAAQAAAFn/AADITREAAQAAAFr/AADMTREAAQAAAAAEAQDQTREAAQAAAAEEAQDUTREAAQAAAAIEAQDYTREAAQAAAAMEAQDcTREAAQAAAAQEAQDgTREAAQAAAAUEAQDkTREAAQAAAAYEAQDoTREAAQAAAAcEAQDsTREAAQAAAAgEAQDwTREAAQAAAAkEAQD0TREAAQAAAAoEAQD4TREAAQAAAAsEAQD8TREAAQAAAAwEAQAAThEAAQAAAA0EAQAEThEAAQAAAA4EAQAIThEAAQAAAA8EAQAMThEAAQAAABAEAQAQThEAAQAAABEEAQAUThEAAQAAABIEAQAYThEAAQAAABMEAQAcThEAAQAAABQEAQAgThEAAQAAABUEAQAkThEAAQAAABYEAQAoThEAAQAAABcEAQAsThEAAQAAABgEAQAwThEAAQAAABkEAQA0ThEAAQAAABoEAQA4ThEAAQAAABsEAQA8ThEAAQAAABwEAQBAThEAAQAAAB0EAQBEThEAAQAAAB4EAQBIThEAAQAAAB8EAQBMThEAAQAAACAEAQBQThEAAQAAACEEAQBUThEAAQAAACIEAQBYThEAAQAAACMEAQBcThEAAQAAACQEAQBgThEAAQAAACUEAQBkThEAAQAAACYEAQBoThEAAQAAACcEAQBsThEAAQAAACgEAQBwThEAAQAAACkEAQB0ThEAAQAAACoEAQB4ThEAAQAAACsEAQB8ThEAAQAAACwEAQCAThEAAQAAAC0EAQCEThEAAQAAAC4EAQCIThEAAQAAAC8EAQCMThEAAQAAADAEAQCQThEAAQAAADEEAQCUThEAAQAAADIEAQCYThEAAQAAADMEAQCcThEAAQAAADQEAQCgThEAAQAAADUEAQCkThEAAQAAADYEAQCoThEAAQAAADcEAQCsThEAAQAAADgEAQCwThEAAQAAADkEAQC0ThEAAQAAADoEAQC4ThEAAQAAADsEAQC8ThEAAQAAADwEAQDAThEAAQAAAD0EAQDEThEAAQAAAD4EAQDIThEAAQAAAD8EAQDMThEAAQAAAEAEAQDQThEAAQAAAEEEAQDUThEAAQAAAEIEAQDYThEAAQAAAEMEAQDcThEAAQAAAEQEAQDgThEAAQAAAEUEAQDkThEAAQAAAEYEAQDoThEAAQAAAEcEAQDsThEAAQAAAEgEAQDwThEAAQAAAEkEAQD0ThEAAQAAAEoEAQD4ThEAAQAAAEsEAQD8ThEAAQAAAEwEAQAATxEAAQAAAE0EAQAETxEAAQAAAE4EAQAITxEAAQAAAE8EAQAMTxEAAQAAALAEAQAQTxEAAQAAALEEAQAUTxEAAQAAALIEAQAYTxEAAQAAALMEAQAcTxEAAQAAALQEAQAgTxEAAQAAALUEAQAkTxEAAQAAALYEAQAoTxEAAQAAALcEAQAsTxEAAQAAALgEAQAwTxEAAQAAALkEAQA0TxEAAQAAALoEAQA4TxEAAQAAALsEAQA8TxEAAQAAALwEAQBATxEAAQAAAL0EAQBETxEAAQAAAL4EAQBITxEAAQAAAL8EAQBMTxEAAQAAAMAEAQBQTxEAAQAAAMEEAQBUTxEAAQAAAMIEAQBYTxEAAQAAAMMEAQBcTxEAAQAAAMQEAQBgTxEAAQAAAMUEAQBkTxEAAQAAAMYEAQBoTxEAAQAAAMcEAQBsTxEAAQAAAMgEAQBwTxEAAQAAAMkEAQB0TxEAAQAAAMoEAQB4TxEAAQAAAMsEAQB8TxEAAQAAAMwEAQCATxEAAQAAAM0EAQCETxEAAQAAAM4EAQCITxEAAQAAAM8EAQCMTxEAAQAAANAEAQCQTxEAAQAAANEEAQCUTxEAAQAAANIEAQCYTxEAAQAAANMEAQCcTxEAAQAAANgEAQCgTxEAAQAAANkEAQCkTxEAAQAAANoEAQCoTxEAAQAAANsEAQCsTxEAAQAAANwEAQCwTxEAAQAAAN0EAQC0TxEAAQAAAN4EAQC4TxEAAQAAAN8EAQC8TxEAAQAAAOAEAQDATxEAAQAAAOEEAQDETxEAAQAAAOIEAQDITxEAAQAAAOMEAQDMTxEAAQAAAOQEAQDQTxEAAQAAAOUEAQDUTxEAAQAAAOYEAQDYTxEAAQAAAOcEAQDcTxEAAQAAAOgEAQDgTxEAAQAAAOkEAQDkTxEAAQAAAOoEAQDoTxEAAQAAAOsEAQDsTxEAAQAAAOwEAQDwTxEAAQAAAO0EAQD0TxEAAQAAAO4EAQD4TxEAAQAAAO8EAQD8TxEAAQAAAPAEAQAAUBEAAQAAAPEEAQAEUBEAAQAAAPIEAQAIUBEAAQAAAPMEAQAMUBEAAQAAAPQEAQAQUBEAAQAAAPUEAQAUUBEAAQAAAPYEAQAYUBEAAQAAAPcEAQAcUBEAAQAAAPgEAQAgUBEAAQAAAPkEAQAkUBEAAQAAAPoEAQAoUBEAAQAAAPsEAQAsUBEAAQAAAHAFAQAwUBEAAQAAAHEFAQA0UBEAAQAAAHIFAQA4UBEAAQAAAHMFAQA8UBEAAQAAAHQFAQBAUBEAAQAAAHUFAQBEUBEAAQAAAHYFAQBIUBEAAQAAAHcFAQBMUBEAAQAAAHgFAQBQUBEAAQAAAHkFAQBUUBEAAQAAAHoFAQBYUBEAAQAAAHwFAQBcUBEAAQAAAH0FAQBgUBEAAQAAAH4FAQBkUBEAAQAAAH8FAQBoUBEAAQAAAIAFAQBsUBEAAQAAAIEFAQBwUBEAAQAAAIIFAQB0UBEAAQAAAIMFAQB4UBEAAQAAAIQFAQB8UBEAAQAAAIUFAQCAUBEAAQAAAIYFAQCEUBEAAQAAAIcFAQCIUBEAAQAAAIgFAQCMUBEAAQAAAIkFAQCQUBEAAQAAAIoFAQCUUBEAAQAAAIwFAQCYUBEAAQAAAI0FAQCcUBEAAQAAAI4FAQCgUBEAAQAAAI8FAQCkUBEAAQAAAJAFAQCoUBEAAQAAAJEFAQCsUBEAAQAAAJIFAQCwUBEAAQAAAJQFAQC0UBEAAQAAAJUFAQC4UBEAAQAAAJcFAQC8UBEAAQAAAJgFAQDAUBEAAQAAAJkFAQDEUBEAAQAAAJoFAQDIUBEAAQAAAJsFAQDMUBEAAQAAAJwFAQDQUBEAAQAAAJ0FAQDUUBEAAQAAAJ4FAQDYUBEAAQAAAJ8FAQDcUBEAAQAAAKAFAQDgUBEAAQAAAKEFAQDkUBEAAQAAAKMFAQDoUBEAAQAAAKQFAQDsUBEAAQAAAKUFAQDwUBEAAQAAAKYFAQD0UBEAAQAAAKcFAQD4UBEAAQAAAKgFAQD8UBEAAQAAAKkFAQAAUREAAQAAAKoFAQAEUREAAQAAAKsFAQAIUREAAQAAAKwFAQAMUREAAQAAAK0FAQAQUREAAQAAAK4FAQAUUREAAQAAAK8FAQAYUREAAQAAALAFAQAcUREAAQAAALEFAQAgUREAAQAAALMFAQAkUREAAQAAALQFAQAoUREAAQAAALUFAQAsUREAAQAAALYFAQAwUREAAQAAALcFAQA0UREAAQAAALgFAQA4UREAAQAAALkFAQA8UREAAQAAALsFAQBAUREAAQAAALwFAQBEUREAAQAAAIAMAQBIUREAAQAAAIEMAQBMUREAAQAAAIIMAQBQUREAAQAAAIMMAQBUUREAAQAAAIQMAQBYUREAAQAAAIUMAQBcUREAAQAAAIYMAQBgUREAAQAAAIcMAQBkUREAAQAAAIgMAQBoUREAAQAAAIkMAQBsUREAAQAAAIoMAQBwUREAAQAAAIsMAQB0UREAAQAAAIwMAQB4UREAAQAAAI0MAQB8UREAAQAAAI4MAQCAUREAAQAAAI8MAQCEUREAAQAAAJAMAQCIUREAAQAAAJEMAQCMUREAAQAAAJIMAQCQUREAAQAAAJMMAQCUUREAAQAAAJQMAQCYUREAAQAAAJUMAQCcUREAAQAAAJYMAQCgUREAAQAAAJcMAQCkUREAAQAAAJgMAQCoUREAAQAAAJkMAQCsUREAAQAAAJoMAQCwUREAAQAAAJsMAQC0UREAAQAAAJwMAQC4UREAAQAAAJ0MAQC8UREAAQAAAJ4MAQDAUREAAQAAAJ8MAQDEUREAAQAAAKAMAQDIUREAAQAAAKEMAQDMUREAAQAAAKIMAQDQUREAAQAAAKMMAQDUUREAAQAAAKQMAQDYUREAAQAAAKUMAQDcUREAAQAAAKYMAQDgUREAAQAAAKcMAQDkUREAAQAAAKgMAQDoUREAAQAAAKkMAQDsUREAAQAAAKoMAQDwUREAAQAAAKsMAQD0UREAAQAAAKwMAQD4UREAAQAAAK0MAQD8UREAAQAAAK4MAQAAUhEAAQAAAK8MAQAEUhEAAQAAALAMAQAIUhEAAQAAALEMAQAMUhEAAQAAALIMAQAQUhEAAQAAAMAMAQAUUhEAAQAAAMEMAQAYUhEAAQAAAMIMAQAcUhEAAQAAAMMMAQAgUhEAAQAAAMQMAQAkUhEAAQAAAMUMAQAoUhEAAQAAAMYMAQAsUhEAAQAAAMcMAQAwUhEAAQAAAMgMAQA0UhEAAQAAAMkMAQA4UhEAAQAAAMoMAQA8UhEAAQAAAMsMAQBAUhEAAQAAAMwMAQBEUhEAAQAAAM0MAQBIUhEAAQAAAM4MAQBMUhEAAQAAAM8MAQBQUhEAAQAAANAMAQBUUhEAAQAAANEMAQBYUhEAAQAAANIMAQBcUhEAAQAAANMMAQBgUhEAAQAAANQMAQBkUhEAAQAAANUMAQBoUhEAAQAAANYMAQBsUhEAAQAAANcMAQBwUhEAAQAAANgMAQB0UhEAAQAAANkMAQB4UhEAAQAAANoMAQB8UhEAAQAAANsMAQCAUhEAAQAAANwMAQCEUhEAAQAAAN0MAQCIUhEAAQAAAN4MAQCMUhEAAQAAAN8MAQCQUhEAAQAAAOAMAQCUUhEAAQAAAOEMAQCYUhEAAQAAAOIMAQCcUhEAAQAAAOMMAQCgUhEAAQAAAOQMAQCkUhEAAQAAAOUMAQCoUhEAAQAAAOYMAQCsUhEAAQAAAOcMAQCwUhEAAQAAAOgMAQC0UhEAAQAAAOkMAQC4UhEAAQAAAOoMAQC8UhEAAQAAAOsMAQDAUhEAAQAAAOwMAQDEUhEAAQAAAO0MAQDIUhEAAQAAAO4MAQDMUhEAAQAAAO8MAQDQUhEAAQAAAPAMAQDUUhEAAQAAAPEMAQDYUhEAAQAAAPIMAQDcUhEAAQAAAKAYAQDgUhEAAQAAAKEYAQDkUhEAAQAAAKIYAQDoUhEAAQAAAKMYAQDsUhEAAQAAAKQYAQDwUhEAAQAAAKUYAQD0UhEAAQAAAKYYAQD4UhEAAQAAAKcYAQD8UhEAAQAAAKgYAQAAUxEAAQAAAKkYAQAEUxEAAQAAAKoYAQAIUxEAAQAAAKsYAQAMUxEAAQAAAKwYAQAQUxEAAQAAAK0YAQAUUxEAAQAAAK4YAQAYUxEAAQAAAK8YAQAcUxEAAQAAALAYAQAgUxEAAQAAALEYAQAkUxEAAQAAALIYAQAoUxEAAQAAALMYAQAsUxEAAQAAALQYAQAwUxEAAQAAALUYAQA0UxEAAQAAALYYAQA4UxEAAQAAALcYAQA8UxEAAQAAALgYAQBAUxEAAQAAALkYAQBEUxEAAQAAALoYAQBIUxEAAQAAALsYAQBMUxEAAQAAALwYAQBQUxEAAQAAAL0YAQBUUxEAAQAAAL4YAQBYUxEAAQAAAL8YAQBcUxEAAQAAAMAYAQBgUxEAAQAAAMEYAQBkUxEAAQAAAMIYAQBoUxEAAQAAAMMYAQBsUxEAAQAAAMQYAQBwUxEAAQAAAMUYAQB0UxEAAQAAAMYYAQB4UxEAAQAAAMcYAQB8UxEAAQAAAMgYAQCAUxEAAQAAAMkYAQCEUxEAAQAAAMoYAQCIUxEAAQAAAMsYAQCMUxEAAQAAAMwYAQCQUxEAAQAAAM0YAQCUUxEAAQAAAM4YAQCYUxEAAQAAAM8YAQCcUxEAAQAAANAYAQCgUxEAAQAAANEYAQCkUxEAAQAAANIYAQCoUxEAAQAAANMYAQCsUxEAAQAAANQYAQCwUxEAAQAAANUYAQC0UxEAAQAAANYYAQC4UxEAAQAAANcYAQC8UxEAAQAAANgYAQDAUxEAAQAAANkYAQDEUxEAAQAAANoYAQDIUxEAAQAAANsYAQDMUxEAAQAAANwYAQDQUxEAAQAAAN0YAQDUUxEAAQAAAN4YAQDYUxEAAQAAAN8YAQDcUxEAAQAAAEBuAQDgUxEA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ZWRiaWRpbWlycm9yZWRiaWRpbWlycm9yaW5nZ2x5cGhCaWRpX01pcnJvcmluZ19HbHlwaGJpZGlwYWlyZWRicmFja2V0QmlkaV9QYWlyZWRfQnJhY2tldGJpZGlwYWlyZWRicmFja2V0dHlwZUJpZGlfUGFpcmVkX0JyYWNrZXRfVHlwZWJsa2JtZ2JwYmJwdGNhbm9uaWNhbGNvbWJpbmluZ2NsYXNzQ2Fub25pY2FsX0NvbWJpbmluZ19DbGFzc2Nhc2VkQ2FzZWRjYXNlZm9sZGluZ0Nhc2VfRm9sZGluZ2Nhc2VpZ25vcmFibGVDYXNlX0lnbm9yYWJsZWNjY2NlQ29tcG9zaXRpb25fRXhjbHVzaW9uY2hhbmdlc3doZW5jYXNlZm9sZGVkQ2hhbmdlc19XaGVuX0Nhc2Vmb2xkZWRjaGFuZ2Vzd2hlbmNhc2VtYXBwZWRDaGFuZ2VzX1doZW5fQ2FzZW1hcHBlZGNoYW5nZXN3aGVubG93ZXJjYXNlZENoYW5nZXNfV2hlbl9Mb3dlcmNhc2VkY2hhbmdlc3doZW5uZmtjY2FzZWZvbGRlZENoYW5nZXNfV2hlbl9ORktDX0Nhc2Vmb2xkZWRjaGFuZ2Vzd2hlbnRpdGxlY2FzZWRDaGFuZ2VzX1doZW5fVGl0bGVjYXNlZGNoYW5nZXN3aGVudXBwZXJjYXNlZENoYW5nZXNfV2hlbl9VcHBlcmNhc2VkY2ljamthY2NvdW50aW5nbnVtZXJpY2tBY2NvdW50aW5nTnVtZXJpY2Nqa2NvbXBhdGliaWxpdHl2YXJpYW50a0NvbXBhdGliaWxpdHlWYXJpYW50Y2praWljb3Jla0lJQ29yZWNqa2lyZ2dzb3VyY2VrSVJHX0dTb3VyY2Vjamtpcmdoc291cmNla0lSR19IU291cmNlY2praXJnanNvdXJjZWtJUkdfSlNvdXJjZWNqa2lyZ2twc291cmNla0lSR19LUFNvdXJjZWNqa2lyZ2tzb3VyY2VrSVJHX0tTb3VyY2Vjamtpcmdtc291cmNla0lSR19NU291cmNlY2praXJnc3NvdXJjZWtJUkdfU1NvdXJjZWNqa2lyZ3Rzb3VyY2VrSVJHX1RTb3VyY2Vjamtpcmd1a3NvdXJjZWtJUkdfVUtTb3VyY2Vjamtpcmd1c291cmNla0lSR19VU291cmNlY2praXJndnNvdXJjZWtJUkdfVlNvdXJjZWNqa290aGVybnVtZXJpY2tPdGhlck51bWVyaWNjamtwcmltYXJ5bnVtZXJpY2tQcmltYXJ5TnVtZXJpY2Nqa3JzdW5pY29kZWtSU1VuaWNvZGVjb21wZXhGdWxsX0NvbXBvc2l0aW9uX0V4Y2x1c2lvbmNvbXBvc2l0aW9uZXhjbHVzaW9uY3djZmN3Y21jd2tjZmN3bGN3dGN3dWRhc2hEYXNoZGVjb21wb3NpdGlvbm1hcHBpbmdEZWNvbXBvc2l0aW9uX01hcHBpbmdkZWNvbXBvc2l0aW9udHlwZURlY29tcG9zaXRpb25fVHlwZWRlZmF1bHRpZ25vcmFibGVjb2RlcG9pbnREZWZhdWx0X0lnbm9yYWJsZV9Db2RlX1BvaW50ZGVwRGVwcmVjYXRlZGRlcHJlY2F0ZWRkaWRpYURpYWNyaXRpY2RpYWNyaXRpY2RtZHRlYUVhc3RfQXNpYW5fV2lkdGhlYXN0YXNpYW53aWR0aGViYXNlRW1vamlfTW9kaWZpZXJfQmFzZWVjb21wRW1vamlfQ29tcG9uZW50ZW1vZEVtb2ppX01vZGlmaWVyZW1vamlFbW9qaWVtb2ppY29tcG9uZW50ZW1vamltb2RpZmllcmVtb2ppbW9kaWZpZXJiYXNlZW1vamlwcmVzZW50YXRpb25FbW9qaV9QcmVzZW50YXRpb25lcHJlc2VxdWlkZW9FcXVpdmFsZW50X1VuaWZpZWRfSWRlb2dyYXBoZXF1aXZhbGVudHVuaWZpZWRpZGVvZ3JhcGhleHBhbmRzb25uZmNFeHBhbmRzX09uX05GQ2V4cGFuZHNvbm5mZEV4cGFuZHNfT25fTkZEZXhwYW5kc29ubmZrY0V4cGFuZHNfT25fTkZLQ2V4cGFuZHNvbm5ma2RFeHBhbmRzX09uX05GS0RleHRFeHRlbmRlcmV4dGVuZGVkcGljdG9ncmFwaGljRXh0ZW5kZWRfUGljdG9ncmFwaGljZXh0ZW5kZXJleHRwaWN0ZmNuZmtjRkNfTkZLQ19DbG9zdXJlZmNuZmtjY2xvc3VyZWZ1bGxjb21wb3NpdGlvbmV4Y2x1c2lvbmdjZ2NiZ2VuZXJhbGNhdGVnb3J5Z3JhcGhlbWViYXNlR3JhcGhlbWVfQmFzZWdyYXBoZW1lY2x1c3RlcmJyZWFrZ3JhcGhlbWVleHRlbmRHcmFwaGVtZV9FeHRlbmRncmFwaGVtZWxpbmtHcmFwaGVtZV9MaW5rZ3JiYXNlZ3JleHRncmxpbmtoYW5ndWxzeWxsYWJsZXR5cGVIYW5ndWxfU3lsbGFibGVfVHlwZWhleEhleF9EaWdpdGhleGRpZ2l0aHN0aHlwaGVuSHlwaGVuaWRjSURfQ29udGludWVpZGNvbnRpbnVlaWRlb0lkZW9ncmFwaGljaWRlb2dyYXBoaWNpZHNJRF9TdGFydGlkc2JJRFNfQmluYXJ5X09wZXJhdG9yaWRzYmluYXJ5b3BlcmF0b3JpZHN0SURTX1RyaW5hcnlfT3BlcmF0b3JpZHN0YXJ0aWRzdHJpbmFyeW9wZXJhdG9yaW5kaWNwb3NpdGlvbmFsY2F0ZWdvcnlJbmRpY19Qb3NpdGlvbmFsX0NhdGVnb3J5aW5kaWNzeWxsYWJpY2NhdGVnb3J5SW5kaWNfU3lsbGFiaWNfQ2F0ZWdvcnlpbnBjaW5zY2lzY0lTT19Db21tZW50amFtb3Nob3J0bmFtZUphbW9fU2hvcnRfTmFtZWpnSm9pbmluZ19Hcm91cGpvaW5jSm9pbl9Db250cm9sam9pbmNvbnRyb2xqb2luaW5nZ3JvdXBqb2luaW5ndHlwZUpvaW5pbmdfVHlwZWpzbmp0a2FjY291bnRpbmdudW1lcmlja2NvbXBhdGliaWxpdHl2YXJpYW50a2lpY29yZWtpcmdnc291cmNla2lyZ2hzb3VyY2VraXJnanNvdXJjZWtpcmdrcHNvdXJjZWtpcmdrc291cmNla2lyZ21zb3VyY2VraXJnc3NvdXJjZWtpcmd0c291cmNla2lyZ3Vrc291cmNla2lyZ3Vzb3VyY2VraXJndnNvdXJjZWtvdGhlcm51bWVyaWNrcHJpbWFyeW51bWVyaWNrcnN1bmljb2RlbGJMaW5lX0JyZWFrTG93ZXJjYXNlX01hcHBpbmdsaW5lYnJlYWtsb2VMb2dpY2FsX09yZGVyX0V4Y2VwdGlvbmxvZ2ljYWxvcmRlcmV4Y2VwdGlvbkxvd2VyY2FzZWxvd2VyY2FzZWxvd2VyY2FzZW1hcHBpbmdtYXRoTWF0aG5hTmFtZW5hMVVuaWNvZGVfMV9OYW1lbmFtZWFsaWFzTmFtZV9BbGlhc25jaGFyTm9uY2hhcmFjdGVyX0NvZGVfUG9pbnRuZmNxY05GQ19RdWlja19DaGVja25mY3F1aWNrY2hlY2tuZmRxY05GRF9RdWlja19DaGVja25mZHF1aWNrY2hlY2tuZmtjY2FzZWZvbGRORktDX0Nhc2Vmb2xkbmZrY2NmbmZrY3FjTkZLQ19RdWlja19DaGVja25ma2NxdWlja2NoZWNrbmZrZHFjTkZLRF9RdWlja19DaGVja25ma2RxdWlja2NoZWNrbm9uY2hhcmFjdGVyY29kZXBvaW50bnROdW1lcmljX1R5cGVudW1lcmljdHlwZW51bWVyaWN2YWx1ZU51bWVyaWNfVmFsdWVudm9hbHBoYU90aGVyX0FscGhhYmV0aWNvY29tbWVudG9kaU90aGVyX0RlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnRvZ3JleHRPdGhlcl9HcmFwaGVtZV9FeHRlbmRvaWRjT3RoZXJfSURfQ29udGludWVvaWRzT3RoZXJfSURfU3RhcnRvbG93ZXJPdGhlcl9Mb3dlcmNhc2VvbWF0aE90aGVyX01hdGhvdGhlcmFscGhhYmV0aWNvdGhlcmRlZmF1bHRpZ25vcmFibGVjb2RlcG9pbnRvdGhlcmdyYXBoZW1lZXh0ZW5kb3RoZXJpZGNvbnRpbnVlb3RoZXJpZHN0YXJ0b3RoZXJsb3dlcmNhc2VvdGhlcm1hdGhvdGhlcnVwcGVyY2FzZU90aGVyX1VwcGVyY2FzZW91cHBlcnBhdHN5blBhdHRlcm5fU3ludGF4cGF0dGVybnN5bnRheHBhdHRlcm53aGl0ZXNwYWNlUGF0dGVybl9XaGl0ZV9TcGFjZXBhdHdzcGNtUHJlcGVuZGVkX0NvbmNhdGVuYXRpb25fTWFya3ByZXBlbmRlZGNvbmNhdGVuYXRpb25tYXJrcW1hcmtRdW90YXRpb25fTWFya3F1b3RhdGlvbm1hcmtyYWRpY2FsUmFkaWNhbHJlZ2lvbmFsaW5kaWNhdG9yUmVnaW9uYWxfSW5kaWNhdG9ycmlzYnNjZlNpbXBsZV9DYXNlX0ZvbGRpbmdzY3JpcHRleHRlbnNpb25zc2N4c2RTb2Z0X0RvdHRlZHNlbnRlbmNlYnJlYWtzZW50ZW5jZXRlcm1pbmFsU2VudGVuY2VfVGVybWluYWxzZmNzaW1wbGVjYXNlZm9sZGluZ3NpbXBsZWxvd2VyY2FzZW1hcHBpbmdTaW1wbGVfTG93ZXJjYXNlX01hcHBpbmdzaW1wbGV0aXRsZWNhc2VtYXBwaW5nU2ltcGxlX1RpdGxlY2FzZV9NYXBwaW5nc2ltcGxldXBwZXJjYXNlbWFwcGluZ1NpbXBsZV9VcHBlcmNhc2VfTWFwcGluZ3NsY3NvZnRkb3R0ZWRXaGl0ZV9TcGFjZXN0Y3N0ZXJtc3VjdGNUaXRsZWNhc2VfTWFwcGluZ3Rlcm1UZXJtaW5hbF9QdW5jdHVhdGlvbnRlcm1pbmFscHVuY3R1YXRpb250aXRsZWNhc2VtYXBwaW5ndWNVcHBlcmNhc2VfTWFwcGluZ3VpZGVvVW5pZmllZF9JZGVvZ3JhcGh1bmljb2RlMW5hbWV1bmljb2RlcmFkaWNhbHN0cm9rZXVuaWZpZWRpZGVvZ3JhcGhVcHBlcmNhc2V1cHBlcmNhc2V1cHBlcmNhc2VtYXBwaW5ndXJzdmFyaWF0aW9uc2VsZWN0b3JWYXJpYXRpb25fU2VsZWN0b3J2ZXJ0aWNhbG9yaWVudGF0aW9uVmVydGljYWxfT3JpZW50YXRpb252b3Zzd2J3aGl0ZXNwYWNld29yZGJyZWFrd3NwYWNleGlkY1hJRF9Db250aW51ZXhpZGNvbnRpbnVleGlkc1hJRF9TdGFydHhpZHN0YXJ0eG9uZmN4b25mZHhvbmZrY3hvbmZrZOT8EQADAAAAAOIRAAMAAADn/BEABAAAAOv8EQAPAAAAGUcWAAUAAAD6/BEACgAAAAT9EQAKAAAA+vwRAAoAAAAO/READQAAAOv8EQAPAAAAG/0RAAIAAAAd/REACgAAACf9EQAFAAAALP0RAAwAAAA4/REACQAAAB39EQAKAAAAQf0RAAsAAAAs/READAAAAEz9EQAFAAAAUf0RAA0AAABe/READAAAAFH9EQANAAAAav0RABIAAAB8/REAFAAAAJD9EQARAAAAof0RABMAAAC0/REAFQAAAMn9EQAYAAAA4f0RAAMAAABvgBYABQAAAMeBFgAFAAAAb4AWAAUAAADk/REAAwAAAHz9EQAUAAAA5/0RAAMAAACh/REAEwAAAOr9EQADAAAAyf0RABgAAADt/REA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BAAAALcdEgAFAAAAgR4SAAMAAACvHRIABAAAAIQeEgAEAAAAwB0SAAUAAACIHhIABAAAAMkdEgAFAAAAjB4SAAQAAADSHRIABQAAAJAeEgAEAAAA2x0SAAUAAACUHhIABAAAAOQdEgAFAAAAmB4SAAQAAADtHRIABQAAAJweEgADAAAA9R0SAAQAAACfHhIAAwAAAPwdEgAEAAAAoh4SAAMAAAADHhIABAAAAKUeEgADAAAACh4SAAQAAACoHhIAAwAAABEeEgAEAAAAqx4SAAMAAAAYHhIABAAAAK4eEgADAAAAHx4SAAQAAACxHhIAAwAAACYeEgAEAAAAtB4SAAMAAAAtHhIABAAAALceEgADAAAANB4SAAQAAAC6HhIAAwAAADseEgAEAAAAvR4SAAMAAABCHhIABAAAAMAeEgADAAAASR4SAAQAAADDHhIAAwAAAFAeEgAEAAAAxh4SAAMAAABXHhIABAAAAMkeEgADAAAAXh4SAAQAAADMHhIAAwAAAGUeEgAEAAAAY2FzZWRsZXR0ZXJDYXNlZF9MZXR0ZXJjY0NvbnRyb2xGb3JtYXRjbG9zZXB1bmN0dWF0aW9uQ2xvc2VfUHVuY3R1YXRpb25jbmNvUHJpdmF0ZV9Vc2Vjb21iaW5pbmdtYXJrY29ubmVjdG9ycHVuY3R1YXRpb25Db25uZWN0b3JfUHVuY3R1YXRpb25jb250cm9sY3NTdXJyb2dhdGVjdXJyZW5jeXN5bWJvbEN1cnJlbmN5X1N5bWJvbGRhc2hwdW5jdHVhdGlvbkRhc2hfUHVuY3R1YXRpb25kZWNpbWFsbnVtYmVyRGVjaW1hbF9OdW1iZXJlbmNsb3NpbmdtYXJrRW5jbG9zaW5nX01hcmtmaW5hbHB1bmN0dWF0aW9uRmluYWxfUHVuY3R1YXRpb25mb3JtYXRpbml0aWFscHVuY3R1YXRpb25Jbml0aWFsX1B1bmN0dWF0aW9ubExldHRlcmxldHRlcmxldHRlcm51bWJlckxldHRlcl9OdW1iZXJsaW5lc2VwYXJhdG9yTGluZV9TZXBhcmF0b3JsbExvd2VyY2FzZV9MZXR0ZXJsbU1vZGlmaWVyX0xldHRlcmxvT3RoZXJfTGV0dGVybG93ZXJjYXNlbGV0dGVyVGl0bGVjYXNlX0xldHRlcmx1VXBwZXJjYXNlX0xldHRlcm1tYXJrbWF0aHN5bWJvbE1hdGhfU3ltYm9sbWNTcGFjaW5nX01hcmttZW1uTm9uc3BhY2luZ19NYXJrbW9kaWZpZXJsZXR0ZXJtb2RpZmllcnN5bWJvbE1vZGlmaWVyX1N5bWJvbG5kbmxub090aGVyX051bWJlcm5vbnNwYWNpbmdtYXJrb3BlbnB1bmN0dWF0aW9uT3Blbl9QdW5jdHVhdGlvbm90aGVyb3RoZXJsZXR0ZXJvdGhlcm51bWJlcm90aGVycHVuY3R1YXRpb25PdGhlcl9QdW5jdHVhdGlvbm90aGVyc3ltYm9sT3RoZXJfU3ltYm9scFB1bmN0dWF0aW9ucGFyYWdyYXBoc2VwYXJhdG9yUGFyYWdyYXBoX1NlcGFyYXRvcnBjcGRwZXBmcG9wcml2YXRldXNlcHNwdW5jdHVhdGlvbnNTeW1ib2xzZXBhcmF0b3JTZXBhcmF0b3Jza3Ntc29zcGFjZXNlcGFyYXRvclNwYWNlX1NlcGFyYXRvcnNwYWNpbmdtYXJrc3Vycm9nYXRldGl0bGVjYXNlbGV0dGVydXBwZXJjYXNlbGV0dGVyenpsenB6cwAA8XYWAAEAAAAoHBYABQAAABAiEgALAAAAGyISAAwAAAAnIhIAAgAAACkiEgAHAAAA+uERAAIAAAAwIhIABgAAADYiEgAQAAAARiISABEAAABXIhIAAgAAAGkeEgAKAAAA56IVAAUAAAApIhIABwAAAFkiEgACAAAAWyISAAsAAABmIhIADQAAAEAlFgAEAAAAcyISABQAAACHIhIAFQAAAJwiEgAHAAAAKSISAAcAAACjIhIAAgAAAKUiEgAJAAAAriISAA4AAAC8IhIADwAAAMsiEgAPAAAA2iISABAAAADqIhIADQAAAPciEgAOAAAA7KIVAAUAAAD3IhIADgAAAAUjEgANAAAAEiMSAA4AAAAgIxIAEAAAADAjEgARAAAAQSMSAAYAAAAwIhIABgAAAEcjEgASAAAAWSMSABMAAABsIxIAAQAAAG0jEgAGAAAA/uERAAIAAAAbIhIADAAAAHMjEgAGAAAAbSMSAAYAAAB5IxIADAAAAIUjEgANAAAAkiMSAA0AAACfIxIADgAAAK0jEgACAAAAryMSABAAAAC/IxIAAgAAAMEjEgAPAAAA0CMSAAIAAADSIxIADAAAAN4jEgAPAAAAryMSABAAAACnRBYAAgAAAO0jEgAQAAAA/SMSAAIAAAD/IxIAEAAAAA8kEgABAAAAQCUWAAQAAAAQJBIABAAAAEAlFgAEAAAAFCQSAAoAAAAeJBIACwAAACkkEgACAAAAKyQSAAwAAAA3JBIAAgAAABIjEgAOAAAAOSQSAAIAAAA7JBIADwAAAEokEgAOAAAAwSMSAA8AAABYJBIADgAAAGYkEgAPAAAAWBwYAAEAAABNSRYABgAAAHUkEgACAAAA9yISAA4AAAB3JBIAAgAAAIUjEgANAAAAeSQSAAIAAAB7JBIADAAAAIckEgAOAAAAOyQSAA8AAADTGhgABgAAAE1JFgAGAAAAlSQSAA8AAACkJBIAEAAAALQkEgAFAAAAKBwWAAUAAAC5JBIACwAAANIjEgAMAAAAxCQSAAsAAAB7JBIADAAAAM8kEgAQAAAA3yQSABEAAADwJBIACwAAAPskEgAMAAAAByUSAAEAAAAIJRIACwAAABMlEgASAAAAJSUSABMAAAA4JRIAAgAAAIciEgAVAAAAOiUSAAIAAADaIhIAEAAAADwlEgACAAAARiISABEAAAA+JRIAAgAAADAjEgARAAAAW0cWAAIAAABZIxIAEwAAAEAlEgACAAAA3yQSABEAAABCJRIACgAAAFsiEgALAAAATCUSAAIAAACkJBIAEAAAAACjFQAFAAAACCUSAAsAAABOJRIACwAAAAglEgALAAAAWSUSAAEAAABaJRIABgAAAPzhEQACAAAAvCISAA8AAABgJRIACQAAAGklEgAJAAAAciUSAAIAAABmJBIADwAAAHQlEgACAAAAHiQSAAsAAAB2JRIAAgAAAPskEgAMAAAAeCUSAA4AAACGJRIADwAAAJUlEgALAAAAKyQSAAwAAACgJRIACQAAAKUiEgAJAAAA8hoYAAYAAABaJRIABgAAAKklEgAPAAAA7SMSABAAAABzHhIACgAAAGkeEgAKAAAAuCUSAA8AAAD/IxIAEAAAAMclEgABAAAAaSUSAAkAAADIJRIAAgAAAJ8jEgAOAAAAyiUSAAIAAAAlJRIAEwAAAMwlEgACAAAAhiUSAA8AAABjckNSZWJFX0Jhc2VlYmFzZWdhekVfQmFzZV9HQVplYmdlbUVfTW9kaWZpZXJlbW9kaWZpZXJleEV4dGVuZGV4dGVuZGdhekdsdWVfQWZ0ZXJfWndqZ2x1ZWFmdGVyendqTGxmTEZsdkxWbHZ0TFZUcHBQcmVwZW5kcHJlcGVuZFNwYWNpbmdNYXJrdFR2Vnh4WldKVyISAAIAAAApIhIABwAAAJwiEgAHAAAAKSISAAcAAADQKhIAAgAAANIqEgACAAAA1CoSAAIAAADWKhIABgAAAHYCEgAFAAAA1ioSAAYAAADcKhIACAAAAOQqEgAKAAAA7ioSAAMAAADkKhIACgAAAPEqEgACAAAA8yoSAAoAAAD9KhIACQAAAPMqEgAKAAAABisSAAIAAAAIKxIABgAAAA4rEgAGAAAACCsSAAYAAAAUKxIAAwAAABcrEgAOAAAAJSsSAAwAAAAXKxIADgAAAGwjEgABAAAAMSsSAAEAAAAyKxIAAgAAADQrEgACAAAANisSAAIAAAA4KxIAAgAAADorEgADAAAAPSsSAAMAAAC0JBIABQAAACgcFgAFAAAAQCsSAAIAAABCKxIABwAAAEkrEgAHAAAAQisSAAcAAAD1ChIAEQAAAAYLEgASAAAAGAsSAAIAAAAGCxIAEgAAAHQlEgACAAAAUCsSAAsAAACVJRIACwAAAFArEgALAAAAWysSAAEAAABcKxIAAQAAAF0rEgABAAAAXisSAAEAAABfKxIAAgAAACgcFgAFAAAApUcWAAMAAABhKxIAAwAAAGFkbGFtQWRsYW1hZGxtYWdoYkNhdWNhc2lhbl9BbGJhbmlhbmFob21BaG9tYW5hdG9saWFuaGllcm9nbHlwaHNBbmF0b2xpYW5fSGllcm9nbHlwaHNhcmFiQXJhYmljYXJhYmljYXJtZW5pYW5Bcm1lbmlhbmFybWlJbXBlcmlhbF9BcmFtYWljYXJtbmF2ZXN0YW5BdmVzdGFuYXZzdGJhbGlCYWxpbmVzZWJhbGluZXNlYmFtdUJhbXVtYmFtdW1iYXNzQmFzc2FfVmFoYmFzc2F2YWhiYXRha0JhdGFrYmF0a2JlbmdCZW5nYWxpYmVuZ2FsaWJoYWlrc3VraUJoYWlrc3VraWJoa3Nib3BvQm9wb21vZm9ib3BvbW9mb2JyYWhCcmFobWlicmFobWlicmFpQnJhaWxsZWJyYWlsbGVidWdpQnVnaW5lc2VidWdpbmVzZWJ1aGRCdWhpZGJ1aGlkY2FrbUNoYWttYWNhbmFkaWFuYWJvcmlnaW5hbENhbmFkaWFuX0Fib3JpZ2luYWxjYW5zY2FyaUNhcmlhbmNhcmlhbmNhdWNhc2lhbmFsYmFuaWFuY2hha21hY2hhbUNoYW1jaGVyQ2hlcm9rZWVjaGVyb2tlZWNob3Jhc21pYW5DaG9yYXNtaWFuY2hyc2NvbW1vbkNvbW1vbmNvcHRDb3B0aWNjb3B0aWNjcG1uQ3lwcm9fTWlub2FuY3BydEN5cHJpb3RjdW5laWZvcm1DdW5laWZvcm1jeXByaW90Y3lwcm9taW5vYW5jeXJpbGxpY0N5cmlsbGljY3lybGRlc2VyZXREZXNlcmV0ZGV2YURldmFuYWdhcmlkZXZhbmFnYXJpZGlha0RpdmVzX0FrdXJ1ZGl2ZXNha3VydWRvZ3JEb2dyYWRvZ3JhZHNydGR1cGxEdXBsb3lhbmR1cGxveWFuZWd5cEVneXB0aWFuX0hpZXJvZ2x5cGhzZWd5cHRpYW5oaWVyb2dseXBoc2VsYmFFbGJhc2FuZWxiYXNhbmVseW1FbHltYWljZWx5bWFpY2V0aGlFdGhpb3BpY2V0aGlvcGljZ2Vvckdlb3JnaWFuZ2VvcmdpYW5nbGFnR2xhZ29saXRpY2dsYWdvbGl0aWNnb25nR3VuamFsYV9Hb25kaWdvbm1NYXNhcmFtX0dvbmRpZ290aEdvdGhpY2dvdGhpY2dyYW5HcmFudGhhZ3JhbnRoYWdyZWVrR3JlZWtncmVrZ3VqYXJhdGlHdWphcmF0aWd1anJndW5qYWxhZ29uZGlndXJtdWtoaUd1cm11a2hpZ3VydWhhbkhhbmhhbmdIYW5ndWxoYW5ndWxoYW5paGFuaWZpcm9oaW5neWFIYW5pZmlfUm9oaW5neWFoYW5vSGFudW5vb2hhbnVub29oYXRySGF0cmFuaGF0cmFuaGVickhlYnJld2hlYnJld2hpcmFIaXJhZ2FuYWhpcmFnYW5haGx1d2htbmdQYWhhd2hfSG1vbmdobW5wTnlpYWtlbmdfUHVhY2h1ZV9IbW9uZ2hya3RLYXRha2FuYV9Pcl9IaXJhZ2FuYWh1bmdPbGRfSHVuZ2FyaWFuaW1wZXJpYWxhcmFtYWljaW5oZXJpdGVkSW5oZXJpdGVkaW5zY3JpcHRpb25hbHBhaGxhdmlJbnNjcmlwdGlvbmFsX1BhaGxhdmlpbnNjcmlwdGlvbmFscGFydGhpYW5JbnNjcmlwdGlvbmFsX1BhcnRoaWFuaXRhbE9sZF9JdGFsaWNqYXZhSmF2YW5lc2VqYXZhbmVzZWthaXRoaUthaXRoaWthbGlLYXlhaF9MaWthbmFLYXRha2FuYWthbm5hZGFLYW5uYWRha2F0YWthbmFrYXRha2FuYW9yaGlyYWdhbmFrYXdpS2F3aWtheWFobGlraGFyS2hhcm9zaHRoaWtoYXJvc2h0aGlraGl0YW5zbWFsbHNjcmlwdEtoaXRhbl9TbWFsbF9TY3JpcHRraG1lcktobWVya2htcmtob2pLaG9qa2lraG9qa2lraHVkYXdhZGlLaHVkYXdhZGlraXRza25kYWt0aGlsYW5hVGFpX1RoYW1sYW9MYW9sYW9vbGF0aW5MYXRpbmxhdG5sZXBjTGVwY2hhbGVwY2hhbGltYkxpbWJ1bGltYnVsaW5hTGluZWFyX0FsaW5iTGluZWFyX0JsaW5lYXJhbGluZWFyYmxpc3VMaXN1bHljaUx5Y2lhbmx5Y2lhbmx5ZGlMeWRpYW5seWRpYW5tYWhhamFuaU1haGFqYW5pbWFoam1ha2FNYWthc2FybWFrYXNhcm1hbGF5YWxhbU1hbGF5YWxhbW1hbmRNYW5kYWljbWFuZGFpY21hbmlNYW5pY2hhZWFubWFuaWNoYWVhbm1hcmNNYXJjaGVubWFyY2hlbm1hc2FyYW1nb25kaW1lZGVmYWlkcmluTWVkZWZhaWRyaW5tZWRmbWVldGVpbWF5ZWtNZWV0ZWlfTWF5ZWttZW5kTWVuZGVfS2lrYWt1aW1lbmRla2lrYWt1aW1lcmNNZXJvaXRpY19DdXJzaXZlbWVyb01lcm9pdGljX0hpZXJvZ2x5cGhzbWVyb2l0aWNjdXJzaXZlbWVyb2l0aWNoaWVyb2dseXBoc21pYW9NaWFvbWx5bW1vZGlNb2RpbW9uZ01vbmdvbGlhbm1vbmdvbGlhbm1yb01yb21yb29tdGVpbXVsdE11bHRhbmltdWx0YW5pbXlhbm1hck15YW5tYXJteW1ybmFiYXRhZWFuTmFiYXRhZWFubmFnbU5hZ19NdW5kYXJpbmFnbXVuZGFyaW5hbmROYW5kaW5hZ2FyaW5hbmRpbmFnYXJpbmFyYk9sZF9Ob3J0aF9BcmFiaWFubmJhdG5ld2FOZXdhbmV3dGFpbHVlTmV3X1RhaV9MdWVua29Oa29ua29vbnNodU51c2h1bnVzaHVueWlha2VuZ3B1YWNodWVobW9uZ29nYW1PZ2hhbW9naGFtb2xjaGlraU9sX0NoaWtpb2xja29sZGh1bmdhcmlhbm9sZGl0YWxpY29sZG5vcnRoYXJhYmlhbm9sZHBlcm1pY09sZF9QZXJtaWNvbGRwZXJzaWFuT2xkX1BlcnNpYW5vbGRzb2dkaWFuT2xkX1NvZ2RpYW5vbGRzb3V0aGFyYWJpYW5PbGRfU291dGhfQXJhYmlhbm9sZHR1cmtpY09sZF9UdXJraWNvbGR1eWdodXJPbGRfVXlnaHVyb3JpeWFPcml5YW9ya2hvcnlhb3NhZ2VPc2FnZW9zZ2Vvc21hT3NtYW55YW9zbWFueWFvdWdycGFoYXdoaG1vbmdwYWxtUGFsbXlyZW5lcGFsbXlyZW5lcGF1Y1BhdV9DaW5fSGF1cGF1Y2luaGF1cGVybXBoYWdQaGFnc19QYXBoYWdzcGFwaGxpcGhscFBzYWx0ZXJfUGFobGF2aXBobnhQaG9lbmljaWFucGhvZW5pY2lhbnBscmRwcnRpcHNhbHRlcnBhaGxhdmlxYWFjcWFhaXJlamFuZ1JlamFuZ3Jqbmdyb2hncnVuaWNSdW5pY3J1bnJzYW1hcml0YW5TYW1hcml0YW5zYW1yc2FyYnNhdXJTYXVyYXNodHJhc2F1cmFzaHRyYXNnbndTaWduV3JpdGluZ3NoYXJhZGFTaGFyYWRhc2hhdmlhblNoYXZpYW5zaGF3c2hyZHNpZGRTaWRkaGFtc2lkZGhhbXNpZ253cml0aW5nc2luZHNpbmhTaW5oYWxhc2luaGFsYXNvZ2RTb2dkaWFuc29nZGlhbnNvZ29zb3JhU29yYV9Tb21wZW5nc29yYXNvbXBlbmdzb3lvU295b21ib3NveW9tYm9zdW5kU3VuZGFuZXNlc3VuZGFuZXNlc3lsb1N5bG90aV9OYWdyaXN5bG90aW5hZ3Jpc3lyY1N5cmlhY3N5cmlhY3RhZ2Fsb2dUYWdhbG9ndGFnYlRhZ2JhbndhdGFnYmFud2F0YWlsZVRhaV9MZXRhaXRoYW10YWl2aWV0VGFpX1ZpZXR0YWtyVGFrcml0YWtyaXRhbGV0YWx1dGFtaWxUYW1pbHRhbWx0YW5nVGFuZ3V0dGFuZ3NhVGFuZ3NhdGFuZ3V0dGF2dHRlbHVUZWx1Z3V0ZWx1Z3V0Zm5nVGlmaW5hZ2h0Z2xndGhhYVRoYWFuYXRoYWFuYXRoYWlUaGFpdGliZXRhblRpYmV0YW50aWJ0dGlmaW5hZ2h0aXJoVGlyaHV0YXRpcmh1dGF0bnNhdG90b1RvdG91Z2FyVWdhcml0aWN1Z2FyaXRpY1Vua25vd252YWlWYWl2YWlpdml0aFZpdGhrdXFpdml0aGt1cWl3YW5jaG9XYW5jaG93YXJhV2FyYW5nX0NpdGl3YXJhbmdjaXRpd2Nob3hwZW94c3V4eWV6aVllemlkaXllemlkaXlpWWl5aWlpemFuYWJhemFyc3F1YXJlWmFuYWJhemFyX1NxdWFyZXphbmJ6aW5oenl5eXp6enokLRIABQAAACktEgAFAAAALi0SAAQAAAApLRIABQAAADItEgAEAAAANi0SABIAAABILRIABAAAAEwtEgAEAAAAUC0SABQAAABkLRIAFQAAAHktEgAEAAAAfS0SAAYAAACDLRIABgAAAH0tEgAGAAAAiS0SAAgAAACRLRIACAAAAJktEgAEAAAAnS0SABAAAACtLRIABAAAAJEtEgAIAAAAsS0SAAcAAAC4LRIABwAAAL8tEgAEAAAAuC0SAAcAAADDLRIABAAAAMctEgAIAAAAzy0SAAgAAADHLRIACAAAANctEgAEAAAA2y0SAAUAAADgLRIABQAAANstEgAFAAAA5S0SAAQAAADpLRIACQAAAPItEgAIAAAA6S0SAAkAAAD6LRIABQAAAP8tEgAFAAAABC4SAAQAAAD/LRIABQAAAAguEgAEAAAADC4SAAcAAAATLhIABwAAAAwuEgAHAAAAGi4SAAkAAAAjLhIACQAAACwuEgAEAAAAIy4SAAkAAAAwLhIABAAAADQuEgAIAAAAPC4SAAgAAAA0LhIACAAAAEQuEgAEAAAASC4SAAYAAABOLhIABgAAAEguEgAGAAAAVC4SAAQAAABYLhIABwAAAF8uEgAHAAAAWC4SAAcAAABmLhIABAAAAGouEgAIAAAAci4SAAgAAABqLhIACAAAAHouEgAEAAAAfi4SAAUAAACDLhIABQAAAH4uEgAFAAAAiC4SAAQAAACMLhIABgAAAJIuEgASAAAApC4SABMAAAC3LhIABAAAAKQuEgATAAAAuy4SAAQAAAC/LhIABgAAAMUuEgAGAAAAvy4SAAYAAADLLhIAEQAAADYtEgASAAAA3C4SAAYAAACMLhIABgAAAOIuEgAEAAAA5i4SAAQAAADqLhIABAAAAO4uEgAIAAAA9i4SAAgAAADuLhIACAAAAP4uEgAKAAAACC8SAAoAAAASLxIABAAAAAgvEgAKAAAAFi8SAAYAAAAcLxIABgAAACIvEgAEAAAAJi8SAAYAAAAsLxIABgAAACYvEgAGAAAAMi8SAAQAAAA2LxIADAAAAEIvEgAEAAAARi8SAAcAAABNLxIACQAAAFYvEgAJAAAAXy8SAAcAAABGLxIABwAAAGYvEgALAAAANi8SAAwAAABxLxIACAAAAHkvEgAIAAAAgS8SAAQAAAB5LxIACAAAAIUvEgAHAAAAjC8SAAcAAACTLxIABAAAAJcvEgAKAAAAoS8SAAoAAACXLxIACgAAAKsvEgAEAAAAry8SAAsAAAC6LxIACgAAAK8vEgALAAAAxC8SAAQAAADILxIABQAAAM0vEgAFAAAAyC8SAAUAAADSLxIABAAAAIwvEgAHAAAA1i8SAAQAAADaLxIACAAAAOIvEgAIAAAA2i8SAAgAAADqLxIABAAAAO4vEgAUAAAAAjASABMAAADuLxIAFAAAABUwEgAEAAAAGTASAAcAAAAgMBIABwAAABkwEgAHAAAAJzASAAQAAAArMBIABwAAADIwEgAHAAAAKzASAAcAAAA5MBIABAAAAD0wEgAIAAAARTASAAgAAAA9MBIACAAAAE0wEgAEAAAAUTASAAgAAABZMBIACAAAAFEwEgAIAAAAYTASAAQAAABlMBIACgAAAG8wEgAKAAAAZTASAAoAAAB5MBIABAAAAH0wEgANAAAAijASAAQAAACOMBIADQAAAJswEgAEAAAAnzASAAYAAAClMBIABgAAAJ8wEgAGAAAAqzASAAQAAACvMBIABwAAALYwEgAHAAAArzASAAcAAAC9MBIABQAAAMIwEgAFAAAAxzASAAQAAADCMBIABQAAAMswEgAIAAAA0zASAAgAAADbMBIABAAAANMwEgAIAAAA3zASAAwAAAB9MBIADQAAAOswEgAIAAAA8zASAAgAAAD7MBIABAAAAPMwEgAIAAAA/zASAAMAAAACMRIAAwAAAAUxEgAEAAAACTESAAYAAAAPMRIABgAAAAkxEgAGAAAAFTESAAQAAAACMRIAAwAAABkxEgAOAAAAJzESAA8AAAA2MRIABAAAADoxEgAHAAAAQTESAAcAAAA6MRIABwAAAEgxEgAEAAAATDESAAYAAABSMRIABgAAAEwxEgAGAAAAWDESAAQAAABcMRIABgAAAGIxEgAGAAAAXDESAAYAAABoMRIABAAAAGwxEgAIAAAAdDESAAgAAABsMRIACAAAAHwxEgAEAAAAZC0SABUAAACAMRIABAAAAIQxEgAMAAAAkDESAAQAAACUMRIAFgAAAKoxEgAEAAAArjESABQAAADCMRIABAAAAMYxEgANAAAA0zESAA8AAACdLRIAEAAAAOIxEgAJAAAA6zESAAkAAAD0MRIAFAAAAAgyEgAVAAAAHTISABUAAAAyMhIAFgAAAEgyEgAEAAAATDISAAoAAABWMhIABAAAAFoyEgAIAAAAYjISAAgAAABaMhIACAAAAGoyEgAGAAAAcDISAAYAAAB2MhIABAAAAHoyEgAIAAAAgjISAAQAAACGMhIACAAAAI4yEgAHAAAAlTISAAcAAACcMhIACAAAAIYyEgAIAAAApDISABIAAACuMRIAFAAAALYyEgAEAAAAujISAAQAAAC+MhIABwAAAHoyEgAIAAAAxTISAAQAAADJMhIACgAAANMyEgAKAAAAyTISAAoAAADdMhIAEQAAAO4yEgATAAAAATMSAAUAAAAGMxIABQAAAAszEgAEAAAABjMSAAUAAAAPMxIABAAAABMzEgAGAAAAGTMSAAYAAAATMxIABgAAAB8zEgAJAAAAKDMSAAkAAAAxMxIABAAAAO4yEgATAAAANTMSAAQAAACVMhIABwAAADkzEgAEAAAAcDISAAYAAAA9MxIABAAAAEEzEgAIAAAASTMSAAMAAABMMxIAAwAAAE8zEgAEAAAATDMSAAMAAABTMxIABQAAAFgzEgAFAAAAXTMSAAQAAABYMxIABQAAAGEzEgAEAAAAZTMSAAYAAABrMxIABgAAAGUzEgAGAAAAcTMSAAQAAAB1MxIABQAAAHozEgAFAAAAdTMSAAUAAAB/MxIABAAAAIMzEgAIAAAAizMSAAQAAACPMxIACAAAAJczEgAHAAAAgzMSAAgAAACeMxIABwAAAI8zEgAIAAAApTMSAAQAAACpMxIABAAAAK0zEgAEAAAAsTMSAAYAAAC3MxIABgAAALEzEgAGAAAAvTMSAAQAAADBMxIABgAAAMczEgAGAAAAwTMSAAYAAADNMxIACAAAANUzEgAIAAAA3TMSAAQAAADVMxIACAAAAOEzEgAEAAAA5TMSAAcAAADsMxIABwAAAOUzEgAHAAAA8zMSAAkAAAD8MxIACQAAAAU0EgAEAAAACTQSAAcAAAAQNBIABwAAAAk0EgAHAAAAFzQSAAQAAAAbNBIACgAAACU0EgAKAAAAGzQSAAoAAAAvNBIABAAAADM0EgAHAAAAOjQSAAcAAAAzNBIABwAAAEE0EgAMAAAAjjASAA0AAABNNBIACwAAAFg0EgALAAAAYzQSAAQAAABYNBIACwAAAGc0EgALAAAAcjQSAAwAAAB+NBIABAAAAII0EgANAAAAjzQSAAwAAACCNBIADQAAAJs0EgAEAAAAnzQSABAAAACvNBIABAAAALM0EgAUAAAAxzQSAA8AAACfNBIAEAAAANY0EgATAAAAszQSABQAAADpNBIABAAAAO00EgAEAAAA8TQSAAQAAAD8MxIACQAAAPU0EgAEAAAA+TQSAAQAAAD9NBIABAAAAAE1EgAJAAAACjUSAAkAAAABNRIACQAAABM1EgADAAAAFjUSAAMAAAAZNRIABAAAABY1EgADAAAAHTUSAAQAAAByNBIADAAAACE1EgAEAAAAJTUSAAcAAAAsNRIABwAAACU1EgAHAAAAMzUSAAcAAAA6NRIABwAAAEE1EgAEAAAAOjUSAAcAAABFNRIACQAAAE41EgAJAAAAVzUSAAQAAABbNRIACwAAAGY1EgAKAAAAWzUSAAsAAABwNRIABAAAAHQ1EgALAAAAfzUSAAsAAAB0NRIACwAAAIo1EgAEAAAAjjUSABEAAACfNRIABAAAAE41EgAJAAAAozUSAAQAAACnNRIABAAAAKs1EgAJAAAAtDUSAAsAAAC/NRIAAwAAAMI1EgADAAAAxTUSAAQAAADCNRIAAwAAAMk1EgAEAAAAzTUSAAUAAADSNRIABQAAAM01EgAFAAAA1zUSABQAAACUMRIAFgAAAOs1EgAEAAAA7zUSAAUAAAD0NRIABQAAAO81EgAFAAAA+TUSAAcAAAAANhIACAAAAAg2EgAEAAAAADYSAAgAAAAMNhIADAAAAMYxEgANAAAAGDYSAAkAAABMMhIACgAAACE2EgAPAAAAjjUSABEAAAAwNhIACQAAADk2EgAKAAAAQzYSAAoAAABNNhIACwAAAFg2EgAKAAAAYjYSAAsAAABtNhIADwAAAHw2EgARAAAAjTYSAAkAAACWNhIACgAAAKA2EgAJAAAAqTYSAAoAAACzNhIABQAAALg2EgAFAAAAvTYSAAQAAACWNhIACgAAAME2EgAEAAAAuDYSAAUAAADFNhIABQAAAMo2EgAFAAAAzzYSAAQAAADKNhIABQAAANM2EgAEAAAA1zYSAAcAAADeNhIABwAAANc2EgAHAAAA5TYSAAQAAACpNhIACgAAAOk2EgALAAAAhDESAAwAAAD0NhIABAAAAPg2EgAJAAAAATcSAAkAAAD4NhIACQAAAAo3EgAEAAAADjcSAAsAAAAZNxIACQAAAA43EgALAAAAIjcSAAQAAAA5NhIACgAAACY3EgAEAAAAKjcSAAgAAAAyNxIABwAAACo3EgAIAAAAOTcSAAQAAAAIMhIAFQAAAD03EgAEAAAAQTcSAA8AAABQNxIABAAAAFQ3EgAKAAAAXjcSAAoAAABUNxIACgAAAGg3EgAEAAAA7TQSAAQAAABsNxIABAAAADIyEgAWAAAAcDcSAA4AAABBNxIADwAAAH43EgAEAAAAJi8SAAYAAACCNxIABAAAAOsxEgAJAAAAhjcSAAYAAACMNxIABgAAAJI3EgAEAAAAjDcSAAYAAACWNxIABAAAACcxEgAPAAAAmjcSAAUAAACfNxIABQAAAKQ3EgAEAAAAnzcSAAUAAACoNxIACQAAALE3EgAJAAAAujcSAAQAAACxNxIACQAAAL43EgAEAAAAfDYSABEAAADCNxIABAAAAMY3EgAKAAAA0DcSAAoAAADGNxIACgAAANo3EgAEAAAA3jcSAAsAAADpNxIABwAAAPA3EgAHAAAA9zcSAAcAAAD+NxIABwAAAAU4EgAEAAAA/jcSAAcAAAAJOBIABAAAAPA3EgAHAAAADTgSAAQAAAAROBIABwAAABg4EgAHAAAAETgSAAcAAAAfOBIACwAAAN43EgALAAAAKjgSAAQAAAAoMxIACQAAAC44EgAEAAAAMjgSAAcAAAA5OBIABwAAADI4EgAHAAAAQDgSAAQAAABEOBIABwAAAEs4EgAHAAAARDgSAAcAAABSOBIABAAAAGI2EgALAAAAVjgSAAQAAABaOBIADAAAAGY4EgALAAAAWjgSAAwAAABxOBIABAAAAHU4EgAHAAAAfDgSAAcAAAB1OBIABwAAAIM4EgAEAAAAhzgSAAkAAACQOBIACQAAAIc4EgAJAAAAmTgSAAQAAACdOBIADAAAAKk4EgALAAAAnTgSAAwAAAC0OBIABAAAALg4EgAGAAAAvjgSAAYAAAC4OBIABgAAAMQ4EgAHAAAAyzgSAAcAAADSOBIABAAAANY4EgAIAAAA3jgSAAgAAADWOBIACAAAAOY4EgAFAAAA6zgSAAYAAADxOBIABwAAAEEzEgAIAAAA+DgSAAcAAAD/OBIACAAAAAc5EgAEAAAACzkSAAUAAAAQORIABQAAAAs5EgAFAAAAFTkSAAQAAADrOBIABgAAABk5EgAEAAAAtDUSAAsAAAAdORIABQAAACI5EgAFAAAAJzkSAAQAAAAiORIABQAAACs5EgAEAAAALzkSAAYAAAA1ORIABgAAADs5EgAGAAAAQTkSAAYAAAAvORIABgAAAEc5EgAEAAAA/zgSAAgAAABLORIABAAAAE85EgAGAAAAVTkSAAYAAABPORIABgAAAFs5EgAEAAAAXzkSAAgAAABnORIABAAAAMs4EgAHAAAAazkSAAQAAABvORIABgAAAHU5EgAGAAAAbzkSAAYAAAB7ORIABAAAAH85EgAEAAAAgzkSAAcAAACKORIABwAAAJE5EgAEAAAAijkSAAcAAACVORIACAAAAF85EgAIAAAAnTkSAAQAAAChORIABwAAAKg5EgAHAAAAoTkSAAcAAACvORIABAAAADs5EgAGAAAAszkSAAQAAAC3ORIABAAAALs5EgAEAAAAvzkSAAgAAADHORIACAAAAL85EgAIAAAAzBoYAAcAAADPORIABwAAANY5EgADAAAA2TkSAAMAAADcORIABAAAANk5EgADAAAA4DkSAAQAAADkORIACAAAAOw5EgAIAAAA5DkSAAgAAAD0ORIABgAAAPo5EgAGAAAAADoSAAQAAAAEOhIACwAAAA86EgAKAAAABDoSAAsAAAAZOhIABAAAAPo5EgAGAAAAHToSAAQAAABNNhIACwAAACE6EgAEAAAAVi8SAAkAAAAlOhIABAAAACk6EgAGAAAALzoSAAYAAAApOhIABgAAADU6EgACAAAANzoSAAIAAAA5OhIABAAAADc6EgACAAAAPToSAA8AAABMOhIAEAAAAFw6EgAEAAAATDoSABAAAABgOhIABAAAAOsxEgAJAAAAZDoSAAQAAAAcLxIABgAAAGg6EgAEAAAAzzkSAAcAAABhdEFUZXJtYXRlcm1jbENsb3NlY2xvc2Vmb09MZXR0ZXJMb3dlck51bWVyaWNudW1lcmljb2xldHRlclNDb250aW51ZXNjb250aW51ZXNlU2Vwc2Vwc3BTcHN0U1Rlcm11cFVwcGVyAKxOEgACAAAArk4SAAUAAACzThIABQAAAK5OEgAFAAAAuE4SAAIAAAC6ThIABQAAAL9OEgAFAAAAuk4SAAUAAADQKhIAAgAAANIqEgACAAAABisSAAIAAAAIKxIABgAAAA4rEgAGAAAACCsSAAYAAADEThIAAgAAADAiEgAGAAAAQSMSAAYAAAAwIhIABgAAAMhIFgACAAAAxk4SAAcAAAAyKxIAAgAAADQrEgACAAAA0CMSAAIAAADNThIABQAAAPaiFQAFAAAAzU4SAAUAAABQRxYAAgAAANJOEgAHAAAA2U4SAAcAAADSThIABwAAAOBOEgAHAAAAxk4SAAcAAAC0JBIABQAAACgcFgAFAAAA/OERAAIAAADnThIACQAAAPBOEgAJAAAA504SAAkAAAD5ThIAAgAAAPtOEgADAAAA/k4SAAMAAAD7ThIAAwAAAAFPEgACAAAAA08SAAIAAAAFTxIAAgAAAAdPEgAFAAAAOQwSAAUAAAAHTxIABQAAAAxPEgACAAAADk8SAAUAAAAKoxUABQAAAA5PEgAFAAAAXysSAAIAAAAoHBYABQAAAGFsZXR0ZXJBTGV0dGVyZG91YmxlcXVvdGVEb3VibGVfUXVvdGVkcUV4dGVuZE51bUxldGV4dGVuZG51bWxldGhlYnJld2xldHRlckhlYnJld19MZXR0ZXJobGthbWJNaWROdW1MZXRtaWRsZXR0ZXJNaWRMZXR0ZXJtaWRudW1NaWROdW1taWRudW1sZXRtbG5ld2xpbmVOZXdsaW5lc2luZ2xlcXVvdGVTaW5nbGVfUXVvdGVzcXdzZWdzcGFjZVdTZWdTcGFjZQAAAMRQEgAHAAAAy1ASAAcAAADQKhIAAgAAANIqEgACAAAA0lASAAsAAADdUBIADAAAAOlQEgACAAAA3VASAAwAAADUKhIAAgAAANYqEgAGAAAAdgISAAUAAADWKhIABgAAANwqEgAIAAAA5CoSAAoAAADuKhIAAwAAAOQqEgAKAAAA8SoSAAIAAADzKhIACgAAAP0qEgAJAAAA8yoSAAoAAAAGKxIAAgAAAOtQEgAMAAAADisSAAYAAAAIKxIABgAAAPdQEgAMAAAA61ASAAwAAADEThIAAgAAADAiEgAGAAAAQSMSAAYAAAAwIhIABgAAABQrEgADAAAAFysSAA4AAAAlKxIADAAAABcrEgAOAAAAA1ESAAwAAAAPURIADQAAABxREgACAAAAD1ESAA0AAAAeURIAAgAAAIYyEgAIAAAAnDISAAgAAACGMhIACAAAAMhIFgACAAAAy1ASAAcAAAAyKxIAAgAAADQrEgACAAAAIFESAAIAAAAiURIACQAAACtREgAJAAAANFESAAkAAAA9URIABgAAAENREgAGAAAASVESAAkAAAAiURIACQAAAFJREgACAAAANFESAAkAAAA5JBIAAgAAAENREgAGAAAAVFESAAcAAABbURIABwAAAHckEgACAAAAW1ESAAcAAABQRxYAAgAAANJOEgAHAAAA2U4SAAcAAADSThIABwAAALQkEgAFAAAAKBwWAAUAAAD1ChIAEQAAAAYLEgASAAAAGAsSAAIAAAAGCxIAEgAAAGJREgALAAAAbVESAAwAAAB5URIAAgAAAG1REgAMAAAAe1ESAAkAAACEURIACQAAAF8rEgACAAAAKBwWAAUAAAClRxYAAwAAAGErEgADAAAAAOIRAAMAAADQHhIANAAAAOThEQAQAAAA0CUSAFAAAAAU4hEAFgAAAGQrEgAcAAAA9OERAAYAAABsOhIARAEAAAPiEQARAAAAbDoSAEQBAAAq4hEADgAAABRPEgAbAAAAOOIRAAoAAACQURIAKQAAACzhEQBmAAAAaAIAABYAAAAAAAAA9QEAAPoBAAAXAgAAUAIAAKgCAACwAgAA3gIAAOACAADpAgAAAAMAAEUDAABgAwAAYQMAAHQDAAB1AwAAegMAAHoDAAB+AwAAfgMAAIQDAACKAwAAjAMAAIwDAACOAwAAoQMAAKMDAADOAwAA0AMAANYDAADaAwAA2gMAANwDAADcAwAA3gMAAN4DAADgAwAA4AMAAOIDAADzAwAAAQQAAAwEAAAOBAAATwQAAFEEAABcBAAAXgQAAIYEAACQBAAAxAQAAMcEAADIBAAAywQAAMwEAADQBAAA6wQAAO4EAAD1BAAA+AQAAPkEAAAxBQAAVgUAAFkFAABfBQAAYQUAAIcFAACJBQAAiQUAALAFAAC5BQAAuwUAAMMFAADQBQAA6gUAAPAFAAD0BQAADAYAAAwGAAAbBgAAGwYAAB8GAAAfBgAAIQYAADoGAABABgAAUgYAAGAGAABtBgAAcAYAALcGAAC6BgAAvgYAAMAGAADOBgAA0AYAAO0GAADwBgAA+QYAAAEJAAADCQAABQkAADkJAAA8CQAATQkAAFAJAABUCQAAWAkAAHAJAACBCQAAgwkAAIUJAACMCQAAjwkAAJAJAACTCQAAqAkAAKoJAACwCQAAsgkAALIJAAC2CQAAuQkAALwJAAC8CQAAvgkAAMQJAADHCQAAyAkAAMsJAADNCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAPoJAAACCgAAAgoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABZCgAAXAoAAF4KAABeCgAAZgoAAHQKAACBCgAAgwoAAIUKAACLCgAAjQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4AoAAOYKAADvCgAAAQsAAAMLAAAFCwAADAsAAA8LAAAQCwAAEwsAACgLAAAqCwAAMAsAADILAAAzCwAANgsAADkLAAA8CwAAQwsAAEcLAABICwAASwsAAE0LAABWCwAAVwsAAFwLAABdCwAAXwsAAGELAABmCwAAcAsAAIILAACDCwAAhQsAAIoLAACOCwAAkAsAAJILAACVCwAAmQsAAJoLAACcCwAAnAsAAJ4LAACfCwAAowsAAKQLAACoCwAAqgsAAK4LAAC1CwAAtwsAALkLAAC+CwAAwgsAAMYLAADICwAAygsAAM0LAADXCwAA1wsAAOcLAADyCwAAAQwAAAMMAAAFDAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAMwwAADUMAAA5DAAAPgwAAEQMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABgDAAAYQwAAGYMAABvDAAAggwAAIMMAACFDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvgwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADeDAAA3gwAAOAMAADhDAAA5gwAAO8MAAACDQAAAw0AAAUNAAAMDQAADg0AABANAAASDQAAKA0AACoNAAA5DQAAPg0AAEMNAABGDQAASA0AAEoNAABNDQAAVw0AAFcNAABgDQAAYQ0AAGYNAABvDQAAAQ4AADoOAAA/DgAAWw4AAIEOAACCDgAAhA4AAIQOAACHDgAAiA4AAIoOAACKDgAAjQ4AAI0OAACUDgAAlw4AAJkOAACfDgAAoQ4AAKMOAAClDgAApQ4AAKcOAACnDgAAqg4AAKsOAACtDgAAuQ4AALsOAAC9DgAAwA4AAMQOAADGDgAAxg4AAMgOAADNDgAA0A4AANkOAADcDgAA3Q4AAKAQAADFEAAA0BAAAPYQAAD7EAAA+xAAAAARAABZEQAAXxEAAKIRAACoEQAA+REAAAAeAACaHgAAoB4AAPkeAAAAHwAAFR8AABgfAAAdHwAAIB8AAEUfAABIHwAATR8AAFAfAABXHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAH0fAACAHwAAtB8AALYfAADEHwAAxh8AANMfAADWHwAA2x8AAN0fAADvHwAA8h8AAPQfAAD2HwAA/h8AAAAgAAAuIAAAMCAAAEYgAABqIAAAcCAAAHQgAACOIAAAoCAAAKogAADQIAAA4SAAAAAhAAA4IQAAUyEAAIIhAACQIQAA6iEAAAAiAADxIgAAACMAAAAjAAACIwAAeiMAAAAkAAAkJAAAQCQAAEokAABgJAAA6iQAAAAlAACVJQAAoCUAAO8lAAAAJgAAEyYAABomAABvJgAAAScAAAQnAAAGJwAACScAAAwnAAAnJwAAKScAAEsnAABNJwAATScAAE8nAABSJwAAVicAAFYnAABYJwAAXicAAGEnAABnJwAAdicAAJQnAACYJwAArycAALEnAAC+JwAAADAAADcwAAA/MAAAPzAAAEEwAACUMAAAmTAAAJ4wAAChMAAA/jAAAAUxAAAsMQAAMTEAAI4xAACQMQAAnzEAAAAyAAAcMgAAIDIAAEMyAABgMgAAezIAAH8yAACwMgAAwDIAAMsyAADQMgAA/jIAAAAzAAB2MwAAezMAAN0zAADgMwAA/jMAAABOAAClnwAAAOAAAC36AAAA+wAABvsAABP7AAAX+wAAHvsAADb7AAA4+wAAPPsAAD77AAA++wAAQPsAAEH7AABD+wAARPsAAEb7AACx+wAA0/sAAD/9AABQ/QAAj/0AAJL9AADH/QAA8P0AAPv9AAAg/gAAI/4AADD+AABE/gAASf4AAFL+AABU/gAAZv4AAGj+AABr/gAAcP4AAHL+AAB0/gAAdP4AAHb+AAD8/gAA//4AAP/+AAAB/wAAXv8AAGH/AAC+/wAAwv8AAMf/AADK/wAAz/8AANL/AADX/wAA2v8AANz/AADg/wAA5v8AAOj/AADu/wAA/f8AAP//AACRBQAAoQUAAKMFAACvBQAAxAUAAMQFAAAADwAARw8AAEkPAABpDwAAcQ8AAIsPAACQDwAAlQ8AAJcPAACXDwAAmQ8AAK0PAACxDwAAtw8AALkPAAC5DwAAmx4AAJseAACrIAAAqyAAAACsAACj1wAA/v8BAP//AQD+/wIA//8CAP7/AwD//wMA/v8EAP//BAD+/wUA//8FAP7/BgD//wYA/v8HAP//BwD+/wgA//8IAP7/CQD//wkA/v8KAP//CgD+/wsA//8LAP7/DAD//wwA/v8NAP//DQD+/w4A//8QAKwgAACsIAAA/P8AAPz/AAD2AQAA+QEAABgCAAAfAgAAIgIAADMCAACpAgAArQIAAN8CAADfAgAA6gIAAO4CAABGAwAATgMAAGIDAABiAwAA1wMAANcDAADbAwAA2wMAAN0DAADdAwAA3wMAAN8DAADhAwAA4QMAAAAEAAAABAAADQQAAA0EAABQBAAAUAQAAF0EAABdBAAAiAQAAIkEAACMBAAAjwQAAOwEAADtBAAAigUAAIoFAABTBgAAVQYAALgGAAC5BgAAvwYAAL8GAADPBgAAzwYAAPoGAAD+BgAAAAcAAA0HAAAPBwAALAcAADAHAABKBwAAgAcAALAHAACCDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADKDQAAyg0AAM8NAADUDQAA1g0AANYNAADYDQAA3w0AAPINAAD0DQAAag8AAGoPAACWDwAAlg8AAK4PAACwDwAAuA8AALgPAAC6DwAAvA8AAL4PAADMDwAAzw8AAM8PAAAAEAAAIRAAACMQAAAnEAAAKRAAACoQAAAsEAAAMhAAADYQAAA5EAAAQBAAAFkQAAAAEgAABhIAAAgSAABGEgAASBIAAEgSAABKEgAATRIAAFASAABWEgAAWBIAAFgSAABaEgAAXRIAAGASAACGEgAAiBIAAIgSAACKEgAAjRIAAJASAACuEgAAsBIAALASAACyEgAAtRIAALgSAAC+EgAAwBIAAMASAADCEgAAxRIAAMgSAADOEgAA0BIAANYSAADYEgAA7hIAAPASAAAOEwAAEBMAABATAAASEwAAFRMAABgTAAAeEwAAIBMAAEYTAABIEwAAWhMAAGETAAB8EwAAoBMAAPQTAAABFAAAdhYAAIAWAACcFgAAoBYAAPAWAACAFwAA3BcAAOAXAADpFwAAABgAAA4YAAAQGAAAGRgAACAYAAB3GAAAgBgAAKkYAAAvIAAALyAAAEggAABNIAAArSAAAK8gAADiIAAA4yAAADkhAAA6IQAAgyEAAIMhAADrIQAA8yEAAAEjAAABIwAAeyMAAHsjAAB9IwAAmiMAACUkAAAmJAAA8CUAAPclAAAZJgAAGSYAAHAmAABxJgAAACgAAP8oAACALgAAmS4AAJsuAADzLgAAAC8AANUvAADwLwAA+y8AADgwAAA6MAAAPjAAAD4wAACgMQAAtzEAAAA0AAC1TQAAAKAAAIykAACQpAAAoaQAAKSkAACzpAAAtaQAAMCkAADCpAAAxKQAAMakAADGpAAAHfsAAB37AAD5/wAA+/8AAPQDAAD1AwAA0P0AAO/9AAAAAwEAHgMBACADAQAjAwEAMAMBAEoDAQAABAEAJQQBACgEAQBNBAEAANABAPXQAQAA0QEAJtEBACrRAQDd0QEAANQBAFTUAQBW1AEAnNQBAJ7UAQCf1AEAotQBAKLUAQCl1AEAptQBAKnUAQCs1AEArtQBALnUAQC71AEAu9QBAL3UAQDA1AEAwtQBAMPUAQDF1AEABdUBAAfVAQAK1QEADdUBABTVAQAW1QEAHNUBAB7VAQA51QEAO9UBAD7VAQBA1QEARNUBAEbVAQBG1QEAStUBAFDVAQBS1QEAo9YBAKjWAQDJ1wEAztcBAP/XAQAAAAIA1qYCAAD4AgAd+gIAAQAOAAEADgAgAA4AfwAOACACAAAgAgAATwMAAE8DAABjAwAAbwMAANgDAADZAwAA9gMAAPYDAACKBAAAiwQAAMUEAADGBAAAyQQAAMoEAADNBAAAzgQAAAAFAAAPBQAAbgYAAG8GAACxBwAAsQcAAPcQAAD4EAAAABcAAAwXAAAOFwAAFBcAACAXAAA2FwAAQBcAAFMXAABgFwAAbBcAAG4XAABwFwAAchcAAHMXAABHIAAARyAAAE4gAABSIAAAVyAAAFcgAABfIAAAYyAAAHEgAABxIAAAsCAAALEgAADkIAAA6iAAAD0hAABLIQAA9CEAAP8hAADyIgAA/yIAAHwjAAB8IwAAmyMAAM4jAADrJAAA/iQAAJYlAACfJQAA+CUAAP8lAAAWJgAAFyYAAHImAAB9JgAAgCYAAIkmAABoJwAAdScAANAnAADrJwAA8CcAAP8nAAAAKQAA/yoAADswAAA9MAAAlTAAAJYwAACfMAAAoDAAAP8wAAD/MAAA8DEAAP8xAABRMgAAXzIAALEyAAC/MgAAoqQAAKOkAAC0pAAAtKQAAMGkAADBpAAAxaQAAMWkAAAw+gAAavoAAPz9AAD8/QAAAP4AAA/+AABF/gAARv4AAHP+AABz/gAAX/8AAGD/AAAhAgAAIQIAADQCAAA2AgAArgIAAK8CAADvAgAA/wIAAFADAABXAwAAXQMAAF8DAAD3AwAA+wMAAAAGAAADBgAADQYAABUGAABWBgAAWAYAAO4GAADvBgAA/wYAAP8GAAAtBwAALwcAAE0HAABPBwAABAkAAAQJAAC9CQAAvQkAAAEKAAABCgAAAwoAAAMKAACMCgAAjAoAAOEKAADjCgAA8QoAAPEKAAA1CwAANQsAAHELAABxCwAA8wsAAPoLAAC8DAAAvQwAAN0XAADdFwAA8BcAAPkXAAAAGQAAHBkAACAZAAArGQAAMBkAADsZAABAGQAAQBkAAEQZAABtGQAAcBkAAHQZAADgGQAA/xkAAAAdAABrHQAAUyAAAFQgAAA7IQAAOyEAAM8jAADQIwAA/yQAAP8kAAAUJgAAFSYAAIomAACRJgAAoCYAAKEmAAAAKwAADSsAAB0yAAAeMgAAUDIAAFAyAAB8MgAAfTIAAMwyAADPMgAAdzMAAHozAADeMwAA3zMAAP8zAAD/MwAAwE0AAP9NAAD9/QAA/f0AAEf+AABI/gAAAAABAAsAAQANAAEAJgABACgAAQA6AAEAPAABAD0AAQA/AAEATQABAFAAAQBdAAEAgAABAPoAAQAAAQEAAgEBAAcBAQAzAQEANwEBAD8BAQCAAwEAnQMBAJ8DAQCfAwEAJgQBACcEAQBOBAEAnQQBAKAEAQCpBAEAAAgBAAUIAQAICAEACAgBAAoIAQA1CAEANwgBADgIAQA8CAEAPAgBAD8IAQA/CAEAANMBAFbTAQDB1AEAwdQBAAABDgDvAQ4ANwIAAEECAABYAwAAXAMAAPwDAAD/AwAA9gQAAPcEAACiBQAAogUAAMUFAADHBQAACwYAAAsGAAAeBgAAHgYAAFkGAABeBgAAUAcAAG0HAAB9CQAAfQkAAM4JAADOCQAAtgsAALYLAADmCwAA5gsAANAPAADRDwAA+RAAAPoQAAD8EAAA/BAAAAcSAAAHEgAARxIAAEcSAACHEgAAhxIAAK8SAACvEgAAzxIAAM8SAADvEgAA7xIAAA8TAAAPEwAAHxMAAB8TAABHEwAARxMAAF8TAABgEwAAgBMAAJkTAACAGQAAqRkAALAZAADJGQAA0BkAANkZAADeGQAA3xkAAAAaAAAbGgAAHhoAAB8aAABsHQAAwx0AAFUgAABWIAAAWCAAAF4gAACQIAAAlCAAALIgAAC1IAAA6yAAAOsgAAA8IQAAPCEAAEwhAABMIQAA0SMAANsjAAAYJgAAGCYAAH4mAAB/JgAAkiYAAJwmAACiJgAAsSYAAMAnAADGJwAADisAABMrAAAALAAALiwAADAsAABeLAAAgCwAAOosAAD5LAAAJS0AADAtAABlLQAAby0AAG8tAACALQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAAAALgAAFy4AABwuAAAdLgAAwDEAAM8xAAB+MgAAfjIAAKafAAC7nwAAAKcAABanAAAAqAAAK6gAAHD6AADZ+gAAEP4AABn+AABAAQEAigEBAKADAQDDAwEAyAMBANUDAQAACgEAAwoBAAUKAQAGCgEADAoBABMKAQAVCgEAFwoBABkKAQAzCgEAOAoBADoKAQA/CgEARwoBAFAKAQBYCgEAANIBAEXSAQCk1gEApdYBAEICAABPAgAAewMAAH0DAADPBAAAzwQAAPoEAAD/BAAAEAUAABMFAAC6BQAAugUAAMAHAAD6BwAAewkAAHwJAAB+CQAAfwkAAOIMAADjDAAA8QwAAPIMAAAAGwAASxsAAFAbAAB8GwAAxB0AAModAAD+HQAA/x0AAOwgAADvIAAATSEAAE4hAACEIQAAhCEAANwjAADnIwAAsiYAALImAADHJwAAyicAABQrAAAaKwAAICsAACMrAABgLAAAbCwAAHQsAAB3LAAAF6cAABqnAAAgpwAAIacAAECoAAB3qAAAAAkBABkJAQAfCQEAHwkBAAAgAQBuIwEAACQBAGIkAQBwJAEAcyQBAGDTAQBx0wEAytcBAMvXAQBwAwAAcwMAAHYDAAB3AwAAzwMAAM8DAACHBAAAhwQAABQFAAAjBQAABgYAAAoGAAAWBgAAGgYAADsGAAA/BgAAbgcAAH8HAABxCQAAcgkAAFEKAABRCgAAdQoAAHUKAABECwAARAsAAGILAABjCwAA0AsAANALAAA9DAAAPQwAAFgMAABZDAAAYgwAAGMMAAB4DAAAfwwAAD0NAAA9DQAARA0AAEQNAABiDQAAYw0AAHANAAB1DQAAeQ0AAH8NAABrDwAAbA8AAM4PAADODwAA0g8AANQPAAAiEAAAIhAAACgQAAAoEAAAKxAAACsQAAAzEAAANRAAADoQAAA/EAAAWhAAAJkQAACeEAAAnxAAAKoYAACqGAAAgBsAAKobAACuGwAAuRsAAAAcAAA3HAAAOxwAAEkcAABNHAAAfxwAAMsdAADmHQAAnB4AAJ8eAAD6HgAA/x4AAGQgAABkIAAA8CAAAPAgAABPIQAATyEAAIUhAACIIQAAnSYAAJ0mAACzJgAAvCYAAMAmAADDJgAAzCcAAMwnAADsJwAA7ycAABsrAAAfKwAAJCsAAEwrAABQKwAAVCsAAG0sAABvLAAAcSwAAHMsAAB4LAAAfSwAAOAtAAD/LQAAGC4AABsuAAAeLgAAMC4AAC0xAAAtMQAA0DEAAOMxAAC8nwAAw58AAAClAAArpgAAQKYAAF+mAABipgAAc6YAAHymAACXpgAAG6cAAB+nAAAipwAAjKcAAPunAAD/pwAAgKgAAMSoAADOqAAA2agAAACpAABTqQAAX6kAAF+pAAAAqgAANqoAAECqAABNqgAAUKoAAFmqAABcqgAAX6oAACT+AAAm/gAAkAEBAJsBAQDQAQEA/QEBAIACAQCcAgEAoAIBANACAQAgCQEAOQkBAD8JAQA/CQEAKdEBACnRAQAA8AEAK/ABADDwAQCT8AEAJAUAACUFAAAACAAALQgAADAIAAA+CAAAAAkAAAAJAABOCQAATgkAAFUJAABVCQAAeQkAAHoJAAD7CQAA+wkAANUPAADYDwAAmhAAAJ0QAABaEQAAXhEAAKMRAACnEQAA+hEAAP8RAAAAFAAAABQAAHcWAAB/FgAAsBgAAPUYAACqGQAAqxkAANoZAADaGQAAIBoAAF4aAABgGgAAfBoAAH8aAACJGgAAkBoAAJkaAACgGgAArRoAANAcAADyHAAA/R0AAP0dAAC2IAAAuCAAAFAhAABSIQAAiSEAAIkhAADoIwAA6CMAAJ4mAACfJgAAvSYAAL8mAADEJgAAzSYAAM8mAADhJgAA4yYAAOMmAADoJgAA/yYAAFcnAABXJwAAVSsAAFkrAABwLAAAcCwAAH4sAAB/LAAA6ywAAPEsAAAxLgAAMS4AAEQyAABPMgAAxJ8AAMufAADQpAAA/6QAAKCmAAD3pgAAMKgAADmoAADgqAAA+6gAAGCpAAB8qQAAgKkAAM2pAADPqQAA2akAAN6pAADfqQAAYKoAAHuqAACAqgAAwqoAANuqAADfqgAAwKsAAO2rAADwqwAA+asAALDXAADG1wAAy9cAAPvXAABr+gAAbfoAAEAIAQBVCAEAVwgBAF8IAQAaCQEAGwkBAGAKAQB/CgEAAAsBADULAQA5CwEAVQsBAFgLAQByCwEAeAsBAH8LAQAADAEASAwBAGAOAQB+DgEAgBABAMEQAQAAMAEALjQBAADxAQAK8QEAEPEBAC7xAQAx8QEAMfEBAD3xAQA98QEAP/EBAD/xAQBC8QEAQvEBAEbxAQBG8QEASvEBAE7xAQBX8QEAV/EBAF/xAQBf8QEAefEBAHnxAQB78QEAfPEBAH/xAQB/8QEAivEBAI3xAQCQ8QEAkPEBAADyAQAA8gEAEPIBADHyAQBA8gEASPIBAACnAgA0twIAJgUAACcFAAAgBgAAIAYAAF8GAABfBgAAQAgAAFsIAABeCAAAXggAADoJAAA7CQAATwkAAE8JAABWCQAAVwkAAHMJAAB3CQAAcgsAAHcLAAApDQAAKQ0AADoNAAA6DQAATg0AAE4NAACMDwAAjw8AANkPAADaDwAAXRMAAF4TAADAGwAA8xsAAPwbAAD/GwAA/B0AAPwdAACVIAAAnCAAALkgAAC5IAAA6SMAAPMjAADOJgAAziYAAOImAADiJgAA5CYAAOcmAAAFJwAABScAAAonAAALJwAAKCcAACgnAABMJwAATCcAAE4nAABOJwAAUycAAFUnAABfJwAAYCcAAJUnAACXJwAAsCcAALAnAAC/JwAAvycAAM4nAADPJwAAcC0AAHAtAAB/LQAAfy0AALgxAAC6MQAAYKYAAGGmAACNpwAAjqcAAJCnAACRpwAAoKcAAKmnAAD6pwAA+qcAAAGrAAAGqwAACasAAA6rAAARqwAAFqsAACCrAAAmqwAAKKsAAC6rAACy+wAAwfsAAAAQAQBNEAEAUhABAG8QAQAAaAEAOGoBAACwAQABsAEAoPABAK7wAQCx8AEAvvABAMHwAQDP8AEA0fABAN/wAQAw8QEAMPEBADLxAQA88QEAPvEBAD7xAQBA8QEAQfEBAEPxAQBF8QEAR/EBAEnxAQBP8QEAVvEBAFjxAQBe8QEAYPEBAGnxAQBw8QEAePEBAHrxAQB68QEAffEBAH7xAQCA8QEAifEBAI7xAQCP8QEAkfEBAJrxAQDm8QEA//EBAAHyAQAC8gEAMvIBADryAQBQ8gEAUfIBAADzAQAg8wEAMPMBADXzAQA38wEAfPMBAIDzAQCT8wEAoPMBAMTzAQDG8wEAyvMBAODzAQDw8wEAAPQBAD70AQBA9AEAQPQBAEL0AQD39AEA+fQBAPz0AQAA9QEAPfUBAFD1AQBn9QEA+/UBAP/1AQAB9gEAEPYBABL2AQAU9gEAFvYBABb2AQAY9gEAGPYBABr2AQAa9gEAHPYBAB72AQAg9gEAJfYBACj2AQAr9gEALfYBAC32AQAw9gEAM/YBADX2AQBA9gEARfYBAE/2AQCA9gEAxfYBAAD3AQBz9wEAQLcCAB24AgCPBQAAjwUAAAQGAAAEBgAAoAgAAKAIAACiCAAArAgAAOQIAAD+CAAA8AoAAPAKAADeDgAA3w4AAMcQAADHEAAAzRAAAM0QAAD9EAAA/xAAAKsbAACtGwAAuhsAAL8bAADAHAAAxxwAAPMcAAD2HAAAyycAAMsnAADNJwAAzScAAPIsAADzLAAAJy0AACctAAAtLQAALS0AAGYtAABnLQAAMi4AADsuAADMnwAAzJ8AAHSmAAB7pgAAn6YAAJ+mAACSpwAAk6cAAKqnAACqpwAA+KcAAPmnAADgqgAA9qoAAC76AAAv+gAAgAkBALcJAQC+CQEAvwkBANAQAQDoEAEA8BABAPkQAQAAEQEANBEBADYRAQBDEQEAgBEBAMgRAQDQEQEA2REBAIAWAQC3FgEAwBYBAMkWAQAAbwEARG8BAFBvAQB+bwEAj28BAJ9vAQAA7gEAA+4BAAXuAQAf7gEAIe4BACLuAQAk7gEAJO4BACfuAQAn7gEAKe4BADLuAQA07gEAN+4BADnuAQA57gEAO+4BADvuAQBC7gEAQu4BAEfuAQBH7gEASe4BAEnuAQBL7gEAS+4BAE3uAQBP7gEAUe4BAFLuAQBU7gEAVO4BAFfuAQBX7gEAWe4BAFnuAQBb7gEAW+4BAF3uAQBd7gEAX+4BAF/uAQBh7gEAYu4BAGTuAQBk7gEAZ+4BAGruAQBs7gEAcu4BAHTuAQB37gEAee4BAHzuAQB+7gEAfu4BAIDuAQCJ7gEAi+4BAJvuAQCh7gEAo+4BAKXuAQCp7gEAq+4BALvuAQDw7gEA8e4BAGrxAQBr8QEAQPUBAEP1AQAA9gEAAPYBABH2AQAR9gEAFfYBABX2AQAX9gEAF/YBABn2AQAZ9gEAG/YBABv2AQAf9gEAH/YBACb2AQAn9gEALPYBACz2AQAu9gEAL/YBADT2AQA09gEAuiAAALogAAAcBgAAHAYAAGYgAABpIAAAfwMAAH8DAAAoBQAALwUAAI0FAACOBQAABQYAAAUGAAChCAAAoQgAAK0IAACyCAAA/wgAAP8IAAB4CQAAeAkAAIAJAACACQAAAAwAAAAMAAA0DAAANAwAAIEMAACBDAAAAQ0AAAENAADmDQAA7w0AAPEWAAD4FgAAHRkAAB4ZAACwGgAAvhoAAPgcAAD5HAAA5x0AAPUdAAC7IAAAvSAAAPQjAAD6IwAAACcAAAAnAABNKwAATysAAForAABzKwAAdisAAJUrAACYKwAAuSsAAL0rAADIKwAAyisAANErAAA8LgAAQi4AAJimAACdpgAAlKcAAJ+nAACrpwAAracAALCnAACxpwAA96cAAPenAADgqQAA/qkAAHyqAAB/qgAAMKsAAF+rAABkqwAAZasAACf+AAAt/gAAiwEBAIwBAQCgAQEAoAEBAOACAQD7AgEAHwMBAB8DAQBQAwEAegMBAAAFAQAnBQEAMAUBAGMFAQBvBQEAbwUBAAAGAQA2BwEAQAcBAFUHAQBgBwEAZwcBAGAIAQCeCAEApwgBAK8IAQCACgEAnwoBAMAKAQDmCgEA6woBAPYKAQCACwEAkQsBAJkLAQCcCwEAqQsBAK8LAQB/EAEAfxABAFARAQB2EQEAzREBAM0RAQDaEQEA2hEBAOERAQD0EQEAABIBABESAQATEgEAPRIBALASAQDqEgEA8BIBAPkSAQABEwEAAxMBAAUTAQAMEwEADxMBABATAQATEwEAKBMBACoTAQAwEwEAMhMBADMTAQA1EwEAORMBADwTAQBEEwEARxMBAEgTAQBLEwEATRMBAFcTAQBXEwEAXRMBAGMTAQBmEwEAbBMBAHATAQB0EwEAgBQBAMcUAQDQFAEA2RQBAIAVAQC1FQEAuBUBAMkVAQAAFgEARBYBAFAWAQBZFgEAoBgBAPIYAQD/GAEA/xgBAMAaAQD4GgEAbyMBAJgjAQBjJAEAbiQBAHQkAQB0JAEAQGoBAF5qAQBgagEAaWoBAG5qAQBvagEA0GoBAO1qAQDwagEA9WoBAABrAQBFawEAUGsBAFlrAQBbawEAYWsBAGNrAQB3awEAfWsBAI9rAQAAvAEAarwBAHC8AQB8vAEAgLwBAIi8AQCQvAEAmbwBAJy8AQCjvAEAAOgBAMToAQDH6AEA1ugBAL/wAQC/8AEA4PABAPXwAQAL8QEADPEBACHzAQAs8wEANvMBADbzAQB98wEAffMBAJTzAQCf8wEAxfMBAMXzAQDL8wEAzvMBANTzAQDf8wEA8fMBAPfzAQA/9AEAP/QBAEH0AQBB9AEA+PQBAPj0AQD99AEA/vQBAD71AQA/9QEARPUBAEr1AQBo9QEAefUBAHv1AQCj9QEApfUBAPr1AQBB9gEAQvYBAFD2AQB/9gEAxvYBAM/2AQDg9gEA7PYBAPD2AQDz9gEAgPcBANT3AQAA+AEAC/gBABD4AQBH+AEAUPgBAFn4AQBg+AEAh/gBAJD4AQCt+AEAswgAALQIAADjCAAA4wgAAPkKAAD5CgAAWgwAAFoMAABfDQAAXw0AAPUTAAD1EwAA+BMAAP0TAAC+IAAAviAAAIohAACLIQAA7CsAAO8rAADNnwAA1Z8AAJ6mAACepgAAj6cAAI+nAACypwAAt6cAAPyoAAD9qAAAYKsAAGOrAABwqwAAv6sAAC7+AAAv/gAA4AgBAPIIAQD0CAEA9QgBAPsIAQD/CAEAvAkBAL0JAQDACQEAzwkBANIJAQD/CQEAgAwBALIMAQDADAEA8gwBAPoMAQD/DAEAyREBAMwRAQDbEQEA3xEBAIASAQCGEgEAiBIBAIgSAQCKEgEAjRIBAI8SAQCdEgEAnxIBAKkSAQAAEwEAABMBAFATAQBQEwEAyhUBAN0VAQAAFwEAGRcBAB0XAQArFwEAMBcBAD8XAQCZIwEAmSMBAIAkAQBDJQEAAEQBAEZGAQDe0QEA6NEBAADYAQCL2gEAm9oBAJ/aAQCh2gEAr9oBAC3zAQAv8wEAfvMBAH/zAQDP8wEA0/MBAPjzAQD/8wEA//QBAP/0AQBL9QEAT/UBAEP2AQBE9gEA0PYBAND2AQAQ+QEAGPkBAID5AQCE+QEAwPkBAMD5AQAguAIAoc4CALYIAAC9CAAA1AgAAOIIAACADAAAgAwAAE8NAABPDQAAVA0AAFYNAABYDQAAXg0AAHYNAAB4DQAAgBwAAIgcAAD7HQAA+x0AAPsjAAD+IwAAQy4AAEQuAACupwAArqcAAMWoAADFqAAAjQEBAI4BAQCwBAEA0wQBANgEAQD7BAEAPhIBAD4SAQAAFAEAWRQBAFsUAQBbFAEAXRQBAF0UAQBgFgEAbBYBAAAcAQAIHAEAChwBADYcAQA4HAEARRwBAFAcAQBsHAEAcBwBAI8cAQCSHAEApxwBAKkcAQC2HAEA4G8BAOBvAQAAcAEA7IcBAACIAQDyigEAAOABAAbgAQAI4AEAGOABABvgAQAh4AEAI+ABACTgAQAm4AEAKuABAADpAQBK6QEAUOkBAFnpAQBe6QEAX+kBAJvxAQCs8QEAO/IBADvyAQB69QEAevUBAKT1AQCk9QEA0fYBANL2AQD09gEA9vYBABn5AQAe+QEAIPkBACf5AQAw+QEAMPkBADP5AQA++QEAQPkBAEv5AQBQ+QEAXvkBAIX5AQCR+QEAYAgAAGoIAAD8CQAA/QkAAPoKAAD/CgAAAA0AAAANAAA7DQAAPA0AAPccAAD3HAAA9h0AAPkdAAC/IAAAvyAAAP8jAAD/IwAA0isAANIrAABFLgAASS4AAC4xAAAuMQAA1p8AAOqfAAAtAwEALwMBAAAaAQBHGgEAUBoBAIMaAQCGGgEAnBoBAJ4aAQCiGgEAAB0BAAYdAQAIHQEACR0BAAsdAQA2HQEAOh0BADodAQA8HQEAPR0BAD8dAQBHHQEAUB0BAFkdAQDhbwEA4W8BAAKwAQAesQEAcLEBAPuyAQBg8gEAZfIBANP2AQDU9gEA9/YBAPj2AQAA+QEAC/kBAB/5AQAf+QEAKPkBAC/5AQAx+QEAMvkBAEz5AQBM+QEAX/kBAGv5AQCS+QEAl/kBAND5AQDm+QEAsM4CAODrAgBgBQAAYAUAAIgFAACIBQAA7wUAAO8FAAD9BwAA/wcAANMIAADTCAAA/gkAAP4JAAB2CgAAdgoAAAQMAAAEDAAAhAwAAIQMAAB4GAAAeBgAAJAcAAC6HAAAvRwAAL8cAAC6KwAAvCsAANMrAADrKwAA8CsAAP4rAABKLgAATi4AAC8xAAAvMQAA658AAO+fAACvpwAAr6cAALinAAC5pwAA/qgAAP+oAAA0CgEANQoBAEgKAQBICgEAAA0BACcNAQAwDQEAOQ0BAAAPAQAnDwEAMA8BAFkPAQDNEAEAzRABAEQRAQBGEQEAOxMBADsTAQBeFAEAXhQBABoXAQAaFwEAABgBADsYAQCdGgEAnRoBAGAdAQBlHQEAZx0BAGgdAQBqHQEAjh0BAJAdAQCRHQEAkx0BAJgdAQCgHQEAqR0BAOAeAQD4HgEAQG4BAJpuAQDthwEA8YcBAODSAQDz0gEActMBAHjTAQBx7AEAtOwBAC/xAQAv8QEA+fYBAPn2AQDV9wEA2PcBAE35AQBP+QEAbPkBAHD5AQBz+QEAdvkBAHr5AQB6+QEAfPkBAH/5AQCY+QEAovkBALD5AQC5+QEAwfkBAML5AQDn+QEA//kBAGD6AQBt+gEAdwwAAHcMAACGDgAAhg4AAIkOAACJDgAAjA4AAIwOAACODgAAkw4AAJgOAACYDgAAoA4AAKAOAACoDgAAqQ4AAKwOAACsDgAAug4AALoOAAD6HAAA+hwAAMkrAADJKwAA/ysAAP8rAABPLgAATy4AALqnAAC/pwAAwqcAAManAABmqwAAZ6sAAOAPAQD2DwEAXxQBAF8UAQC4FgEAuBYBAKAZAQCnGQEAqhkBANcZAQDaGQEA5BkBAIQaAQCFGgEAwB8BAPEfAQD/HwEA/x8BADA0AQA4NAEARW8BAEpvAQBPbwEAT28BAH9vAQCHbwEA4m8BAONvAQDyhwEA94cBAFCxAQBSsQEAZLEBAGexAQAA4QEALOEBADDhAQA94QEAQOEBAEnhAQBO4QEAT+EBAMDiAQD54gEA/+IBAP/iAQBL6QEAS+kBAAHtAQA97QEAbPEBAGzxAQDV9gEA1fYBAPr2AQD69gEA4PcBAOv3AQAN+QEAD/kBAD/5AQA/+QEAcfkBAHH5AQB7+QEAe/kBAKX5AQCq+QEArvkBAK/5AQC6+QEAv/kBAMP5AQDK+QEAzfkBAM/5AQAA+gEAU/oBAHD6AQBz+gEAePoBAHr6AQCA+gEAgvoBAJD6AQCV+gEA/zIAAP8yAAC+CAAAxwgAAFULAABVCwAABA0AAAQNAACBDQAAgQ0AAL8aAADAGgAAlysAAJcrAABQLgAAUi4AALsxAAC/MQAAtk0AAL9NAADwnwAA/J8AAMenAADKpwAA9acAAPanAAAsqAAALKgAAGirAABrqwAAnAEBAJwBAQCADgEAqQ4BAKsOAQCtDgEAsA4BALEOAQCwDwEAyw8BAEcRAQBHEQEAzhEBAM8RAQBaFAEAWhQBAGAUAQBhFAEAABkBAAYZAQAJGQEACRkBAAwZAQATGQEAFRkBABYZAQAYGQEANRkBADcZAQA4GQEAOxkBAEYZAQBQGQEAWRkBALAfAQCwHwEA5G8BAORvAQDwbwEA8W8BAPOKAQDVjAEAAI0BAAiNAQAN8QEAD/EBAG3xAQBv8QEArfEBAK3xAQDW9gEA1/YBAPv2AQD89gEAsPgBALH4AQAM+QEADPkBAHL5AQBy+QEAd/kBAHj5AQCj+QEApPkBAKv5AQCt+QEAy/kBAMv5AQB0+gEAdPoBAIP6AQCG+gEAlvoBAKj6AQCw+gEAtvoBAMD6AQDC+gEA0PoBANb6AQAA+wEAkvsBAJT7AQDK+wEA8PsBAPn7AQDXpgIA3aYCAAAAAwBKEwMAHQYAAB0GAABwCAAAjggAAJAIAACRCAAAmAgAAJ8IAAC1CAAAtQgAAMgIAADSCAAAPAwAADwMAABdDAAAXQwAAN0MAADdDAAADRcAAA0XAAAVFwAAFRcAAB8XAAAfFwAADxgAAA8YAADBGgAAzhoAAEwbAABMGwAAfRsAAH4bAAD6HQAA+h0AAMAgAADAIAAALywAAC8sAABfLAAAXywAAFMuAABdLgAA/Z8AAP+fAADApwAAwacAANCnAADRpwAA06cAANOnAADVpwAA2acAAPKnAAD0pwAAwvsAAML7AABA/QAAT/0AAM/9AADP/QAA/v0AAP/9AABwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAgAcBAIUHAQCHBwEAsAcBALIHAQC6BwEAcA8BAIkPAQBwEAEAdRABAMIQAQDCEAEAuRYBALkWAQBAFwEARhcBALAaAQC/GgEAkC8BAPIvAQBwagEAvmoBAMBqAQDJagEA8K8BAPOvAQD1rwEA+68BAP2vAQD+rwEAH7EBACKxAQAAzwEALc8BADDPAQBGzwEAUM8BAMPPAQDp0QEA6tEBAADfAQAe3wEAkOIBAK7iAQDg5wEA5ucBAOjnAQDr5wEA7ecBAO7nAQDw5wEA/ucBAN32AQDf9gEA8PcBAPD3AQB5+QEAefkBAMz5AQDM+QEAe/oBAHz6AQCp+gEArPoBALf6AQC6+gEAw/oBAMX6AQDX+gEA2foBAOD6AQDn+gEA8PoBAPb6AQDepgIA36YCADW3AgA4twIA8wwAAPMMAADODgAAzg4AAP0OAQD/DgEAPxIBAEESAQAAGwEACRsBAAAfAQAQHwEAEh8BADofAQA+HwEAWR8BAC80AQAvNAEAOTQBAFU0AQAysQEAMrEBAFWxAQBVsQEAwNIBANPSAQAl3wEAKt8BADDgAQBt4AEAj+ABAI/gAQDQ5AEA+eQBANz2AQDc9gEAdPcBAHb3AQB79wEAf/cBANn3AQDZ9wEAdfoBAHf6AQCH+gEAiPoBAK36AQCv+gEAu/oBAL36AQC/+gEAv/oBAM76AQDP+gEA2voBANv6AQDo+gEA6PoBAPf6AQD4+gEAObcCADm3AgBQEwMAryMDAK8dEgAEAAAAoFQSACABAAD1HRIABAAAAKBdEgAcAAAA/B0SAAQAAACAXhIAAgAAAAMeEgAEAAAAkF4SAHkAAAAKHhIABAAAAFhiEgAkAAAAER4SAAQAAAB4YxIAOwAAABgeEgAEAAAAUGUSAE0AAAAfHhIABAAAALhnEgBWAAAAJh4SAAQAAABoahIAIwAAAC0eEgAEAAAAgGsSAFkAAAA0HhIABAAAAEhuEgBaAAAAOx4SAAQAAAAYcRIAagAAAEIeEgAEAAAAaHQSAFkAAABJHhIABAAAADB3EgABAAAAUB4SAAQAAAA4dxIAAgAAAFceEgAEAAAASHcSAI0AAABeHhIABAAAALB7EgA7AAAAZR4SAAQAAACIfRIANAAAALcdEgAFAAAAKH8SACgAAADAHRIABQAAAGiAEgA7AAAAyR0SAAUAAABAghIAPAAAANIdEgAFAAAAIIQSAAEAAADbHRIABQAAACiEEgA7AAAA5B0SAAUAAAAAhhIATgAAAO0dEgAFAAAAcIgSACAAAABBAAAAWgAAAGEAAAB6AAAAtQAAALUAAADAAAAA1gAAANgAAAD2AAAA+AAAALoBAAC8AQAAvwEAAMQBAACTAgAAlQIAAK8CAABwAwAAcwMAAHYDAAB3AwAAewMAAH0DAAB/AwAAfwMAAIYDAACGAwAAiAMAAIoDAACMAwAAjAMAAI4DAAChAwAAowMAAPUDAAD3AwAAgQQAAIoEAAAvBQAAMQUAAFYFAABgBQAAiAUAAKAQAADFEAAAxxAAAMcQAADNEAAAzRAAANAQAAD6EAAA/RAAAP8QAACgEwAA9RMAAPgTAAD9EwAAgBwAAIgcAACQHAAAuhwAAL0cAAC/HAAAAB0AACsdAABrHQAAdx0AAHkdAACaHQAAAB4AABUfAAAYHwAAHR8AACAfAABFHwAASB8AAE0fAABQHwAAVx8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAvB8AAL4fAAC+HwAAwh8AAMQfAADGHwAAzB8AANAfAADTHwAA1h8AANsfAADgHwAA7B8AAPIfAAD0HwAA9h8AAPwfAAACIQAAAiEAAAchAAAHIQAACiEAABMhAAAVIQAAFSEAABkhAAAdIQAAJCEAACQhAAAmIQAAJiEAACghAAAoIQAAKiEAAC0hAAAvIQAANCEAADkhAAA5IQAAPCEAAD8hAABFIQAASSEAAE4hAABOIQAAgyEAAIQhAAAALAAAeywAAH4sAADkLAAA6ywAAO4sAADyLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AAECmAABtpgAAgKYAAJumAAAipwAAb6cAAHGnAACHpwAAi6cAAI6nAACQpwAAyqcAANCnAADRpwAA06cAANOnAADVpwAA2acAAPWnAAD2pwAA+qcAAPqnAAAwqwAAWqsAAGCrAABoqwAAcKsAAL+rAAAA+wAABvsAABP7AAAX+wAAIf8AADr/AABB/wAAWv8AAAAEAQBPBAEAsAQBANMEAQDYBAEA+wQBAHAFAQB6BQEAfAUBAIoFAQCMBQEAkgUBAJQFAQCVBQEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQCADAEAsgwBAMAMAQDyDAEAoBgBAN8YAQBAbgEAf24BAADUAQBU1AEAVtQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAHtUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAFLVAQCl1gEAqNYBAMDWAQDC1gEA2tYBANzWAQD61gEA/NYBABTXAQAW1wEANNcBADbXAQBO1wEAUNcBAG7XAQBw1wEAiNcBAIrXAQCo1wEAqtcBAMLXAQDE1wEAy9cBAADfAQAJ3wEAC98BAB7fAQAl3wEAKt8BAADpAQBD6QEAKQAAACkAAABdAAAAXQAAAH0AAAB9AAAAOw8AADsPAAA9DwAAPQ8AAJwWAACcFgAARiAAAEYgAAB+IAAAfiAAAI4gAACOIAAACSMAAAkjAAALIwAACyMAACojAAAqIwAAaScAAGknAABrJwAAaycAAG0nAABtJwAAbycAAG8nAABxJwAAcScAAHMnAABzJwAAdScAAHUnAADGJwAAxicAAOcnAADnJwAA6ScAAOknAADrJwAA6ycAAO0nAADtJwAA7ycAAO8nAACEKQAAhCkAAIYpAACGKQAAiCkAAIgpAACKKQAAiikAAIwpAACMKQAAjikAAI4pAACQKQAAkCkAAJIpAACSKQAAlCkAAJQpAACWKQAAlikAAJgpAACYKQAA2SkAANkpAADbKQAA2ykAAP0pAAD9KQAAIy4AACMuAAAlLgAAJS4AACcuAAAnLgAAKS4AACkuAABWLgAAVi4AAFguAABYLgAAWi4AAFouAABcLgAAXC4AAAkwAAAJMAAACzAAAAswAAANMAAADTAAAA8wAAAPMAAAETAAABEwAAAVMAAAFTAAABcwAAAXMAAAGTAAABkwAAAbMAAAGzAAAB4wAAAfMAAAPv0AAD79AAAY/gAAGP4AADb+AAA2/gAAOP4AADj+AAA6/gAAOv4AADz+AAA8/gAAPv4AAD7+AABA/gAAQP4AAEL+AABC/gAARP4AAET+AABI/gAASP4AAFr+AABa/gAAXP4AAFz+AABe/gAAXv4AAAn/AAAJ/wAAPf8AAD3/AABd/wAAXf8AAGD/AABg/wAAY/8AAGP/AABfAAAAXwAAAD8gAABAIAAAVCAAAFQgAAAz/gAANP4AAE3+AABP/gAAP/8AAD//AAAAAAAAHwAAAH8AAACfAAAAJAAAACQAAACiAAAApQAAAI8FAACPBQAACwYAAAsGAAD+BwAA/wcAAPIJAADzCQAA+wkAAPsJAADxCgAA8QoAAPkLAAD5CwAAPw4AAD8OAADbFwAA2xcAAKAgAADAIAAAOKgAADioAAD8/QAA/P0AAGn+AABp/gAABP8AAAT/AADg/wAA4f8AAOX/AADm/wAA3R8BAOAfAQD/4gEA/+IBALDsAQCw7AEALQAAAC0AAACKBQAAigUAAL4FAAC+BQAAABQAAAAUAAAGGAAABhgAABAgAAAVIAAAFy4AABcuAAAaLgAAGi4AADouAAA7LgAAQC4AAEAuAABdLgAAXS4AABwwAAAcMAAAMDAAADAwAACgMAAAoDAAADH+AAAy/gAAWP4AAFj+AABj/gAAY/4AAA3/AAAN/wAArQ4BAK0OAQCIBAAAiQQAAL4aAAC+GgAA3SAAAOAgAADiIAAA5CAAAHCmAABypgAAuwAAALsAAAAZIAAAGSAAAB0gAAAdIAAAOiAAADogAAADLgAAAy4AAAUuAAAFLgAACi4AAAouAAANLgAADS4AAB0uAAAdLgAAIS4AACEuAACtAAAArQAAAAAGAAAFBgAAHAYAABwGAADdBgAA3QYAAA8HAAAPBwAAkAgAAJEIAADiCAAA4ggAAA4YAAAOGAAACyAAAA8gAAAqIAAALiAAAGAgAABkIAAAZiAAAG8gAAD//gAA//4AAPn/AAD7/wAAvRABAL0QAQDNEAEAzRABADA0AQA/NAEAoLwBAKO8AQBz0QEAetEBAAEADgABAA4AIAAOAH8ADgCrAAAAqwAAABggAAAYIAAAGyAAABwgAAAfIAAAHyAAADkgAAA5IAAAAi4AAAIuAAAELgAABC4AAAkuAAAJLgAADC4AAAwuAAAcLgAAHC4AACAuAAAgLgAAQQAAAFoAAABhAAAAegAAAKoAAACqAAAAtQAAALUAAAC6AAAAugAAAMAAAADWAAAA2AAAAPYAAAD4AAAAwQIAAMYCAADRAgAA4AIAAOQCAADsAgAA7AIAAO4CAADuAgAAcAMAAHQDAAB2AwAAdwMAAHoDAAB9AwAAfwMAAH8DAACGAwAAhgMAAIgDAACKAwAAjAMAAIwDAACOAwAAoQMAAKMDAAD1AwAA9wMAAIEEAACKBAAALwUAADEFAABWBQAAWQUAAFkFAABgBQAAiAUAANAFAADqBQAA7wUAAPIFAAAgBgAASgYAAG4GAABvBgAAcQYAANMGAADVBgAA1QYAAOUGAADmBgAA7gYAAO8GAAD6BgAA/AYAAP8GAAD/BgAAEAcAABAHAAASBwAALwcAAE0HAAClBwAAsQcAALEHAADKBwAA6gcAAPQHAAD1BwAA+gcAAPoHAAAACAAAFQgAABoIAAAaCAAAJAgAACQIAAAoCAAAKAgAAEAIAABYCAAAYAgAAGoIAABwCAAAhwgAAIkIAACOCAAAoAgAAMkIAAAECQAAOQkAAD0JAAA9CQAAUAkAAFAJAABYCQAAYQkAAHEJAACACQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvQkAAL0JAADOCQAAzgkAANwJAADdCQAA3wkAAOEJAADwCQAA8QkAAPwJAAD8CQAABQoAAAoKAAAPCgAAEAoAABMKAAAoCgAAKgoAADAKAAAyCgAAMwoAADUKAAA2CgAAOAoAADkKAABZCgAAXAoAAF4KAABeCgAAcgoAAHQKAACFCgAAjQoAAI8KAACRCgAAkwoAAKgKAACqCgAAsAoAALIKAACzCgAAtQoAALkKAAC9CgAAvQoAANAKAADQCgAA4AoAAOEKAAD5CgAA+QoAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAAD0LAAA9CwAAXAsAAF0LAABfCwAAYQsAAHELAABxCwAAgwsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAADQCwAA0AsAAAUMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPQwAAD0MAABYDAAAWgwAAF0MAABdDAAAYAwAAGEMAACADAAAgAwAAIUMAACMDAAAjgwAAJAMAACSDAAAqAwAAKoMAACzDAAAtQwAALkMAAC9DAAAvQwAAN0MAADeDAAA4AwAAOEMAADxDAAA8gwAAAQNAAAMDQAADg0AABANAAASDQAAOg0AAD0NAAA9DQAATg0AAE4NAABUDQAAVg0AAF8NAABhDQAAeg0AAH8NAACFDQAAlg0AAJoNAACxDQAAsw0AALsNAAC9DQAAvQ0AAMANAADGDQAAAQ4AADAOAAAyDgAAMw4AAEAOAABGDgAAgQ4AAIIOAACEDgAAhA4AAIYOAACKDgAAjA4AAKMOAAClDgAApQ4AAKcOAACwDgAAsg4AALMOAAC9DgAAvQ4AAMAOAADEDgAAxg4AAMYOAADcDgAA3w4AAAAPAAAADwAAQA8AAEcPAABJDwAAbA8AAIgPAACMDwAAABAAACoQAAA/EAAAPxAAAFAQAABVEAAAWhAAAF0QAABhEAAAYRAAAGUQAABmEAAAbhAAAHAQAAB1EAAAgRAAAI4QAACOEAAAoBAAAMUQAADHEAAAxxAAAM0QAADNEAAA0BAAAPoQAAD8EAAASBIAAEoSAABNEgAAUBIAAFYSAABYEgAAWBIAAFoSAABdEgAAYBIAAIgSAACKEgAAjRIAAJASAACwEgAAshIAALUSAAC4EgAAvhIAAMASAADAEgAAwhIAAMUSAADIEgAA1hIAANgSAAAQEwAAEhMAABUTAAAYEwAAWhMAAIATAACPEwAAoBMAAPUTAAD4EwAA/RMAAAEUAABsFgAAbxYAAH8WAACBFgAAmhYAAKAWAADqFgAA8RYAAPgWAAAAFwAAERcAAB8XAAAxFwAAQBcAAFEXAABgFwAAbBcAAG4XAABwFwAAgBcAALMXAADXFwAA1xcAANwXAADcFwAAIBgAAHgYAACAGAAAhBgAAIcYAACoGAAAqhgAAKoYAACwGAAA9RgAAAAZAAAeGQAAUBkAAG0ZAABwGQAAdBkAAIAZAACrGQAAsBkAAMkZAAAAGgAAFhoAACAaAABUGgAApxoAAKcaAAAFGwAAMxsAAEUbAABMGwAAgxsAAKAbAACuGwAArxsAALobAADlGwAAABwAACMcAABNHAAATxwAAFocAAB9HAAAgBwAAIgcAACQHAAAuhwAAL0cAAC/HAAA6RwAAOwcAADuHAAA8xwAAPUcAAD2HAAA+hwAAPocAAAAHQAAvx0AAAAeAAAVHwAAGB8AAB0fAAAgHwAARR8AAEgfAABNHwAAUB8AAFcfAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAfR8AAIAfAAC0HwAAth8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMwfAADQHwAA0x8AANYfAADbHwAA4B8AAOwfAADyHwAA9B8AAPYfAAD8HwAAcSAAAHEgAAB/IAAAfyAAAJAgAACcIAAAAiEAAAIhAAAHIQAAByEAAAohAAATIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAALyEAADkhAAA8IQAAPyEAAEUhAABJIQAATiEAAE4hAACDIQAAhCEAAAAsAADkLAAA6ywAAO4sAADyLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAG8tAACALQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAAAvLgAALy4AAAUwAAAGMAAAMTAAADUwAAA7MAAAPDAAAEEwAACWMAAAnTAAAJ8wAAChMAAA+jAAAPwwAAD/MAAABTEAAC8xAAAxMQAAjjEAAKAxAAC/MQAA8DEAAP8xAAAANAAAv00AAABOAACMpAAA0KQAAP2kAAAApQAADKYAABCmAAAfpgAAKqYAACumAABApgAAbqYAAH+mAACdpgAAoKYAAOWmAAAXpwAAH6cAACKnAACIpwAAi6cAAMqnAADQpwAA0acAANOnAADTpwAA1acAANmnAADypwAAAagAAAOoAAAFqAAAB6gAAAqoAAAMqAAAIqgAAECoAABzqAAAgqgAALOoAADyqAAA96gAAPuoAAD7qAAA/agAAP6oAAAKqQAAJakAADCpAABGqQAAYKkAAHypAACEqQAAsqkAAM+pAADPqQAA4KkAAOSpAADmqQAA76kAAPqpAAD+qQAAAKoAACiqAABAqgAAQqoAAESqAABLqgAAYKoAAHaqAAB6qgAAeqoAAH6qAACvqgAAsaoAALGqAAC1qgAAtqoAALmqAAC9qgAAwKoAAMCqAADCqgAAwqoAANuqAADdqgAA4KoAAOqqAADyqgAA9KoAAAGrAAAGqwAACasAAA6rAAARqwAAFqsAACCrAAAmqwAAKKsAAC6rAAAwqwAAWqsAAFyrAABpqwAAcKsAAOKrAAAArAAAo9cAALDXAADG1wAAy9cAAPvXAAAA+QAAbfoAAHD6AADZ+gAAAPsAAAb7AAAT+wAAF/sAAB37AAAd+wAAH/sAACj7AAAq+wAANvsAADj7AAA8+wAAPvsAAD77AABA+wAAQfsAAEP7AABE+wAARvsAALH7AADT+wAAPf0AAFD9AACP/QAAkv0AAMf9AADw/QAA+/0AAHD+AAB0/gAAdv4AAPz+AAAh/wAAOv8AAEH/AABa/wAAZv8AAL7/AADC/wAAx/8AAMr/AADP/wAA0v8AANf/AADa/wAA3P8AAAAAAQALAAEADQABACYAAQAoAAEAOgABADwAAQA9AAEAPwABAE0AAQBQAAEAXQABAIAAAQD6AAEAgAIBAJwCAQCgAgEA0AIBAAADAQAfAwEALQMBAEADAQBCAwEASQMBAFADAQB1AwEAgAMBAJ0DAQCgAwEAwwMBAMgDAQDPAwEAAAQBAJ0EAQCwBAEA0wQBANgEAQD7BAEAAAUBACcFAQAwBQEAYwUBAHAFAQB6BQEAfAUBAIoFAQCMBQEAkgUBAJQFAQCVBQEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQAABgEANgcBAEAHAQBVBwEAYAcBAGcHAQCABwEAhQcBAIcHAQCwBwEAsgcBALoHAQAACAEABQgBAAgIAQAICAEACggBADUIAQA3CAEAOAgBADwIAQA8CAEAPwgBAFUIAQBgCAEAdggBAIAIAQCeCAEA4AgBAPIIAQD0CAEA9QgBAAAJAQAVCQEAIAkBADkJAQCACQEAtwkBAL4JAQC/CQEAAAoBAAAKAQAQCgEAEwoBABUKAQAXCgEAGQoBADUKAQBgCgEAfAoBAIAKAQCcCgEAwAoBAMcKAQDJCgEA5AoBAAALAQA1CwEAQAsBAFULAQBgCwEAcgsBAIALAQCRCwEAAAwBAEgMAQCADAEAsgwBAMAMAQDyDAEAAA0BACMNAQCADgEAqQ4BALAOAQCxDgEAAA8BABwPAQAnDwEAJw8BADAPAQBFDwEAcA8BAIEPAQCwDwEAxA8BAOAPAQD2DwEAAxABADcQAQBxEAEAchABAHUQAQB1EAEAgxABAK8QAQDQEAEA6BABAAMRAQAmEQEARBEBAEQRAQBHEQEARxEBAFARAQByEQEAdhEBAHYRAQCDEQEAshEBAMERAQDEEQEA2hEBANoRAQDcEQEA3BEBAAASAQAREgEAExIBACsSAQA/EgEAQBIBAIASAQCGEgEAiBIBAIgSAQCKEgEAjRIBAI8SAQCdEgEAnxIBAKgSAQCwEgEA3hIBAAUTAQAMEwEADxMBABATAQATEwEAKBMBACoTAQAwEwEAMhMBADMTAQA1EwEAORMBAD0TAQA9EwEAUBMBAFATAQBdEwEAYRMBAAAUAQA0FAEARxQBAEoUAQBfFAEAYRQBAIAUAQCvFAEAxBQBAMUUAQDHFAEAxxQBAIAVAQCuFQEA2BUBANsVAQAAFgEALxYBAEQWAQBEFgEAgBYBAKoWAQC4FgEAuBYBAAAXAQAaFwEAQBcBAEYXAQAAGAEAKxgBAKAYAQDfGAEA/xgBAAYZAQAJGQEACRkBAAwZAQATGQEAFRkBABYZAQAYGQEALxkBAD8ZAQA/GQEAQRkBAEEZAQCgGQEApxkBAKoZAQDQGQEA4RkBAOEZAQDjGQEA4xkBAAAaAQAAGgEACxoBADIaAQA6GgEAOhoBAFAaAQBQGgEAXBoBAIkaAQCdGgEAnRoBALAaAQD4GgEAABwBAAgcAQAKHAEALhwBAEAcAQBAHAEAchwBAI8cAQAAHQEABh0BAAgdAQAJHQEACx0BADAdAQBGHQEARh0BAGAdAQBlHQEAZx0BAGgdAQBqHQEAiR0BAJgdAQCYHQEA4B4BAPIeAQACHwEAAh8BAAQfAQAQHwEAEh8BADMfAQCwHwEAsB8BAAAgAQCZIwEAgCQBAEMlAQCQLwEA8C8BAAAwAQAvNAEAQTQBAEY0AQAARAEARkYBAABoAQA4agEAQGoBAF5qAQBwagEAvmoBANBqAQDtagEAAGsBAC9rAQBAawEAQ2sBAGNrAQB3awEAfWsBAI9rAQBAbgEAf24BAABvAQBKbwEAUG8BAFBvAQCTbwEAn28BAOBvAQDhbwEA428BAONvAQAAcAEA94cBAACIAQDVjAEAAI0BAAiNAQDwrwEA868BAPWvAQD7rwEA/a8BAP6vAQAAsAEAIrEBADKxAQAysQEAULEBAFKxAQBVsQEAVbEBAGSxAQBnsQEAcLEBAPuyAQAAvAEAarwBAHC8AQB8vAEAgLwBAIi8AQCQvAEAmbwBAADUAQBU1AEAVtQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAHtUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAFLVAQCl1gEAqNYBAMDWAQDC1gEA2tYBANzWAQD61gEA/NYBABTXAQAW1wEANNcBADbXAQBO1wEAUNcBAG7XAQBw1wEAiNcBAIrXAQCo1wEAqtcBAMLXAQDE1wEAy9cBAADfAQAe3wEAJd8BACrfAQAw4AEAbeABAADhAQAs4QEAN+EBAD3hAQBO4QEATuEBAJDiAQCt4gEAwOIBAOviAQDQ5AEA6+QBAODnAQDm5wEA6OcBAOvnAQDt5wEA7ucBAPDnAQD+5wEAAOgBAMToAQAA6QEAQ+kBAEvpAQBL6QEAAO4BAAPuAQAF7gEAH+4BACHuAQAi7gEAJO4BACTuAQAn7gEAJ+4BACnuAQAy7gEANO4BADfuAQA57gEAOe4BADvuAQA77gEAQu4BAELuAQBH7gEAR+4BAEnuAQBJ7gEAS+4BAEvuAQBN7gEAT+4BAFHuAQBS7gEAVO4BAFTuAQBX7gEAV+4BAFnuAQBZ7gEAW+4BAFvuAQBd7gEAXe4BAF/uAQBf7gEAYe4BAGLuAQBk7gEAZO4BAGfuAQBq7gEAbO4BAHLuAQB07gEAd+4BAHnuAQB87gEAfu4BAH7uAQCA7gEAie4BAIvuAQCb7gEAoe4BAKPuAQCl7gEAqe4BAKvuAQC77gEAAAACAN+mAgAApwIAObcCAEC3AgAduAIAILgCAKHOAgCwzgIA4OsCAAD4AgAd+gIAAAADAEoTAwBQEwMAryMDAO4WAADwFgAAYCEAAIIhAACFIQAAiCEAAAcwAAAHMAAAITAAACkwAAA4MAAAOjAAAOamAADvpgAAQAEBAHQBAQBBAwEAQQMBAEoDAQBKAwEA0QMBANUDAQAAJAEAbiQBACggAAAoIAAAYQAAAHoAAAC1AAAAtQAAAN8AAAD2AAAA+AAAAP8AAAABAQAAAQEAAAMBAAADAQAABQEAAAUBAAAHAQAABwEAAAkBAAAJAQAACwEAAAsBAAANAQAADQEAAA8BAAAPAQAAEQEAABEBAAATAQAAEwEAABUBAAAVAQAAFwEAABcBAAAZAQAAGQEAABsBAAAbAQAAHQEAAB0BAAAfAQAAHwEAACEBAAAhAQAAIwEAACMBAAAlAQAAJQEAACcBAAAnAQAAKQEAACkBAAArAQAAKwEAAC0BAAAtAQAALwEAAC8BAAAxAQAAMQEAADMBAAAzAQAANQEAADUBAAA3AQAAOAEAADoBAAA6AQAAPAEAADwBAAA+AQAAPgEAAEABAABAAQAAQgEAAEIBAABEAQAARAEAAEYBAABGAQAASAEAAEkBAABLAQAASwEAAE0BAABNAQAATwEAAE8BAABRAQAAUQEAAFMBAABTAQAAVQEAAFUBAABXAQAAVwEAAFkBAABZAQAAWwEAAFsBAABdAQAAXQEAAF8BAABfAQAAYQEAAGEBAABjAQAAYwEAAGUBAABlAQAAZwEAAGcBAABpAQAAaQEAAGsBAABrAQAAbQEAAG0BAABvAQAAbwEAAHEBAABxAQAAcwEAAHMBAAB1AQAAdQEAAHcBAAB3AQAAegEAAHoBAAB8AQAAfAEAAH4BAACAAQAAgwEAAIMBAACFAQAAhQEAAIgBAACIAQAAjAEAAI0BAACSAQAAkgEAAJUBAACVAQAAmQEAAJsBAACeAQAAngEAAKEBAAChAQAAowEAAKMBAAClAQAApQEAAKgBAACoAQAAqgEAAKsBAACtAQAArQEAALABAACwAQAAtAEAALQBAAC2AQAAtgEAALkBAAC6AQAAvQEAAL8BAADGAQAAxgEAAMkBAADJAQAAzAEAAMwBAADOAQAAzgEAANABAADQAQAA0gEAANIBAADUAQAA1AEAANYBAADWAQAA2AEAANgBAADaAQAA2gEAANwBAADdAQAA3wEAAN8BAADhAQAA4QEAAOMBAADjAQAA5QEAAOUBAADnAQAA5wEAAOkBAADpAQAA6wEAAOsBAADtAQAA7QEAAO8BAADwAQAA8wEAAPMBAAD1AQAA9QEAAPkBAAD5AQAA+wEAAPsBAAD9AQAA/QEAAP8BAAD/AQAAAQIAAAECAAADAgAAAwIAAAUCAAAFAgAABwIAAAcCAAAJAgAACQIAAAsCAAALAgAADQIAAA0CAAAPAgAADwIAABECAAARAgAAEwIAABMCAAAVAgAAFQIAABcCAAAXAgAAGQIAABkCAAAbAgAAGwIAAB0CAAAdAgAAHwIAAB8CAAAhAgAAIQIAACMCAAAjAgAAJQIAACUCAAAnAgAAJwIAACkCAAApAgAAKwIAACsCAAAtAgAALQIAAC8CAAAvAgAAMQIAADECAAAzAgAAOQIAADwCAAA8AgAAPwIAAEACAABCAgAAQgIAAEcCAABHAgAASQIAAEkCAABLAgAASwIAAE0CAABNAgAATwIAAJMCAACVAgAArwIAAHEDAABxAwAAcwMAAHMDAAB3AwAAdwMAAHsDAAB9AwAAkAMAAJADAACsAwAAzgMAANADAADRAwAA1QMAANcDAADZAwAA2QMAANsDAADbAwAA3QMAAN0DAADfAwAA3wMAAOEDAADhAwAA4wMAAOMDAADlAwAA5QMAAOcDAADnAwAA6QMAAOkDAADrAwAA6wMAAO0DAADtAwAA7wMAAPMDAAD1AwAA9QMAAPgDAAD4AwAA+wMAAPwDAAAwBAAAXwQAAGEEAABhBAAAYwQAAGMEAABlBAAAZQQAAGcEAABnBAAAaQQAAGkEAABrBAAAawQAAG0EAABtBAAAbwQAAG8EAABxBAAAcQQAAHMEAABzBAAAdQQAAHUEAAB3BAAAdwQAAHkEAAB5BAAAewQAAHsEAAB9BAAAfQQAAH8EAAB/BAAAgQQAAIEEAACLBAAAiwQAAI0EAACNBAAAjwQAAI8EAACRBAAAkQQAAJMEAACTBAAAlQQAAJUEAACXBAAAlwQAAJkEAACZBAAAmwQAAJsEAACdBAAAnQQAAJ8EAACfBAAAoQQAAKEEAACjBAAAowQAAKUEAAClBAAApwQAAKcEAACpBAAAqQQAAKsEAACrBAAArQQAAK0EAACvBAAArwQAALEEAACxBAAAswQAALMEAAC1BAAAtQQAALcEAAC3BAAAuQQAALkEAAC7BAAAuwQAAL0EAAC9BAAAvwQAAL8EAADCBAAAwgQAAMQEAADEBAAAxgQAAMYEAADIBAAAyAQAAMoEAADKBAAAzAQAAMwEAADOBAAAzwQAANEEAADRBAAA0wQAANMEAADVBAAA1QQAANcEAADXBAAA2QQAANkEAADbBAAA2wQAAN0EAADdBAAA3wQAAN8EAADhBAAA4QQAAOMEAADjBAAA5QQAAOUEAADnBAAA5wQAAOkEAADpBAAA6wQAAOsEAADtBAAA7QQAAO8EAADvBAAA8QQAAPEEAADzBAAA8wQAAPUEAAD1BAAA9wQAAPcEAAD5BAAA+QQAAPsEAAD7BAAA/QQAAP0EAAD/BAAA/wQAAAEFAAABBQAAAwUAAAMFAAAFBQAABQUAAAcFAAAHBQAACQUAAAkFAAALBQAACwUAAA0FAAANBQAADwUAAA8FAAARBQAAEQUAABMFAAATBQAAFQUAABUFAAAXBQAAFwUAABkFAAAZBQAAGwUAABsFAAAdBQAAHQUAAB8FAAAfBQAAIQUAACEFAAAjBQAAIwUAACUFAAAlBQAAJwUAACcFAAApBQAAKQUAACsFAAArBQAALQUAAC0FAAAvBQAALwUAAGAFAACIBQAA0BAAAPoQAAD9EAAA/xAAAPgTAAD9EwAAgBwAAIgcAAAAHQAAKx0AAGsdAAB3HQAAeR0AAJodAAABHgAAAR4AAAMeAAADHgAABR4AAAUeAAAHHgAABx4AAAkeAAAJHgAACx4AAAseAAANHgAADR4AAA8eAAAPHgAAER4AABEeAAATHgAAEx4AABUeAAAVHgAAFx4AABceAAAZHgAAGR4AABseAAAbHgAAHR4AAB0eAAAfHgAAHx4AACEeAAAhHgAAIx4AACMeAAAlHgAAJR4AACceAAAnHgAAKR4AACkeAAArHgAAKx4AAC0eAAAtHgAALx4AAC8eAAAxHgAAMR4AADMeAAAzHgAANR4AADUeAAA3HgAANx4AADkeAAA5HgAAOx4AADseAAA9HgAAPR4AAD8eAAA/HgAAQR4AAEEeAABDHgAAQx4AAEUeAABFHgAARx4AAEceAABJHgAASR4AAEseAABLHgAATR4AAE0eAABPHgAATx4AAFEeAABRHgAAUx4AAFMeAABVHgAAVR4AAFceAABXHgAAWR4AAFkeAABbHgAAWx4AAF0eAABdHgAAXx4AAF8eAABhHgAAYR4AAGMeAABjHgAAZR4AAGUeAABnHgAAZx4AAGkeAABpHgAAax4AAGseAABtHgAAbR4AAG8eAABvHgAAcR4AAHEeAABzHgAAcx4AAHUeAAB1HgAAdx4AAHceAAB5HgAAeR4AAHseAAB7HgAAfR4AAH0eAAB/HgAAfx4AAIEeAACBHgAAgx4AAIMeAACFHgAAhR4AAIceAACHHgAAiR4AAIkeAACLHgAAix4AAI0eAACNHgAAjx4AAI8eAACRHgAAkR4AAJMeAACTHgAAlR4AAJ0eAACfHgAAnx4AAKEeAAChHgAAox4AAKMeAAClHgAApR4AAKceAACnHgAAqR4AAKkeAACrHgAAqx4AAK0eAACtHgAArx4AAK8eAACxHgAAsR4AALMeAACzHgAAtR4AALUeAAC3HgAAtx4AALkeAAC5HgAAux4AALseAAC9HgAAvR4AAL8eAAC/HgAAwR4AAMEeAADDHgAAwx4AAMUeAADFHgAAxx4AAMceAADJHgAAyR4AAMseAADLHgAAzR4AAM0eAADPHgAAzx4AANEeAADRHgAA0x4AANMeAADVHgAA1R4AANceAADXHgAA2R4AANkeAADbHgAA2x4AAN0eAADdHgAA3x4AAN8eAADhHgAA4R4AAOMeAADjHgAA5R4AAOUeAADnHgAA5x4AAOkeAADpHgAA6x4AAOseAADtHgAA7R4AAO8eAADvHgAA8R4AAPEeAADzHgAA8x4AAPUeAAD1HgAA9x4AAPceAAD5HgAA+R4AAPseAAD7HgAA/R4AAP0eAAD/HgAABx8AABAfAAAVHwAAIB8AACcfAAAwHwAANx8AAEAfAABFHwAAUB8AAFcfAABgHwAAZx8AAHAfAAB9HwAAgB8AAIcfAACQHwAAlx8AAKAfAACnHwAAsB8AALQfAAC2HwAAtx8AAL4fAAC+HwAAwh8AAMQfAADGHwAAxx8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAAAKIQAACiEAAA4hAAAPIQAAEyEAABMhAAAvIQAALyEAADQhAAA0IQAAOSEAADkhAAA8IQAAPSEAAEYhAABJIQAATiEAAE4hAACEIQAAhCEAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHEsAABxLAAAcywAAHQsAAB2LAAAeywAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOQsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAm6YAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAxpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAG+nAABxpwAAeKcAAHqnAAB6pwAAfKcAAHynAAB/pwAAf6cAAIGnAACBpwAAg6cAAIOnAACFpwAAhacAAIenAACHpwAAjKcAAIynAACOpwAAjqcAAJGnAACRpwAAk6cAAJWnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAAK+nAACvpwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANOnAADTpwAA1acAANWnAADXpwAA16cAANmnAADZpwAA9qcAAPanAAD6pwAA+qcAADCrAABaqwAAYKsAAGirAABwqwAAv6sAAAD7AAAG+wAAE/sAABf7AABB/wAAWv8AACgEAQBPBAEA2AQBAPsEAQCXBQEAoQUBAKMFAQCxBQEAswUBALkFAQC7BQEAvAUBAMAMAQDyDAEAwBgBAN8YAQBgbgEAf24BABrUAQAz1AEATtQBAFTUAQBW1AEAZ9QBAILUAQCb1AEAttQBALnUAQC71AEAu9QBAL3UAQDD1AEAxdQBAM/UAQDq1AEAA9UBAB7VAQA31QEAUtUBAGvVAQCG1QEAn9UBALrVAQDT1QEA7tUBAAfWAQAi1gEAO9YBAFbWAQBv1gEAitYBAKXWAQDC1gEA2tYBANzWAQDh1gEA/NYBABTXAQAW1wEAG9cBADbXAQBO1wEAUNcBAFXXAQBw1wEAiNcBAIrXAQCP1wEAqtcBAMLXAQDE1wEAydcBAMvXAQDL1wEAAN8BAAnfAQAL3wEAHt8BACXfAQAq3wEAIukBAEPpAQAAAwAAbwMAAIMEAACJBAAAkQUAAL0FAAC/BQAAvwUAAMEFAADCBQAAxAUAAMUFAADHBQAAxwUAABAGAAAaBgAASwYAAF8GAABwBgAAcAYAANYGAADcBgAA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oB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AALgfAAC7HwAAyB8AAMsfAADYHwAA2x8AAOgfAADsHwAA+B8AAPsfAAACIQAAAiEAAAchAAAHIQAACyEAAA0hAAAQIQAAEiEAABUhAAAVIQAAGSEAAB0hAAAkIQAAJCEAACYhAAAmIQAAKCEAACghAAAqIQAALSEAADAhAAAzIQAAPiEAAD8hAABFIQAARSEAAIMhAACDIQAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAA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EwsAACgLAAAqCwAAMAsAADILAAAzCwAANQsAADkLAAA8CwAARAsAAEcLAABICwAASwsAAE0LAABVCwAAVwsAAFwLAABdCwAAXwsAAGMLAABmCwAAdwsAANocAADaHAAA8hwAAPIcAAACGAAAAxgAAAUYAAAFGAAAQKgAAHeoAABABgAAQAYAAIALAQCRCwEAmQsBAJwLAQCpCwEArwsBAFEJAABRCQAA1xwAANccAADZHAAA2RwAANwcAADdHAAA4BwAAOAcAACAEQEA3xEBAGQJAABlCQAAgQ0AAIMNAACFDQAAlg0AAJoNAACxDQAAsw0AALsNAAC9DQAAvQ0AAMANAADGDQAAyg0AAMoNAADPDQAA1A0AANYNAADWDQAA2A0AAN8NAADmDQAA7w0AAPINAAD0DQAA4REBAPQRAQBABgAAQAYAADAPAQBZDwEAZAkAAGUJAADmCQAA7wkAAACoAAAsqAAADAYAAAwGAAAbBgAAHAYAAB8GAAAfBgAAQAYAAEAGAABLBgAAVQYAAHAGAABwBgAAAAcAAA0HAAAPBwAASgcAAE0HAABPBwAAYAgAAGoIAAD4HQAA+B0AAPodAAD6HQAAABcAABUXAAAfFwAAHxcAADUXAAA2FwAANRcAADYXAABgFwAAbBcAAG4XAABwFwAAchcAAHMXAABAEAAASRAAAFAZAABtGQAAcBkAAHQZAABkCQAAZQkAADCoAAA5qAAAgBYBALkWAQDAFgEAyRYBAFEJAABSCQAAZAkAAGUJAACCCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAAL4LAADCCwAAxgsAAMgLAADKCwAAzQsAANALAADQCwAA1wsAANcLAADmCwAA+gsAANocAADaHAAA86gAAPOoAAABEwEAARMBAAMTAQADEwEAOxMBADwTAQDAHwEA8R8BAP8fAQD/HwEAUQkAAFIJAABkCQAAZQkAAAAMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPAwAAEQMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABYDAAAWgwAAF0MAABdDAAAYAwAAGMMAABmDAAAbwwAAHcMAAB/DAAA2hwAANocAADyHAAA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aB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJoeAACbHgAAnh4AAJ4eAACgHgAAoB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AAIAfAACvHwAAsh8AALQfAAC3HwAAvB8AAMIfAADEHwAAxx8AAMwfAADYHwAA2x8AAOgfAADsHwAA8h8AAPQfAAD3HwAA/B8AACYhAAAmIQAAKiEAACshAAAyIQAAMiEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAA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xB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AAIgfAACPHwAAmB8AAJ8fAACoHwAArx8AALgfAAC8HwAAyB8AAMwfAADYHwAA2x8AAOgfAADsHwAA+B8AAPwfAAAmIQAAJiEAACohAAArIQAAMiEAADIhAABgIQAAbyEAAIMhAACDIQAAtiQAAM8kAAAALAAALywAAGAsAABgLAAAYiwAAGQsAABnLAAAZywAAGksAABpLAAAaywAAGssAABtLAAAcCwAAHIsAAByLAAAdSwAAHUsAAB+LAAAgCwAAIIsAACCLAAAhCwAAIQsAACGLAAAhiwAAIgsAACILAAAiiwAAIosAACMLAAAjCwAAI4sAACOLAAAkCwAAJAsAACSLAAAkiwAAJQsAACULAAAliwAAJYsAACYLAAAmCwAAJosAACaLAAAnCwAAJwsAACeLAAAniwAAKAsAACgLAAAoiwAAKIsAACkLAAApCwAAKYsAACmLAAAqCwAAKgsAACqLAAAqiwAAKwsAACsLAAAriwAAK4sAACwLAAAsCwAALIsAACyLAAAtCwAALQsAAC2LAAAtiwAALgsAAC4LAAAuiwAALosAAC8LAAAvCwAAL4sAAC+LAAAwCwAAMAsAADCLAAAwiwAAMQsAADELAAAxiwAAMYsAADILAAAyCwAAMosAADKLAAAzCwAAMwsAADOLAAAziwAANAsAADQLAAA0iwAANIsAADULAAA1CwAANYsAADWLAAA2CwAANgsAADaLAAA2iwAANwsAADcLAAA3iwAAN4sAADgLAAA4CwAAOIsAADiLAAA6ywAAOssAADtLAAA7SwAAPIsAADyLAAAQKYAAECmAABCpgAAQqYAAESmAABEpgAARqYAAEamAABIpgAASKYAAEqmAABKpgAATKYAAEymAABOpgAATqYAAFCmAABQpgAAUqYAAFKmAABUpgAAVKYAAFamAABWpgAAWKYAAFimAABapgAAWqYAAFymAABcpgAAXqYAAF6mAABgpgAAYKYAAGKmAABipgAAZKYAAGSmAABmpgAAZqYAAGimAABopgAAaqYAAGqmAABspgAAbKYAAICmAACApgAAgqYAAIKmAACEpgAAhKYAAIamAACGpgAAiKYAAIimAACKpgAAiqYAAIymAACMpgAAjqYAAI6mAACQpgAAkKYAAJKmAACSpgAAlKYAAJSmAACWpgAAlqYAAJimAACYpgAAmqYAAJqmAAAipwAAIqcAACSnAAAkpwAAJqcAACanAAAopwAAKKcAACqnAAAqpwAALKcAACynAAAupwAALqcAADKnAAAypwAANKcAADSnAAA2pwAANqcAADinAAA4pwAAOqcAADqnAAA8pwAAPKcAAD6nAAA+pwAAQKcAAECnAABCpwAAQqcAAESnAABEpwAARqcAAEanAABIpwAASKcAAEqnAABKpwAATKcAAEynAABOpwAATqcAAFCnAABQpwAAUqcAAFKnAABUpwAAVKcAAFanAABWpwAAWKcAAFinAABapwAAWqcAAFynAABcpwAAXqcAAF6nAABgpwAAYKcAAGKnAABipwAAZKcAAGSnAABmpwAAZqcAAGinAABopwAAaqcAAGqnAABspwAAbKcAAG6nAABupwAAeacAAHmnAAB7pwAAe6cAAH2nAAB+pwAAgKcAAICnAACCpwAAgqcAAISnAACEpwAAhqcAAIanAACLpwAAi6cAAI2nAACNpwAAkKcAAJCnAACSpwAAkqcAAJanAACWpwAAmKcAAJinAACapwAAmqcAAJynAACcpwAAnqcAAJ6nAACgpwAAoKcAAKKnAACipwAApKcAAKSnAACmpwAApqcAAKinAACopwAAqqcAAK6nAACwpwAAtKcAALanAAC2pwAAuKcAALinAAC6pwAAuqcAALynAAC8pwAAvqcAAL6nAADApwAAwKcAAMKnAADCpwAAxKcAAMenAADJpwAAyacAANCnAADQpwAA1qcAANanAADYpwAA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RR4AAEUeAABHHgAARx4AAEkeAABJHgAASx4AAEseAABNHgAATR4AAE8eAABPHgAAUR4AAFEeAABTHgAAUx4AAFUeAABVHgAAVx4AAFceAABZHgAAWR4AAFseAABbHgAAXR4AAF0eAABfHgAAXx4AAGEeAABhHgAAYx4AAGMeAABlHgAAZR4AAGceAABnHgAAaR4AAGkeAABrHgAAax4AAG0eAABtHgAAbx4AAG8eAABxHgAAcR4AAHMeAABzHgAAdR4AAHUeAAB3HgAAdx4AAHkeAAB5HgAAex4AAHseAAB9HgAAfR4AAH8eAAB/HgAAgR4AAIEeAACDHgAAgx4AAIUeAACFHgAAhx4AAIceAACJHgAAiR4AAIseAACLHgAAjR4AAI0eAACPHgAAjx4AAJEeAACRHgAAkx4AAJMeAACVHgAAmx4AAKEeAAChHgAAox4AAKMeAAClHgAApR4AAKceAACnHgAAqR4AAKkeAACrHgAAqx4AAK0eAACtHgAArx4AAK8eAACxHgAAsR4AALMeAACzHgAAtR4AALUeAAC3HgAAtx4AALkeAAC5HgAAux4AALseAAC9HgAAvR4AAL8eAAC/HgAAwR4AAMEeAADDHgAAwx4AAMUeAADFHgAAxx4AAMceAADJHgAAyR4AAMseAADLHgAAzR4AAM0eAADPHgAAzx4AANEeAADRHgAA0x4AANMeAADVHgAA1R4AANceAADXHgAA2R4AANkeAADbHgAA2x4AAN0eAADdHgAA3x4AAN8eAADhHgAA4R4AAOMeAADjHgAA5R4AAOUeAADnHgAA5x4AAOkeAADpHgAA6x4AAOseAADtHgAA7R4AAO8eAADvHgAA8R4AAPEeAADzHgAA8x4AAPUeAAD1HgAA9x4AAPceAAD5HgAA+R4AAPseAAD7HgAA/R4AAP0eAAD/HgAABx8AABAfAAAVHwAAIB8AACcfAAAwHwAANx8AAEAfAABFHwAAUB8AAFcfAABgHwAAZx8AAHAfAAB9HwAAgB8AAIcfAACQHwAAlx8AAKAfAACnHwAAsB8AALQfAAC2HwAAtx8AAL4fAAC+HwAAwh8AAMQfAADGHwAAxx8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHMsAABzLAAAdiwAAHYsAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADjLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAL6cAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAA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rx4AAK8eAACxHgAAsR4AALMeAACzHgAAtR4AALUeAAC3HgAAtx4AALkeAAC5HgAAux4AALseAAC9HgAAvR4AAL8eAAC/HgAAwR4AAMEeAADDHgAAwx4AAMUeAADFHgAAxx4AAMceAADJHgAAyR4AAMseAADLHgAAzR4AAM0eAADPHgAAzx4AANEeAADRHgAA0x4AANMeAADVHgAA1R4AANceAADXHgAA2R4AANkeAADbHgAA2x4AAN0eAADdHgAA3x4AAN8eAADhHgAA4R4AAOMeAADjHgAA5R4AAOUeAADnHgAA5x4AAOkeAADpHgAA6x4AAOseAADtHgAA7R4AAO8eAADvHgAA8R4AAPEeAADzHgAA8x4AAPUeAAD1HgAA9x4AAPceAAD5HgAA+R4AAPseAAD7HgAA/R4AAP0eAAD/HgAABx8AABAfAAAVHwAAIB8AACcfAAAwHwAANx8AAEAfAABFHwAAUB8AAFcfAABgHwAAZx8AAHAfAAB9HwAAgB8AALQfAAC2HwAAtx8AALwfAAC8HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAAzB8AAMwfAADQHwAA0x8AANYfAADXHwAA4B8AAOcfAADyHwAA9B8AAPYfAAD3HwAA/B8AAPwfAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHMsAABzLAAAdiwAAHYsAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADjLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAL6cAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAAO6cAADunAAA9pwAAPacAAD+nAAA/pwAAQacAAEGnAABDpwAAQ6cAAEWnAABFpwAAR6cAAEenAABJpwAASacAAEunAABLpwAATacAAE2nAABPpwAAT6cAAFGnAABRpwAAU6cAAFOnAABVpwAAVacAAFenAABXpwAAWacAAFmnAABbpwAAW6cAAF2nAABdpwAAX6cAAF+nAABhpwAAYacAAGOnAABjpwAAZacAAGWnAABnpwAAZ6cAAGmnAABppwAAa6cAAGunAABtpwAAbacAAG+nAABvpwAAeqcAAHqnAAB8pwAAfKcAAH+nAAB/pwAAgacAAIGnAACDpwAAg6cAAIWnAACFpwAAh6cAAIenAACMpwAAjKcAAJGnAACRpwAAk6cAAJSnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAALWnAAC1pwAAt6cAALenAAC5pwAAuacAALunAAC7pwAAvacAAL2nAAC/pwAAv6cAAMGnAADBpwAAw6cAAMOnAADIpwAAyKcAAMqnAADKpwAA0acAANGnAADXpwAA16cAANmnAADZpwAA9qcAAPanAABTqwAAU6sAAHCrAAC/qwAAAPsAAAb7AAAT+wAAF/sAAEH/AABa/wAAKAQBAE8EAQDYBAEA+wQBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAwAwBAPIMAQDAGAEA3xgBAGBuAQB/bgEAIukBAEPpAQAtAAAALQAAAIoFAACKBQAAvgUAAL4FAAAAFAAAABQAAAYYAAAGGAAAECAAABUgAABTIAAAUyAAAHsgAAB7IAAAiyAAAIsgAAASIgAAEiIAABcuAAAXLgAAGi4AABouAAA6LgAAOy4AAEAuAABALgAAXS4AAF0uAAAcMAAAHDAAADAwAAAwMAAAoDAAAKAwAAAx/gAAMv4AAFj+AABY/gAAY/4AAGP+AAAN/wAADf8AAK0OAQCtDgEArQAAAK0AAABPAwAATwMAABwGAAAcBgAAXxEAAGARAAC0FwAAtRcAAAsYAAAPGAAACyAAAA8gAAAqIAAALiAAAGAgAABvIAAAZDEAAGQxAAAA/gAAD/4AAP/+AAD//gAAoP8AAKD/AADw/wAA+P8AAKC8AQCjvAEAc9EBAHrRAQAAAA4A/w8OAEkBAABJAQAAcwYAAHMGAAB3DwAAdw8AAHkPAAB5DwAAoxcAAKQXAABqIAAAbyAAACkjAAAqIwAAAQAOAAEADgBeAAAAXgAAAGAAAABgAAAAqAAAAKgAAACvAAAArwAAALQAAAC0AAAAtwAAALgAAACwAgAATgMAAFADAABXAwAAXQMAAGIDAAB0AwAAdQMAAHoDAAB6AwAAhAMAAIUDAACDBAAAhwQAAFkFAABZBQAAkQUAAKEFAACjBQAAvQUAAL8FAAC/BQAAwQUAAMIFAADEBQAAxAUAAEsGAABSBgAAVwYAAFgGAADfBgAA4AYAAOUGAADmBgAA6gYAAOwGAAAwBwAASgcAAKYHAACwBwAA6wcAAPUHAAAYCAAAGQgAAJgIAACfCAAAyQgAANIIAADjCAAA/ggAADwJAAA8CQAATQkAAE0JAABRCQAAVAkAAHEJAABxCQAAvAkAALwJAADNCQAAzQkAADwKAAA8CgAATQoAAE0KAAC8CgAAvAoAAM0KAADNCgAA/QoAAP8KAAA8CwAAPAsAAE0LAABNCwAAVQsAAFULAADNCwAAzQsAADwMAAA8DAAATQwAAE0MAAC8DAAAvAwAAM0MAADNDAAAOw0AADwNAABNDQAATQ0AAMoNAADKDQAARw4AAEwOAABODgAATg4AALoOAAC6DgAAyA4AAMwOAAAYDwAAGQ8AADUPAAA1DwAANw8AADcPAAA5DwAAOQ8AAD4PAAA/DwAAgg8AAIQPAACGDwAAhw8AAMYPAADGDwAANxAAADcQAAA5EAAAOhAAAGMQAABkEAAAaRAAAG0QAACHEAAAjRAAAI8QAACPEAAAmhAAAJsQAABdEwAAXxMAABQXAAAVFwAAyRcAANMXAADdFwAA3RcAADkZAAA7GQAAdRoAAHwaAAB/GgAAfxoAALAaAAC+GgAAwRoAAMsaAAA0GwAANBsAAEQbAABEGwAAaxsAAHMbAACqGwAAqxsAADYcAAA3HAAAeBwAAH0cAADQHAAA6BwAAO0cAADtHAAA9BwAAPQcAAD3HAAA+RwAACwdAABqHQAAxB0AAM8dAAD1HQAA/x0AAL0fAAC9HwAAvx8AAMEfAADNHwAAzx8AAN0fAADfHwAA7R8AAO8fAAD9HwAA/h8AAO8sAADxLAAALy4AAC8uAAAqMAAALzAAAJkwAACcMAAA/DAAAPwwAABvpgAAb6YAAHymAAB9pgAAf6YAAH+mAACcpgAAnaYAAPCmAADxpgAAAKcAACGnAACIpwAAiqcAAPinAAD5pwAAxKgAAMSoAADgqAAA8agAACupAAAuqQAAU6kAAFOpAACzqQAAs6kAAMCpAADAqQAA5akAAOWpAAB7qgAAfaoAAL+qAADCqgAA9qoAAPaqAABbqwAAX6sAAGmrAABrqwAA7KsAAO2rAAAe+wAAHvsAACD+AAAv/gAAPv8AAD7/AABA/wAAQP8AAHD/AABw/wAAnv8AAJ//AADj/wAA4/8AAOACAQDgAgEAgAcBAIUHAQCHBwEAsAcBALIHAQC6BwEA5QoBAOYKAQAiDQEAJw0BAP0OAQD/DgEARg8BAFAPAQCCDwEAhQ8BAEYQAQBGEAEAcBABAHAQAQC5EAEAuhABADMRAQA0EQEAcxEBAHMRAQDAEQEAwBEBAMoRAQDMEQEANRIBADYSAQDpEgEA6hIBADwTAQA8EwEATRMBAE0TAQBmEwEAbBMBAHATAQB0EwEAQhQBAEIUAQBGFAEARhQBAMIUAQDDFAEAvxUBAMAVAQA/FgEAPxYBALYWAQC3FgEAKxcBACsXAQA5GAEAOhgBAD0ZAQA+GQEAQxkBAEMZAQDgGQEA4BkBADQaAQA0GgEARxoBAEcaAQCZGgEAmRoBAD8cAQA/HAEAQh0BAEIdAQBEHQEARR0BAJcdAQCXHQEARzQBAFU0AQDwagEA9GoBADBrAQA2awEAj28BAJ9vAQDwbwEA8W8BAPCvAQDzrwEA9a8BAPuvAQD9rwEA/q8BAADPAQAtzwEAMM8BAEbPAQBn0QEAadEBAG3RAQBy0QEAe9EBAILRAQCF0QEAi9EBAKrRAQCt0QEAMOABAG3gAQAw4QEANuEBAK7iAQCu4gEA7OIBAO/iAQDQ6AEA1ugBAETpAQBG6QEASOkBAErpAQAjAAAAIwAAACoAAAAqAAAAMAAAADkAAACpAAAAqQAAAK4AAACuAAAAPCAAADwgAABJIAAASSAAACIhAAAiIQAAOSEAADkhAACUIQAAmSEAAKkhAACqIQAAGiMAABsjAAAoIwAAKCMAAM8jAADPIwAA6SMAAPMjAAD4IwAA+iMAAMIkAADCJAAAqiUAAKslAAC2JQAAtiUAAMAlAADAJQAA+yUAAP4lAAAAJgAABCYAAA4mAAAOJgAAESYAABEmAAAUJgAAFSYAABgmAAAYJgAAHSYAAB0mAAAgJgAAICYAACImAAAjJgAAJiYAACYmAAAqJgAAKiYAAC4mAAAvJgAAOCYAADomAABAJgAAQCYAAEImAABCJgAASCYAAFMmAABfJgAAYCYAAGMmAABjJgAAZSYAAGYmAABoJgAAaCYAAHsmAAB7JgAAfiYAAH8mAACSJgAAlyYAAJkmAACZJgAAmyYAAJwmAACgJgAAoSYAAKcmAACnJgAAqiYAAKsmAACwJgAAsSYAAL0mAAC+JgAAxCYAAMUmAADIJgAAyCYAAM4mAADPJgAA0SYAANEmAADTJgAA1CYAAOkmAADqJgAA8CYAAPUmAAD3JgAA+iYAAP0mAAD9JgAAAicAAAInAAAFJwAABScAAAgnAAANJwAADycAAA8nAAASJwAAEicAABQnAAAUJwAAFicAABYnAAAdJwAAHScAACEnAAAhJwAAKCcAACgnAAAzJwAANCcAAEQnAABEJwAARycAAEcnAABMJwAATCcAAE4nAABOJwAAUycAAFUnAABXJwAAVycAAGMnAABkJwAAlScAAJcnAAChJwAAoScAALAnAACwJwAAvycAAL8nAAA0KQAANSkAAAUrAAAHKwAAGysAABwrAABQKwAAUCsAAFUrAABVKwAAMDAAADAwAAA9MAAAPTAAAJcyAACXMgAAmTIAAJkyAAAE8AEABPABAM/wAQDP8AEAcPEBAHHxAQB+8QEAf/EBAI7xAQCO8QEAkfEBAJrxAQDm8QEA//EBAAHyAQAC8gEAGvIBABryAQAv8gEAL/IBADLyAQA68gEAUPIBAFHyAQAA8wEAIfMBACTzAQCT8wEAlvMBAJfzAQCZ8wEAm/MBAJ7zAQDw8wEA8/MBAPXzAQD38wEA/fQBAP/0AQA99QEASfUBAE71AQBQ9QEAZ/UBAG/1AQBw9QEAc/UBAHr1AQCH9QEAh/UBAIr1AQCN9QEAkPUBAJD1AQCV9QEAlvUBAKT1AQCl9QEAqPUBAKj1AQCx9QEAsvUBALz1AQC89QEAwvUBAMT1AQDR9QEA0/UBANz1AQDe9QEA4fUBAOH1AQDj9QEA4/UBAOj1AQDo9QEA7/UBAO/1AQDz9QEA8/UBAPr1AQBP9gEAgPYBAMX2AQDL9gEA0vYBANX2AQDX9gEA3PYBAOX2AQDp9gEA6fYBAOv2AQDs9gEA8PYBAPD2AQDz9gEA/PYBAOD3AQDr9wEA8PcBAPD3AQAM+QEAOvkBADz5AQBF+QEAR/kBAP/5AQBw+gEAfPoBAID6AQCI+gEAkPoBAL36AQC/+gEAxfoBAM76AQDb+gEA4PoBAOj6AQDw+gEA+PoBACMAAAAjAAAAKgAAACoAAAAwAAAAOQAAAA0gAAANIAAA4yAAAOMgAAAP/gAAD/4AAObxAQD/8QEA+/MBAP/zAQCw+QEAs/kBACAADgB/AA4A+/MBAP/zAQAdJgAAHSYAAPkmAAD5JgAACicAAA0nAACF8wEAhfMBAMLzAQDE8wEAx/MBAMfzAQDK8wEAzPMBAEL0AQBD9AEARvQBAFD0AQBm9AEAePQBAHz0AQB89AEAgfQBAIP0AQCF9AEAh/QBAI/0AQCP9AEAkfQBAJH0AQCq9AEAqvQBAHT1AQB19QEAevUBAHr1AQCQ9QEAkPUBAJX1AQCW9QEARfYBAEf2AQBL9gEAT/YBAKP2AQCj9gEAtPYBALb2AQDA9gEAwPYBAMz2AQDM9gEADPkBAAz5AQAP+QEAD/kBABj5AQAf+QEAJvkBACb5AQAw+QEAOfkBADz5AQA++QEAd/kBAHf5AQC1+QEAtvkBALj5AQC5+QEAu/kBALv5AQDN+QEAz/kBANH5AQDd+QEAw/oBAMX6AQDw+gEA+PoBABojAAAbIwAA6SMAAOwjAADwIwAA8CMAAPMjAADzIwAA/SUAAP4lAAAUJgAAFSYAAEgmAABTJgAAfyYAAH8mAACTJgAAkyYAAKEmAAChJgAAqiYAAKsmAAC9JgAAviYAAMQmAADFJgAAziYAAM4mAADUJgAA1CYAAOomAADqJgAA8iYAAPMmAAD1JgAA9SYAAPomAAD6JgAA/SYAAP0mAAAFJwAABScAAAonAAALJwAAKCcAACgnAABMJwAATCcAAE4nAABOJwAAUycAAFUnAABXJwAAVycAAJUnAACXJwAAsCcAALAnAAC/JwAAvycAABsrAAAcKwAAUCsAAFArAABVKwAAVSsAAATwAQAE8AEAz/ABAM/wAQCO8QEAjvEBAJHxAQCa8QEA5vEBAP/xAQAB8gEAAfIBABryAQAa8gEAL/IBAC/yAQAy8gEANvIBADjyAQA68gEAUPIBAFHyAQAA8wEAIPMBAC3zAQA18wEAN/MBAHzzAQB+8wEAk/MBAKDzAQDK8wEAz/MBANPzAQDg8wEA8PMBAPTzAQD08wEA+PMBAD70AQBA9AEAQPQBAEL0AQD89AEA//QBAD31AQBL9QEATvUBAFD1AQBn9QEAevUBAHr1AQCV9QEAlvUBAKT1AQCk9QEA+/UBAE/2AQCA9gEAxfYBAMz2AQDM9gEA0PYBANL2AQDV9gEA1/YBANz2AQDf9gEA6/YBAOz2AQD09gEA/PYBAOD3AQDr9wEA8PcBAPD3AQAM+QEAOvkBADz5AQBF+QEAR/kBAP/5AQBw+gEAfPoBAID6AQCI+gEAkPoBAL36AQC/+gEAxfoBAM76AQDb+gEA4PoBAOj6AQDw+gEA+PoBAKkAAACpAAAArgAAAK4AAAA8IAAAPCAAAEkgAABJIAAAIiEAACIhAAA5IQAAOSEAAJQhAACZIQAAqSEAAKohAAAaIwAAGyMAACgjAAAoIwAAiCMAAIgjAADPIwAAzyMAAOkjAADzIwAA+CMAAPojAADCJAAAwiQAAKolAACrJQAAtiUAALYlAADAJQAAwCUAAPslAAD+JQAAACYAAAUmAAAHJgAAEiYAABQmAACFJgAAkCYAAAUnAAAIJwAAEicAABQnAAAUJwAAFicAABYnAAAdJwAAHScAACEnAAAhJwAAKCcAACgnAAAzJwAANCcAAEQnAABEJwAARycAAEcnAABMJwAATCcAAE4nAABOJwAAUycAAFUnAABXJwAAVycAAGMnAABnJwAAlScAAJcnAAChJwAAoScAALAnAACwJwAAvycAAL8nAAA0KQAANSkAAAUrAAAHKwAAGysAABwrAABQKwAAUCsAAFUrAABVKwAAMDAAADAwAAA9MAAAPTAAAJcyAACXMgAAmTIAAJkyAAAA8AEA//ABAA3xAQAP8QEAL/EBAC/xAQBs8QEAcfEBAH7xAQB/8QEAjvEBAI7xAQCR8QEAmvEBAK3xAQDl8QEAAfIBAA/yAQAa8gEAGvIBAC/yAQAv8gEAMvIBADryAQA88gEAP/IBAEnyAQD68wEAAPQBAD31AQBG9QEAT/YBAID2AQD/9gEAdPcBAH/3AQDV9wEA//cBAAz4AQAP+AEASPgBAE/4AQBa+AEAX/gBAIj4AQCP+AEArvgBAP/4AQAM+QEAOvkBADz5AQBF+QEAR/kBAP/6AQAA/AEA/f8BALcAAAC3AAAA0AIAANECAABABgAAQAYAAPoHAAD6BwAAVQsAAFULAABGDgAARg4AAMYOAADGDgAAChgAAAoYAABDGAAAQxgAAKcaAACnGgAANhwAADYcAAB7HAAAexwAAAUwAAAFMAAAMTAAADUwAACdMAAAnjAAAPwwAAD+MAAAFaAAABWgAAAMpgAADKYAAM+pAADPqQAA5qkAAOapAABwqgAAcKoAAN2qAADdqgAA86oAAPSqAABw/wAAcP8AAIEHAQCCBwEAXRMBAF0TAQDGFQEAyBUBAJgaAQCYGgEAQmsBAENrAQDgbwEA4W8BAONvAQDjbwEAPOEBAD3hAQBE6QEARukBACAAAAB+AAAAoAAAAKwAAACuAAAA/wIAAHADAAB3AwAAegMAAH8DAACEAwAAigMAAIwDAACMAwAAjgMAAKEDAACjAwAAggQAAIoEAAAvBQAAMQUAAFYFAABZBQAAigUAAI0FAACPBQAAvgUAAL4FAADABQAAwAUAAMMFAADDBQAAxgUAAMYFAADQBQAA6gUAAO8FAAD0BQAABgYAAA8GAAAbBgAAGwYAAB0GAABKBgAAYAYAAG8GAABxBgAA1QYAAN4GAADeBgAA5QYAAOYGAADpBgAA6QYAAO4GAAANBwAAEAcAABAHAAASBwAALwcAAE0HAAClBwAAsQcAALEHAADABwAA6gcAAPQHAAD6BwAA/gcAABUIAAAaCAAAGggAACQIAAAkCAAAKAgAACgIAAAwCAAAPggAAEAIAABYCAAAXggAAF4IAABgCAAAaggAAHAIAACOCAAAoAgAAMkIAAADCQAAOQkAADsJAAA7CQAAPQkAAEAJAABJCQAATAkAAE4JAABQCQAAWAkAAGEJAABkCQAAgAkAAIIJAACDCQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvQkAAL0JAAC/CQAAwAkAAMcJAADICQAAywkAAMwJAADOCQAAzgkAANwJAADdCQAA3wkAAOEJAADmCQAA/QkAAAMKAAADCgAABQoAAAoKAAAPCgAAEAoAABMKAAAoCgAAKgoAADAKAAAyCgAAMwoAADUKAAA2CgAAOAoAADkKAAA+CgAAQAoAAFkKAABcCgAAXgoAAF4KAABmCgAAbwoAAHIKAAB0CgAAdgoAAHYKAACDCgAAgwoAAIUKAACNCgAAjwoAAJEKAACTCgAAqAoAAKoKAACwCgAAsgoAALMKAAC1CgAAuQoAAL0KAADACgAAyQoAAMkKAADLCgAAzAoAANAKAADQCgAA4AoAAOEKAADmCgAA8QoAAPkKAAD5CgAAAgsAAAMLAAAFCwAADAsAAA8LAAAQCwAAEwsAACgLAAAqCwAAMAsAADILAAAzCwAANQsAADkLAAA9CwAAPQsAAEALAABACwAARwsAAEgLAABLCwAATAsAAFwLAABdCwAAXwsAAGELAABmCwAAdwsAAIMLAACDCwAAhQsAAIoLAACOCwAAkAsAAJILAACVCwAAmQsAAJoLAACcCwAAnAsAAJ4LAACfCwAAowsAAKQLAACoCwAAqgsAAK4LAAC5CwAAvwsAAL8LAADBCwAAwgsAAMYLAADICwAAygsAAMwLAADQCwAA0AsAAOYLAAD6CwAAAQwAAAMMAAAFDAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAAD0MAAA9DAAAQQwAAEQMAABYDAAAWgwAAF0MAABdDAAAYAwAAGEMAABmDAAAbwwAAHcMAACADAAAggwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAAL0MAAC+DAAAwAwAAMEMAADDDAAAxAwAAMcMAADIDAAAygwAAMsMAADdDAAA3gwAAOAMAADhDAAA5gwAAO8MAADxDAAA8wwAAAINAAAMDQAADg0AABANAAASDQAAOg0AAD0NAAA9DQAAPw0AAEANAABGDQAASA0AAEoNAABMDQAATg0AAE8NAABUDQAAVg0AAFgNAABhDQAAZg0AAH8NAACCDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADQDQAA0Q0AANgNAADeDQAA5g0AAO8NAADyDQAA9A0AAAEOAAAwDgAAMg4AADMOAAA/DgAARg4AAE8OAABbDgAAgQ4AAIIOAACEDgAAhA4AAIYOAACKDgAAjA4AAKMOAAClDgAApQ4AAKcOAACwDgAAsg4AALMOAAC9DgAAvQ4AAMAOAADEDgAAxg4AAMYOAADQDgAA2Q4AANwOAADfDgAAAA8AABcPAAAaDwAANA8AADYPAAA2DwAAOA8AADgPAAA6DwAARw8AAEkPAABsDwAAfw8AAH8PAACFDwAAhQ8AAIgPAACMDwAAvg8AAMUPAADHDwAAzA8AAM4PAADaDwAAABAAACwQAAAxEAAAMRAAADgQAAA4EAAAOxAAADwQAAA/EAAAVxAAAFoQAABdEAAAYRAAAHAQAAB1EAAAgRAAAIMQAACEEAAAhxAAAIwQAACOEAAAnBAAAJ4QAADFEAAAxxAAAMcQAADNEAAAzRAAANAQAABIEgAAShIAAE0SAABQEgAAVhIAAFgSAABYEgAAWhIAAF0SAABgEgAAiBIAAIoSAACNEgAAkBIAALASAACyEgAAtRIAALgSAAC+EgAAwBIAAMASAADCEgAAxRIAAMgSAADWEgAA2BIAABATAAASEwAAFRMAABgTAABaEwAAYBMAAHwTAACAEwAAmRMAAKATAAD1EwAA+BMAAP0TAAAAFAAAnBYAAKAWAAD4FgAAABcAABEXAAAVFwAAFRcAAB8XAAAxFwAANBcAADYXAABAFwAAURcAAGAXAABsFwAAbhcAAHAXAACAFwAAsxcAALYXAAC2FwAAvhcAAMUXAADHFwAAyBcAANQXAADcFwAA4BcAAOkXAADwFwAA+RcAAAAYAAAKGAAAEBgAABkYAAAgGAAAeBgAAIAYAACEGAAAhxgAAKgYAACqGAAAqhgAALAYAAD1GAAAABkAAB4ZAAAjGQAAJhkAACkZAAArGQAAMBkAADEZAAAzGQAAOBkAAEAZAABAGQAARBkAAG0ZAABwGQAAdBkAAIAZAACrGQAAsBkAAMkZAADQGQAA2hkAAN4ZAAAWGgAAGRoAABoaAAAeGgAAVRoAAFcaAABXGgAAYRoAAGEaAABjGgAAZBoAAG0aAAByGgAAgBoAAIkaAACQGgAAmRoAAKAaAACtGgAABBsAADMbAAA7GwAAOxsAAD0bAABBGwAAQxsAAEwbAABQGwAAahsAAHQbAAB+GwAAghsAAKEbAACmGwAApxsAAKobAACqGwAArhsAAOUbAADnGwAA5xsAAOobAADsGwAA7hsAAO4bAADyGwAA8xsAAPwbAAArHAAANBwAADUcAAA7HAAASRwAAE0cAACIHAAAkBwAALocAAC9HAAAxxwAANMcAADTHAAA4RwAAOEcAADpHAAA7BwAAO4cAADzHAAA9RwAAPccAAD6HAAA+hwAAAAdAAC/HQAAAB4AABUfAAAYHwAAHR8AACAfAABFHwAASB8AAE0fAABQHwAAVx8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAxB8AAMYfAADTHwAA1h8AANsfAADdHwAA7x8AAPIfAAD0HwAA9h8AAP4fAAAAIAAACiAAABAgAAAnIAAALyAAAF8gAABwIAAAcSAAAHQgAACOIAAAkCAAAJwgAACgIAAAwCAAAAAhAACLIQAAkCEAACYkAABAJAAASiQAAGAkAABzKwAAdisAAJUrAACXKwAA7iwAAPIsAADzLAAA+SwAACUtAAAnLQAAJy0AAC0tAAAtLQAAMC0AAGctAABvLQAAcC0AAIAtAACWLQAAoC0AAKYtAACoLQAAri0AALAtAAC2LQAAuC0AAL4tAADALQAAxi0AAMgtAADOLQAA0C0AANYtAADYLQAA3i0AAAAuAABdLgAAgC4AAJkuAACbLgAA8y4AAAAvAADVLwAA8C8AAPsvAAAAMAAAKTAAADAwAAA/MAAAQTAAAJYwAACbMAAA/zAAAAUxAAAvMQAAMTEAAI4xAACQMQAA4zEAAPAxAAAeMgAAIDIAAIykAACQpAAAxqQAANCkAAArpgAAQKYAAG6mAABzpgAAc6YAAH6mAACdpgAAoKYAAO+mAADypgAA96YAAACnAADKpwAA0KcAANGnAADTpwAA06cAANWnAADZpwAA8qcAAAGoAAADqAAABagAAAeoAAAKqAAADKgAACSoAAAnqAAAK6gAADCoAAA5qAAAQKgAAHeoAACAqAAAw6gAAM6oAADZqAAA8qgAAP6oAAAAqQAAJakAAC6pAABGqQAAUqkAAFOpAABfqQAAfKkAAIOpAACyqQAAtKkAALWpAAC6qQAAu6kAAL6pAADNqQAAz6kAANmpAADeqQAA5KkAAOapAAD+qQAAAKoAACiqAAAvqgAAMKoAADOqAAA0qgAAQKoAAEKqAABEqgAAS6oAAE2qAABNqgAAUKoAAFmqAABcqgAAe6oAAH2qAACvqgAAsaoAALGqAAC1qgAAtqoAALmqAAC9qgAAwKoAAMCqAADCqgAAwqoAANuqAADrqgAA7qoAAPWqAAABqwAABqsAAAmrAAAOqwAAEasAABarAAAgqwAAJqsAACirAAAuqwAAMKsAAGurAABwqwAA5KsAAOarAADnqwAA6asAAOyrAADwqwAA+asAAACsAACj1wAAsNcAAMbXAADL1wAA+9cAAAD5AABt+gAAcPoAANn6AAAA+wAABvsAABP7AAAX+wAAHfsAAB37AAAf+wAANvsAADj7AAA8+wAAPvsAAD77AABA+wAAQfsAAEP7AABE+wAARvsAAML7AADT+wAAj/0AAJL9AADH/QAAz/0AAM/9AADw/QAA//0AABD+AAAZ/gAAMP4AAFL+AABU/gAAZv4AAGj+AABr/gAAcP4AAHT+AAB2/gAA/P4AAAH/AACd/wAAoP8AAL7/AADC/wAAx/8AAMr/AADP/wAA0v8AANf/AADa/wAA3P8AAOD/AADm/wAA6P8AAO7/AAD8/wAA/f8AAAAAAQALAAEADQABACYAAQAoAAEAOgABADwAAQA9AAEAPwABAE0AAQBQAAEAXQABAIAAAQD6AAEAAAEBAAIBAQAHAQEAMwEBADcBAQCOAQEAkAEBAJwBAQCgAQEAoAEBANABAQD8AQEAgAIBAJwCAQCgAgEA0AIBAOECAQD7AgEAAAMBACMDAQAtAwEASgMBAFADAQB1AwEAgAMBAJ0DAQCfAwEAwwMBAMgDAQDVAwEAAAQBAJ0EAQCgBAEAqQQBALAEAQDTBAEA2AQBAPsEAQAABQEAJwUBADAFAQBjBQEAbwUBAHoFAQB8BQEAigUBAIwFAQCSBQEAlAUBAJUFAQCXBQEAoQUBAKMFAQCxBQEAswUBALkFAQC7BQEAvAUBAAAGAQA2BwEAQAcBAFUHAQBgBwEAZwcBAIAHAQCFBwEAhwcBALAHAQCyBwEAugcBAAAIAQAFCAEACAgBAAgIAQAKCAEANQgBADcIAQA4CAEAPAgBADwIAQA/CAEAVQgBAFcIAQCeCAEApwgBAK8IAQDgCAEA8ggBAPQIAQD1CAEA+wgBABsJAQAfCQEAOQkBAD8JAQA/CQEAgAkBALcJAQC8CQEAzwkBANIJAQAACgEAEAoBABMKAQAVCgEAFwoBABkKAQA1CgEAQAoBAEgKAQBQCgEAWAoBAGAKAQCfCgEAwAoBAOQKAQDrCgEA9goBAAALAQA1CwEAOQsBAFULAQBYCwEAcgsBAHgLAQCRCwEAmQsBAJwLAQCpCwEArwsBAAAMAQBIDAEAgAwBALIMAQDADAEA8gwBAPoMAQAjDQEAMA0BADkNAQBgDgEAfg4BAIAOAQCpDgEArQ4BAK0OAQCwDgEAsQ4BAAAPAQAnDwEAMA8BAEUPAQBRDwEAWQ8BAHAPAQCBDwEAhg8BAIkPAQCwDwEAyw8BAOAPAQD2DwEAABABAAAQAQACEAEANxABAEcQAQBNEAEAUhABAG8QAQBxEAEAchABAHUQAQB1EAEAghABALIQAQC3EAEAuBABALsQAQC8EAEAvhABAMEQAQDQEAEA6BABAPAQAQD5EAEAAxEBACYRAQAsEQEALBEBADYRAQBHEQEAUBEBAHIRAQB0EQEAdhEBAIIRAQC1EQEAvxEBAMgRAQDNEQEAzhEBANARAQDfEQEA4REBAPQRAQAAEgEAERIBABMSAQAuEgEAMhIBADMSAQA1EgEANRIBADgSAQA9EgEAPxIBAEASAQCAEgEAhhIBAIgSAQCIEgEAihIBAI0SAQCPEgEAnRIBAJ8SAQCpEgEAsBIBAN4SAQDgEgEA4hIBAPASAQD5EgEAAhMBAAMTAQAFEwEADBMBAA8TAQAQEwEAExMBACgTAQAqEwEAMBMBADITAQAzEwEANRMBADkTAQA9EwEAPRMBAD8TAQA/EwEAQRMBAEQTAQBHEwEASBMBAEsTAQBNEwEAUBMBAFATAQBdEwEAYxMBAAAUAQA3FAEAQBQBAEEUAQBFFAEARRQBAEcUAQBbFAEAXRQBAF0UAQBfFAEAYRQBAIAUAQCvFAEAsRQBALIUAQC5FAEAuRQBALsUAQC8FAEAvhQBAL4UAQDBFAEAwRQBAMQUAQDHFAEA0BQBANkUAQCAFQEArhUBALAVAQCxFQEAuBUBALsVAQC+FQEAvhUBAMEVAQDbFQEAABYBADIWAQA7FgEAPBYBAD4WAQA+FgEAQRYBAEQWAQBQFgEAWRYBAGAWAQBsFgEAgBYBAKoWAQCsFgEArBYBAK4WAQCvFgEAthYBALYWAQC4FgEAuRYBAMAWAQDJFgEAABcBABoXAQAgFwEAIRcBACYXAQAmFwEAMBcBAEYXAQAAGAEALhgBADgYAQA4GAEAOxgBADsYAQCgGAEA8hgBAP8YAQAGGQEACRkBAAkZAQAMGQEAExkBABUZAQAWGQEAGBkBAC8ZAQAxGQEANRkBADcZAQA4GQEAPRkBAD0ZAQA/GQEAQhkBAEQZAQBGGQEAUBkBAFkZAQCgGQEApxkBAKoZAQDTGQEA3BkBAN8ZAQDhGQEA5BkBAAAaAQAAGgEACxoBADIaAQA5GgEAOhoBAD8aAQBGGgEAUBoBAFAaAQBXGgEAWBoBAFwaAQCJGgEAlxoBAJcaAQCaGgEAohoBALAaAQD4GgEAABsBAAkbAQAAHAEACBwBAAocAQAvHAEAPhwBAD4cAQBAHAEARRwBAFAcAQBsHAEAcBwBAI8cAQCpHAEAqRwBALEcAQCxHAEAtBwBALQcAQAAHQEABh0BAAgdAQAJHQEACx0BADAdAQBGHQEARh0BAFAdAQBZHQEAYB0BAGUdAQBnHQEAaB0BAGodAQCOHQEAkx0BAJQdAQCWHQEAlh0BAJgdAQCYHQEAoB0BAKkdAQDgHgEA8h4BAPUeAQD4HgEAAh8BABAfAQASHwEANR8BAD4fAQA/HwEAQR8BAEEfAQBDHwEAWR8BALAfAQCwHwEAwB8BAPEfAQD/HwEAmSMBAAAkAQBuJAEAcCQBAHQkAQCAJAEAQyUBAJAvAQDyLwEAADABAC80AQBBNAEARjQBAABEAQBGRgEAAGgBADhqAQBAagEAXmoBAGBqAQBpagEAbmoBAL5qAQDAagEAyWoBANBqAQDtagEA9WoBAPVqAQAAawEAL2sBADdrAQBFawEAUGsBAFlrAQBbawEAYWsBAGNrAQB3awEAfWsBAI9rAQBAbgEAmm4BAABvAQBKbwEAUG8BAIdvAQCTbwEAn28BAOBvAQDjbwEA8G8BAPFvAQAAcAEA94cBAACIAQDVjAEAAI0BAAiNAQDwrwEA868BAPWvAQD7rwEA/a8BAP6vAQAAsAEAIrEBADKxAQAysQEAULEBAFKxAQBVsQEAVbEBAGSxAQBnsQEAcLEBAPuyAQAAvAEAarwBAHC8AQB8vAEAgLwBAIi8AQCQvAEAmbwBAJy8AQCcvAEAn7wBAJ+8AQBQzwEAw88BAADQAQD10AEAANEBACbRAQAp0QEAZNEBAGbRAQBm0QEAatEBAG3RAQCD0QEAhNEBAIzRAQCp0QEArtEBAOrRAQAA0gEAQdIBAEXSAQBF0gEAwNIBANPSAQDg0gEA89IBAADTAQBW0wEAYNMBAHjTAQAA1AEAVNQBAFbUAQCc1AEAntQBAJ/UAQCi1AEAotQBAKXUAQCm1AEAqdQBAKzUAQCu1AEAudQBALvUAQC71AEAvdQBAMPUAQDF1AEABdUBAAfVAQAK1QEADdUBABTVAQAW1QEAHNUBAB7VAQA51QEAO9UBAD7VAQBA1QEARNUBAEbVAQBG1QEAStUBAFDVAQBS1QEApdYBAKjWAQDL1wEAztcBAP/ZAQA32gEAOtoBAG3aAQB02gEAdtoBAIPaAQCF2gEAi9oBAADfAQAe3wEAJd8BACrfAQAw4AEAbeABAADhAQAs4QEAN+EBAD3hAQBA4QEASeEBAE7hAQBP4QEAkOIBAK3iAQDA4gEA6+IBAPDiAQD54gEA/+IBAP/iAQDQ5AEA6+QBAPDkAQD55AEA4OcBAObnAQDo5wEA6+cBAO3nAQDu5wEA8OcBAP7nAQAA6AEAxOgBAMfoAQDP6AEAAOkBAEPpAQBL6QEAS+kBAFDpAQBZ6QEAXukBAF/pAQBx7AEAtOwBAAHtAQA97QEAAO4BAAPuAQAF7gEAH+4BACHuAQAi7gEAJO4BACTuAQAn7gEAJ+4BACnuAQAy7gEANO4BADfuAQA57gEAOe4BADvuAQA77gEAQu4BAELuAQBH7gEAR+4BAEnuAQBJ7gEAS+4BAEvuAQBN7gEAT+4BAFHuAQBS7gEAVO4BAFTuAQBX7gEAV+4BAFnuAQBZ7gEAW+4BAFvuAQBd7gEAXe4BAF/uAQBf7gEAYe4BAGLuAQBk7gEAZO4BAGfuAQBq7gEAbO4BAHLuAQB07gEAd+4BAHnuAQB87gEAfu4BAH7uAQCA7gEAie4BAIvuAQCb7gEAoe4BAKPuAQCl7gEAqe4BAKvuAQC77gEA8O4BAPHuAQAA8AEAK/ABADDwAQCT8AEAoPABAK7wAQCx8AEAv/ABAMHwAQDP8AEA0fABAPXwAQAA8QEArfEBAObxAQAC8gEAEPIBADvyAQBA8gEASPIBAFDyAQBR8gEAYPIBAGXyAQAA8wEA1/YBANz2AQDs9gEA8PYBAPz2AQAA9wEAdvcBAHv3AQDZ9wEA4PcBAOv3AQDw9wEA8PcBAAD4AQAL+AEAEPgBAEf4AQBQ+AEAWfgBAGD4AQCH+AEAkPgBAK34AQCw+AEAsfgBAAD5AQBT+gEAYPoBAG36AQBw+gEAfPoBAID6AQCI+gEAkPoBAL36AQC/+gEAxfoBAM76AQDb+gEA4PoBAOj6AQDw+gEA+PoBAAD7AQCS+wEAlPsBAMr7AQDw+wEA+fsBAAAAAgDfpgIAAKcCADm3AgBAtwIAHbgCACC4AgChzgIAsM4CAODrAgAA+AIAHfoCAAAAAwBKEwMAUBMDAK8jAwAAAwAAbwMAAIMEAACJBAAAkQUAAL0FAAC/BQAAvwUAAMEFAADCBQAAxAUAAMUFAADHBQAAxwUAABAGAAAaBgAASwYAAF8GAABwBgAAcAYAANYGAADcBgAA3wYAAOQGAADnBgAA6AYAAOoGAADtBgAAEQcAABEHAAAwBwAASgcAAKYHAACwBwAA6wcAAPMHAAD9BwAA/QcAABYIAAAZCAAAGwgAACMIAAAlCAAAJwgAACkIAAAtCAAAWQgAAFsIAACYCAAAnwgAAMoIAADhCAAA4wgAAAIJAAA6CQAAOgkAADwJAAA8CQAAQQkAAEgJAABNCQAATQkAAFEJAABXCQAAYgkAAGMJAACBCQAAgQkAALwJAAC8CQAAvgkAAL4JAADBCQAAxAkAAM0JAADNCQAA1wkAANcJAADiCQAA4wkAAP4JAAD+CQAAAQoAAAIKAAA8CgAAPAoAAEEKAABCCgAARwoAAEgKAABLCgAATQoAAFEKAABRCgAAcAoAAHEKAAB1CgAAdQoAAIEKAACCCgAAvAoAALwKAADBCgAAxQoAAMcKAADICgAAzQoAAM0KAADiCgAA4woAAPoKAAD/CgAAAQsAAAELAAA8CwAAPAsAAD4LAAA/CwAAQQsAAEQLAABNCwAATQsAAFULAABXCwAAYgsAAGMLAACCCwAAggsAAL4LAAC+CwAAwAsAAMALAADNCwAAzQsAANcLAADXCwAAAAwAAAAMAAAEDAAABAwAADwMAAA8DAAAPgwAAEAMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABiDAAAYwwAAIEMAACBDAAAvAwAALwMAAC/DAAAvwwAAMIMAADCDAAAxgwAAMYMAADMDAAAzQwAANUMAADWDAAA4gwAAOMMAAAADQAAAQ0AADsNAAA8DQAAPg0AAD4NAABBDQAARA0AAE0NAABNDQAAVw0AAFcNAABiDQAAYw0AAIENAACBDQAAyg0AAMoNAADPDQAAzw0AANINAADUDQAA1g0AANYNAADfDQAA3w0AADEOAAAxDgAANA4AADoOAABHDgAATg4AALEOAACxDgAAtA4AALwOAADIDgAAzg4AABgPAAAZDwAANQ8AADUPAAA3DwAANw8AADkPAAA5DwAAcQ8AAH4PAACADwAAhA8AAIYPAACHDwAAjQ8AAJcPAACZDwAAvA8AAMYPAADGDwAALRAAADAQAAAyEAAANxAAADkQAAA6EAAAPRAAAD4QAABYEAAAWRAAAF4QAABgEAAAcRAAAHQQAACCEAAAghAAAIUQAACGEAAAjRAAAI0QAACdEAAAnRAAAF0TAABfEwAAEhcAABQXAAAyFwAAMxcAAFIXAABTFwAAchcAAHMXAAC0FwAAtRcAALcXAAC9FwAAxhcAAMYXAADJFwAA0xcAAN0XAADdFwAACxgAAA0YAAAPGAAADxgAAIUYAACGGAAAqRgAAKkYAAAgGQAAIhkAACcZAAAoGQAAMhkAADIZAAA5GQAAOxkAABcaAAAYGgAAGxoAABsaAABWGgAAVhoAAFgaAABeGgAAYBoAAGAaAABiGgAAYhoAAGUaAABsGgAAcxoAAHwaAAB/GgAAfxoAALAaAADOGgAAABsAAAMbAAA0GwAAOhsAADwbAAA8GwAAQhsAAEIbAABrGwAAcxsAAIAbAACBGwAAohsAAKUbAACoGwAAqRsAAKsbAACtGwAA5hsAAOYbAADoGwAA6RsAAO0bAADtGwAA7xsAAPEbAAAsHAAAMxwAADYcAAA3HAAA0BwAANIcAADUHAAA4BwAAOIcAADoHAAA7RwAAO0cAAD0HAAA9BwAAPgcAAD5HAAAwB0AAP8dAAAMIAAADCAAANAgAADwIAAA7ywAAPEsAAB/LQAAfy0AAOAtAAD/LQAAKjAAAC8wAACZMAAAmjAAAG+mAABypgAAdKYAAH2mAACepgAAn6YAAPCmAADxpgAAAqgAAAKoAAAGqAAABqgAAAuoAAALqAAAJagAACaoAAAsqAAALKgAAMSoAADFqAAA4KgAAPGoAAD/qAAA/6gAACapAAAtqQAAR6kAAFGpAACAqQAAgqkAALOpAACzqQAAtqkAALmpAAC8qQAAvakAAOWpAADlqQAAKaoAAC6qAAAxqgAAMqoAADWqAAA2qgAAQ6oAAEOqAABMqgAATKoAAHyqAAB8qgAAsKoAALCqAACyqgAAtKoAALeqAAC4qgAAvqoAAL+qAADBqgAAwaoAAOyqAADtqgAA9qoAAPaqAADlqwAA5asAAOirAADoqwAA7asAAO2rAAAe+wAAHvsAAAD+AAAP/gAAIP4AAC/+AACe/wAAn/8AAP0BAQD9AQEA4AIBAOACAQB2AwEAegMBAAEKAQADCgEABQoBAAYKAQAMCgEADwoBADgKAQA6CgEAPwoBAD8KAQDlCgEA5goBACQNAQAnDQEAqw4BAKwOAQD9DgEA/w4BAEYPAQBQDwEAgg8BAIUPAQABEAEAARABADgQAQBGEAEAcBABAHAQAQBzEAEAdBABAH8QAQCBEAEAsxABALYQAQC5EAEAuhABAMIQAQDCEAEAABEBAAIRAQAnEQEAKxEBAC0RAQA0EQEAcxEBAHMRAQCAEQEAgREBALYRAQC+EQEAyREBAMwRAQDPEQEAzxEBAC8SAQAxEgEANBIBADQSAQA2EgEANxIBAD4SAQA+EgEAQRIBAEESAQDfEgEA3xIBAOMSAQDqEgEAABMBAAETAQA7EwEAPBMBAD4TAQA+EwEAQBMBAEATAQBXEwEAVxMBAGYTAQBsEwEAcBMBAHQTAQA4FAEAPxQBAEIUAQBEFAEARhQBAEYUAQBeFAEAXhQBALAUAQCwFAEAsxQBALgUAQC6FAEAuhQBAL0UAQC9FAEAvxQBAMAUAQDCFAEAwxQBAK8VAQCvFQEAshUBALUVAQC8FQEAvRUBAL8VAQDAFQEA3BUBAN0VAQAzFgEAOhYBAD0WAQA9FgEAPxYBAEAWAQCrFgEAqxYBAK0WAQCtFgEAsBYBALUWAQC3FgEAtxYBAB0XAQAfFwEAIhcBACUXAQAnFwEAKxcBAC8YAQA3GAEAORgBADoYAQAwGQEAMBkBADsZAQA8GQEAPhkBAD4ZAQBDGQEAQxkBANQZAQDXGQEA2hkBANsZAQDgGQEA4BkBAAEaAQAKGgEAMxoBADgaAQA7GgEAPhoBAEcaAQBHGgEAURoBAFYaAQBZGgEAWxoBAIoaAQCWGgEAmBoBAJkaAQAwHAEANhwBADgcAQA9HAEAPxwBAD8cAQCSHAEApxwBAKocAQCwHAEAshwBALMcAQC1HAEAthwBADEdAQA2HQEAOh0BADodAQA8HQEAPR0BAD8dAQBFHQEARx0BAEcdAQCQHQEAkR0BAJUdAQCVHQEAlx0BAJcdAQDzHgEA9B4BAAAfAQABHwEANh8BADofAQBAHwEAQB8BAEIfAQBCHwEAQDQBAEA0AQBHNAEAVTQBAPBqAQD0agEAMGsBADZrAQBPbwEAT28BAI9vAQCSbwEA5G8BAORvAQCdvAEAnrwBAADPAQAtzwEAMM8BAEbPAQBl0QEAZdEBAGfRAQBp0QEAbtEBAHLRAQB70QEAgtEBAIXRAQCL0QEAqtEBAK3RAQBC0gEARNIBAADaAQA22gEAO9oBAGzaAQB12gEAddoBAITaAQCE2gEAm9oBAJ/aAQCh2gEAr9oBAADgAQAG4AEACOABABjgAQAb4AEAIeABACPgAQAk4AEAJuABACrgAQCP4AEAj+ABADDhAQA24QEAruIBAK7iAQDs4gEA7+IBAOzkAQDv5AEA0OgBANboAQBE6QEASukBACAADgB/AA4AAAEOAO8BDgBNCQAATQkAAM0JAADNCQAATQoAAE0KAADNCgAAzQoAAE0LAABNCwAAzQsAAM0LAABNDAAATQwAAM0MAADNDAAAOw0AADwNAABNDQAATQ0AAMoNAADKDQAAOg4AADoOAAC6DgAAug4AAIQPAACEDwAAORAAADoQAAAUFwAAFRcAADQXAAA0FwAA0hcAANIXAABgGgAAYBoAAEQbAABEGwAAqhsAAKsbAADyGwAA8xsAAH8tAAB/LQAABqgAAAaoAAAsqAAALKgAAMSoAADEqAAAU6kAAFOpAADAqQAAwKkAAPaqAAD2qgAA7asAAO2rAAA/CgEAPwoBAEYQAQBGEAEAcBABAHAQAQB/EAEAfxABALkQAQC5EAEAMxEBADQRAQDAEQEAwBEBADUSAQA1EgEA6hIBAOoSAQBNEwEATRMBAEIUAQBCFAEAwhQBAMIUAQC/FQEAvxUBAD8WAQA/FgEAthYBALYWAQArFwEAKxcBADkYAQA5GAEAPRkBAD4ZAQDgGQEA4BkBADQaAQA0GgEARxoBAEcaAQCZGgEAmRoBAD8cAQA/HAEARB0BAEUdAQCXHQEAlx0BAEEfAQBCHwEAMAAAADkAAABBAAAARgAAAGEAAABmAAAAEP8AABn/AAAh/wAAJv8AAEH/AABG/wAALQAAAC0AAACtAAAArQAAAIoFAACKBQAABhgAAAYYAAAQIAAAESAAABcuAAAXLgAA+zAAAPswAABj/gAAY/4AAA3/AAAN/wAAZf8AAGX/AADwLwAA8S8AAPQvAAD7LwAA8i8AAPMvAAAwAAAAOQAAAEEAAABaAAAAXwAAAF8AAABhAAAAegAAAKoAAACqAAAAtQAAALUAAAC3AAAAtwAAALoAAAC6AAAAwAAAANYAAADYAAAA9gAAAPgAAADBAgAAxgIAANECAADgAgAA5AIAAOwCAADsAgAA7gIAAO4CAAAAAwAAdAMAAHYDAAB3AwAAegMAAH0DAAB/AwAAfwMAAIYDAACKAwAAjAMAAIwDAACOAwAAoQMAAKMDAAD1AwAA9wMAAIEEAACDBAAAhwQAAIoEAAAvBQAAMQUAAFYFAABZBQAAWQUAAGAFAACIBQAAkQUAAL0FAAC/BQAAvwUAAMEFAADCBQAAxAUAAMUFAADHBQAAxwUAANAFAADqBQAA7wUAAPIFAAAQBgAAGgYAACAGAABpBgAAbgYAANMGAADVBgAA3AYAAN8GAADoBgAA6gYAAPwGAAD/BgAA/wYAABAHAABKBwAATQcAALEHAADABwAA9QcAAPoHAAD6BwAA/QcAAP0HAAAACAAALQgAAEAIAABbCAAAYAgAAGoIAABwCAAAhwgAAIkIAACOCAAAmAgAAOEIAADjCAAAYwkAAGYJAABvCQAAcQkAAIMJAACFCQAAjAkAAI8JAACQCQAAkwkAAKgJAACqCQAAsAkAALIJAACyCQAAtgkAALkJAAC8CQAAxAkAAMcJAADICQAAywkAAM4JAADXCQAA1wkAANwJAADdCQAA3wkAAOMJAADmCQAA8QkAAPwJAAD8CQAA/gkAAP4JAAABCgAAAwoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdQoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADvCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAABvCwAAcQsAAHELAACCCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAAL4LAADCCwAAxgsAAMgLAADKCwAAzQsAANALAADQCwAA1wsAANcLAADmCwAA7wsAAAAMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPAwAAEQMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABYDAAAWgwAAF0MAABdDAAAYAwAAGMMAABmDAAAbwwAAIAMAACDDAAAhQwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAALwMAADEDAAAxgwAAMgMAADKDAAAzQwAANUMAADWDAAA3QwAAN4MAADgDAAA4wwAAOYMAADvDAAA8QwAAPMMAAAADQAADA0AAA4NAAAQDQAAEg0AAEQNAABGDQAASA0AAEoNAABODQAAVA0AAFcNAABfDQAAYw0AAGYNAABvDQAAeg0AAH8NAACBDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADKDQAAyg0AAM8NAADUDQAA1g0AANYNAADYDQAA3w0AAOYNAADvDQAA8g0AAPMNAAABDgAAOg4AAEAOAABODgAAUA4AAFkOAACBDgAAgg4AAIQOAACEDgAAhg4AAIoOAACMDgAAow4AAKUOAAClDgAApw4AAL0OAADADgAAxA4AAMYOAADGDgAAyA4AAM4OAADQDgAA2Q4AANwOAADfDgAAAA8AAAAPAAAYDwAAGQ8AACAPAAApDwAANQ8AADUPAAA3DwAANw8AADkPAAA5DwAAPg8AAEcPAABJDwAAbA8AAHEPAACEDwAAhg8AAJcPAACZDwAAvA8AAMYPAADGDwAAABAAAEkQAABQEAAAnRAAAKAQAADFEAAAxxAAAMcQAADNEAAAzRAAANAQAAD6EAAA/BAAAEgSAABKEgAATRIAAFASAABWEgAAWBIAAFgSAABaEgAAXRIAAGASAACIEgAAihIAAI0SAACQEgAAsBIAALISAAC1EgAAuBIAAL4SAADAEgAAwBIAAMISAADFEgAAyBIAANYSAADYEgAAEBMAABITAAAVEwAAGBMAAFoTAABdEwAAXxMAAGkTAABxEwAAgBMAAI8TAACgEwAA9RMAAPgTAAD9EwAAARQAAGwWAABvFgAAfxYAAIEWAACaFgAAoBYAAOoWAADuFgAA+BYAAAAXAAAVFwAAHxcAADQXAABAFwAAUxcAAGAXAABsFwAAbhcAAHAXAAByFwAAcxcAAIAXAADTFwAA1xcAANcXAADcFwAA3RcAAOAXAADpFwAACxgAAA0YAAAPGAAAGRgAACAYAAB4GAAAgBgAAKoYAACwGAAA9RgAAAAZAAAeGQAAIBkAACsZAAAwGQAAOxkAAEYZAABtGQAAcBkAAHQZAACAGQAAqxkAALAZAADJGQAA0BkAANoZAAAAGgAAGxoAACAaAABeGgAAYBoAAHwaAAB/GgAAiRoAAJAaAACZGgAApxoAAKcaAACwGgAAvRoAAL8aAADOGgAAABsAAEwbAABQGwAAWRsAAGsbAABzGwAAgBsAAPMbAAAAHAAANxwAAEAcAABJHAAATRwAAH0cAACAHAAAiBwAAJAcAAC6HAAAvRwAAL8cAADQHAAA0hwAANQcAAD6HAAAAB0AABUfAAAYHwAAHR8AACAfAABFHwAASB8AAE0fAABQHwAAVx8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAvB8AAL4fAAC+HwAAwh8AAMQfAADGHwAAzB8AANAfAADTHwAA1h8AANsfAADgHwAA7B8AAPIfAAD0HwAA9h8AAPwfAAA/IAAAQCAAAFQgAABUIAAAcSAAAHEgAAB/IAAAfyAAAJAgAACcIAAA0CAAANwgAADhIAAA4SAAAOUgAADwIAAAAiEAAAIhAAAHIQAAByEAAAohAAATIQAAFSEAABUhAAAYIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAA5IQAAPCEAAD8hAABFIQAASSEAAE4hAABOIQAAYCEAAIghAAAALAAA5CwAAOssAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAMC0AAGctAABvLQAAby0AAH8tAACWLQAAoC0AAKYtAACoLQAAri0AALAtAAC2LQAAuC0AAL4tAADALQAAxi0AAMgtAADOLQAA0C0AANYtAADYLQAA3i0AAOAtAAD/LQAABTAAAAcwAAAhMAAALzAAADEwAAA1MAAAODAAADwwAABBMAAAljAAAJkwAACfMAAAoTAAAPowAAD8MAAA/zAAAAUxAAAvMQAAMTEAAI4xAACgMQAAvzEAAPAxAAD/MQAAADQAAL9NAAAATgAAjKQAANCkAAD9pAAAAKUAAAymAAAQpgAAK6YAAECmAABvpgAAdKYAAH2mAAB/pgAA8aYAABenAAAfpwAAIqcAAIinAACLpwAAyqcAANCnAADRpwAA06cAANOnAADVpwAA2acAAPKnAAAnqAAALKgAACyoAABAqAAAc6gAAICoAADFqAAA0KgAANmoAADgqAAA96gAAPuoAAD7qAAA/agAAC2pAAAwqQAAU6kAAGCpAAB8qQAAgKkAAMCpAADPqQAA2akAAOCpAAD+qQAAAKoAADaqAABAqgAATaoAAFCqAABZqgAAYKoAAHaqAAB6qgAAwqoAANuqAADdqgAA4KoAAO+qAADyqgAA9qoAAAGrAAAGqwAACasAAA6rAAARqwAAFqsAACCrAAAmqwAAKKsAAC6rAAAwqwAAWqsAAFyrAABpqwAAcKsAAOqrAADsqwAA7asAAPCrAAD5qwAAAKwAAKPXAACw1wAAxtcAAMvXAAD71wAAAPkAAG36AABw+gAA2foAAAD7AAAG+wAAE/sAABf7AAAd+wAAKPsAACr7AAA2+wAAOPsAADz7AAA++wAAPvsAAED7AABB+wAAQ/sAAET7AABG+wAAsfsAANP7AAA9/QAAUP0AAI/9AACS/QAAx/0AAPD9AAD7/QAAAP4AAA/+AAAg/gAAL/4AADP+AAA0/gAATf4AAE/+AABw/gAAdP4AAHb+AAD8/gAAEP8AABn/AAAh/wAAOv8AAD//AAA//wAAQf8AAFr/AABm/wAAvv8AAML/AADH/wAAyv8AAM//AADS/wAA1/8AANr/AADc/wAAAAABAAsAAQANAAEAJgABACgAAQA6AAEAPAABAD0AAQA/AAEATQABAFAAAQBdAAEAgAABAPoAAQBAAQEAdAEBAP0BAQD9AQEAgAIBAJwCAQCgAgEA0AIBAOACAQDgAgEAAAMBAB8DAQAtAwEASgMBAFADAQB6AwEAgAMBAJ0DAQCgAwEAwwMBAMgDAQDPAwEA0QMBANUDAQAABAEAnQQBAKAEAQCpBAEAsAQBANMEAQDYBAEA+wQBAAAFAQAnBQEAMAUBAGMFAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAAAYBADYHAQBABwEAVQcBAGAHAQBnBwEAgAcBAIUHAQCHBwEAsAcBALIHAQC6BwEAAAgBAAUIAQAICAEACAgBAAoIAQA1CAEANwgBADgIAQA8CAEAPAgBAD8IAQBVCAEAYAgBAHYIAQCACAEAnggBAOAIAQDyCAEA9AgBAPUIAQAACQEAFQkBACAJAQA5CQEAgAkBALcJAQC+CQEAvwkBAAAKAQADCgEABQoBAAYKAQAMCgEAEwoBABUKAQAXCgEAGQoBADUKAQA4CgEAOgoBAD8KAQA/CgEAYAoBAHwKAQCACgEAnAoBAMAKAQDHCgEAyQoBAOYKAQAACwEANQsBAEALAQBVCwEAYAsBAHILAQCACwEAkQsBAAAMAQBIDAEAgAwBALIMAQDADAEA8gwBAAANAQAnDQEAMA0BADkNAQCADgEAqQ4BAKsOAQCsDgEAsA4BALEOAQD9DgEAHA8BACcPAQAnDwEAMA8BAFAPAQBwDwEAhQ8BALAPAQDEDwEA4A8BAPYPAQAAEAEARhABAGYQAQB1EAEAfxABALoQAQDCEAEAwhABANAQAQDoEAEA8BABAPkQAQAAEQEANBEBADYRAQA/EQEARBEBAEcRAQBQEQEAcxEBAHYRAQB2EQEAgBEBAMQRAQDJEQEAzBEBAM4RAQDaEQEA3BEBANwRAQAAEgEAERIBABMSAQA3EgEAPhIBAEESAQCAEgEAhhIBAIgSAQCIEgEAihIBAI0SAQCPEgEAnRIBAJ8SAQCoEgEAsBIBAOoSAQDwEgEA+RIBAAATAQADEwEABRMBAAwTAQAPEwEAEBMBABMTAQAoEwEAKhMBADATAQAyEwEAMxMBADUTAQA5EwEAOxMBAEQTAQBHEwEASBMBAEsTAQBNEwEAUBMBAFATAQBXEwEAVxMBAF0TAQBjEwEAZhMBAGwTAQBwEwEAdBMBAAAUAQBKFAEAUBQBAFkUAQBeFAEAYRQBAIAUAQDFFAEAxxQBAMcUAQDQFAEA2RQBAIAVAQC1FQEAuBUBAMAVAQDYFQEA3RUBAAAWAQBAFgEARBYBAEQWAQBQFgEAWRYBAIAWAQC4FgEAwBYBAMkWAQAAFwEAGhcBAB0XAQArFwEAMBcBADkXAQBAFwEARhcBAAAYAQA6GAEAoBgBAOkYAQD/GAEABhkBAAkZAQAJGQEADBkBABMZAQAVGQEAFhkBABgZAQA1GQEANxkBADgZAQA7GQEAQxkBAFAZAQBZGQEAoBkBAKcZAQCqGQEA1xkBANoZAQDhGQEA4xkBAOQZAQAAGgEAPhoBAEcaAQBHGgEAUBoBAJkaAQCdGgEAnRoBALAaAQD4GgEAABwBAAgcAQAKHAEANhwBADgcAQBAHAEAUBwBAFkcAQByHAEAjxwBAJIcAQCnHAEAqRwBALYcAQAAHQEABh0BAAgdAQAJHQEACx0BADYdAQA6HQEAOh0BADwdAQA9HQEAPx0BAEcdAQBQHQEAWR0BAGAdAQBlHQEAZx0BAGgdAQBqHQEAjh0BAJAdAQCRHQEAkx0BAJgdAQCgHQEAqR0BAOAeAQD2HgEAAB8BABAfAQASHwEAOh8BAD4fAQBCHwEAUB8BAFkfAQCwHwEAsB8BAAAgAQCZIwEAACQBAG4kAQCAJAEAQyUBAJAvAQDwLwEAADABAC80AQBANAEAVTQBAABEAQBGRgEAAGgBADhqAQBAagEAXmoBAGBqAQBpagEAcGoBAL5qAQDAagEAyWoBANBqAQDtagEA8GoBAPRqAQAAawEANmsBAEBrAQBDawEAUGsBAFlrAQBjawEAd2sBAH1rAQCPawEAQG4BAH9uAQAAbwEASm8BAE9vAQCHbwEAj28BAJ9vAQDgbwEA4W8BAONvAQDkbwEA8G8BAPFvAQAAcAEA94cBAACIAQDVjAEAAI0BAAiNAQDwrwEA868BAPWvAQD7rwEA/a8BAP6vAQAAsAEAIrEBADKxAQAysQEAULEBAFKxAQBVsQEAVbEBAGSxAQBnsQEAcLEBAPuyAQAAvAEAarwBAHC8AQB8vAEAgLwBAIi8AQCQvAEAmbwBAJ28AQCevAEAAM8BAC3PAQAwzwEARs8BAGXRAQBp0QEAbdEBAHLRAQB70QEAgtEBAIXRAQCL0QEAqtEBAK3RAQBC0gEARNIBAADUAQBU1AEAVtQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAHtUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAFLVAQCl1gEAqNYBAMDWAQDC1gEA2tYBANzWAQD61gEA/NYBABTXAQAW1wEANNcBADbXAQBO1wEAUNcBAG7XAQBw1wEAiNcBAIrXAQCo1wEAqtcBAMLXAQDE1wEAy9cBAM7XAQD/1wEAANoBADbaAQA72gEAbNoBAHXaAQB12gEAhNoBAITaAQCb2gEAn9oBAKHaAQCv2gEAAN8BAB7fAQAl3wEAKt8BAADgAQAG4AEACOABABjgAQAb4AEAIeABACPgAQAk4AEAJuABACrgAQAw4AEAbeABAI/gAQCP4AEAAOEBACzhAQAw4QEAPeEBAEDhAQBJ4QEATuEBAE7hAQCQ4gEAruIBAMDiAQD54gEA0OQBAPnkAQDg5wEA5ucBAOjnAQDr5wEA7ecBAO7nAQDw5wEA/ucBAADoAQDE6AEA0OgBANboAQAA6QEAS+kBAFDpAQBZ6QEAAO4BAAPuAQAF7gEAH+4BACHuAQAi7gEAJO4BACTuAQAn7gEAJ+4BACnuAQAy7gEANO4BADfuAQA57gEAOe4BADvuAQA77gEAQu4BAELuAQBH7gEAR+4BAEnuAQBJ7gEAS+4BAEvuAQBN7gEAT+4BAFHuAQBS7gEAVO4BAFTuAQBX7gEAV+4BAFnuAQBZ7gEAW+4BAFvuAQBd7gEAXe4BAF/uAQBf7gEAYe4BAGLuAQBk7gEAZO4BAGfuAQBq7gEAbO4BAHLuAQB07gEAd+4BAHnuAQB87gEAfu4BAH7uAQCA7gEAie4BAIvuAQCb7gEAoe4BAKPuAQCl7gEAqe4BAKvuAQC77gEA8PsBAPn7AQAAAAIA36YCAACnAgA5twIAQLcCAB24AgAguAIAoc4CALDOAgDg6wIAAPgCAB36AgAAAAMAShMDAFATAwCvIwMAAAEOAO8BDgBBAAAAWgAAAGEAAAB6AAAAqgAAAKoAAAC1AAAAtQAAALoAAAC6AAAAwAAAANYAAADYAAAA9gAAAPgAAADBAgAAxgIAANECAADgAgAA5AIAAOwCAADsAgAA7gIAAO4CAABwAwAAdAMAAHYDAAB3AwAAegMAAH0DAAB/AwAAfwMAAIYDAACGAwAAiAMAAIoDAACMAwAAjAMAAI4DAAChAwAAowMAAPUDAAD3AwAAgQQAAIoEAAAvBQAAMQUAAFYFAABZBQAAWQUAAGAFAACIBQAA0AUAAOoFAADvBQAA8gUAACAGAABKBgAAbgYAAG8GAABxBgAA0wYAANUGAADVBgAA5QYAAOYGAADuBgAA7wYAAPoGAAD8BgAA/wYAAP8GAAAQBwAAEAcAABIHAAAvBwAATQcAAKUHAACxBwAAsQcAAMoHAADqBwAA9AcAAPUHAAD6BwAA+gcAAAAIAAAVCAAAGggAABoIAAAkCAAAJAgAACgIAAAoCAAAQAgAAFgIAABgCAAAaggAAHAIAACHCAAAiQgAAI4IAACgCAAAyQgAAAQJAAA5CQAAPQkAAD0JAABQCQAAUAkAAFgJAABhCQAAcQkAAIAJAACFCQAAjAkAAI8JAACQCQAAkwkAAKgJAACqCQAAsAkAALIJAACyCQAAtgkAALkJAAC9CQAAvQkAAM4JAADOCQAA3AkAAN0JAADfCQAA4QkAAPAJAADxCQAA/AkAAPwJAAAFCgAACgoAAA8KAAAQCgAAEwoAACgKAAAqCgAAMAoAADIKAAAzCgAANQoAADYKAAA4CgAAOQoAAFkKAABcCgAAXgoAAF4KAAByCgAAdAoAAIUKAACNCgAAjwoAAJEKAACTCgAAqAoAAKoKAACwCgAAsgoAALMKAAC1CgAAuQoAAL0KAAC9CgAA0AoAANAKAADgCgAA4QoAAPkKAAD5CgAABQsAAAwLAAAPCwAAEAsAABMLAAAoCwAAKgsAADALAAAyCwAAMwsAADULAAA5CwAAPQsAAD0LAABcCwAAXQsAAF8LAABhCwAAcQsAAHELAACDCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAANALAADQCwAABQwAAAwMAAAODAAAEAwAABIMAAAoDAAAKgwAADkMAAA9DAAAPQwAAFgMAABaDAAAXQwAAF0MAABgDAAAYQwAAIAMAACADAAAhQwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAAL0MAAC9DAAA3QwAAN4MAADgDAAA4QwAAPEMAADyDAAABA0AAAwNAAAODQAAEA0AABINAAA6DQAAPQ0AAD0NAABODQAATg0AAFQNAABWDQAAXw0AAGENAAB6DQAAfw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAAABDgAAMA4AADIOAAAzDgAAQA4AAEYOAACBDgAAgg4AAIQOAACEDgAAhg4AAIoOAACMDgAAow4AAKUOAAClDgAApw4AALAOAACyDgAAsw4AAL0OAAC9DgAAwA4AAMQOAADGDgAAxg4AANwOAADfDgAAAA8AAAAPAABADwAARw8AAEkPAABsDwAAiA8AAIwPAAAAEAAAKhAAAD8QAAA/EAAAUBAAAFUQAABaEAAAXRAAAGEQAABhEAAAZRAAAGYQAABuEAAAcBAAAHUQAACBEAAAjhAAAI4QAACgEAAAxRAAAMcQAADHEAAAzRAAAM0QAADQEAAA+hAAAPwQAABIEgAAShIAAE0SAABQEgAAVhIAAFgSAABYEgAAWhIAAF0SAABgEgAAiBIAAIoSAACNEgAAkBIAALASAACyEgAAtRIAALgSAAC+EgAAwBIAAMASAADCEgAAxRIAAMgSAADWEgAA2BIAABATAAASEwAAFRMAABgTAABaEwAAgBMAAI8TAACgEwAA9RMAAPgTAAD9EwAAARQAAGwWAABvFgAAfxYAAIEWAACaFgAAoBYAAOoWAADuFgAA+BYAAAAXAAARFwAAHxcAADEXAABAFwAAURcAAGAXAABsFwAAbhcAAHAXAACAFwAAsxcAANcXAADXFwAA3BcAANwXAAAgGAAAeBgAAIAYAACoGAAAqhgAAKoYAACwGAAA9RgAAAAZAAAeGQAAUBkAAG0ZAABwGQAAdBkAAIAZAACrGQAAsBkAAMkZAAAAGgAAFhoAACAaAABUGgAApxoAAKcaAAAFGwAAMxsAAEUbAABMGwAAgxsAAKAbAACuGwAArxsAALobAADlGwAAABwAACMcAABNHAAATxwAAFocAAB9HAAAgBwAAIgcAACQHAAAuhwAAL0cAAC/HAAA6RwAAOwcAADuHAAA8xwAAPUcAAD2HAAA+hwAAPocAAAAHQAAvx0AAAAeAAAVHwAAGB8AAB0fAAAgHwAARR8AAEgfAABNHwAAUB8AAFcfAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAfR8AAIAfAAC0HwAAth8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMwfAADQHwAA0x8AANYfAADbHwAA4B8AAOwfAADyHwAA9B8AAPYfAAD8HwAAcSAAAHEgAAB/IAAAfyAAAJAgAACcIAAAAiEAAAIhAAAHIQAAByEAAAohAAATIQAAFSEAABUhAAAYIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAA5IQAAPCEAAD8hAABFIQAASSEAAE4hAABOIQAAYCEAAIghAAAALAAA5CwAAOssAADuLAAA8iwAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAAAwLQAAZy0AAG8tAABvLQAAgC0AAJYtAACgLQAApi0AAKgtAACuLQAAsC0AALYtAAC4LQAAvi0AAMAtAADGLQAAyC0AAM4tAADQLQAA1i0AANgtAADeLQAABTAAAAcwAAAhMAAAKTAAADEwAAA1MAAAODAAADwwAABBMAAAljAAAJswAACfMAAAoTAAAPowAAD8MAAA/zAAAAUxAAAvMQAAMTEAAI4xAACgMQAAvzEAAPAxAAD/MQAAADQAAL9NAAAATgAAjKQAANCkAAD9pAAAAKUAAAymAAAQpgAAH6YAACqmAAArpgAAQKYAAG6mAAB/pgAAnaYAAKCmAADvpgAAF6cAAB+nAAAipwAAiKcAAIunAADKpwAA0KcAANGnAADTpwAA06cAANWnAADZpwAA8qcAAAGoAAADqAAABagAAAeoAAAKqAAADKgAACKoAABAqAAAc6gAAIKoAACzqAAA8qgAAPeoAAD7qAAA+6gAAP2oAAD+qAAACqkAACWpAAAwqQAARqkAAGCpAAB8qQAAhKkAALKpAADPqQAAz6kAAOCpAADkqQAA5qkAAO+pAAD6qQAA/qkAAACqAAAoqgAAQKoAAEKqAABEqgAAS6oAAGCqAAB2qgAAeqoAAHqqAAB+qgAAr6oAALGqAACxqgAAtaoAALaqAAC5qgAAvaoAAMCqAADAqgAAwqoAAMKqAADbqgAA3aoAAOCqAADqqgAA8qoAAPSqAAABqwAABqsAAAmrAAAOqwAAEasAABarAAAgqwAAJqsAACirAAAuqwAAMKsAAFqrAABcqwAAaasAAHCrAADiqwAAAKwAAKPXAACw1wAAxtcAAMvXAAD71wAAAPkAAG36AABw+gAA2foAAAD7AAAG+wAAE/sAABf7AAAd+wAAHfsAAB/7AAAo+wAAKvsAADb7AAA4+wAAPPsAAD77AAA++wAAQPsAAEH7AABD+wAARPsAAEb7AACx+wAA0/sAAD39AABQ/QAAj/0AAJL9AADH/QAA8P0AAPv9AABw/gAAdP4AAHb+AAD8/gAAIf8AADr/AABB/wAAWv8AAGb/AAC+/wAAwv8AAMf/AADK/wAAz/8AANL/AADX/wAA2v8AANz/AAAAAAEACwABAA0AAQAmAAEAKAABADoAAQA8AAEAPQABAD8AAQBNAAEAUAABAF0AAQCAAAEA+gABAEABAQB0AQEAgAIBAJwCAQCgAgEA0AIBAAADAQAfAwEALQMBAEoDAQBQAwEAdQMBAIADAQCdAwEAoAMBAMMDAQDIAwEAzwMBANEDAQDVAwEAAAQBAJ0EAQCwBAEA0wQBANgEAQD7BAEAAAUBACcFAQAwBQEAYwUBAHAFAQB6BQEAfAUBAIoFAQCMBQEAkgUBAJQFAQCVBQEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQAABgEANgcBAEAHAQBVBwEAYAcBAGcHAQCABwEAhQcBAIcHAQCwBwEAsgcBALoHAQAACAEABQgBAAgIAQAICAEACggBADUIAQA3CAEAOAgBADwIAQA8CAEAPwgBAFUIAQBgCAEAdggBAIAIAQCeCAEA4AgBAPIIAQD0CAEA9QgBAAAJAQAVCQEAIAkBADkJAQCACQEAtwkBAL4JAQC/CQEAAAoBAAAKAQAQCgEAEwoBABUKAQAXCgEAGQoBADUKAQBgCgEAfAoBAIAKAQCcCgEAwAoBAMcKAQDJCgEA5AoBAAALAQA1CwEAQAsBAFULAQBgCwEAcgsBAIALAQCRCwEAAAwBAEgMAQCADAEAsgwBAMAMAQDyDAEAAA0BACMNAQCADgEAqQ4BALAOAQCxDgEAAA8BABwPAQAnDwEAJw8BADAPAQBFDwEAcA8BAIEPAQCwDwEAxA8BAOAPAQD2DwEAAxABADcQAQBxEAEAchABAHUQAQB1EAEAgxABAK8QAQDQEAEA6BABAAMRAQAmEQEARBEBAEQRAQBHEQEARxEBAFARAQByEQEAdhEBAHYRAQCDEQEAshEBAMERAQDEEQEA2hEBANoRAQDcEQEA3BEBAAASAQAREgEAExIBACsSAQA/EgEAQBIBAIASAQCGEgEAiBIBAIgSAQCKEgEAjRIBAI8SAQCdEgEAnxIBAKgSAQCwEgEA3hIBAAUTAQAMEwEADxMBABATAQATEwEAKBMBACoTAQAwEwEAMhMBADMTAQA1EwEAORMBAD0TAQA9EwEAUBMBAFATAQBdEwEAYRMBAAAUAQA0FAEARxQBAEoUAQBfFAEAYRQBAIAUAQCvFAEAxBQBAMUUAQDHFAEAxxQBAIAVAQCuFQEA2BUBANsVAQAAFgEALxYBAEQWAQBEFgEAgBYBAKoWAQC4FgEAuBYBAAAXAQAaFwEAQBcBAEYXAQAAGAEAKxgBAKAYAQDfGAEA/xgBAAYZAQAJGQEACRkBAAwZAQATGQEAFRkBABYZAQAYGQEALxkBAD8ZAQA/GQEAQRkBAEEZAQCgGQEApxkBAKoZAQDQGQEA4RkBAOEZAQDjGQEA4xkBAAAaAQAAGgEACxoBADIaAQA6GgEAOhoBAFAaAQBQGgEAXBoBAIkaAQCdGgEAnRoBALAaAQD4GgEAABwBAAgcAQAKHAEALhwBAEAcAQBAHAEAchwBAI8cAQAAHQEABh0BAAgdAQAJHQEACx0BADAdAQBGHQEARh0BAGAdAQBlHQEAZx0BAGgdAQBqHQEAiR0BAJgdAQCYHQEA4B4BAPIeAQACHwEAAh8BAAQfAQAQHwEAEh8BADMfAQCwHwEAsB8BAAAgAQCZIwEAACQBAG4kAQCAJAEAQyUBAJAvAQDwLwEAADABAC80AQBBNAEARjQBAABEAQBGRgEAAGgBADhqAQBAagEAXmoBAHBqAQC+agEA0GoBAO1qAQAAawEAL2sBAEBrAQBDawEAY2sBAHdrAQB9awEAj2sBAEBuAQB/bgEAAG8BAEpvAQBQbwEAUG8BAJNvAQCfbwEA4G8BAOFvAQDjbwEA428BAABwAQD3hwEAAIgBANWMAQAAjQEACI0BAPCvAQDzrwEA9a8BAPuvAQD9rwEA/q8BAACwAQAisQEAMrEBADKxAQBQsQEAUrEBAFWxAQBVsQEAZLEBAGexAQBwsQEA+7IBAAC8AQBqvAEAcLwBAHy8AQCAvAEAiLwBAJC8AQCZvAEAANQBAFTUAQBW1AEAnNQBAJ7UAQCf1AEAotQBAKLUAQCl1AEAptQBAKnUAQCs1AEArtQBALnUAQC71AEAu9QBAL3UAQDD1AEAxdQBAAXVAQAH1QEACtUBAA3VAQAU1QEAFtUBABzVAQAe1QEAOdUBADvVAQA+1QEAQNUBAETVAQBG1QEARtUBAErVAQBQ1QEAUtUBAKXWAQCo1gEAwNYBAMLWAQDa1gEA3NYBAPrWAQD81gEAFNcBABbXAQA01wEANtcBAE7XAQBQ1wEAbtcBAHDXAQCI1wEAitcBAKjXAQCq1wEAwtcBAMTXAQDL1wEAAN8BAB7fAQAl3wEAKt8BADDgAQBt4AEAAOEBACzhAQA34QEAPeEBAE7hAQBO4QEAkOIBAK3iAQDA4gEA6+IBANDkAQDr5AEA4OcBAObnAQDo5wEA6+cBAO3nAQDu5wEA8OcBAP7nAQAA6AEAxOgBAADpAQBD6QEAS+kBAEvpAQAA7gEAA+4BAAXuAQAf7gEAIe4BACLuAQAk7gEAJO4BACfuAQAn7gEAKe4BADLuAQA07gEAN+4BADnuAQA57gEAO+4BADvuAQBC7gEAQu4BAEfuAQBH7gEASe4BAEnuAQBL7gEAS+4BAE3uAQBP7gEAUe4BAFLuAQBU7gEAVO4BAFfuAQBX7gEAWe4BAFnuAQBb7gEAW+4BAF3uAQBd7gEAX+4BAF/uAQBh7gEAYu4BAGTuAQBk7gEAZ+4BAGruAQBs7gEAcu4BAHTuAQB37gEAee4BAHzuAQB+7gEAfu4BAIDuAQCJ7gEAi+4BAJvuAQCh7gEAo+4BAKXuAQCp7gEAq+4BALvuAQAAAAIA36YCAACnAgA5twIAQLcCAB24AgAguAIAoc4CALDOAgDg6wIAAPgCAB36AgAAAAMAShMDAFATAwCvIwMABjAAAAcwAAAhMAAAKTAAADgwAAA6MAAAADQAAL9NAAAATgAA/58AAAD5AABt+gAAcPoAANn6AADkbwEA5G8BAABwAQD3hwEAAIgBANWMAQAAjQEACI0BAHCxAQD7sgEAAAACAN+mAgAApwIAObcCAEC3AgAduAIAILgCAKHOAgCwzgIA4OsCAAD4AgAd+gIAAAADAEoTAwBQEwMAryMDAAwgAAANIAAAQA4AAEQOAADADgAAxA4AALUZAAC3GQAAuhkAALoZAAC1qgAAtqoAALmqAAC5qgAAu6oAALyqAABhAAAAegAAAKoAAACqAAAAtQAAALUAAAC6AAAAugAAAN8AAAD2AAAA+AAAAP8AAAABAQAAAQEAAAMBAAADAQAABQEAAAUBAAAHAQAABwEAAAkBAAAJAQAACwEAAAsBAAANAQAADQEAAA8BAAAPAQAAEQEAABEBAAATAQAAEwEAABUBAAAVAQAAFwEAABcBAAAZAQAAGQEAABsBAAAbAQAAHQEAAB0BAAAfAQAAHwEAACEBAAAhAQAAIwEAACMBAAAlAQAAJQEAACcBAAAnAQAAKQEAACkBAAArAQAAKwEAAC0BAAAtAQAALwEAAC8BAAAxAQAAMQEAADMBAAAzAQAANQEAADUBAAA3AQAAOAEAADoBAAA6AQAAPAEAADwBAAA+AQAAPgEAAEABAABAAQAAQgEAAEIBAABEAQAARAEAAEYBAABGAQAASAEAAEkBAABLAQAASwEAAE0BAABNAQAATwEAAE8BAABRAQAAUQEAAFMBAABTAQAAVQEAAFUBAABXAQAAVwEAAFkBAABZAQAAWwEAAFsBAABdAQAAXQEAAF8BAABfAQAAYQEAAGEBAABjAQAAYwEAAGUBAABlAQAAZwEAAGcBAABpAQAAaQEAAGsBAABrAQAAbQEAAG0BAABvAQAAbwEAAHEBAABxAQAAcwEAAHMBAAB1AQAAdQEAAHcBAAB3AQAAegEAAHoBAAB8AQAAfAEAAH4BAACAAQAAgwEAAIMBAACFAQAAhQEAAIgBAACIAQAAjAEAAI0BAACSAQAAkgEAAJUBAACVAQAAmQEAAJsBAACeAQAAngEAAKEBAAChAQAAowEAAKMBAAClAQAApQEAAKgBAACoAQAAqgEAAKsBAACtAQAArQEAALABAACwAQAAtAEAALQBAAC2AQAAtgEAALkBAAC6AQAAvQEAAL8BAADGAQAAxgEAAMkBAADJAQAAzAEAAMwBAADOAQAAzgEAANABAADQAQAA0gEAANIBAADUAQAA1AEAANYBAADWAQAA2AEAANgBAADaAQAA2gEAANwBAADdAQAA3wEAAN8BAADhAQAA4QEAAOMBAADjAQAA5QEAAOUBAADnAQAA5wEAAOkBAADpAQAA6wEAAOsBAADtAQAA7QEAAO8BAADwAQAA8wEAAPMBAAD1AQAA9QEAAPkBAAD5AQAA+wEAAPsBAAD9AQAA/QEAAP8BAAD/AQAAAQIAAAECAAADAgAAAwIAAAUCAAAFAgAABwIAAAcCAAAJAgAACQIAAAsCAAALAgAADQIAAA0CAAAPAgAADwIAABECAAARAgAAEwIAABMCAAAVAgAAFQIAABcCAAAXAgAAGQIAABkCAAAbAgAAGwIAAB0CAAAdAgAAHwIAAB8CAAAhAgAAIQIAACMCAAAjAgAAJQIAACUCAAAnAgAAJwIAACkCAAApAgAAKwIAACsCAAAtAgAALQIAAC8CAAAvAgAAMQIAADECAAAzAgAAOQIAADwCAAA8AgAAPwIAAEACAABCAgAAQgIAAEcCAABHAgAASQIAAEkCAABLAgAASwIAAE0CAABNAgAATwIAAJMCAACVAgAAuAIAAMACAADBAgAA4AIAAOQCAABFAwAARQMAAHEDAABxAwAAcwMAAHMDAAB3AwAAdwMAAHoDAAB9AwAAkAMAAJADAACsAwAAzgMAANADAADRAwAA1QMAANcDAADZAwAA2QMAANsDAADbAwAA3QMAAN0DAADfAwAA3wMAAOEDAADhAwAA4wMAAOMDAADlAwAA5QMAAOcDAADnAwAA6QMAAOkDAADrAwAA6wMAAO0DAADtAwAA7wMAAPMDAAD1AwAA9QMAAPgDAAD4AwAA+wMAAPwDAAAwBAAAXwQAAGEEAABhBAAAYwQAAGMEAABlBAAAZQQAAGcEAABnBAAAaQQAAGkEAABrBAAAawQAAG0EAABtBAAAbwQAAG8EAABxBAAAcQQAAHMEAABzBAAAdQQAAHUEAAB3BAAAdwQAAHkEAAB5BAAAewQAAHsEAAB9BAAAfQQAAH8EAAB/BAAAgQQAAIEEAACLBAAAiwQAAI0EAACNBAAAjwQAAI8EAACRBAAAkQQAAJMEAACTBAAAlQQAAJUEAACXBAAAlwQAAJkEAACZBAAAmwQAAJsEAACdBAAAnQQAAJ8EAACfBAAAoQQAAKEEAACjBAAAowQAAKUEAAClBAAApwQAAKcEAACpBAAAqQQAAKsEAACrBAAArQQAAK0EAACvBAAArwQAALEEAACxBAAAswQAALMEAAC1BAAAtQQAALcEAAC3BAAAuQQAALkEAAC7BAAAuwQAAL0EAAC9BAAAvwQAAL8EAADCBAAAwgQAAMQEAADEBAAAxgQAAMYEAADIBAAAyAQAAMoEAADKBAAAzAQAAMwEAADOBAAAzwQAANEEAADRBAAA0wQAANMEAADVBAAA1QQAANcEAADXBAAA2QQAANkEAADbBAAA2wQAAN0EAADdBAAA3wQAAN8EAADhBAAA4QQAAOMEAADjBAAA5QQAAOUEAADnBAAA5wQAAOkEAADpBAAA6wQAAOsEAADtBAAA7QQAAO8EAADvBAAA8QQAAPEEAADzBAAA8wQAAPUEAAD1BAAA9wQAAPcEAAD5BAAA+QQAAPsEAAD7BAAA/QQAAP0EAAD/BAAA/wQAAAEFAAABBQAAAwUAAAMFAAAFBQAABQUAAAcFAAAHBQAACQUAAAkFAAALBQAACwUAAA0FAAANBQAADwUAAA8FAAARBQAAEQUAABMFAAATBQAAFQUAABUFAAAXBQAAFwUAABkFAAAZBQAAGwUAABsFAAAdBQAAHQUAAB8FAAAfBQAAIQUAACEFAAAjBQAAIwUAACUFAAAlBQAAJwUAACcFAAApBQAAKQUAACsFAAArBQAALQUAAC0FAAAvBQAALwUAAGAFAACIBQAA0BAAAPoQAAD8EAAA/xAAAPgTAAD9EwAAgBwAAIgcAAAAHQAAvx0AAAEeAAABHgAAAx4AAAMeAAAFHgAABR4AAAceAAAHHgAACR4AAAkeAAALHgAACx4AAA0eAAANHgAADx4AAA8eAAARHgAAER4AABMeAAATHgAAFR4AABUeAAAXHgAAFx4AABkeAAAZHgAAGx4AABseAAAdHgAAHR4AAB8eAAAfHgAAIR4AACEeAAAjHgAAIx4AACUeAAAlHgAAJx4AACceAAApHgAAKR4AACseAAArHgAALR4AAC0eAAAvHgAALx4AADEeAAAxHgAAMx4AADMeAAA1HgAANR4AADceAAA3HgAAOR4AADkeAAA7HgAAOx4AAD0eAAA9HgAAPx4AAD8eAABBHgAAQR4AAEMeAABDHgAARR4AAEUeAABHHgAARx4AAEkeAABJHgAASx4AAEseAABNHgAATR4AAE8eAABPHgAAUR4AAFEeAABTHgAAUx4AAFUeAABVHgAAVx4AAFceAABZHgAAWR4AAFseAABbHgAAXR4AAF0eAABfHgAAXx4AAGEeAABhHgAAYx4AAGMeAABlHgAAZR4AAGceAABnHgAAaR4AAGkeAABrHgAAax4AAG0eAABtHgAAbx4AAG8eAABxHgAAcR4AAHMeAABzHgAAdR4AAHUeAAB3HgAAdx4AAHkeAAB5HgAAex4AAHseAAB9HgAAfR4AAH8eAAB/HgAAgR4AAIEeAACDHgAAgx4AAIUeAACFHgAAhx4AAIceAACJHgAAiR4AAIseAACLHgAAjR4AAI0eAACPHgAAjx4AAJEeAACRHgAAkx4AAJMeAACVHgAAnR4AAJ8eAACfHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAAAohAAAKIQAADiEAAA8hAAATIQAAEyEAAC8hAAAvIQAANCEAADQhAAA5IQAAOSEAADwhAAA9IQAARiEAAEkhAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHEsAABxLAAAcywAAHQsAAB2LAAAfSwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOQsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAnaYAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAxpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAHinAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAjqcAAI6nAACRpwAAkacAAJOnAACVpwAAl6cAAJenAACZpwAAmacAAJunAACbpwAAnacAAJ2nAACfpwAAn6cAAKGnAAChpwAAo6cAAKOnAAClpwAApacAAKenAACnpwAAqacAAKmnAACvpwAAr6cAALWnAAC1pwAAt6cAALenAAC5pwAAuacAALunAAC7pwAAvacAAL2nAAC/pwAAv6cAAMGnAADBpwAAw6cAAMOnAADIpwAAyKcAAMqnAADKpwAA0acAANGnAADTpwAA06cAANWnAADVpwAA16cAANenAADZpwAA2acAAPKnAAD0pwAA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8B4AAPAeAADyHgAA8h4AAPQeAAD0HgAA9h4AAPYeAAD4HgAA+B4AAPoeAAD6HgAA/B4AAPweAAD+HgAA/h4AAAgfAAAPHwAAGB8AAB0fAAAoHwAALx8AADgfAAA/HwAASB8AAE0fAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAXx8AAGgfAABvHwAAuB8AALsfAADIHwAAyx8AANgfAADbHwAA6B8AAOwfAAD4HwAA+x8AAAIhAAACIQAAByEAAAchAAALIQAADSEAABAhAAASIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAAMCEAADMhAAA+IQAAPyEAAEUhAABFIQAAYCEAAG8hAACDIQAAgyEAALYkAADPJAAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAAlqcAAJinAACYpwAAmqcAAJqnAACcpwAAnKcAAJ6nAACepwAAoKcAAKCnAACipwAAoqcAAKSnAACkpwAApqcAAKanAACopwAAqKcAAKqnAACupwAAsKcAALSnAAC2pwAAtqcAALinAAC4pwAAuqcAALqnAAC8pwAAvKcAAL6nAAC+pwAAwKcAAMCnAADCpwAAwqcAAMSnAADHpwAAyacAAMmnAADQpwAA0KcAANanAADWpwAA2KcAANinAAD1pwAA9acAACH/AAA6/wAAAAQBACcEAQCwBAEA0wQBAHAFAQB6BQEAfAUBAIoFAQCMBQEAkgUBAJQFAQCVBQEAgAwBALIMAQCgGAEAvxgBAEBuAQBfbgEAANQBABnUAQA01AEATdQBAGjUAQCB1AEA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fLAAAHywAACYsAAAmLAAALSwAAC0sAAA0LAAANCwAADssAAA7LAAAAixAAAIsQAAJLEAACSxAABAsQAAQLEAAFyxAABcsQAAeLEAAHixAACUsQAAlLEAALCxAACwsQAAzLEAAMyxAADosQAA6LEAAASyAAAEsgAAILIAACCyAAA8sgAAPLIAAFiyAABYsgAAdLIAAHSyAACQsgAAkLIAAKyyAACssgAAyLIAAMiyAADksgAA5LIAAACzAAAAswAAHLMAAByzAAA4swAAOLMAAFSzAABUswAAcLMAAHCzAACMswAAjLMAAKizAACoswAAxLMAAMSzAADgswAA4LMAAPyzAAD8swAAGLQAABi0AAA0tAAANLQAAFC0AABQtAAAbLQAAGy0AACItAAAiLQAAKS0AACktAAAwLQAAMC0AADctAAA3LQAAPi0AAD4tAAAFLUAABS1AAAwtQAAMLUAAEy1AABMtQAAaLUAAGi1AACEtQAAhLUAAKC1AACgtQAAvLUAALy1AADYtQAA2LUAAPS1AAD0tQAAELYAABC2AAAstgAALLYAAEi2AABItgAAZLYAAGS2AACAtgAAgLYAAJy2AACctgAAuLYAALi2AADUtgAA1LYAAPC2AADwtgAADLcAAAy3AAAotwAAKLcAAES3AABEtwAAYLcAAGC3AAB8twAAfLcAAJi3AACYtwAAtLcAALS3AADQtwAA0LcAAOy3AADstwAACLgAAAi4AAAkuAAAJLgAAEC4AABAuAAAXLgAAFy4AAB4uAAAeLgAAJS4AACUuAAAsLgAALC4AADMuAAAzLgAAOi4AADouAAABLkAAAS5AAAguQAAILkAADy5AAA8uQAAWLkAAFi5AAB0uQAAdLkAAJC5AACQuQAArLkAAKy5AADIuQAAyLkAAOS5AADkuQAAALoAAAC6AAAcugAAHLoAADi6AAA4ugAAVLoAAFS6AABwugAAcLoAAIy6AACMugAAqLoAAKi6AADEugAAxLoAAOC6AADgugAA/LoAAPy6AAAYuwAAGLsAADS7AAA0uwAAULsAAFC7AABsuwAAbLsAAIi7AACIuwAApLsAAKS7AADAuwAAwLsAANy7AADcuwAA+LsAAPi7AAAUvAAAFLwAADC8AAAwvAAATLwAAEy8AABovAAAaLwAAIS8AACEvAAAoLwAAKC8AAC8vAAA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EbYAACu2AAAttgAAR7YAAEm2AABjtgAAZbYAAH+2AACBtgAAm7YAAJ22AAC3tgAAubYAANO2AADVtgAA77YAAPG2AAALtwAADbcAACe3AAAptwAAQ7cAAEW3AABftwAAYbcAAHu3AAB9twAAl7cAAJm3AACztwAAtbcAAM+3AADRtwAA67cAAO23AAAHuAAACbgAACO4AAAluAAAP7gAAEG4AABbuAAAXbgAAHe4AAB5uAAAk7gAAJW4AACvuAAAsbgAAMu4AADNuAAA57gAAOm4AAADuQAABbkAAB+5AAAhuQAAO7kAAD25AABXuQAAWbkAAHO5AAB1uQAAj7kAAJG5AACruQAArbkAAMe5AADJuQAA47kAAOW5AAD/uQAAAboAABu6AAAdugAAN7oAADm6AABTugAAVboAAG+6AABxugAAi7oAAI26AACnugAAqboAAMO6AADFugAA37oAAOG6AAD7ugAA/boAABe7AAAZuwAAM7sAADW7AABPuwAAUbsAAGu7AABtuwAAh7sAAIm7AACjuwAApbsAAL+7AADBuwAA27sAAN27AAD3uwAA+bsAABO8AAAVvAAAL7wAADG8AABLvAAATbwAAGe8AABpvAAAg7wAAIW8AACfvAAAobwAALu8AAC9vAAA17wAANm8AADzvAAA9bwAAA+9AAARvQAAK70AAC29AABHvQAASb0AAGO9AABlvQAAf70AAIG9AACbvQAAnb0AALe9AAC5vQAA070AANW9AADvvQAA8b0AAAu+AAANvgAAJ74AACm+AABDvgAARb4AAF++AABhvgAAe74AAH2+AACXvgAAmb4AALO+AAC1vgAAz74AANG+AADrvgAA7b4AAAe/AAAJvwAAI78AACW/AAA/vwAAQb8AAFu/AABdvwAAd78AAHm/AACTvwAAlb8AAK+/AACxvwAAy78AAM2/AADnvwAA6b8AAAPAAAAFwAAAH8AAACHAAAA7wAAAPcAAAFfAAABZwAAAc8AAAHXAAACPwAAAkcAAAKvAAACtwAAAx8AAAMnAAADjwAAA5cAAAP/AAAABwQAAG8EAAB3BAAA3wQAAOcEAAFPBAABVwQAAb8EAAHHBAACLwQAAjcEAAKfBAACpwQAAw8EAAMXBAADfwQAA4cEAAPvBAAD9wQAAF8IAABnCAAAzwgAANcIAAE/CAABRwgAA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zR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAAAohAAAKIQAADiEAAA8hAAATIQAAEyEAAC8hAAAvIQAANCEAADQhAAA5IQAAOSEAADwhAAA9IQAARiEAAEkhAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHEsAABxLAAAcywAAHQsAAB2LAAAfSwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOQsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAnaYAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAxpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAHinAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAjqcAAI6nAACRpwAAkacAAJOnAACVpwAAl6cAAJenAACZpwAAmacAAJunAACbpwAAnacAAJ2nAACfpwAAn6cAAKGnAAChpwAAo6cAAKOnAAClpwAApacAAKenAACnpwAAqacAAKmnAACvpwAAr6cAALWnAAC1pwAAt6cAALenAAC5pwAA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hB4AAIYeAACGHgAAiB4AAIgeAACKHgAAih4AAIweAACMHgAAjh4AAI4eAACQHgAAkB4AAJIeAACSHgAAlB4AAJQeAACeHgAAnh4AAKAeAACgHgAAoh4AAKIeAACkHgAApB4AAKYeAACmHgAAqB4AAKgeAACqHgAAqh4AAKweAACsHgAArh4AAK4eAACwHgAAsB4AALIeAACyHgAAtB4AALQeAAC2HgAAth4AALgeAAC4HgAAuh4AALoeAAC8HgAAvB4AAL4eAAC+HgAAwB4AAMAeAADCHgAAwh4AAMQeAADEHgAAxh4AAMYeAADIHgAAyB4AAMoeAADKHgAAzB4AAMweAADOHgAAzh4AANAeAADQHgAA0h4AANIeAADUHgAA1B4AANYeAADWHgAA2B4AANgeAADaHgAA2h4AANweAADcHgAA3h4AAN4eAADgHgAA4B4AAOIeAADiHgAA5B4AAOQeAADmHgAA5h4AAOgeAADoHgAA6h4AAOoeAADsHgAA7B4AAO4eAADuHgAA8B4AAPAeAADyHgAA8h4AAPQeAAD0HgAA9h4AAPYeAAD4HgAA+B4AAPoeAAD6HgAA/B4AAPweAAD+HgAA/h4AAAgfAAAPHwAAGB8AAB0fAAAoHwAALx8AADgfAAA/HwAASB8AAE0fAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAXx8AAGgfAABvHwAAiB8AAI8fAACYHwAAnx8AAKgfAACvHwAAuB8AALwfAADIHwAAzB8AANgfAADbHwAA6B8AAOwfAAD4HwAA/B8AAAIhAAACIQAAByEAAAchAAALIQAADSEAABAhAAASIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAAMCEAADMhAAA+IQAAPyEAAEUhAABFIQAAYCEAAG8hAACDIQAAgyEAALYkAADPJAAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAAlqcAAJinAACYpwAAmqcAAJqnAACcpwAAnKcAAJ6nAACepwAAoKcAAKCnAACipwAAoqcAAKSnAACkpwAApqcAAKanAACopwAAqKcAAKqnAACupwAAsKcAALSnAAC2pwAAtqcAALinAAC4pwAAuqcAALqnAAC8pwAAvKcAAL6nAAC+pwAAwKcAAMCnAADCpwAAwqcAAMSnAADHpwAAyacAAMmnAADQpwAA0KcAANanAADWpwAA2KcAANinAAD1pwAA9acAACH/AAA6/wAAAAQBACcEAQCwBAEA0wQBAHAFAQB6BQEAfAUBAIoFAQCMBQEAkgUBAJQFAQCVBQEAgAwBALIMAQCgGAEAvxgBAEBuAQBfbgEAANQBABnUAQA01AEATdQBAGjUAQCB1AEAnNQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC11AEA0NQBAOnUAQAE1QEABdUBAAfVAQAK1QEADdUBABTVAQAW1QEAHNUBADjVAQA51QEAO9UBAD7VAQBA1QEARNUBAEbVAQBG1QEAStUBAFDVAQBs1QEAhdUBAKDVAQC51QEA1NUBAO3VAQAI1gEAIdYBADzWAQBV1gEAcNYBAInWAQCo1gEAwNYBAOLWAQD61gEAHNcBADTXAQBW1wEAbtcBAJDXAQCo1wEAytcBAMrXAQAA6QEAIekBADDxAQBJ8QEAUPEBAGnxAQBw8QEAifEBAK5OEgAFAAAAgE0VAAQAAADSKhIAAgAAAPj/FAABAAAAuk4SAAUAAACgTRUALQAAAAgrEgAGAAAACE8VADkBAAAwIhIABgAAANBYFQAVAAAANCsSAAIAAAAIDBUAAQAAAM1OEgAFAAAAeFkVAJ0CAADSThIABwAAAGBuFQBBAAAAxk4SAAcAAABocBUAHwIAAOdOEgAJAAAAYIEVABMAAAAHTxIABQAAAPiBFQBNAAAA+04SAAMAAABghBUAAgAAAANPEgACAAAAcIQVAAkAAAAOTxIABQAAALiEFQCMAgAALOERAGYAAAB3AwAAHAAAACzhEQBmAAAAqAMAAC0AAAAs4REAZgAAAKoDAAAJAAAALOERAGYAAACrAwAACQAAACzhEQBmAAAArgMAAA8AAAAs4REAZgAAAKADAAANAAAALOERAGYAAACdAwAADQAAABsDAAAMAAAABAAAAFgDAAARBAAAWgMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvdXRmOC5yc2ludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGludmFsaWQgZW5jb2RlZCBsZW5ndGg6IAAAAOOaFQBCAAAAgJoVAGMAAACDAAAAEgAAAICaFQBjAAAAtAEAAC0AAACAmhUAYwAAALUBAAArAAAAgJoVAGMAAAC4AQAACQBB+LbWAAvOEAEAAAASBAAAVHJ5RnJvbUNoYXJFcnJvcmV4Y2VlZGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjYXB0dXJpbmcgZ3JvdXBzICgAAACQmxUAMQAAAGDQGAABAAAAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgZm91bmQgaW4gY2hhcmFjdGVyIGNsYXNz1JsVADAAAABpbnZhbGlkIGNoYXJhY3RlciBjbGFzcyByYW5nZSwgdGhlIHN0YXJ0IG11c3QgYmUgPD0gdGhlIGVuZAAMnBUAOwAAAGludmFsaWQgcmFuZ2UgYm91bmRhcnksIG11c3QgYmUgYSBsaXRlcmFsAAAAUJwVACkAAAB1bmNsb3NlZCBjaGFyYWN0ZXIgY2xhc3OEnBUAGAAAAGRlY2ltYWwgbGl0ZXJhbCBlbXB0eQAAAKScFQAVAAAAZGVjaW1hbCBsaXRlcmFsIGludmFsaWQAxJwVABcAAABoZXhhZGVjaW1hbCBsaXRlcmFsIGVtcHR5AAAA5JwVABkAAABoZXhhZGVjaW1hbCBsaXRlcmFsIGlzIG5vdCBhIFVuaWNvZGUgc2NhbGFyIHZhbHVlAAAACJ0VADEAAABpbnZhbGlkIGhleGFkZWNpbWFsIGRpZ2l0AAAARJ0VABkAAABpbmNvbXBsZXRlIGVzY2FwZSBzZXF1ZW5jZSwgcmVhY2hlZCBlbmQgb2YgcGF0dGVybiBwcmVtYXR1cmVseQAAaJ0VAD4AAAB1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlsJ0VABwAAABkYW5nbGluZyBmbGFnIG5lZ2F0aW9uIG9wZXJhdG9yANSdFQAfAAAAZHVwbGljYXRlIGZsYWcAAPydFQAOAAAAZmxhZyBuZWdhdGlvbiBvcGVyYXRvciByZXBlYXRlZAAUnhUAHwAAAGV4cGVjdGVkIGZsYWcgYnV0IGdvdCBlbmQgb2YgcmVnZXgAADyeFQAiAAAAdW5yZWNvZ25pemVkIGZsYWcAAABonhUAEQAAAGR1cGxpY2F0ZSBjYXB0dXJlIGdyb3VwIG5hbWWEnhUAHAAAAGVtcHR5IGNhcHR1cmUgZ3JvdXAgbmFtZaieFQAYAAAAaW52YWxpZCBjYXB0dXJlIGdyb3VwIGNoYXJhY3RlcgDInhUAHwAAAHVuY2xvc2VkIGNhcHR1cmUgZ3JvdXAgbmFtZQDwnhUAGwAAAHVuY2xvc2VkIGdyb3VwAAAUnxUADgAAAHVub3BlbmVkIGdyb3VwAAAsnxUADgAAAGV4Y2VlZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgbmVzdGVkIHBhcmVudGhlc2VzL2JyYWNrZXRzICgAAESfFQA6AAAAYNAYAAEAAABpbnZhbGlkIHJlcGV0aXRpb24gY291bnQgcmFuZ2UsIHRoZSBzdGFydCBtdXN0IGJlIDw9IHRoZSBlbmSQnxUAPAAAAHJlcGV0aXRpb24gcXVhbnRpZmllciBleHBlY3RzIGEgdmFsaWQgZGVjaW1hbAAAANSfFQAtAAAAdW5jbG9zZWQgY291bnRlZCByZXBldGl0aW9uAAygFQAbAAAAcmVwZXRpdGlvbiBvcGVyYXRvciBtaXNzaW5nIGV4cHJlc3Npb24AADCgFQAmAAAAc3BlY2lhbCB3b3JkIGJvdW5kYXJ5IGFzc2VydGlvbiBpcyBlaXRoZXIgdW5jbG9zZWQgb3IgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXIAYKAVAFMAAAB1bnJlY29nbml6ZWQgc3BlY2lhbCB3b3JkIGJvdW5kYXJ5IGFzc2VydGlvbiwgdmFsaWQgY2hvaWNlcyBhcmU6IHN0YXJ0LCBlbmQsIHN0YXJ0LWhhbGYgb3IgZW5kLWhhbGYAvKAVAGMAAABmb3VuZCBlaXRoZXIgdGhlIGJlZ2lubmluZyBvZiBhIHNwZWNpYWwgd29yZCBib3VuZGFyeSBvciBhIGJvdW5kZWQgcmVwZXRpdGlvbiBvbiBhIFxiIHdpdGggYW4gb3BlbmluZyBicmFjZSwgYnV0IG5vIGNsb3NpbmcgYnJhY2UAAAAooRUAgQAAAGludmFsaWQgVW5pY29kZSBjaGFyYWN0ZXIgY2xhc3MAtKEVAB8AAABiYWNrcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBvcnRlZNyhFQAgAAAAbG9vay1hcm91bmQsIGluY2x1ZGluZyBsb29rLWFoZWFkIGFuZCBsb29rLWJlaGluZCwgaXMgbm90IHN1cHBvcnRlZAAEohUAQwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvYXN0L21vZC5ycwAAUKIVAGYAAAB/AgAAIgAAAFCiFQBmAAAAmAIAACIAAABhbG51bWFzY2lpYmxhbmtjbnRybGRpZ2l0Z3JhcGhsb3dlcnByaW50cHVuY3RzcGFjZXVwcGVyeGRpZ2l0AAAAUKIVAGYAAADzBAAAIwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvaGlyL21vZC5ycwAAKKMVAGYAAAC/BAAALgAAACijFQBmAAAAwAQAACoAAAAbAwAADAAAAAQAAABYAwAAEwQAAFoDAEHQx9YAC/UGAQAAAB8DAAByZWdleCBwYXJzZSBlcnJvcjoKANijFQATAAAAZXJyb3I6IAD0oxUABwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvZXJyb3IucnNvbiBsaW5lICAoY29sdW1uICkgdGhyb3VnaCBsaW5l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vUlkTv24FEDhkGZNBO36fS1c/aE85xnIjBpgsCLUvG6cWT7lhTAQ+i8heFwrCWyKA/CNXqc8FPh7KZYzdgsHbQRsMTbRSxn22rN7wFPOSIgFx72DxZ4f2mhQTVj0gC11Y5xWcjvDExCDpGBuMeF4UnxD7E4KtBgAAAAACAAAAAQAAAAaBAAAGwQAABwEAAB1bml0YSBib29sZWFuYSBzdHJpbmdieXRlIGFycmF5Ym9vbGVhbiBgXwEWAAkAAABsGhgAAQAAAGludGVnZXIgYAAAAHgBFgAJAAAAbBoYAAEAAABmbG9hdGluZyBwb2ludCBglAEWABAAAABsGhgAAQAAAGNoYXJhY3RlciBgALQBFgALAAAAbBoYAAEAAABzdHJpbmcgANABFgAHAAAAdW5pdCB2YWx1ZU9wdGlvbiB2YWx1ZW5ld3R5cGUgc3RydWN0c2VxdWVuY2V1bml0IHZhcmlhbnRuZXd0eXBlIHZhcmlhbnR0dXBsZSB2YXJpYW50c3RydWN0IHZhcmlhbnRleHBsaWNpdCBwYW5pY2waGAABAAAAbBoYAAEAAABgIG9yIGAAAGwaGAABAAAAYAIWAAYAAABsGhgAAQAAAG9uZSBvZiAuMAAAACQGFgBfAAAAWAIAADAAAAAbAwAADAAAAAQAAABYAwAAWQMAAB0EAEG8hdgAC7kIAQAAAB8DAABFT0Ygd2hpbGUgcGFyc2luZyBhIGxpc3RFT0Ygd2hpbGUgcGFyc2luZyBhbiBvYmplY3RFT0Ygd2hpbGUgcGFyc2luZyBhIHN0cmluZ0VPRiB3aGlsZSBwYXJzaW5nIGEgdmFsdWVleHBlY3RlZCBgOmBleHBlY3RlZCBgLGAgb3IgYF1gZXhwZWN0ZWQgYCxgIG9yIGB9YGV4cGVjdGVkIGlkZW50ZXhwZWN0ZWQgdmFsdWVleHBlY3RlZCBgImBpbnZhbGlkIGVzY2FwZWludmFsaWQgbnVtYmVybnVtYmVyIG91dCBvZiByYW5nZWludmFsaWQgdW5pY29kZSBjb2RlIHBvaW50Y29udHJvbCBjaGFyYWN0ZXIgKFx1MDAwMC1cdTAwMUYpIGZvdW5kIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmdrZXkgbXVzdCBiZSBhIHN0cmluZ2ludmFsaWQgdmFsdWU6IGV4cGVjdGVkIGtleSB0byBiZSBhIG51bWJlciBpbiBxdW90ZXNmbG9hdCBrZXkgbXVzdCBiZSBmaW5pdGUgKGdvdCBOYU4gb3IgKy8taW5mKWxvbmUgbGVhZGluZyBzdXJyb2dhdGUgaW4gaGV4IGVzY2FwZXRyYWlsaW5nIGNvbW1hdHJhaWxpbmcgY2hhcmFjdGVyc3VuZXhwZWN0ZWQgZW5kIG9mIGhleCBlc2NhcGVyZWN1cnNpb24gbGltaXQgZXhjZWVkZWQgYXQgbGluZSAgY29sdW1uIAAAAAEAAAAAAAAA+AQWAAkAAAABBRYACAAAAEVycm9yKCwgbGluZTogLCBjb2x1bW46ICQFFgAGAAAAKgUWAAgAAAAyBRYACgAAAGDQGAABAAAAMDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTkvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9uYXZpZ2F0ZS5ycwAkBhYAXwAAAMYAAAAnAAAAJAYWAF8AAAAWAgAALwAAACQGFgBfAAAAoQAAACQAAAAbAwAADAAAAAQAAABYAwAADgQAAB0EAABpbnZhbGlkIHR5cGU6ICwgZXhwZWN0ZWQgAAAAzAYWAA4AAADaBhYACwBBgI7YAAuPAQEAAAAeBAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc2VyZGUtd2FzbS1iaW5kZ2VuLTAuNi41L3NyYy9saWIucnMIBxYAaAAAADUAAAAOAAAATGF5b3V0c2l6ZWFsaWduAEGYj9gAC9IDAQAAAO4DAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zbWFydHN0cmluZy0xLjAuMS9zcmMvaW5saW5lLnJzoAcWAGQAAAArAAAAKwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NtYXJ0c3RyaW5nLTEuMC4xL3NyYy9ib3hlZC5ycwAUCBYAYwAAAEEAAAAOAAAAFAgWAGMAAAB2AAAAJAAAAGh0dHA6aHR0cHM6AAEAAAAAAAAAEBgYAAEAAABhdHRlbXB0IHRvIGpvaW4gaW50byBjb2xsZWN0aW9uIHdpdGggbGVuID4gdXNpemU6Ok1BWC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0ci5ycwAAAOkIFgBIAAAAmgAAAAoAAADpCBYASAAAALEAAAAWAAAAGwMAAAwAAAAEAAAAWAMAAB8EAAAdBABB9JLYAAu/AQEAAAAfAwAA2OwXAGAAAAAUAAAADwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlX2pzb24tMS4wLjEzMy9zcmMvc2VyLnJzAACMCRYAYgAAAA0GAAASAAAAjAkWAGIAAAAwCAAAMwAAAHV1dXV1dXV1YnRudWZydXV1dXV1dXV1dXV1dXV1dXV1AAAiAEHslNgACwFcAEGQltgAC6IHjAkWAGIAAAAjCAAAQAAAAFx0bGluZWNvbHVtbm9mZnNldG1hcG5hbWVzbWFwcGluZ3N2ZXJzaW9uZmlsZXNvdXJjZXNzb3VyY2VSb290c291cmNlc0NvbnRlbnRzZWN0aW9uc3JhbmdlTWFwcGluZ3N4X2ZhY2Vib29rX29mZnNldHN4X21ldHJvX21vZHVsZV9wYXRoc3hfZmFjZWJvb2tfc291cmNlc2RlYnVnX2lkYmFkIGpzb246IADBCxYACgAAAGxlZnRvdmVyIGN1ci9zaGlmdCBpbiB2bHEgZGVjb2Rl1AsWACAAAAB2bHEgZGVjb2RlIGRpZCBub3QgcHJvZHVjZSBhbnkgdmFsdWVzAAAA/AsWACUAAAB2bHEgZGVjb2RlIGNhdXNlZCBhbiBvdmVyZmxvdwAAACwMFgAdAAAAZ290ICBzZWdtZW50cywgZXhwZWN0ZWQgNCBvciA1AABUDBYABAAAAFgMFgAaAAAAYmFkIHJlZmVyZW5jZSB0byBzb3VyY2UgIwAAAIQMFgAZAAAAYmFkIHJlZmVyZW5jZSB0byBuYW1lICMAqAwWABcAAABlbmNvdW50ZXJlZCBpbmNvbXBhdGlibGUgc291cmNlbWFwIGZvcm1hdAAAAMgMFgApAAAAdGhlIHByb3ZpZGVkIGRhdGEgVVJMIGlzIGludmFsaWT8DBYAIAAAAGNhbm5vdCBmbGF0dGVuIHRoZSBpbmRleGVkIHNvdXJjZW1hcDogAAAkDRYAJgAAAGludmFsaWQgbWFnaWMgbnVtYmVyIGZvciByYW0gYnVuZGxlAFQNFgAjAAAAaW52YWxpZCBtb2R1bGUgaW5kZXggaW4gcmFtIGJ1bmRsZQAAgA0WACIAAABpbnZhbGlkIHJhbSBidW5kbGUgbW9kdWxlIGVudHJ5AKwNFgAfAAAAbm90IGEgcmFtIGJ1bmRsZdQNFgAQAAAAaW52YWxpZCByYW5nZSBtYXBwaW5nIGluZGV4OiAAAADsDRYAHQAAAGludmFsaWQgYmFzZTY0IGNoYXJhY3RlcjogAAAUDhYAGgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3d5ei0wLjUuMS9zcmMvY29tdS5ycwAAOA4WAFoAAAAnAQAAAgAAAE51bGxQdHJFcnJvcnU4AEG8ndgAC9IhAQAAAO4DAAAwOxgASQAAANsHAAApAAAATGF5b3V0RXJyb3JNaXNhbGlnbkVycm9yAQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NvdXJjZW1hcC05LjAuMC9zcmMvYnVpbGRlci5yc0Nhbm5vdCBzZXQgc291cmNlcyBmb3IgdG9tYnN0b25lIHNvdXJjZSBpZAAAAPAOFgBjAAAAeQAAAAkAAADwDhYAYwAAAH0AAAAdAAAAY2Fubm90ICBiaXRzIGZyb20gYSAtYml0IHJlZ2lvbgCgDxYABwAAALIXGAABAAAApw8WAA0AAAC0DxYACwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2JpdHZlYy0xLjAuMS9zcmMvZmllbGQucnMAAOAPFgBeAAAADgIAAAIAAAByYW5nZSAgb3V0IG9mIGJvdW5kczogAABQEBYABgAAAFYQFgAQAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYml0dmVjLTEuMC4xL3NyYy9zbGljZS9hcGkucnMAAHgQFgBiAAAAjgoAAAEAAABKAwAAFAAAAAQAAAAgBAAAAAAAAAgAAAAEAAAAIQQAAEluY2x1ZGVkRXhjbHVkZWRVbmJvdW5kZWQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iaXR2ZWMtMS4wLjEvc3JjL3NsaWNlLnJzACURFgBeAAAATwEAACMAAABpbmRleCAgb3V0IG9mIHJhbmdlOiAAAACUERYABgAAAJoRFgAPAAAAJREWAF4AAAAxBgAAAwAAAGxvYWRCaXRTcGFuRXJyb3I8Pjo60BEWAA0AAADdERYAAwAAAE1pc2FsaWduZWRUb29Mb25nVG9vSGlnaC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NvdXJjZW1hcC05LjAuMC9zcmMvZW5jb2Rlci5yc2ludmFsaWQgYnl0ZQAIEhYAYwAAACMAAAASAAAAaW52YWxpZCB1dGY4CBIWAGMAAABmAAAAIQAAAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAABAAAAAQAAAAiBAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNi9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAPQSFgApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAD0EhYAKQAAAK4EAAANAAAAdXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncwogICAgICAgICBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZACcExYAZwAAAHN0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAAAAMFBYAGQAAAO0AAAAJAAAAQWNjZXNzRXJyb3JzdGQvc3JjL3RocmVhZC9tb2QucnNmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkAFgUFgA3AAAAQxQWABUAAACTBAAADQAAAHN0ZC9zcmMvYmFja3RyYWNlLnJzdW5zdXBwb3J0ZWQgYmFja3RyYWNlZGlzYWJsZWQgYmFja3RyYWNlAKgUFgAUAAAAigEAAB0AAAAjBAAAEAAAAAQAAAAkBAAAJQQAAGVudGl0eSBub3QgZm91bmRwZXJtaXNzaW9uIGRlbmllZGNvbm5lY3Rpb24gcmVmdXNlZGNvbm5lY3Rpb24gcmVzZXRob3N0IHVucmVhY2hhYmxlbmV0d29yayB1bnJlYWNoYWJsZWNvbm5lY3Rpb24gYWJvcnRlZG5vdCBjb25uZWN0ZWRhZGRyZXNzIGluIHVzZWFkZHJlc3Mgbm90IGF2YWlsYWJsZW5ldHdvcmsgZG93bmJyb2tlbiBwaXBlZW50aXR5IGFscmVhZHkgZXhpc3Rzb3BlcmF0aW9uIHdvdWxkIGJsb2Nrbm90IGEgZGlyZWN0b3J5aXMgYSBkaXJlY3RvcnlkaXJlY3Rvcnkgbm90IGVtcHR5cmVhZC1vbmx5IGZpbGVzeXN0ZW0gb3Igc3RvcmFnZSBtZWRpdW1maWxlc3lzdGVtIGxvb3Agb3IgaW5kaXJlY3Rpb24gbGltaXQgKGUuZy4gc3ltbGluayBsb29wKXN0YWxlIG5ldHdvcmsgZmlsZSBoYW5kbGVpbnZhbGlkIGlucHV0IHBhcmFtZXRlcmludmFsaWQgZGF0YXRpbWVkIG91dHdyaXRlIHplcm9ubyBzdG9yYWdlIHNwYWNlc2VlayBvbiB1bnNlZWthYmxlIGZpbGVmaWxlc3lzdGVtIHF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JPc0tpbmRDdXN0b20gKG9zIGVycm9yIAABAAAAAAAAAAwYFgALAAAAYNAYAAEAAAA6IHN0ZC9zcmMvcGF0aC5ycwAAADIYFgAPAAAA0gIAACEAAAAyGBYADwAAAPkCAAAsAAAAMhgWAA8AAAD7AgAAJgAAADIYFgAPAAAACAMAACcAAAAyGBYADwAAABQDAAAnAAAAMhgWAA8AAAB+AwAAKQAAADIYFgAPAAAAfwMAACsAAAAyGBYADwAAAJQDAAAvAAAAMhgWAA8AAACMAwAALwAAADIYFgAPAAAAmgMAACsAAABzdGQvc3JjL3N5bmMvbGF6eV9sb2NrLnJzAAAA5BgWABkAAADQAAAAEwAAAGNhbm5vdCByZWN1cnNpdmVseSBhY3F1aXJlIG11dGV4EBkWACAAAABzdGQvc3JjL3N5cy9zeW5jL211dGV4L25vX3RocmVhZHMucnM4GRYAJAAAABQAAAAJAAAAc3RkL3NyYy9zeW5jL29uY2UucnNsGRYAFAAAANkAAAAUAAAAPHVua25vd24+77+9c3RkL3NyYy8uLi8uLi9iYWNrdHJhY2Uvc3JjL3N5bWJvbGl6ZS9tb2QucnOcGRYALAAAAGcBAAAwAAAAAQAAAAAAAAAwGBYAAgAAACAtIAABAAAAAAAAAOgZFgADAAAAICAgICAgICAgICAgICAgICAgIGF0IE5vdEZvdW5kUGVybWlzc2lvbkRlbmllZENvbm5lY3Rpb25SZWZ1c2VkQ29ubmVjdGlvblJlc2V0SG9zdFVucmVhY2hhYmxlTmV0d29ya1VucmVhY2hhYmxlQ29ubmVjdGlvbkFib3J0ZWROb3RDb25uZWN0ZWRBZGRySW5Vc2VBZGRyTm90QXZhaWxhYmxlTmV0d29ya0Rvd25Ccm9rZW5QaXBlQWxyZWFkeUV4aXN0c1dvdWxkQmxvY2tOb3RBRGlyZWN0b3J5SXNBRGlyZWN0b3J5RGlyZWN0b3J5Tm90RW1wdHlSZWFkT25seUZpbGVzeXN0ZW1GaWxlc3lzdGVtTG9vcFN0YWxlTmV0d29ya0ZpbGVIYW5kbGVJbnZhbGlkSW5wdXRJbnZhbGlkRGF0YVRpbWVkT3V0V3JpdGVaZXJvU3RvcmFnZUZ1bGxOb3RTZWVrYWJsZUZpbGVzeXN0ZW1RdW90YUV4Y2VlZGVkRmlsZVRvb0xhcmdlUmVzb3VyY2VCdXN5RXhlY3V0YWJsZUZpbGVCdXN5RGVhZGxvY2tDcm9zc2VzRGV2aWNlc1Rvb01hbnlMaW5rc0ludmFsaWRGaWxlbmFtZUFyZ3VtZW50TGlzdFRvb0xvbmdJbnRlcnJ1cHRlZFVuc3VwcG9ydGVkVW5leHBlY3RlZEVvZk91dE9mTWVtb3J5SW5Qcm9ncmVzc090aGVyVW5jYXRlZ29yaXplZG9wZXJhdGlvbiBzdWNjZXNzZnVsT25jZSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkThwWACoAAABvbmUtdGltZSBpbml0aWFsaXphdGlvbiBtYXkgbm90IGJlIHBlcmZvcm1lZCByZWN1cnNpdmVseYAcFgA4AAAAEAAAABEAAAASAAAAEAAAABAAAAATAAAAEgAAAA0AAAAOAAAAFQAAAAwAAAALAAAAFQAAABUAAAAPAAAADgAAABMAAAAmAAAAOAAAABkAAAAXAAAADAAAAAkAAAAKAAAAEAAAABcAAAAZAAAADgAAAA0AAAAUAAAACAAAABsAAAAOAAAAEAAAABYAAAAVAAAACwAAABYAAAANAAAACwAAAAsAAAATAAAACBUWABgVFgApFRYAOxUWAEsVFgBbFRYAbhUWAIAVFgCNFRYAmxUWALAVFgC8FRYAxxUWANwVFgDxFRYAABYWAA4WFgAhFhYARxYWAH8WFgCYFhYArxYWALsWFgDEFhYAzhYWAN4WFgD1FhYADhcWABwXFgApFxYAPRcWAEUXFgBgFxYAbhcWAH4XFgCUFxYAqRcWALQXFgDKFxYA1xcWAOIXFgDtFxYACAAAABAAAAARAAAADwAAAA8AAAASAAAAEQAAAAwAAAAJAAAAEAAAAAsAAAAKAAAADQAAAAoAAAANAAAADAAAABEAAAASAAAADgAAABYAAAAMAAAACwAAAAgAAAAJAAAACwAAAAsAAAAXAAAADAAAAAwAAAASAAAACAAAAA4AAAAMAAAADwAAABMAAAALAAAACwAAAA0AAAALAAAACgAAAAUAAAANAAAAEhoWABoaFgAqGhYAOxoWAEoaFgBZGhYAaxoWAHwaFgCIGhYAkRoWAKEaFgCsGhYAthoWAMMaFgDNGhYA2hoWAOYaFgD3GhYACRsWABcbFgAtGxYAORsWAEQbFgBMGxYAVRsWAGAbFgBrGxYAghsWAI4bFgCaGxYArBsWALQbFgDCGxYAzhsWAN0bFgDwGxYA+xsWAAYcFgATHBYAHhwWACgcFgAtHBYAAAAAAAQAAAAEAAAAJgQAACcEAAAoBAAAGwMAAAwAAAAEAAAAWAMAAB8EAAAdBABBmL/YAAsWAQAAAB8DAAAAAAAABAAAAAQAAAApBABBuL/YAAuNEQEAAAArBAAALAQAAC0EAADo6xcAZwAAAB4BAAAnAAAA6OsXAGcAAABDAQAAMQAAADogYnBvcyA9IDsgbGluZWJwb3MgPSAAAAEAAAAAAAAA6B8WAAkAAADxHxYADQAAALEXGAABAAAA6OsXAGcAAABEAQAAEQAAAOjrFwBnAAAAWgEAABkAAADo6xcAZwAAAHwBAABGAAAAbWFwLnN0YXJ0X3BvcyA9IDsgdG90YWxfZXh0cmFfYnl0ZXMgPSA7IGJwb3MgPSAAUCAWABAAAABgIBYAFgAAAHYgFgAJAAAA6OsXAGcAAADlAwAACQAAAOjrFwBnAAAAIgQAADQAAADo6xcAZwAAAA4EAAA0AAAA6OsXAGcAAABPBAAAEAAAAOjrFwBnAAAADwUAADoAAADo6xcAZwAAADEFAAAqAAAA6OsXAGcAAABwBQAAEAAAAE5vRmlsZUZvcm5vIGVycm9ycyBlbmNvdW50ZXJlZCBldmVuIHRob3VnaCBgZGVsYXlfc3Bhbl9idWdgIGlzc3VlZAAAESEWADkAAABgJhYAZwAAAJgBAAARAAAAZW5jb3VudGVyZWQgZXJyb3Igd2l0aCBgLVogdHJlYXRfZXJyX2FzX2J1ZwBkIRYAKwAAAGAmFgBnAAAAZQIAAA0AAABNYWNoaW5lQXBwbGljYWJsZUhhc1BsYWNlaG9sZGVyc01heWJlSW5jb3JyZWN0VW5zcGVjaWZpZWRDb2RlU3VnZ2VzdGlvbnN1YnN0aXR1dGlvbnNtc2dzaG93X2NvZGVfd2hlbl9pbmxpbmVhcHBsaWNhYmlsaXR5U3Vic3RpdHV0aW9ucGFydHNTdWJzdGl0dXRpb25QYXJ0c25pcHBldAAAAAIAAABNZXNzYWdlTGludFN1YkRpYWdub3N0aWNyZW5kZXJfc3Bhbi9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19jb21tb24tNS4wLjAvc3JjL2NvbW1lbnRzLnJzcyIWAGUAAACnAQAAFgAAAHMiFgBlAAAArAEAAA4AAABzIhYAZQAAALMBAAAnAAAAcyIWAGUAAAC/AQAAMgAAAHMiFgBlAAAAxwEAABYAAABzIhYAZQAAAMsBAAAWAAAAcyIWAGUAAADPAQAAFwAAAHMiFgBlAAAA1AEAAA4AAABzIhYAZQAAANsBAAAoAAAAcyIWAGUAAADnAQAAMwAAAHMiFgBlAAAA7wEAABcAAABzIhYAZQAAAPMBAAAXAAAAcyIWAGUAAAD5AQAALAAAAGNhbm5vdCBhZGQgcHVyZSBjb21tZW50IHRvIHplcm8gcG9zaXRpb26oIxYAKAAAAHMiFgBlAAAA9wEAAAkAAAAjX19AX18AAHMiFgBlAAAAMQIAAC0AAABzIhYAZQAAAGUCAAAuAAAAwCQWAG8AAADMAAAAHQAAAMAkFgBvAAAAewEAAC0AAADAJBYAbwAAADACAAA2AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcnVzdGMtaGFzaC0xLjEuMC9zcmMvbGliLnJzQCQWAGAAAABnAAAAGwAAAEAkFgBgAAAAXwAAABsAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9zeW50YXhfcG9zL2h5Z2llbmUucnMAwCQWAG8AAAByAQAADQAAAE1hcmvvHhgASwAAAJYHAAAkAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5pc19jaGFyX2JvdW5kYXJ5KGVuZCnvHhgASwAAAJgHAAAJAAAAAAAAAAwAAAAEAAAALgQAAC8EAAAAAAAADAAAAAQAAAAwBAAAMQQAAEVycm9yIGNvbnN0cnVjdGVkIGJ1dCBub3QgZW1pdHRlZC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19jb21tb24tNS4wLjAvc3JjL2Vycm9ycy9kaWFnbm9zdGljX2J1aWxkZXIucnMA2SUWAHYAAABZAQAADQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19jb21tb24tNS4wLjAvc3JjL2Vycm9ycy9tb2QucnMAYCYWAGcAAABQAwAAHwAAAGFzc2VydGlvbiBmYWlsZWQ6IHN0YXJ0IDw9IGVuZC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19jb21tb24tNS4wLjAvc3JjL2lucHV0LnJz9iYWAGIAAAAfAAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNvdXJjZV9maWxlX2VuZCA+PSBsYXN0X2xpbmVfc3RhcnQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9zeW50YXhfcG9zL2FuYWx5emVfc291cmNlX2ZpbGUucnMAnCcWAHsAAAAqAAAACQAAAJwnFgB7AAAAagAAABgAAACcJxYAewAAAGoAAAAtAEHQ0NgAC7kKAQAAADIEAAAzBAAANAQAAAAAAAAEAAAABAAAABQBAAAAAAAABAAAAAQAAAA1BAAALi4AAAEAAAAAAAAAgCgWAAIAAAAgbWFjcm9zPgIYGAABAAAAlCgWAAgAAAA8cXVvdGUgZXhwYW5zaW9uPgAAAKwoFgARAAAAPGFub24+AADIKBYABgAAADxtYWNybyBleHBhbnNpb24+AAAA2CgWABEAAAA8cHJvYy1tYWNybyBzb3VyY2UgY29kZT70KBYAGAAAAAIYGAABAAAABRgYAAEAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9zeW50YXhfcG9zLnJzYXNzZXJ0aW9uIGZhaWxlZDogbGluZV9pbmRleCA8IGFuYWx5c2lzLmxpbmVzLmxlbigpIGFzIGlzaXplACQpFgBnAAAA1gMAAAkAAAABAAAAUHJpbWFyeVNwYW5MYWJlbEJ5dGVQb3NvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtAPMpFgAoAAAAJAAAAAIAAAAcKhYAL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9zdGQvc3JjL3BhdGgucnMAMCoWAEcAAACYDAAAGwAAADAqFgBHAAAAuwwAACEAAAAwKhYARwAAAK4MAAAiAAAATWFpbkhlYWRlck1zZ0hlYWRlck1zZ0xpbmVBbmRDb2x1bW5MaW5lTnVtYmVyUXVvdGF0aW9uVW5kZXJsaW5lUHJpbWFyeVVuZGVybGluZVNlY29uZGFyeUxhYmVsUHJpbWFyeUxhYmVsU2Vjb25kYXJ5T2xkU2Nob29sTm90ZVRleHROb1N0eWxlTGV2ZWxIaWdobGlnaHQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9waGZfc2hhcmVkLTAuMTEuMi9zcmMvbGliLnJzAAAAQCsWAGEAAAA7AAAABQAAACJ1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dGVycz09PT0sNhYAawAAAJgCAAAcAAAAPDw8PDwgPj4+PiAALDYWAGsAAADKAgAAFgAAADQgaGV4IGNoYXJhY3RlcnMxLTYgaGV4IGNoYXJhY3RlcnMgaW4gdGhlIHJhbmdlIDAgdG8gMTBGRkZGLjEtNiBoZXggY2hhcmFjdGVycwAALDYWAGsAAAD3AwAAIAAAACw2FgBrAAAAKgUAAB4AAAAAAAAACAAAAAQAAABQAwAAQ2FwYWNpdHlPdmVyZmxvd0FsbG9jRXJybGF5b3V0UGFyYW1wYXQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zbWFsbHZlYy0xLjEzLjIvc3JjL2xpYi5ycwAAAD4EAAAEAAAABAAAAOIBAAAAAAAAAQAAAAEAAAAPAAAARXhwb3J0QWxsc3JjdHlwZV9vbmx5RXhwb3J0RGVjbGRlY2wAPwQAAAwAAAAEAAAAQAQAAEEEAAAEAAAABAAAAEIEAABzcGVjaWZpZXJzAABvKxgABAAAAGw4FgAKAAAAMTgWAAMAAAA0OBYACQAAAP8bGAAEAAAAPIgWAAUAAABJbXBvcnREZWNsRXhwb3J0TmFtZWRFeHBvcnREZWZhdWx0RGVjbEV4cG9ydERlZmF1bHRFeHByVHNJbXBvcnRFcXVhbHNUc05hbWVzcGFjZUV4cG9ydEV2YWx1YXRpb25Tb3VyY2VEZWZlck5hbWVkRXhwb3J0TmFtZXNwYWNlRGVmYXVsdE5hbWVkRXhwb3J0TmFtZWRTcGVjaWZpZXJvcmlnZXhwb3J0ZWRJbXBvcnROYW1lZFNwZWNpZmllcmxvY2FsaW1wb3J0ZWRJbXBvcnRTdGFyQXNTcGVjaWZpZXJFeHBvcnREZWZhdWx0U3BlY2lmaWVySW1wb3J0RGVmYXVsdFNwZWNpZmllckV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcgAAAKY3FgBfAAAAUgEAAC4AAACmNxYAXwAAAM4EAAAOAAAAYXNzZXJ0aW9uIGZhaWxlZDogaW5kZXggPCBsZW4AAACmNxYAXwAAAEgFAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogbmV3X2NhcCA+PSBsZW6mNxYAXwAAAJkEAAANAAAAzCsWAAgAAAAMLBYAJQAAACfLPdvRgDezjC0WAAEAAACULRYAAgAAAI1/ua40M6nWNC0WAAIAAABELRYACQAAACfLPdvRgDezAEHk9dgACwEBAEGB9tgAC+UIAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAFJlc3RQYXRJZlN0bXQAAAAAAAABAAAAAQAAAA8AAABBcnJheVBhdEMEAAAEAAAABAAAAJYBAABGb3JTdG10QXNzaWduUGF0T2JqZWN0UGF0RXhwclN0bXRXaXRoU3RtdEJyZWFrU3RtdEVtcHR5U3RtdEZvckluU3RtdEZvck9mU3RtdFRocm93U3RtdFdoaWxlU3RtdABEBAAAIAAAAAgAAAACAgAARQQAAAQAAAAEAAAAAwIAAEYEAAAMAAAABAAAAKIBAAAAAAAAAQAAAAEAAABHBAAAaXNfb3B0aW9uYWwAbysYAAQAAABHTRYAAwAAAEQvGAAFAAAAoYMWAAgAAAAETRYACQAAADiBFgAKAAAAeEoWAA0AAABNgRYACwAAABg8FgALAAAAhUoWAAsAAACrGhgACAAAAFwaGAAHAAAArYoWAAgAAABDbGFzc1Byb3BEZWNvcmF0b3JBc3NpZ25Qcm9wR2V0dGVyUHJvcE1ldGhvZFByb3BTZXR0ZXJQcm9wdGhpc19wYXJhbVJldHVyblN0bXRTd2l0Y2hDYXNlU3dpdGNoU3RtdGRpc2NyaW1pbmFudGNhc2VzQ2F0Y2hDbGF1c2VEb1doaWxlU3RtdExhYmVsZWRTdG10Q29uc3RydWN0b3JQcml2YXRlTWV0aG9kUHJpdmF0ZVByb3BTdGF0aWNCbG9ja0F1dG9BY2Nlc3NvcgAASAQAAAQAAAAEAAAASQQAAAAAAAABAAAAAQAAAEoEAABvKxgABAAAAEdNFgADAAAAcBwYAAgAAAB6ihYABAAAAARNFgAJAAAAeEoWAA0AAABNgRYACwAAABg8FgALAAAAhUoWAAsAAABDbGFzc01ldGhvZABLBAAADAAAAAQAAABMBAAATQQAABgAAAAEAAAATgQAAG8rGAAEAAAAZIgWAAQAAABHTRYAAwAAACiJFgAGAAAALokWAAQAAAB4ShYADQAAABg8FgALAAAATwQAABAAAAAIAAAAUAQAAG8rGAAEAAAAZIgWAAQAAABHTRYAAwAAAEQvGAAFAAAAoYMWAAgAAAAETRYACQAAADiBFgAKAAAAeEoWAA0AAAAYPBYACwAAAIVKFgALAAAAqxoYAAgAAACtihYACAAAAE1vZHVsZURlY2xTdG10QXNzaWduUGF0UHJvcEtleVZhbHVlUHJvcENvbnRpbnVlU3RtdERlYnVnZ2VyU3RtdABRBAAAIAAAAAgAAABSBAAAbysYAAQAAABHTRYAAwAAAEQvGAAFAAAAoYMWAAgAAAAETRYACQAAADiBFgAKAAAAeEoWAA0AAABNgRYACwAAAIVKFgALAAAArYoWAAgAAABCaW5kaW5nSWRlbnRLZXlWYWx1ZVBhdFByb3BDb21wdXRlZFByb3BOYW1lAFMEAEHo/9gAC8OWAVQEAABVBAAAVgQAAFcEAABYBAAAWQQAAFUEAABaBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAYQQAAGIEAABjBAAAYwQAAGMEAABjBAAAYwQAAGMEAABjBAAAYwQAAGMEAABkBAAAZQQAAGYEAABnBAAAZgQAAGgEAABpBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABXBAAAVwQAAFcEAABqBAAAVwQAAGsEAABsBAAAVwQAAG0EAABuBAAAbwQAAHAEAABxBAAAcgQAAHMEAAB0BAAAVwQAAHUEAABXBAAAdgQAAHcEAAB4BAAAeQQAAHoEAAB7BAAAVwQAAHwEAAB9BAAAfgQAAH8EAACABAAAgQQAAFcEAACCBAAAVwQAAIMEAACEBAAAhQQAAIYEAACHBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAACIBAAAiAQAAIgEAABe7hcAYQAAAOUAAAAmAAAAXu4XAGEAAAD6AAAAQQAAAF7uFwBhAAAA0AAAAA4AAABe7hcAYQAAACsCAAAOAAAAXu4XAGEAAAAuAgAADgAAAAAAAAABAAAAAQAAADABAABQYXJzZUludEVycm9yZmFpbGVkIHRvIHBhcnNlIHN0cmluZyBhcyBudW1iZXIvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9wYXJzZXItNi4wLjEvc3JjL2xleGVyL2pzeC5yc/FDFgBrAAAAhwAAAC8AAABmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIGFzIGNoYXIAAPFDFgBrAAAAiQAAAA4AAABxdW90YW1wYXBvc2x0Z3RuYnNwaWV4Y2xjZW50cG91bmRjdXJyZW55ZW5icnZiYXJzZWN0dW1sY29weW9yZGZsYXF1b25vdHNoeXJlZ21hY3JkZWdwbHVzbW5zdXAyc3VwM2FjdXRlbWljcm9wYXJhbWlkZG90Y2VkaWxzdXAxb3JkbXJhcXVvZnJhYzE0ZnJhYzEyZnJhYzM0aXF1ZXN0QWdyYXZlQWFjdXRlQWNpcmNBdGlsZGVBdW1sQXJpbmdBRWxpZ0NjZWRpbEVncmF2ZUVhY3V0ZUVjaXJjRXVtbElncmF2ZUlhY3V0ZUljaXJjSXVtbEVUSE50aWxkZU9ncmF2ZU9hY3V0ZU9jaXJjT3RpbGRlT3VtbHRpbWVzT3NsYXNoVWdyYXZlVWFjdXRlVWNpcmNVdW1sWWFjdXRlVEhPUk5zemxpZ2FncmF2ZWFhY3V0ZWFjaXJjYXRpbGRlYXVtbGFyaW5nYWVsaWdjY2VkaWxlZ3JhdmVlYWN1dGVlY2lyY2V1bWxpZ3JhdmVpYWN1dGVpY2lyY2l1bWxldGhudGlsZGVvZ3JhdmVvYWN1dGVvY2lyY290aWxkZW91bWxkaXZpZGVvc2xhc2h1Z3JhdmV1YWN1dGV1Y2lyY3V1bWx5YWN1dGV0aG9ybnl1bWxPRWxpZ29lbGlnU2Nhcm9uc2Nhcm9uWXVtbGZub2ZjaXJjdGlsZGVBbHBoYUJldGFHYW1tYURlbHRhRXBzaWxvblpldGFFdGFUaGV0YUlvdGFLYXBwYUxhbWJkYU11TnVYaU9taWNyb25QaVJob1NpZ21hVGF1VXBzaWxvblBoaUNoaVBzaU9tZWdhYWxwaGFiZXRhZ2FtbWFkZWx0YWVwc2lsb256ZXRhZXRhdGhldGFpb3Rha2FwcGFsYW1iZGFtdW51eGlvbWljcm9ucGlyaG9zaWdtYWZzaWdtYXRhdXVwc2lsb25waGljaGlwc2lvbWVnYXRoZXRhc3ltdXBzaWhwaXZlbnNwZW1zcHRoaW5zcHp3bmp6d2pscm1ybG1uZGFzaG1kYXNobHNxdW9yc3F1b3NicXVvbGRxdW9yZHF1b2JkcXVvZGFnZ2VyRGFnZ2VyYnVsbGhlbGxpcHBlcm1pbHByaW1lUHJpbWVsc2FxdW9yc2FxdW9vbGluZWZyYXNsZXVyb2ltYWdld2VpZXJwcmVhbHRyYWRlYWxlZnN5bWxhcnJ1YXJycmFycmRhcnJoYXJyY3JhcnJsQXJydUFycnJBcnJkQXJyaEFycmZvcmFsbHBhcnRleGlzdGVtcHR5bmFibGFpc2lubm90aW5uaXByb2RzdW1taW51c2xvd2FzdHJhZGljaW5maW5hbmdhbmRvcmNhcGN1cGludHRoZXJlNHNpbWNvbmdhc3ltcG5lZXF1aXZsZWdlc3Vic3VwbnN1YnN1YmVzdXBlb3BsdXNvdGltZXNwZXJwc2RvdGxjZWlscmNlaWxsZmxvb3JyZmxvb3JsYW5ncmFuZ2xvenNwYWRlc2NsdWJzaGVhcnRzZGlhbXNCb29sTnVsbE51bUJpZ0ludFJlZ2V4SlNYVGV4dGV4cGZsYWdzTnVtYmVySlNYQXR0ckpTWEVtcHR5RXhwcklkZW50TmFtZUpTWEV4cHJDb250YWluZXJKU1hTcHJlYWRDaGlsZAAAAIkEAAAEAAAABAAAADYBAABUc0FzRXhwcooEAAAMAAAABAAAAAwCAABUc0ZuVHlwZWxpdHR5cGVfbmFtZUpTWENsb3NpbmdFbGVtZW50bnNKU1hDbG9zaW5nRnJhZ21lbnRKU1hPcGVuaW5nRnJhZ21lbnRlbGVtX3R5cGV0eXBlX3BhcmFtVHNFbnRpdHlOYW1lVHNFeHRlcm5hbE1vZHVsZVJlZgAAAEYEAAAMAAAABAAAAKIBAAAAAAAAAQAAAAEAAABHBAAAAAAAAAEAAAABAAAADwAAAAAAAAAEAAAABAAAAIsEAABhY2Nlc3NpYmlsaXR5aXNfb3ZlcnJpZGVwYXJhbQAAAG8rGAAEAAAAOIEWAAoAAAB4ShYADQAAAIVKFgALAAAAqxoYAAgAAACQShYABQAAAFRzUGFyYW1Qcm9wZWxlbV90eXBlcwAAAIwEAAAYAAAACAAAAMYBAACNBAAABAAAAAQAAACOBAAAAAAAAAQAAAAEAAAAjwQAAGlzX2luaXNfb3V0Y29uc3RyYWludAAAAG8rGAAEAAAApYoWAAQAAAAQSxYABQAAABVLFgAGAAAA5oMWAAgAAAAbSxYACgAAAAodGAAHAAAAVHNUeXBlUGFyYW1leHByX25hbWVUc1VuaW9uVHlwZXR5cGVzVHNFbnVtTWVtYmVycXVhbGlmaWVyAAAAAAAAAAEAAAABAAAAkAQAAJEEAAAwAAAACAAAAJIEAABuYW1lX3R5cGUAAABvKxgABAAAAKsaGAAIAAAADEoWAAoAAAC8SxYACQAAAGuIFgAIAAAAoYMWAAgAAABUc1RwbExpdFR5cGVQdWJsaWNQcm90ZWN0ZWRQcml2YXRlVHJ1ZVBsdXNNaW51c1RzTm9uTnVsbEV4cHJUc0NhbGxTaWduYXR1cmVEZWNsVHNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsVHNQcm9wZXJ0eVNpZ25hdHVyZVRzR2V0dGVyU2lnbmF0dXJlVHNTZXR0ZXJTaWduYXR1cmVUc01ldGhvZFNpZ25hdHVyZVRzSW5kZXhTaWduYXR1cmVUc1R1cGxlRWxlbWVudGxhYmVsdHlUc0ludGVyZmFjZUJvZHlUc1NhdGlzZmllc0V4cHJwYXJhbV9uYW1lAACTBAAABAAAAAQAAAADAgAAaXNfc3RhdGljY2hlY2tfdHlwZWV4dGVuZHNfdHlwZXRydWVfdHlwZWZhbHNlX3R5cGVUc0NvbnN0cnVjdG9yVHlwZWtleWNvbXB1dGVkVHNBbnlLZXl3b3JkVHNVbmtub3duS2V5d29yZFRzTnVtYmVyS2V5d29yZFRzT2JqZWN0S2V5d29yZFRzQm9vbGVhbktleXdvcmRUc0JpZ0ludEtleXdvcmRUc1N0cmluZ0tleXdvcmRUc1N5bWJvbEtleXdvcmRUc1ZvaWRLZXl3b3JkVHNVbmRlZmluZWRLZXl3b3JkVHNOdWxsS2V5d29yZFRzTmV2ZXJLZXl3b3JkVHNJbnRyaW5zaWNLZXl3b3JkAAAAAAAAAAQAAAAEAAAAQQIAAG8rGAAEAAAAR00WAAMAAABKTRYACAAAAGuIFgAIAAAAKIkWAAYAAAChgxYACAAAAEaJFgALAAAAVHNFeHBvcnRBc3NpZ25tZW50VHNFeHByV2l0aFR5cGVBcmdzVHNJbnRlcnNlY3Rpb25UeXBlb2JqX3R5cGVpbmRleF90eXBlbysYAAQAAACrGhgACAAAAEdNFgADAAAASk0WAAgAAABriBYACAAAAKGDFgAIAAAAVHNOYW1lc3BhY2VFeHBvcnREZWNsL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc21hcnRzdHJpbmctMS4wLjEvc3JjL29wcy5ycwAA7U4WAGEAAAB6AAAAOwAAAFVuZXhwZWN0ZWQgZW9mL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4xL3NyYy9lcnJvci5yc0RlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkVXNpbmcgZGVjbGFyYXRpb24gaXMgbm90IGFsbG93ZWRVc2luZyBkZWNsYXJhdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBmb3ItaW4gbG9vcFVzaW5nIGRlY2xhcmF0aW9uIGlzIG5vdCBlbmFibGVkLiBTZXQganNjLnBhcnNlci5leHBsaWNpdFJlc291cmNlTWFuYWdlbWVudCB0byB0cnVlVXNpbmcgZGVjbGFyYXRpb24gb25seSBhbGxvd3MgaWRlbnRpZmllcnNVc2luZyBkZWNsYXJhdGlvbiByZXF1aXJlcyBpbml0aWFsaXplcnByaXZhdGUgbmFtZXMgYXJlIG5vdCBhbGxvd2VkIGluIGludGVyZmFjZUludmFsaWQgYHN1cGVyKClgSW52YWxpZCBhY2Nlc3MgdG8gc3VwZXJJbmRleCBzdXBlciB3aXRoIHByaXZhdGUgbmFtZSBpcyBub3QgYWxsb3dlZCduZXcudGFyZ2V0JyBpcyBvbmx5IGFsbG93ZWQgaW4gdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiwgZnVuY3Rpb24gZXhwcmVzc2lvbiwgb3IgY2xhc3MuSW1wb3J0IGlzIG5vdCBhbGxvd2VkIGhlcmVBbiBhcnJvdyBmdW5jdGlvbiBpcyBub3QgYWxsb3dlZCBoZXJlYGV4cG9ydGAgaXMgbm90IGFsbG93ZWQgaGVyZUEgZ2V0dGVyIG9yIGEgc2V0dGVyIGNhbm5vdCBiZSByZWFkb25seUEgZ2V0dGVyIG9yIGEgc2V0dGVyIGNhbm5vdCBiZSBvcHRpb25hbEEgYGdldGAgYWNjZXNzb3IgY2Fubm90IGhhdmUgcGFyYW1ldGVyc0EgYHNldGAgYWNjZXNzb3IgbXVzdCBoYXZlIGV4YWN0bHkgb25lIHBhcmFtZXRlcnRvcCBsZXZlbCBhd2FpdCBpcyBvbmx5IGFsbG93ZWQgaW4gbW9kdWxlTGVnYWN5IGRlY2ltYWwgZXNjYXBlIGlzIG5vdCBwZXJtaXR0ZWQgaW4gc3RyaWN0IG1vZGVMZWdhY3kgb2N0YWwgZXNjYXBlIGlzIG5vdCBwZXJtaXR0ZWQgaW4gc3RyaWN0IG1vZGVJbnZhbGlkIGNoYXJhY3RlciBpbiBpZGVudGlmaWVyYSBiaW5hcnlhbiBvY3RhbGEgZGVjaW1hbGEgaGV4YWRlY2ltYWxFeHBlY3RlZCAgZGlnaXQAAACWUxYACQAAAJ9TFgAGAAAAbk8WAGcAAABCAQAAGgAAAFNldHRlciBzaG91bGQgaGF2ZSBleGFjdGx5IG9uZSBwYXJhbWV0ZXJSZXN0IHBhdHRlcm4gaXMgbm90IGFsbG93ZWQgaW4gc2V0dGVyVW50ZXJtaW5hdGVkIGJsb2NrIGNvbW1lbnRVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50RXhwZWN0ZWQgdW5pY29kZSBlc2NhcGVVbmV4cGVjdGVkIGVzY2FwZSBzZXF1ZW5jZSBpbiByZXNlcnZlZCB3b3JkOiAAYlQWAC0AAABVbnRlcm1pbmF0ZWQgcmVnZXhwIGxpdGVyYWxVbnRlcm1pbmF0ZWQgdGVtcGxhdGVJZGVudGlmaWVyIGNhbm5vdCBmb2xsb3cgbnVtYmVyVW5leHBlY3RlZCBjaGFyYWN0ZXIg51QWABUAAABJbnZhbGlkIHN0cmluZyBlc2NhcGVJbnZhbGlkIHVuaWNvZGUgZXNjYXBlQmFkIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2UsIGV4cGVjdGVkIAAvVRYAKAAAAEV4cGVjdGVkICssIC0gb3IgZGVjaW1hbCBkaWdpdCBhZnRlciBlTGVnYWN5IGNvbW1lbnRzIGNhbm5vdCBiZSB1c2VkIGluIG1vZHVsZSBjb2RlYCBjYW5ub3QgYmUgdXNlZCBhcyBhbiBpZGVudGlmaWVyIGluIHN0cmljdCBtb2RlAGwaGAABAAAAs1UWADAAAABgYXdhaXRgIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGlkZW50aWZpZXIgaW4gYW4gYXN5bmMgY29udGV4dCdldmFsJyBhbmQgJ2FyZ3VtZW50cycgY2Fubm90IGJlIHVzZWQgYXMgYSBiaW5kaW5nIGlkZW50aWZpZXIgaW4gc3RyaWN0IG1vZGUnYXJndW1lbnRzJyBpcyBvbmx5IGFsbG93ZWQgaW4gZnVuY3Rpb25zIGFuZCBjbGFzcyBtZXRob2RzSWxsZWdhbCAndXNlIHN0cmljdCcgZGlyZWN0aXZlIGluIGZ1bmN0aW9uIHdpdGggbm9uLXNpbXBsZSBwYXJhbWV0ZXIgbGlzdC4nKionIGNhbm5vdCBiZSBhcHBsaWVkIHRvIHVuYXJ5L2F3YWl0IGV4cHJlc3Npb24uVW5leHBlY3RlZCB0b2tlbiAnIydMaW5lQnJlYWsgY2Fubm90IGZvbGxvdyAndGhyb3cnVW5leHBlY3RlZCBsaW5lIGJyZWFrIGJldHdlZW4gYXJyb3cgaGVhZCBhbmQgYXJyb3dVbmV4cGVjdGVkIHRva2VuIGBgLiBFeHBlY3RlZCAAlVcWABIAAACnVxYADAAAACAsIG9yIAAAx1cWAAMAAAAgb3IgVW5leHBlY3RlZCB0b2tlbi4gRGlkIHlvdSBtZWFuIADYVxYAHwAAAJsaGAABAAAAY2Fubm90IGltcG9ydCBhcyByZXNlcnZlZCB3b3JkYXNzaWdubWVudCBwcm9wZXJ0eSBpcyBpbnZhbGlkIHN5bnRheEV4cGVjdGVkICcnLCBnb3QgJycAAEtYFgAKAAAAVVgWAAgAAABdWBYAAQAAAEV4cGVjdGVkICc7JywgJ30nIG9yIDxlb2Y+YXdhaXQqIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgYXN5bmMgZnVuY3Rpb25zIHByb3Bvc2FsLiBVc2UgUHJvbWlzZS5hbGwoKSBpbnN0ZWFkLkNhbm5vdCB1c2UgYSByZXNlcnZlZCB3b3JkIGFzIGEgc2hvcnRoYW5kIHByb3BlcnR5TnVsbGlzaCBjb2FsZXNjaW5nIG9wZXJhdG9yKD8/KSByZXF1aXJlcyBwYXJlbnMgd2hlbiBtaXhpbmcgd2l0aCBsb2dpY2FsIG9wZXJhdG9yc0Egc3dpdGNoIGJsb2NrIGNhbm5vdCBoYXZlIG11bHRpcGxlIGRlZmF1bHRzVHJhaWxpbmcgY29tbWEgaXNuJ3QgcGVybWl0dGVkIGFmdGVyIGEgcmVzdCBlbGVtZW50UmVzdCBlbGVtZW50IG11c3QgYmUgZmluYWwgZWxlbWVudFBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbiBjYW5ub3QgY29udGFpbiBzcHJlYWQgb3BlcmF0b3JQYXJlbnRoZXNpemVkIGV4cHJlc3Npb24gY2Fubm90IGJlIGVtcHR5Tm90IGEgcGF0dGVybk5vdCBhbiBleHByZXNzaW9uQ2Fubm90IGFzc2lnbiB0byB0aGlzSW52YWxpZCBhc3NpZ25tZW50IHRhcmdldEV4cGVjdGVkIGlkZW50RXhwZWN0ZWQgJzsnIG9yIGxpbmUgYnJlYWtMYWJlbCAgaXMgYWxyZWFkeSBkZWNsYXJlZAAAAL9aFgAGAAAAxVoWABQAAABBbiBhc3luYyBmdW5jdGlvbiBjYW5ub3QgYmUgZ2VuZXJhdG9yJ2ltcG9ydCcsIGFuZCAnZXhwb3J0JyBhcmUgbm90IHBlcm1pdHRlZCBoZXJlJ2ltcG9ydCcsIGFuZCAnZXhwb3J0JyBjYW5ub3QgYmUgdXNlZCBvdXRzaWRlIG9mIG1vZHVsZSBjb2RlJ2ltcG9ydC5tZXRhJyBjYW5ub3QgYmUgdXNlZCBvdXRzaWRlIG9mIG1vZHVsZSBjb2RlLkRlc3RydWN0dXJpbmcgYmluZGluZ3MgcmVxdWlyZSBpbml0aWFsaXplcnNXaXRoIHN0YXRlbWVudCBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGVSZXR1cm4gc3RhdGVtZW50IGlzIG5vdCBhbGxvd2VkIGhlcmVFeHBlY3RlZCBvbmUgdmFyaWFibGUgYmluZGluZ1VuZXhwZWN0ZWQgaW5pdGlhbGl6ZXIgaW4gZm9yIGluL29mIGxvb3BHZW5lcmF0b3Igb3IgYXN5bmMgZnVuY3Rpb24gY2Fubm90IGJlIGxhYmVsbGVkRnVuY3Rpb24gY2Fubm90IGJlIGxhYmVsbGVkIGluIHN0cmljdCBtb2RlJ3lpZWxkJyBjYW5ub3QgYmUgdXNlZCBhcyBhIHBhcmFtZXRlciB3aXRoaW4gZ2VuZXJhdG9yYGF3YWl0YCBleHByZXNzaW9ucyBjYW5ub3QgYmUgdXNlZCBpbiBhIHBhcmFtZXRlciBpbml0aWFsaXplci5mb3IgYXdhaXQgc3ludGF4IGlzIHZhbGlkIG9ubHkgZm9yIGZvci1vZiBzdGF0ZW1lbnRhd2FpdCBpc24ndCBhbGxvd2VkIGluIG5vbi1hc3luYyBmdW5jdGlvblVudGVybWluYXRlZCBKU1ggY29udGVudHNKU1ggYXR0cmlidXRlcyBtdXN0IG9ubHkgYmUgYXNzaWduZWQgYSBub24tZW1wdHkgZXhwcmVzc2lvbkpTWCB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIGFuIGV4cHJlc3Npb24gb3IgYSBxdW90ZWQgSlNYIHRleHRFeHBlY3RlZCBjb3JyZXNwb25kaW5nIEpTWCBjbG9zaW5nIHRhZyBmb3IgPD5FeHBlY3RlZCBjb3JyZXNwb25kaW5nIEpTWCBjbG9zaW5nIHRhZyBmb3IgPAAAAFVeFgAsAAAABRgYAAEAAABMZWFkaW5nIGRlY29yYXRvcnMgbXVzdCBiZSBhdHRhY2hlZCB0byBhIGNsYXNzIGRlY2xhcmF0aW9uVXNpbmcgdGhlIGV4cG9ydCBrZXl3b3JkIGJldHdlZW4gYSBkZWNvcmF0b3IgYW5kIGEgY2xhc3MgaXMgbm90IGFsbG93ZWQuIFBsZWFzZSB1c2UgYGV4cG9ydCBAZGVjIGNsYXNzYCBpbnN0ZWFkLkEgcmVxdWlyZWQgZWxlbWVudCBjYW5ub3QgZm9sbG93IGFuIG9wdGlvbmFsIGVsZW1lbnQuVHlwZXNjcmlwdCBwYXJhbWV0ZXIgcHJvcGVydHkgbXVzdCBiZSBhbiBpZGVudGlmaWVyIG9yIGFzc2lnbm1lbnQgcGF0dGVyblVuZXhwZWN0ZWQgc3BhY2UgYmV0d2VlbiAjIGFuZCBpZGVudGlmaWVyQ29uc3RydWN0b3IgY2FuJ3QgYmUgYW4gYXN5bmMgZnVuY3Rpb25DbGFzc2VzIG1heSBub3QgaGF2ZSBhIG5vbi1zdGF0aWMgZmllbGQgbmFtZWQgJ2NvbnN0cnVjdG9yJ0NsYXNzZXMgY2FuJ3QgaGF2ZSBhIHByaXZhdGUgZmllbGQgbmFtZWQgJyNjb25zdHJ1Y3RvcicuJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCB3aXRoIGEgcHJpdmF0ZSBpZGVudGlmaWVyAAAAXVgWAAEAAAB+YBYAMwAAAENsYXNzIGNvbnN0cnVjdG9yIGNhbid0IGJlIGFuIGFjY2Vzc29yLkEgbWV0aG9kIGNhbm5vdCBiZSByZWFkb25seUEgY29uc3RydWN0b3IgY2Fubm90IGJlIGdlbmVyYXRvckEgY2xhc3MgY2FuIG9ubHkgaGF2ZSBvbmUgY29uc3RydWN0b3JBIGJpbmRpbmcgcGF0dGVybiBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsIGluIGFuIGltcGxlbWVudGF0aW9uIHNpZ25hdHVyZS5TdXBlciBjYWxsIGNhbm5vdCBiZSBvcHRpb25hbENvbnN0cnVjdG9yIGluL2FmdGVyIGFuIG9wdGlvbmFsIGNoYWluaW5nIGlzIG5vdCBhbGxvd2VkLlRhZ2dlZCB0ZW1wbGF0ZSBsaXRlcmFsIGlzIG5vdCBhbGxvd2VkIGluIG9wdGlvbmFsIGNoYWluLlRyYWlsaW5nIGNvbW1hIGlzIGRpc2FsbG93ZWQgaW5zaWRlIGltcG9ydCguLi4pIGFyZ3VtZW50c2V4cG9ydCBkZWZhdWx0IHN0YXRlbWVudHMgcmVxdWlyZWQgZnJvbSAnLi4uJztgIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgYGZyb21gIGNsYXVzZQAAbBoYAAEAAACQYhYAJgAAAGAuLi5gIG11c3QgYmUgZm9sbG93ZWQgYnkgYW4gaWRlbnRpZmllciBpbiBkZWNsYXJhdGlvbiBjb250ZXh0c0EgbnVtZXJpYyBzZXBhcmF0b3IgaXMgb25seSBhbGxvd2VkIGJldHdlZW4gdHdvIGRpZ2l0c0Egc3RyaW5nIGxpdGVyYWwgY2Fubm90IGJlIHVzZWQgYXMgYW4gaW1wb3J0ZWQgYmluZGluZy4KLSBEaWQgeW91IG1lYW4gYGltcG9ydCB7ICIiIGFzIGZvbyB9YD8APWMWAFIAAACPYxYADAAAAEEgc3RyaW5nIGxpdGVyYWwgY2Fubm90IGJlIHVzZWQgYXMgYW4gZXhwb3J0ZWQgYmluZGluZyB3aXRob3V0IGBmcm9tYC4nY29uc3QnIGRlY2xhcmF0aW9ucyBtdXN0IGJlIGluaXRpYWxpemVkRHVwbGljYXRlZCByZWd1bGFyIGV4cHJlc3Npb24gZmxhZyAnJy4aZBYAJAAAAD5kFgACAAAAVW5rbm93biByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MuRXhwZWN0ZWQgYW4gaWRlbnRpZmllckV4cGVjdGVkIGEgc2VtaWNvbG9uVHJhaWxpbmcgY29tbWEgaXMgbm90IGFsbG93ZWRBIHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgbGFzdCBpbiBhIHBhcmFtZXRlciBsaXN0UGFyYW1ldGVyIGNhbm5vdCBoYXZlIHF1ZXN0aW9uIG1hcmsgYW5kIGluaXRpYWxpemVyJyBtb2RpZmllciBtdXN0IHByZWNlZGUgJycgbW9kaWZpZXIuXVgWAAEAAAAcZRYAGQAAADVlFgALAAAAJyBtb2RpZmllciBhbHJlYWR5IHNlZW4uXVgWAAEAAABYZRYAGAAAAGBkZWNsYXJlYCBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGNsYXNzIGVsZW1lbnRzIG9mIHRoaXMga2luZGBkZWNsYXJlYCBtb2RpZmllciBub3QgYWxsb3dlZCBmb3IgY29kZSBhbHJlYWR5IGluIGFuIGFtYmllbnQgY29udGV4dGBhc3luY2AgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgaGVyZUEgcmVzdCBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsQSByZXN0IHBhcmFtZXRlciBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplcmpzYy50YXJnZXQgc2hvdWxkIGJlIGVzNSBvciB1cHBlciB0byB1c2UgZ2V0dGVyIC8gc2V0dGVyTGVnYWN5IG9jdGFsIGxpdGVyYWxzIGFyZSBub3QgYXZhaWxhYmxlIHdoZW4gdGFyZ2V0aW5nIEVDTUFTY3JpcHQgNSBhbmQgaGlnaGVyJyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgY29uc3RydWN0b3IgZGVjbGFyYXRpb24AAABdWBYAAQAAAPxmFgA1AAAAVHlwZSBwYXJhbWV0ZXJzIGNhbm5vdCBhcHBlYXIgb24gYSBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbkFuIGluZGV4IHNpZ25hdHVyZSBtdXN0IGhhdmUgZXhhY3RseSBvbmUgcGFyYW1ldGVyVHlwZSBwYXJhbWV0ZXIgbGlzdCBjYW5ub3QgYmUgZW1wdHlJbnZhbGlkIHVzZSBvZiAnYXJndW1lbnRzJyBpbiBzdHJpY3QgbW9kZSdkZWxldGUnIGNhbm5vdCBiZSBjYWxsZWQgb24gYW4gaWRlbnRpZmllciBpbiBzdHJpY3QgbW9kZUEgJ2JyZWFrJyBzdGF0ZW1lbnQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYW4gZW5jbG9zaW5nIGl0ZXJhdGlvbiBvciBzd2l0Y2ggc3RhdGVtZW50VGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgYGZvci4uLm9mYCBzdGF0ZW1lbnQgbWF5IG5vdCBiZSBgYXN5bmNgSnVtcCB0YXJnZXQgY2Fubm90IGNyb3NzIGZ1bmN0aW9uIGJvdW5kYXJ5RXhwcmVzc2lvbiBleHBlY3RlZHR5cGUgZXhwZWN0ZWREdXBsaWNhdGUgbGFiZWxBICdjb250aW51ZScgc3RhdGVtZW50IGNhbiBvbmx5IGp1bXAgdG8gYSBsYWJlbCBvZiBhbiBlbmNsb3NpbmcgaXRlcmF0aW9uIHN0YXRlbWVudEEgJ2JyZWFrJyBzdGF0ZW1lbnQgY2FuIG9ubHkganVtcCB0byBhIGxhYmVsIG9mIGFuIGVuY2xvc2luZyBzdGF0ZW1lbnRWYXJpYWJsZSBkZWNsYXJhdGlvbiBsaXN0IGNhbm5vdCBiZSBlbXB0eWxpdGVyYWwgaW4gYW4gaW1wb3J0IHR5cGUgc2hvdWxkIGJlIHN0cmluZyBsaXRlcmFsQW4gb2JqZWN0IG1lbWJlciBjYW5ub3QgYmUgZGVjbGFyZWQgb3B0aW9uYWxDb21wdXRlZCBwcm9wZXJ0eSBuYW1lcyBhcmUgbm90IGFsbG93ZWQgaW4gZW51bXNBIGNvbW1hIGV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgaW4gYSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lYGV4dGVuZHNgIGNsYXVzZSBhbHJlYWR5IHNlZW4uJ2V4dGVuZHMnIGNsYXVzZSBtdXN0IHByZWNlZGUgJ2ltcGxlbWVudHMnIGNsYXVzZS5DbGFzc2VzIGNhbiBvbmx5IGV4dGVuZCBhIHNpbmdsZSBjbGFzc2BpbXBsZW1lbnRzYCBjbGF1c2UgYWxyZWFkeSBzZWVuQW4gaW1wbGVtZW50YXRpb24gY2Fubm90IGJlIGRlY2xhcmVkIGluIGFtYmllbnQgY29udGV4dHNNb2RpZmllcnMgY2Fubm90IGFwcGVhciBoZXJlTWVyZ2UgY29uZmxpY3QgbWFya2VyIGVuY291bnRlcmVkLlR5cGUgYW5ub3RhdGlvbiBjYW5ub3QgYXBwZWFyIG9uIGEgY29uc3RydWN0b3IgZGVjbGFyYXRpb25DYXRjaCBjbGF1c2UgdmFyaWFibGUgY2Fubm90IGhhdmUgYSB0eXBlIGFubm90YXRpb25gYWJzdHJhY3RgIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIGNsYXNzIG9yIG1ldGhvZCBkZWNsYXJhdGlvbicgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgd2l0aCAnAAAAXVgWAAEAAABtbBYAIAAAADVlFgALAAAAQWJzdHJhY3QgbWV0aG9kcyBjYW4gb25seSBhcHBlYXIgd2l0aGluIGFuIGFic3RyYWN0IGNsYXNzLkFic3RyYWN0IG1ldGhvZCBjYW5ub3QgaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbi5BYnN0cmFjdCBwcm9wZXJ0eSBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplci4nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSB0eXBlIHBhcmFtZXRlcgAAAF1YFgABAAAAPW0WACwAAAAnIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIHR5cGUgcGFyYW1ldGVyIG9mIGEgY2xhc3MsIGludGVyZmFjZSBvciB0eXBlIGFsaWFzAABdWBYAAQAAAHxtFgBSAAAAJyBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gYSB0eXBlIHBhcmFtZXRlciBvZiBhIGZ1bmN0aW9uLCBtZXRob2Qgb3IgY2xhc3MAAABdWBYAAQAAAOBtFgBNAAAAVGhlICd0eXBlJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBvbiBhIG5hbWVkIGltcG9ydCB3aGVuICdpbXBvcnQgdHlwZScgaXMgdXNlZCBvbiBpdHMgaW1wb3J0IHN0YXRlbWVudC5UaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgZXhwb3J0IHdoZW4gJ2V4cG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBleHBvcnQgc3RhdGVtZW50LkEgcGFyYW1ldGVyIHByb3BlcnR5IGlzIG9ubHkgYWxsb3dlZCBpbiBhIGNvbnN0cnVjdG9yIGltcGxlbWVudGF0aW9uQSBwYXJhbWV0ZXIgaW5pdGlhbGl6ZXIgaXMgb25seSBhbGxvd2VkIGluIGEgZnVuY3Rpb24gb3IgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb25UaGUgbGVmdC1oYW5kIHNpZGUgb2YgYW4gYXNzaWdubWVudCBleHByZXNzaW9uIG11c3QgYmUgYSB2YXJpYWJsZSBvciBhIHByb3BlcnR5IGFjY2Vzcy5UaGUgJ3dpdGgnIHN0YXRlbWVudCBpcyBub3Qgc3VwcG9ydGVkLiBBbGwgc3ltYm9scyBpbiBhICd3aXRoJyBibG9jayB3aWxsIGhhdmUgdHlwZSAnYW55Jy5JbnZhbGlkIGNsYXNzIG5hbWVpbnRlcmZhY2UgbmFtZSBpcyBpbnZhbGlkQW4gZW51bSBtZW1iZXIgY2Fubm90IGhhdmUgYSBudW1lcmljIG5hbWVUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSAnZm9yLi4ub2YnIHN0YXRlbWVudCBjYW5ub3QgdXNlIGEgdHlwZSBhbm5vdGF0aW9uVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLmluJyBzdGF0ZW1lbnQgY2Fubm90IGJlIGEgZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuQW4gaW50ZXJmYWNlIGNhbiBvbmx5IGV4dGVuZCBhbiBpZGVudGlmaWVyL3F1YWxpZmllZC1uYW1lIHdpdGggb3B0aW9uYWwgdHlwZSBhcmd1bWVudHMuVGhlIG9wZXJhbmQgb2YgYSBkZWxldGUgb3BlcmF0b3IgbXVzdCBiZSBhIHByb3BlcnR5IHJlZmVyZW5jZS5UaGlzIG1lbWJlciBjYW5ub3QgaGF2ZSBhbiAnb3ZlcnJpZGUnIG1vZGlmaWVyIGJlY2F1c2UgaXRzIGNvbnRhaW5pbmcgY2xhc3MgZG9lcyBub3QgZXh0ZW5kIGFub3RoZXIgY2xhc3MuRGVjb3JhdG9ycyBtYXkgbm90IGFwcGVhciBhZnRlciBgZXhwb3J0YCBvciBgZXhwb3J0IGRlZmF1bHRgIGlmIHRoZXkgYWxzbyBhcHBlYXIgYmVmb3JlIGBleHBvcnRgLkFuIGFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgd2l0aCBhIHByaXZhdGUgaWRlbnRpZmllci5UeXBlIGFubm90YXRpb25zIG11c3QgY29tZSBiZWZvcmUgZGVmYXVsdCBhc3NpZ25tZW50c1R5cGVzY3JpcHQgbm9uLW51bGwgYXNzZXJ0aW9uIG9wZXJhdG9yIGlzIG5vdCBhbGxvd2VkIHdpdGggJwAbcxYAPAAAAF1YFgABAAAAVGhpcyBzeW50YXggaXMgcmVzZXJ2ZWQgaW4gZmlsZXMgd2l0aCB0aGUgLm10cyBvciAuY3RzIGV4dGVuc2lvbi4gVXNlIGFuIGBhc2AgZXhwcmVzc2lvbiBpbnN0ZWFkLlRoaXMgc3ludGF4IGlzIHJlc2VydmVkIGluIGZpbGVzIHdpdGggdGhlIC5tdHMgb3IgLmN0cyBleHRlbnNpb24uIEFkZCBhIHRyYWlsaW5nIGNvbW1hLCBhcyBpbiBgPFQsPigpID0+IC4uLmAuVGhpcyBpcyB0aGUgZXhwcmVzc2lvbiBwYXJ0IG9mIGFuIGV4cHJlc3Npb24gc3RhdGVtZW50cHJldmlvdXMgZGVmYXVsdCBjYXNlIGlzIGRlY2xhcmVkIGF0IGhlcmVFb2ZEZWNsTm90QWxsb3dlZFVzaW5nRGVjbE5vdEFsbG93ZWRVc2luZ0RlY2xOb3RBbGxvd2VkRm9yRm9ySW5Mb29wVXNpbmdEZWNsTm90RW5hYmxlZEludmFsaWROYW1lSW5Vc2luZ0RlY2xJbml0UmVxdWlyZWRGb3JVc2luZ0RlY2xQcml2YXRlTmFtZUluSW50ZXJmYWNlSW52YWxpZFN1cGVyQ2FsbEludmFsaWRTdXBlckludmFsaWRTdXBlclByaXZhdGVOYW1lSW52YWxpZE5ld1RhcmdldEludmFsaWRJbXBvcnRBcnJvd05vdEFsbG93ZWRFeHBvcnROb3RBbGxvd2VkR2V0dGVyU2V0dGVyQ2Fubm90QmVSZWFkb25seUdldHRlclNldHRlckNhbm5vdEJlT3B0aW9uYWxHZXR0ZXJQYXJhbVNldHRlclBhcmFtVG9wTGV2ZWxBd2FpdEluU2NyaXB0TGVnYWN5RGVjaW1hbExlZ2FjeU9jdGFsSW52YWxpZElkZW50Q2hhckV4cGVjdGVkRGlnaXRyYWRpeFNldHRlclBhcmFtUmVxdWlyZWRSZXN0UGF0SW5TZXR0ZXJVbnRlcm1pbmF0ZWRCbG9ja0NvbW1lbnRVbnRlcm1pbmF0ZWRTdHJMaXRFeHBlY3RlZFVuaWNvZGVFc2NhcGVFc2NhcGVJblJlc2VydmVkV29yZHdvcmRVbnRlcm1pbmF0ZWRSZWdFeHBVbnRlcm1pbmF0ZWRUcGxJZGVudEFmdGVyTnVtVW5leHBlY3RlZENoYXJjSW52YWxpZFN0ckVzY2FwZUludmFsaWRVbmljb2RlRXNjYXBlQmFkQ2hhcmFjdGVyRXNjYXBlU2VxdWVuY2VleHBlY3RlZE51bUxpdFRlcm1pbmF0ZWRXaXRoRXhwTGVnYWN5Q29tbWVudEluTW9kdWxlSW52YWxpZElkZW50SW5TdHJpY3RJbnZhbGlkSWRlbnRJbkFzeW5jRXZhbEFuZEFyZ3VtZW50c0luU3RyaWN0QXJndW1lbnRzSW5DbGFzc0ZpZWxkSWxsZWdhbExhbmd1YWdlTW9kZURpcmVjdGl2ZVVuYXJ5SW5FeHBsZWZ0X3NwYW5IYXNoTGluZUJyZWFrSW5UaHJvd0xpbmVCcmVha0JlZm9yZUFycm93VW5leHBlY3RlZGdvdFVuZXhwZWN0ZWRUb2tlbldpdGhTdWdnZXN0aW9uc2NhbmRpZGF0ZV9saXN0UmVzZXJ2ZWRXb3JkSW5JbXBvcnRBc3NpZ25Qcm9wZXJ0eUV4cGVjdGVkRXhwZWN0ZWRTZW1pRm9yRXhwclN0bXRBd2FpdFN0YXJSZXNlcnZlZFdvcmRJbk9ialNob3J0aGFuZE9yUGF0TnVsbGlzaENvYWxlc2NpbmdXaXRoTG9naWNhbE9wTXVsdGlwbGVEZWZhdWx0cHJldmlvdXNDb21tYUFmdGVyUmVzdEVsZW1lbnROb25MYXN0UmVzdFBhcmFtU3ByZWFkSW5QYXJlbkV4cHJFbXB0eVBhcmVuRXhwckludmFsaWRQYXRJbnZhbGlkRXhwck5vdFNpbXBsZUFzc2lnbkludmFsaWRBc3NpZ25UYXJnZXRFeHBlY3RlZElkZW50RXhwZWN0ZWRTZW1pRHVwbGljYXRlTGFiZWxBc3luY0dlbmVyYXRvck5vblRvcExldmVsSW1wb3J0RXhwb3J0SW1wb3J0RXhwb3J0SW5TY3JpcHRJbXBvcnRNZXRhSW5TY3JpcHRQYXRWYXJXaXRob3V0SW5pdFdpdGhJblN0cmljdFJldHVybk5vdEFsbG93ZWRUb29NYW55VmFySW5Gb3JJbkhlYWRWYXJJbml0aWFsaXplckluRm9ySW5IZWFkTGFiZWxsZWRHZW5lcmF0b3JPckFzeW5jTGFiZWxsZWRGdW5jdGlvbkluU3RyaWN0WWllbGRQYXJhbUluR2VuQXdhaXRQYXJhbUluQXN5bmNBd2FpdEZvclN0bXRBd2FpdEluRnVuY3Rpb25VbnRlcm1pbmF0ZWRKU1hDb250ZW50c0VtcHR5SlNYQXR0ckludmFsaWRKU1hWYWx1ZUpTWEV4cGVjdGVkQ2xvc2luZ1RhZ0Zvckx0R3RKU1hFeHBlY3RlZENsb3NpbmdUYWdJbnZhbGlkTGVhZGluZ0RlY29yYXRvckRlY29yYXRvck9uRXhwb3J0VHNSZXF1aXJlZEFmdGVyT3B0aW9uYWxUc0ludmFsaWRQYXJhbVByb3BQYXRTcGFjZUJldHdlZW5IYXNoQW5kSWRlbnRBc3luY0NvbnN0cnVjdG9yUHJvcGVydHlOYW1lZENvbnN0cnVjdG9yUHJpdmF0ZUNvbnN0cnVjdG9yUHJpdmF0ZU5hbWVNb2RpZmllckNvbnN0cnVjdG9yQWNjZXNzb3JSZWFkT25seU1ldGhvZEdlbmVyYXRvckNvbnN0cnVjdG9yRHVwbGljYXRlQ29uc3RydWN0b3JUc0JpbmRpbmdQYXRDYW5ub3RCZU9wdGlvbmFsU3VwZXJDYWxsT3B0aW9uYWxPcHRDaGFpbkNhbm5vdEZvbGxvd0NvbnN0cnVjdG9yQ2FsbFRhZ2dlZFRwbEluT3B0Q2hhaW5UcmFpbGluZ0NvbW1hSW5zaWRlSW1wb3J0RXhwb3J0RGVmYXVsdFdpdGhPdXRGcm9tRXhwb3J0RXhwZWN0RnJvbURvdHNXaXRob3V0SWRlbnRpZmllck51bWVyaWNTZXBhcmF0b3JJc0FsbG93ZWRPbmx5QmV0d2VlblR3b0RpZ2l0c0ltcG9ydEJpbmRpbmdJc1N0cmluZ0V4cG9ydEJpbmRpbmdJc1N0cmluZ0NvbnN0RGVjbGFyYXRpb25zUmVxdWlyZUluaXRpYWxpemF0aW9uRHVwbGljYXRlZFJlZ0V4cEZsYWdzVW5rbm93blJlZ0V4cEZsYWdzVFMxMDAzVFMxMDA1VFMxMDA5VFMxMDE0VFMxMDE1VFMxMDI5VFMxMDMwVFMxMDMxVFMxMDM4VFMxMDQyVFMxMDQ3VFMxMDQ4VFMxMDU2VFMxMDg1VFMxMDg5VFMxMDkyVFMxMDk2VFMxMDk4VFMxMTAwVFMxMTAyVFMxMTA1VFMxMTA2VFMxMTA3VFMxMTA5VFMxMTEwVFMxMTE0VFMxMTE1VFMxMTE2VFMxMTIzVFMxMTQxVFMxMTYyVFMxMTY0VFMxMTcxVFMxMTcyVFMxMTczVFMxMTc0VFMxMTc1VFMxMTgzVFMxMTg0VFMxMTg1VFMxMDkzVFMxMTk2VFMxMjQyVFMxMjQzVFMxMjQ0VFMxMjQ1VFMxMjY3VFMxMjczVFMxMjc0VFMxMjc3VFMyMjA2VFMyMjA3VFMyMzY5VFMyMzcxVFMyNDA2VFMyNDEwVFMyNDE0VFMyNDI3VFMyNDUyVFMyNDgzVFMyNDkxVFMyNDk5VFMyNzAzVFM0MTEyVFM4MDM4VFMxODAxMFRTVHlwZUFubm90YXRpb25BZnRlckFzc2lnblRzTm9uTnVsbEFzc2VydGlvbk5vdEFsbG93ZWRXaXRoTGFiZWxpbm5lcm5vdGVSZXNlcnZlZFR5cGVBc3NlcnRpb25SZXNlcnZlZEFycm93VHlwZVBhcmFtL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4xL3NyYy9sZXhlci91dGlsLnJzU3RyVGhpc1VuYXJ5VXBkYXRlQmluQ29uZENhbGxOZXdTZXFMaXRBcnJvd1lpZWxkTWV0YVByb3BBd2FpdEpTWE1lbWJlckpTWE5hbWVzcGFjZWROYW1lSlNYRW1wdHlKU1hFbGVtZW50SlNYRnJhZ21lbnRUc0NvbnN0QXNzZXJ0aW9uU2hvcnRoYW5kS2V5VmFsdWVHZXR0ZXJTZXR0ZXJNZXRob2RCbG9ja0RlYnVnZ2VyV2l0aFJldHVybkxhYmVsZWRCcmVha0NvbnRpbnVlSWZTd2l0Y2hUaHJvd1RyeVdoaWxlRG9XaGlsZUZvckZvckluRm9yT2ZEZWNsAEYEAAAMAAAABAAAAKIBAACUBAAADAAAAAQAAACVBAAAlgQAAAQAAAAEAAAAlgEAAAAAAAABAAAAAQAAAA8AAACXBAAABAAAAAQAAABCAgAAmAQAAAQAAAAEAAAAdAIAAAAAAAAEAAAABAAAAJkEAABkZWNvcmF0b3Jzc3VwZXJfY2xhc3Npc19hYnN0cmFjdHN1cGVyX3R5cGVfcGFyYW1zAAAAbysYAAQAAABkiBYABAAAADiBFgAKAAAALokWAAQAAABCgRYACwAAAE2BFgALAAAARokWAAsAAABYgRYAEQAAAHAdGAAKAAAAVmFyRGVjbGRlY2xzVHJ5U3RtdGJsb2NraGFuZGxlcmZpbmFsaXplckpTWE1lbWJlckV4cHJVc2luZ0RlY2xpc19hd2FpdG9wZW5pbmdjbG9zaW5nQmxvY2tTdG10c3RtdHMAAJoEAAAMAAAABAAAAJsEAACcBAAAGAAAAAQAAABOBAAAKIkWAAYAAAA4gRYACgAAAG8rGAAEAAAAZIgWAAQAAAAuiRYABAAAADqJFgAMAAAAMokWAAgAAABGiRYACwAAAFGJFgALAAAARnVuY3Rpb25Uc0tleXdvcmRUeXBlVHNUaGlzVHlwZVRzRm5PckNvbnN0cnVjdG9yVHlwZVRzVHlwZVJlZlRzVHlwZVF1ZXJ5VHNUeXBlTGl0VHNBcnJheVR5cGVUc1R1cGxlVHlwZVRzT3B0aW9uYWxUeXBlVHNSZXN0VHlwZVRzVW5pb25PckludGVyc2VjdGlvblR5cGVUc0NvbmRpdGlvbmFsVHlwZVRzSW5mZXJUeXBlVHNQYXJlbnRoZXNpemVkVHlwZVRzVHlwZU9wZXJhdG9yVHNJbmRleGVkQWNjZXNzVHlwZVRzTWFwcGVkVHlwZVRzTGl0VHlwZVRzVHlwZVByZWRpY2F0ZVRzSW1wb3J0VHlwZVRzVHlwZUFubnR5cGVfYW5uSlNYT3BlbmluZ0VsZW1lbnRhdHRyc3NlbGZfY2xvc2luZwCMBAAAGAAAAAgAAADGAQAAVHNFbnVtRGVjbGlzX2NvbnN0bWVtYmVyc1RzUXVhbGlmaWVkTmFtZVRzTW9kdWxlRGVjbJ0EAAAMAAAABAAAAJ4EAAAAAAAABAAAAAQAAACfBAAAbysYAAQAAACwrhYAAgAAAFwaGAAHAAAARokWAAsAAACUGhgABwAAAC6JFgAEAAAAVHNJbnRlcmZhY2VEZWNsVHNNb2R1bGVCbG9ja1RzTmFtZXNwYWNlRGVjbFRzVHlwZUFsaWFzRGVjbFRzVHlwZVBhcmFtRGVjbFRzSW1wb3J0RXF1YWxzRGVjbGlzX2V4cG9ydGlzX3R5cGVfb25seW1vZHVsZV9yZWZUc1R5cGVQYXJhbUluc3RhbnRpYXRpb24AAFgaGAACAAAAPx0YAAEAAADdHBgAAQAAALwaGAABAAAAoRoYAAMAAAC/FxgAAQAAAFcaGAABAAAAYNAYAAEAAACkGhgAAQAAAKUaGAABAAAAWhoYAAEAAABbGhgAAQAAALEXGAABAAAA+hsYAAEAAABsGhgAAQAAAHRlbXBsYXRlIHRva2VuIChshRYAEAAAAGDQGAABAAAAnBoYAAEAAACAGhgAAgAAAJsaGAABAAAAHRgYAAIAAAAfGBgAAgAAAMAXGAABAAAAc3RyaW5nIGxpdGVyYWwgKLyFFgAQAAAAoDMYAAIAAABg0BgAAQAAAHJlZ2V4cCBsaXRlcmFsICjkhRYAEAAAAKAzGAACAAAAYNAYAAEAAABudW1lcmljIGxpdGVyYWwgKAAAAAyGFgARAAAAoDMYAAIAAABg0BgAAQAAAGJpZ2ludCBsaXRlcmFsICg4hhYAEAAAAKAzGAACAAAAYNAYAAEAAABqc3ggbmFtZSAoAABghhYACgAAAGDQGAABAAAAanN4IHRleHQgKAAAfIYWAAoAAABg0BgAAQAAAAD0FwARAAAAPiAoanN4IHRhZyBlbmQpAKCGFgAPAAAARBwYAAIAAAA8bGV4aW5nIGVycm9yOiAAwIYWAA8AAAAFGBgAAQAAAGNvbnRleHQuY3VycmVudCgpIGlmIFBhcmVuU3RtdCwgc28gcHJldiB0b2tlbiBjYW5ub3QgYmUgTm9uZXguGABtAAAAKwIAABoAAAAMAAAAeC4YAG0AAADpAQAALQAAAAEAAAAAAAAAvBoYAAEAAAABAAAAAAAAAJwaGAABAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogVXNpbmcgaXMgbm90IGEgdmFsaWQgZGVjbGFyYXRpb24gZm9yIGBkZWNsYXJlYCBrZXl3b3JkYIcWAGAAAABQ7xcAcwAAAAcLAAAcAAAAcGFja2FnZQAAAAAACAAAAAQAAAB7AAAAVHBsZXhwcnNxdWFzaXNTdXBlcgAAAAAAAQAAAAEAAAAPAAAARm5EZWNsaWRlbnRJbXBvcnRGbkV4cHIAAAAAAAQAAAAEAAAAgwIAAHBoYXNlAAAAAAAAAAQAAAAEAAAAyAEAAAAAAAAEAAAABAAAAJAAAABjdHh0c3ltb3B0aW9uYWxCaW5FeHByb3BsZWZ0cmlnaHROZXdFeHByY2FsbGVlYXJnc3R5cGVfYXJnc09wdENhbGxTZXFFeHByQXJyYXlMaXRlbGVtc0NhbGxFeHByQ29uZEV4cHJ0ZXN0Y29uc2FsdFRoaXNFeHByQ2xhc3NEZWNsAACgBAAADAAAAAQAAAChBAAAogQAAAQAAAAEAAAAowQAAJcEAAAEAAAABAAAAEICAAAAAAAABAAAAAQAAABAAQAAcGFyYW1zYm9keWlzX2FzeW5jaXNfZ2VuZXJhdG9ydHlwZV9wYXJhbXNyZXR1cm5fdHlwZW8rGAAEAAAAZIgWAAQAAAAoiRYABgAAAC6JFgAEAAAAMokWAAgAAAA6iRYADAAAAEaJFgALAAAAUYkWAAsAAABBcnJvd0V4cHJBd2FpdEV4cHJhcmdDbGFzc0V4cHJPYmplY3RMaXRwcm9wc1BhcmVuRXhwcmV4cHJDb21wdXRlZFRhZ2dlZFRwbHRhZ3RwbFVuYXJ5RXhwcllpZWxkRXhwcmRlbGVnYXRlQXNzaWduRXhwck1lbWJlckV4cHJvYmpwcm9wUHJpdmF0ZU5hbWVUcGxFbGVtZW50dGFpbGNvb2tlZHJhd1VwZGF0ZUV4cHJwcmVmaXhTaW1wbGVQYXRFeHByT3JTcHJlYWRzcHJlYWRNZXRhUHJvcEV4cHJraW5kT3B0Q2hhaW5FeHByYmFzZVNwcmVhZFByb3BWYXJEZWNsYXJhdG9ybmFtZWluaXRkZWZpbml0ZVNwcmVhZEVsZW1lbnRkb3QzX3Rva2VuU3VwZXJQcm9wRXhwck1lbWJlclN1cGVyUHJvcFBhcmVuT3B0Q2hhaW5Uc0FzVHNTYXRpc2ZpZXNUc05vbk51bGxUc1R5cGVBc3NlcnRpb25Uc0luc3RhbnRpYXRpb24AQdCW2gALEqQEAAClBAAApAQAAKQEAAClBABBrJfaAAsCpAQAQaya2gAL4qkFpgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAACmBAAApgQAAKYEAABzdHJ1Y3QgVHNTeW50YXgAua0WAHYAAAD9AAAAAQAAAF9hcHBseV9kZWNvcmF0ZWRfZGVzY3JpcHRvckBzd2MvaGVscGVycy9fL19hcHBseV9kZWNvcmF0ZWRfZGVzY3JpcHRvcl9hcnJheV9saWtlX3RvX2FycmF5QHN3Yy9oZWxwZXJzL18vX2FycmF5X2xpa2VfdG9fYXJyYXlfYXJyYXlfd2l0aF9ob2xlc0Bzd2MvaGVscGVycy9fL19hcnJheV93aXRoX2hvbGVzX2FycmF5X3dpdGhvdXRfaG9sZXNAc3djL2hlbHBlcnMvXy9fYXJyYXlfd2l0aG91dF9ob2xlc19hc3NlcnRfdGhpc19pbml0aWFsaXplZEBzd2MvaGVscGVycy9fL19hc3NlcnRfdGhpc19pbml0aWFsaXplZF9hc3luY19nZW5lcmF0b3JAc3djL2hlbHBlcnMvXy9fYXN5bmNfZ2VuZXJhdG9yX2FzeW5jX2dlbmVyYXRvcl9kZWxlZ2F0ZUBzd2MvaGVscGVycy9fL19hc3luY19nZW5lcmF0b3JfZGVsZWdhdGVfYXN5bmNfaXRlcmF0b3JAc3djL2hlbHBlcnMvXy9fYXN5bmNfaXRlcmF0b3JfYXN5bmNfdG9fZ2VuZXJhdG9yQHN3Yy9oZWxwZXJzL18vX2FzeW5jX3RvX2dlbmVyYXRvcl9hd2FpdF9hc3luY19nZW5lcmF0b3JAc3djL2hlbHBlcnMvXy9fYXdhaXRfYXN5bmNfZ2VuZXJhdG9yX2F3YWl0X3ZhbHVlQHN3Yy9oZWxwZXJzL18vX2F3YWl0X3ZhbHVlX2NhbGxfc3VwZXJAc3djL2hlbHBlcnMvXy9fY2FsbF9zdXBlcl9jaGVja19wcml2YXRlX3JlZGVjbGFyYXRpb25Ac3djL2hlbHBlcnMvXy9fY2hlY2tfcHJpdmF0ZV9yZWRlY2xhcmF0aW9uX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZGVzdHJ1Y3R1cmVAc3djL2hlbHBlcnMvXy9fY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9kZXN0cnVjdHVyZV9jbGFzc19hcHBseV9kZXNjcmlwdG9yX2dldEBzd2MvaGVscGVycy9fL19jbGFzc19hcHBseV9kZXNjcmlwdG9yX2dldF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3NldEBzd2MvaGVscGVycy9fL19jbGFzc19hcHBseV9kZXNjcmlwdG9yX3NldF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3VwZGF0ZUBzd2MvaGVscGVycy9fL19jbGFzc19hcHBseV9kZXNjcmlwdG9yX3VwZGF0ZV9jbGFzc19jYWxsX2NoZWNrQHN3Yy9oZWxwZXJzL18vX2NsYXNzX2NhbGxfY2hlY2tfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvckBzd2MvaGVscGVycy9fL19jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yX2NsYXNzX2V4dHJhY3RfZmllbGRfZGVzY3JpcHRvckBzd2MvaGVscGVycy9fL19jbGFzc19leHRyYWN0X2ZpZWxkX2Rlc2NyaXB0b3JfY2xhc3NfbmFtZV90ZHpfZXJyb3JAc3djL2hlbHBlcnMvXy9fY2xhc3NfbmFtZV90ZHpfZXJyb3JfY2xhc3NfcHJpdmF0ZV9maWVsZF9nZXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9nZXRfY2xhc3NfcHJpdmF0ZV9maWVsZF9pbml0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfaW5pdF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5X2NsYXNzX3ByaXZhdGVfZmllbGRfc2V0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfc2V0X2NsYXNzX3ByaXZhdGVfZmllbGRfdXBkYXRlQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfdXBkYXRlX2NsYXNzX3ByaXZhdGVfbWV0aG9kX2dldEBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX21ldGhvZF9nZXRfY2xhc3NfcHJpdmF0ZV9tZXRob2RfaW5pdEBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX21ldGhvZF9pbml0X2NsYXNzX3ByaXZhdGVfbWV0aG9kX3NldEBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX21ldGhvZF9zZXRfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19nZXRAc3djL2hlbHBlcnMvXy9fY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19nZXRfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19zZXRAc3djL2hlbHBlcnMvXy9fY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19zZXRfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfdXBkYXRlQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3VwZGF0ZV9jb25zdHJ1Y3RAc3djL2hlbHBlcnMvXy9fY29uc3RydWN0X2NyZWF0ZV9jbGFzc0Bzd2MvaGVscGVycy9fL19jcmVhdGVfY2xhc3NfZGVjb3JhdGVAc3djL2hlbHBlcnMvXy9fZGVjb3JhdGVfZGVmYXVsdHNAc3djL2hlbHBlcnMvXy9fZGVmYXVsdHNfZGVmaW5lX2VudW1lcmFibGVfcHJvcGVydGllc0Bzd2MvaGVscGVycy9fL19kZWZpbmVfZW51bWVyYWJsZV9wcm9wZXJ0aWVzX2RlZmluZV9wcm9wZXJ0eUBzd2MvaGVscGVycy9fL19kZWZpbmVfcHJvcGVydHlfZXhwb3J0X3N0YXJAc3djL2hlbHBlcnMvXy9fZXhwb3J0X3N0YXJfZXh0ZW5kc0Bzd2MvaGVscGVycy9fL19leHRlbmRzX2dldEBzd2MvaGVscGVycy9fL19nZXRfZ2V0X3Byb3RvdHlwZV9vZkBzd2MvaGVscGVycy9fL19nZXRfcHJvdG90eXBlX29mX2luaGVyaXRzQHN3Yy9oZWxwZXJzL18vX2luaGVyaXRzX2luaGVyaXRzX2xvb3NlQHN3Yy9oZWxwZXJzL18vX2luaGVyaXRzX2xvb3NlX2luaXRpYWxpemVyX2RlZmluZV9wcm9wZXJ0eUBzd2MvaGVscGVycy9fL19pbml0aWFsaXplcl9kZWZpbmVfcHJvcGVydHlfaW5pdGlhbGl6ZXJfd2FybmluZ19oZWxwZXJAc3djL2hlbHBlcnMvXy9faW5pdGlhbGl6ZXJfd2FybmluZ19oZWxwZXJfaW5zdGFuY2VvZkBzd2MvaGVscGVycy9fL19pbnN0YW5jZW9mX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0QHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0X2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZEBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRfaXNfbmF0aXZlX2Z1bmN0aW9uQHN3Yy9oZWxwZXJzL18vX2lzX25hdGl2ZV9mdW5jdGlvbl9pdGVyYWJsZV90b19hcnJheUBzd2MvaGVscGVycy9fL19pdGVyYWJsZV90b19hcnJheV9pdGVyYWJsZV90b19hcnJheV9saW1pdEBzd2MvaGVscGVycy9fL19pdGVyYWJsZV90b19hcnJheV9saW1pdF9pdGVyYWJsZV90b19hcnJheV9saW1pdF9sb29zZUBzd2MvaGVscGVycy9fL19pdGVyYWJsZV90b19hcnJheV9saW1pdF9sb29zZV9qc3hAc3djL2hlbHBlcnMvXy9fanN4X25ld19hcnJvd19jaGVja0Bzd2MvaGVscGVycy9fL19uZXdfYXJyb3dfY2hlY2tfbm9uX2l0ZXJhYmxlX3Jlc3RAc3djL2hlbHBlcnMvXy9fbm9uX2l0ZXJhYmxlX3Jlc3Rfbm9uX2l0ZXJhYmxlX3NwcmVhZEBzd2MvaGVscGVycy9fL19ub25faXRlcmFibGVfc3ByZWFkX29iamVjdF9kZXN0cnVjdHVyaW5nX2VtcHR5QHN3Yy9oZWxwZXJzL18vX29iamVjdF9kZXN0cnVjdHVyaW5nX2VtcHR5X29iamVjdF9zcHJlYWRAc3djL2hlbHBlcnMvXy9fb2JqZWN0X3NwcmVhZF9vYmplY3Rfc3ByZWFkX3Byb3BzQHN3Yy9oZWxwZXJzL18vX29iamVjdF9zcHJlYWRfcHJvcHNfb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc0Bzd2MvaGVscGVycy9fL19vYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2VAc3djL2hlbHBlcnMvXy9fb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19sb29zZV9wb3NzaWJsZV9jb25zdHJ1Y3Rvcl9yZXR1cm5Ac3djL2hlbHBlcnMvXy9fcG9zc2libGVfY29uc3RydWN0b3JfcmV0dXJuX3JlYWRfb25seV9lcnJvckBzd2MvaGVscGVycy9fL19yZWFkX29ubHlfZXJyb3Jfc2V0QHN3Yy9oZWxwZXJzL18vX3NldF9zZXRfcHJvdG90eXBlX29mQHN3Yy9oZWxwZXJzL18vX3NldF9wcm90b3R5cGVfb2Zfc2tpcF9maXJzdF9nZW5lcmF0b3JfbmV4dEBzd2MvaGVscGVycy9fL19za2lwX2ZpcnN0X2dlbmVyYXRvcl9uZXh0X3NsaWNlZF90b19hcnJheUBzd2MvaGVscGVycy9fL19zbGljZWRfdG9fYXJyYXlfc2xpY2VkX3RvX2FycmF5X2xvb3NlQHN3Yy9oZWxwZXJzL18vX3NsaWNlZF90b19hcnJheV9sb29zZV9zdXBlcl9wcm9wX2Jhc2VAc3djL2hlbHBlcnMvXy9fc3VwZXJfcHJvcF9iYXNlX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlX3Rocm93QHN3Yy9oZWxwZXJzL18vX3Rocm93X3RvX2FycmF5QHN3Yy9oZWxwZXJzL18vX3RvX2FycmF5X3RvX2NvbnN1bWFibGVfYXJyYXlAc3djL2hlbHBlcnMvXy9fdG9fY29uc3VtYWJsZV9hcnJheV90b19wcmltaXRpdmVAc3djL2hlbHBlcnMvXy9fdG9fcHJpbWl0aXZlX3RvX3Byb3BlcnR5X2tleUBzd2MvaGVscGVycy9fL190b19wcm9wZXJ0eV9rZXlfdXBkYXRlQHN3Yy9oZWxwZXJzL18vX3VwZGF0ZV90eXBlX29mQHN3Yy9oZWxwZXJzL18vX3R5cGVfb2ZfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXlAc3djL2hlbHBlcnMvXy9fdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXlfd3JhcF9hc3luY19nZW5lcmF0b3JAc3djL2hlbHBlcnMvXy9fd3JhcF9hc3luY19nZW5lcmF0b3Jfd3JhcF9uYXRpdmVfc3VwZXJAc3djL2hlbHBlcnMvXy9fd3JhcF9uYXRpdmVfc3VwZXJfd3JpdGVfb25seV9lcnJvckBzd2MvaGVscGVycy9fL193cml0ZV9vbmx5X2Vycm9yX2NsYXNzX3ByaXZhdGVfZmllbGRfZGVzdHJ1Y3R1cmVAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZV9jbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZUBzd2MvaGVscGVycy9fL19jbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZV9jbGFzc19zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZ2V0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3N0YXRpY19wcml2YXRlX21ldGhvZF9nZXRfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfYWNjZXNzQHN3Yy9oZWxwZXJzL18vX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2Vzc19pc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3RAc3djL2hlbHBlcnMvXy9faXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0X2NyZWF0ZV9zdXBlckBzd2MvaGVscGVycy9fL19jcmVhdGVfc3VwZXJfY3JlYXRlX2Zvcl9vZl9pdGVyYXRvcl9oZWxwZXJfbG9vc2VAc3djL2hlbHBlcnMvXy9fY3JlYXRlX2Zvcl9vZl9pdGVyYXRvcl9oZWxwZXJfbG9vc2VfdHNfZGVjb3JhdGVAc3djL2hlbHBlcnMvXy9fdHNfZGVjb3JhdGVfdHNfZ2VuZXJhdG9yQHN3Yy9oZWxwZXJzL18vX3RzX2dlbmVyYXRvcl90c19tZXRhZGF0YUBzd2MvaGVscGVycy9fL190c19tZXRhZGF0YV90c19wYXJhbUBzd2MvaGVscGVycy9fL190c19wYXJhbV90c192YWx1ZXNAc3djL2hlbHBlcnMvXy9fdHNfdmFsdWVzX3RzX2FkZF9kaXNwb3NhYmxlX3Jlc291cmNlQHN3Yy9oZWxwZXJzL18vX3RzX2FkZF9kaXNwb3NhYmxlX3Jlc291cmNlX3RzX2Rpc3Bvc2VfcmVzb3VyY2VzQHN3Yy9oZWxwZXJzL18vX3RzX2Rpc3Bvc2VfcmVzb3VyY2VzX2FwcGx5X2RlY3NfMjIwM19yQHN3Yy9oZWxwZXJzL18vX2FwcGx5X2RlY3NfMjIwM19yX2lkZW50aXR5QHN3Yy9oZWxwZXJzL18vX2lkZW50aXR5X2Rpc3Bvc2VAc3djL2hlbHBlcnMvXy9fZGlzcG9zZV91c2luZ0Bzd2MvaGVscGVycy9fL191c2luZ191c2luZ19jdHhAc3djL2hlbHBlcnMvXy9fdXNpbmdfY3R4YXBwbHlfZGVjb3JhdGVkX2Rlc2NyaXB0b3JhcnJheV9saWtlX3RvX2FycmF5YXJyYXlfd2l0aF9ob2xlc2FycmF5X3dpdGhvdXRfaG9sZXNhc3NlcnRfdGhpc19pbml0aWFsaXplZGFzeW5jX2dlbmVyYXRvcmFzeW5jX2dlbmVyYXRvcl9kZWxlZ2F0ZWFzeW5jX2l0ZXJhdG9yYXN5bmNfdG9fZ2VuZXJhdG9yYXdhaXRfYXN5bmNfZ2VuZXJhdG9yYXdhaXRfdmFsdWVjYWxsX3N1cGVyY2hlY2tfcHJpdmF0ZV9yZWRlY2xhcmF0aW9uY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9kZXN0cnVjdHVyZWNsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZ2V0Y2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXRjbGFzc19hcHBseV9kZXNjcmlwdG9yX3VwZGF0ZWNsYXNzX2NhbGxfY2hlY2tjbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yY2xhc3NfbmFtZV90ZHpfZXJyb3JjbGFzc19wcml2YXRlX2ZpZWxkX2dldGNsYXNzX3ByaXZhdGVfZmllbGRfaW5pdGNsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZWNsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5Y2xhc3NfcHJpdmF0ZV9maWVsZF9zZXRjbGFzc19wcml2YXRlX2ZpZWxkX3VwZGF0ZWNsYXNzX3ByaXZhdGVfbWV0aG9kX2dldGNsYXNzX3ByaXZhdGVfbWV0aG9kX2luaXRjbGFzc19wcml2YXRlX21ldGhvZF9zZXRjbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9zcGVjX2dldGNsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfc2V0Y2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfdXBkYXRlY29uc3RydWN0Y3JlYXRlX2NsYXNzZGVjb3JhdGVkZWZhdWx0c2RlZmluZV9lbnVtZXJhYmxlX3Byb3BlcnRpZXNkZWZpbmVfcHJvcGVydHlleHBvcnRfc3RhcmdldF9wcm90b3R5cGVfb2Zpbmhlcml0c2luaGVyaXRzX2xvb3NlaW5pdGlhbGl6ZXJfZGVmaW5lX3Byb3BlcnR5aW5pdGlhbGl6ZXJfd2FybmluZ19oZWxwZXJpbnRlcm9wX3JlcXVpcmVfZGVmYXVsdGludGVyb3BfcmVxdWlyZV93aWxkY2FyZGlzX25hdGl2ZV9mdW5jdGlvbml0ZXJhYmxlX3RvX2FycmF5aXRlcmFibGVfdG9fYXJyYXlfbGltaXRpdGVyYWJsZV90b19hcnJheV9saW1pdF9sb29zZWpzeG5ld19hcnJvd19jaGVja25vbl9pdGVyYWJsZV9yZXN0bm9uX2l0ZXJhYmxlX3NwcmVhZG9iamVjdF9kZXN0cnVjdHVyaW5nX2VtcHR5b2JqZWN0X3NwcmVhZG9iamVjdF9zcHJlYWRfcHJvcHNvYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19sb29zZXBvc3NpYmxlX2NvbnN0cnVjdG9yX3JldHVybnJlYWRfb25seV9lcnJvcnNldF9wcm90b3R5cGVfb2Zza2lwX2ZpcnN0X2dlbmVyYXRvcl9uZXh0c2xpY2VkX3RvX2FycmF5c2xpY2VkX3RvX2FycmF5X2xvb3Nlc3VwZXJfcHJvcF9iYXNldGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWx0YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZXRvX2FycmF5dG9fY29uc3VtYWJsZV9hcnJheXRvX3ByaW1pdGl2ZXRvX3Byb3BlcnR5X2tleXVwZGF0ZXR5cGVfb2Z1bnN1cHBvcnRlZF9pdGVyYWJsZV90b19hcnJheXdyYXBfYXN5bmNfZ2VuZXJhdG9yd3JhcF9uYXRpdmVfc3VwZXJ3cml0ZV9vbmx5X2Vycm9yY2xhc3NfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZWNsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX2Rlc3RydWN0dXJlY2xhc3Nfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2dldGNsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2Vzc2lzX25hdGl2ZV9yZWZsZWN0X2NvbnN0cnVjdGNyZWF0ZV9zdXBlcmNyZWF0ZV9mb3Jfb2ZfaXRlcmF0b3JfaGVscGVyX2xvb3NldHNfZGVjb3JhdGV0c19nZW5lcmF0b3J0c19tZXRhZGF0YXRzX3BhcmFtdHNfdmFsdWVzdHNfYWRkX2Rpc3Bvc2FibGVfcmVzb3VyY2V0c19kaXNwb3NlX3Jlc291cmNlc2FwcGx5X2RlY3NfMjIwM19yaWRlbnRpdHlkaXNwb3NldXNpbmdfY3R4TWFya2VyIHByb3ZpZGVkIHRvIHJlc29sdmVyIHNob3VsZCBub3QgYmUgdGhlIHJvb3QgbWFyawAAY60WADcAAACe2RcAdwAAAIoAAAAFAAAAJG5hbWUvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV90cmFuc2Zvcm1zX2Jhc2UtNi4wLjIvc3JjL2hlbHBlcnMvbW9kLnJzaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogRXJyb3Igb2NjdXJyZWQgd2hpbGUgcGFyc2luZyBlcnJvcjogAAAAL64WAE4AAAC5rRYAdgAAACgAAAAJAAAAQHN3Yy9oZWxwZXJzL18vX5iuFgAQAAAAaWRyZXNvdXJjZV9fX3RzX6cEAABmdW5jdGlvbiBfYXBwbHlfZGVjb3JhdGVkX2Rlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eSwgZGVjb3JhdG9ycywgZGVzY3JpcHRvciwgY29udGV4dCkgewogICAgdmFyIGRlc2MgPSB7fTsKICAgIE9iamVjdFsia2UiICsgInlzIl0oZGVzY3JpcHRvcikuZm9yRWFjaChmdW5jdGlvbihrZXkpIHsKICAgICAgICBkZXNjW2tleV0gPSBkZXNjcmlwdG9yW2tleV07CiAgICB9KTsKICAgIGRlc2MuZW51bWVyYWJsZSA9ICEhZGVzYy5lbnVtZXJhYmxlOwogICAgZGVzYy5jb25maWd1cmFibGUgPSAhIWRlc2MuY29uZmlndXJhYmxlOwogICAgaWYgKCJ2YWx1ZSIgaW4gZGVzYyB8fCBkZXNjLmluaXRpYWxpemVyKSB7CiAgICAgICAgZGVzYy53cml0YWJsZSA9IHRydWU7CiAgICB9CiAgICBkZXNjID0gZGVjb3JhdG9ycy5zbGljZSgpLnJldmVyc2UoKS5yZWR1Y2UoZnVuY3Rpb24oZGVzYywgZGVjb3JhdG9yKSB7CiAgICAgICAgcmV0dXJuIGRlY29yYXRvciA/IGRlY29yYXRvcih0YXJnZXQsIHByb3BlcnR5LCBkZXNjKSB8fCBkZXNjIDogZGVzYzsKICAgIH0sIGRlc2MpOwogICAgdmFyIGhhc0FjY2Vzc29yID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRlc2MsICJnZXQiKSB8fCBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGVzYywgInNldCIpOwogICAgaWYgKGNvbnRleHQgJiYgZGVzYy5pbml0aWFsaXplciAhPT0gdm9pZCAwICYmICFoYXNBY2Nlc3NvcikgewogICAgICAgIGRlc2MudmFsdWUgPSBkZXNjLmluaXRpYWxpemVyID8gZGVzYy5pbml0aWFsaXplci5jYWxsKGNvbnRleHQpIDogdm9pZCAwOwogICAgICAgIGRlc2MuaW5pdGlhbGl6ZXIgPSB1bmRlZmluZWQ7CiAgICB9CiAgICBpZiAoaGFzQWNjZXNzb3IpIHsKICAgICAgICBkZWxldGUgZGVzYy53cml0YWJsZTsKICAgICAgICBkZWxldGUgZGVzYy5pbml0aWFsaXplcjsKICAgICAgICBkZWxldGUgZGVzYy52YWx1ZTsKICAgIH0KICAgIGlmIChkZXNjLmluaXRpYWxpemVyID09PSB2b2lkIDApIHsKICAgICAgICBPYmplY3RbImRlZmluZSIgKyAiUHJvcGVydHkiXSh0YXJnZXQsIHByb3BlcnR5LCBkZXNjKTsKICAgICAgICBkZXNjID0gbnVsbDsKICAgIH0KICAgIHJldHVybiBkZXNjOwp9CmZ1bmN0aW9uIF9hcnJheV9saWtlX3RvX2FycmF5KGFyciwgbGVuKSB7CiAgICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDsKICAgIGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgYXJyMltpXSA9IGFycltpXTsKICAgIHJldHVybiBhcnIyOwp9CmZ1bmN0aW9uIF9hcnJheV93aXRoX2hvbGVzKGFycikgewogICAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIGFycjsKfQpmdW5jdGlvbiBfYXJyYXlfd2l0aG91dF9ob2xlcyhhcnIpIHsKICAgIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlfbGlrZV90b19hcnJheShhcnIpOwp9CmZ1bmN0aW9uIF9hc3NlcnRfdGhpc19pbml0aWFsaXplZChzZWxmKSB7CiAgICBpZiAoc2VsZiA9PT0gdm9pZCAwKSB7CiAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTsKICAgIH0KICAgIHJldHVybiBzZWxmOwp9CmZ1bmN0aW9uIF9hc3luY19nZW5lcmF0b3IoZ2VuKSB7CiAgICB2YXIgZnJvbnQsIGJhY2s7CiAgICBmdW5jdGlvbiBzZW5kKGtleSwgYXJnKSB7CiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHsga2V5OiBrZXksIGFyZzogYXJnLCByZXNvbHZlOiByZXNvbHZlLCByZWplY3Q6IHJlamVjdCwgbmV4dDogbnVsbCB9OwogICAgICAgICAgICBpZiAoYmFjaykgewogICAgICAgICAgICAgICAgYmFjayA9IGJhY2submV4dCA9IHJlcXVlc3Q7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBmcm9udCA9IGJhY2sgPSByZXF1ZXN0OwogICAgICAgICAgICAgICAgcmVzdW1lKGtleSwgYXJnKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQogICAgZnVuY3Rpb24gcmVzdW1lKGtleSwgYXJnKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGdlbltrZXldKGFyZyk7CiAgICAgICAgICAgIHZhciB2YWx1ZSA9IHJlc3VsdC52YWx1ZTsKICAgICAgICAgICAgdmFyIHdyYXBwZWRBd2FpdCA9IHZhbHVlIGluc3RhbmNlb2YgX2F3YWl0X3ZhbHVlOwogICAgICAgICAgICBQcm9taXNlLnJlc29sdmUod3JhcHBlZEF3YWl0ID8gdmFsdWUud3JhcHBlZCA6IHZhbHVlKS50aGVuKGZ1bmN0aW9uKGFyZykgewogICAgICAgICAgICAgICAgaWYgKHdyYXBwZWRBd2FpdCkgewogICAgICAgICAgICAgICAgICAgIHJlc3VtZSgibmV4dCIsIGFyZyk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc2V0dGxlKHJlc3VsdC5kb25lID8gInJldHVybiIgOiAibm9ybWFsIiwgYXJnKTsKICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyKSB7CiAgICAgICAgICAgICAgICByZXN1bWUoInRocm93IiwgZXJyKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIHNldHRsZSgidGhyb3ciLCBlcnIpOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHNldHRsZSh0eXBlLCB2YWx1ZSkgewogICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICAgICBjYXNlICJyZXR1cm4iOgogICAgICAgICAgICAgICAgZnJvbnQucmVzb2x2ZSh7IHZhbHVlOiB2YWx1ZSwgZG9uZTogdHJ1ZSB9KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICJ0aHJvdyI6CiAgICAgICAgICAgICAgICBmcm9udC5yZWplY3QodmFsdWUpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICBmcm9udC5yZXNvbHZlKHsgdmFsdWU6IHZhbHVlLCBkb25lOiBmYWxzZSB9KTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBmcm9udCA9IGZyb250Lm5leHQ7CiAgICAgICAgaWYgKGZyb250KSB7CiAgICAgICAgICAgIHJlc3VtZShmcm9udC5rZXksIGZyb250LmFyZyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYmFjayA9IG51bGw7CiAgICAgICAgfQogICAgfQogICAgdGhpcy5faW52b2tlID0gc2VuZDsKICAgIGlmICh0eXBlb2YgZ2VuLnJldHVybiAhPT0gImZ1bmN0aW9uIikgewogICAgICAgIHRoaXMucmV0dXJuID0gdW5kZWZpbmVkOwogICAgfQp9CmlmICh0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5hc3luY0l0ZXJhdG9yKSB7CiAgICBfYXN5bmNfZ2VuZXJhdG9yLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07Cn0KX2FzeW5jX2dlbmVyYXRvci5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uKGFyZykgewogICAgcmV0dXJuIHRoaXMuX2ludm9rZSgibmV4dCIsIGFyZyk7Cn07Cl9hc3luY19nZW5lcmF0b3IucHJvdG90eXBlLnRocm93ID0gZnVuY3Rpb24oYXJnKSB7CiAgICByZXR1cm4gdGhpcy5faW52b2tlKCJ0aHJvdyIsIGFyZyk7Cn07Cl9hc3luY19nZW5lcmF0b3IucHJvdG90eXBlLnJldHVybiA9IGZ1bmN0aW9uKGFyZykgewogICAgcmV0dXJuIHRoaXMuX2ludm9rZSgicmV0dXJuIiwgYXJnKTsKfTsKZnVuY3Rpb24gX2FzeW5jX2dlbmVyYXRvcl9kZWxlZ2F0ZShpbm5lciwgYXdhaXRXcmFwKSB7CiAgICB2YXIgaXRlciA9IHt9LCB3YWl0aW5nID0gZmFsc2U7CiAgICBmdW5jdGlvbiBwdW1wKGtleSwgdmFsdWUpIHsKICAgICAgICB3YWl0aW5nID0gdHJ1ZTsKICAgICAgICB2YWx1ZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKICAgICAgICAgICAgcmVzb2x2ZShpbm5lcltrZXldKHZhbHVlKSk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBhd2FpdFdyYXAodmFsdWUpIH07CiAgICB9CiAgICBpZiAodHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiBTeW1ib2wuaXRlcmF0b3IpIHsKICAgICAgICBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfTsKICAgIH0KICAgIGl0ZXIubmV4dCA9IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgaWYgKHdhaXRpbmcpIHsKICAgICAgICAgICAgd2FpdGluZyA9IGZhbHNlOwogICAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBwdW1wKCJuZXh0IiwgdmFsdWUpOwogICAgfTsKICAgIGlmICh0eXBlb2YgaW5uZXIudGhyb3cgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICBpdGVyLnRocm93ID0gZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgaWYgKHdhaXRpbmcpIHsKICAgICAgICAgICAgICAgIHdhaXRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRocm93IHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBwdW1wKCJ0aHJvdyIsIHZhbHVlKTsKICAgICAgICB9OwogICAgfQogICAgaWYgKHR5cGVvZiBpbm5lci5yZXR1cm4gPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICBpdGVyLnJldHVybiA9IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiBwdW1wKCJyZXR1cm4iLCB2YWx1ZSk7CiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiBpdGVyOwp9CmZ1bmN0aW9uIF9hc3luY19pdGVyYXRvcihpdGVyYWJsZSkgewogICAgdmFyIG1ldGhvZCwgYXN5bmMsIHN5bmMsIHJldHJ5ID0gMjsKICAgIGZvciAoInVuZGVmaW5lZCIgIT0gdHlwZW9mIFN5bWJvbCAmJiAoYXN5bmMgPSBTeW1ib2wuYXN5bmNJdGVyYXRvciwgc3luYyA9IFN5bWJvbC5pdGVyYXRvcik7IHJldHJ5LS07KSB7CiAgICAgICAgaWYgKGFzeW5jICYmIG51bGwgIT0gKG1ldGhvZCA9IGl0ZXJhYmxlW2FzeW5jXSkpIHJldHVybiBtZXRob2QuY2FsbChpdGVyYWJsZSk7CiAgICAgICAgaWYgKHN5bmMgJiYgbnVsbCAhPSAobWV0aG9kID0gaXRlcmFibGVbc3luY10pKSByZXR1cm4gbmV3IEFzeW5jRnJvbVN5bmNJdGVyYXRvcihtZXRob2QuY2FsbChpdGVyYWJsZSkpOwogICAgICAgIGFzeW5jID0gIkBAYXN5bmNJdGVyYXRvciIsIHN5bmMgPSAiQEBpdGVyYXRvciI7CiAgICB9CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgaXMgbm90IGFzeW5jIGl0ZXJhYmxlIik7Cn0KZnVuY3Rpb24gQXN5bmNGcm9tU3luY0l0ZXJhdG9yKHMpIHsKICAgIGZ1bmN0aW9uIEFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbihyKSB7CiAgICAgICAgaWYgKE9iamVjdChyKSAhPT0gcikgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBUeXBlRXJyb3IociArICIgaXMgbm90IGFuIG9iamVjdC4iKSk7CiAgICAgICAgdmFyIGRvbmUgPSByLmRvbmU7CiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyLnZhbHVlKS50aGVuKGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogZG9uZSB9OwogICAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIEFzeW5jRnJvbVN5bmNJdGVyYXRvciA9IGZ1bmN0aW9uKHMpIHsKICAgICAgICB0aGlzLnMgPSBzLCB0aGlzLm4gPSBzLm5leHQ7CiAgICB9LAogICAgICAgIEFzeW5jRnJvbVN5bmNJdGVyYXRvci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgIHM6IG51bGwsCiAgICAgICAgICAgIG46IG51bGwsCiAgICAgICAgICAgIG5leHQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIEFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbih0aGlzLm4uYXBwbHkodGhpcy5zLCBhcmd1bWVudHMpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcmV0dXJuOiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICAgICAgdmFyIHJldCA9IHRoaXMucy5yZXR1cm47CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSByZXQKICAgICAgICAgICAgICAgICAgICA/IFByb21pc2UucmVzb2x2ZSh7IHZhbHVlOiB2YWx1ZSwgZG9uZTogITAgfSkKICAgICAgICAgICAgICAgICAgICA6IEFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbihyZXQuYXBwbHkodGhpcy5zLCBhcmd1bWVudHMpKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdGhyb3c6IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgICAgICB2YXIgdGhyID0gdGhpcy5zLnJldHVybjsKICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDAgPT09IHRociA/IFByb21pc2UucmVqZWN0KHZhbHVlKSA6IEFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbih0aHIuYXBwbHkodGhpcy5zLCBhcmd1bWVudHMpKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgbmV3IEFzeW5jRnJvbVN5bmNJdGVyYXRvcihzKTsKfQpmdW5jdGlvbiBhc3luY0dlbmVyYXRvclN0ZXAoZ2VuLCByZXNvbHZlLCByZWplY3QsIF9uZXh0LCBfdGhyb3csIGtleSwgYXJnKSB7CiAgICB0cnkgewogICAgICAgIHZhciBpbmZvID0gZ2VuW2tleV0oYXJnKTsKICAgICAgICB2YXIgdmFsdWUgPSBpbmZvLnZhbHVlOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICByZWplY3QoZXJyb3IpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmIChpbmZvLmRvbmUpIHsKICAgICAgICByZXNvbHZlKHZhbHVlKTsKICAgIH0gZWxzZSB7CiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHZhbHVlKS50aGVuKF9uZXh0LCBfdGhyb3cpOwogICAgfQp9CmZ1bmN0aW9uIF9hc3luY190b19nZW5lcmF0b3IoZm4pIHsKICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgc2VsZiA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7CiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICB2YXIgZ2VuID0gZm4uYXBwbHkoc2VsZiwgYXJncyk7CiAgICAgICAgICAgIGZ1bmN0aW9uIF9uZXh0KHZhbHVlKSB7CiAgICAgICAgICAgICAgICBhc3luY0dlbmVyYXRvclN0ZXAoZ2VuLCByZXNvbHZlLCByZWplY3QsIF9uZXh0LCBfdGhyb3csICJuZXh0IiwgdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZ1bmN0aW9uIF90aHJvdyhlcnIpIHsKICAgICAgICAgICAgICAgIGFzeW5jR2VuZXJhdG9yU3RlcChnZW4sIHJlc29sdmUsIHJlamVjdCwgX25leHQsIF90aHJvdywgInRocm93IiwgZXJyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBfbmV4dCh1bmRlZmluZWQpOwogICAgICAgIH0pOwogICAgfTsKfQpmdW5jdGlvbiBfYXdhaXRfYXN5bmNfZ2VuZXJhdG9yKHZhbHVlKSB7CiAgICByZXR1cm4gbmV3IF9hd2FpdF92YWx1ZSh2YWx1ZSk7Cn0KZnVuY3Rpb24gX2F3YWl0X3ZhbHVlKHZhbHVlKSB7CiAgICB0aGlzLndyYXBwZWQgPSB2YWx1ZTsKfQpmdW5jdGlvbiBfY2FsbF9zdXBlcihfdGhpcywgZGVyaXZlZCwgYXJncykgewogICAgLy8gU3VwZXIKICAgIGRlcml2ZWQgPSBfZ2V0X3Byb3RvdHlwZV9vZihkZXJpdmVkKTsKICAgIHJldHVybiBfcG9zc2libGVfY29uc3RydWN0b3JfcmV0dXJuKAogICAgICAgIF90aGlzLAogICAgICAgIF9pc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3QoKQogICAgICAgICAgICAvLyBOT1RFOiBUaGlzIGRvZXNuJ3Qgd29yayBpZiB0aGlzLl9fcHJvdG9fXy5jb25zdHJ1Y3RvciBoYXMgYmVlbiBtb2RpZmllZC4KICAgICAgICAgICAgPyBSZWZsZWN0LmNvbnN0cnVjdChkZXJpdmVkLCBhcmdzIHx8IFtdLCBfZ2V0X3Byb3RvdHlwZV9vZihfdGhpcykuY29uc3RydWN0b3IpCiAgICAgICAgICAgIDogZGVyaXZlZC5hcHBseShfdGhpcywgYXJncykKICAgICk7Cn0KZnVuY3Rpb24gX2NoZWNrX3ByaXZhdGVfcmVkZWNsYXJhdGlvbihvYmosIHByaXZhdGVDb2xsZWN0aW9uKSB7CiAgICBpZiAocHJpdmF0ZUNvbGxlY3Rpb24uaGFzKG9iaikpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgaW5pdGlhbGl6ZSB0aGUgc2FtZSBwcml2YXRlIGVsZW1lbnRzIHR3aWNlIG9uIGFuIG9iamVjdCIpOwogICAgfQp9CmZ1bmN0aW9uIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX2Rlc3RydWN0dXJlKHJlY2VpdmVyLCBkZXNjcmlwdG9yKSB7CiAgICBpZiAoZGVzY3JpcHRvci5zZXQpIHsKICAgICAgICBpZiAoISgiX19kZXN0ck9iaiIgaW4gZGVzY3JpcHRvcikpIHsKICAgICAgICAgICAgZGVzY3JpcHRvci5fX2Rlc3RyT2JqID0gewogICAgICAgICAgICAgICAgc2V0IHZhbHVlKHYpIHsKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldC5jYWxsKHJlY2VpdmVyLCB2KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3IuX19kZXN0ck9iajsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLndyaXRhYmxlKSB7CiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgdGhyb3cgaW4gc3RyaWN0IG1vZGUsIGJ1dCBjbGFzcyBib2RpZXMgYXJlCiAgICAgICAgICAgIC8vIGFsd2F5cyBzdHJpY3QgYW5kIHByaXZhdGUgZmllbGRzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlCiAgICAgICAgICAgIC8vIGNsYXNzIGJvZGllcy4KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCByZWFkIG9ubHkgcHJpdmF0ZSBmaWVsZCIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjsKICAgIH0KfQpmdW5jdGlvbiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9nZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IpIHsKICAgIGlmIChkZXNjcmlwdG9yLmdldCkgewogICAgICAgIHJldHVybiBkZXNjcmlwdG9yLmdldC5jYWxsKHJlY2VpdmVyKTsKICAgIH0KICAgIHJldHVybiBkZXNjcmlwdG9yLnZhbHVlOwp9CmZ1bmN0aW9uIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3NldChyZWNlaXZlciwgZGVzY3JpcHRvciwgdmFsdWUpIHsKICAgIGlmIChkZXNjcmlwdG9yLnNldCkgewogICAgICAgIGRlc2NyaXB0b3Iuc2V0LmNhbGwocmVjZWl2ZXIsIHZhbHVlKTsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLndyaXRhYmxlKSB7CiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgdGhyb3cgaW4gc3RyaWN0IG1vZGUsIGJ1dCBjbGFzcyBib2RpZXMgYXJlCiAgICAgICAgICAgIC8vIGFsd2F5cyBzdHJpY3QgYW5kIHByaXZhdGUgZmllbGRzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlCiAgICAgICAgICAgIC8vIGNsYXNzIGJvZGllcy4KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCByZWFkIG9ubHkgcHJpdmF0ZSBmaWVsZCIpOwogICAgICAgIH0KICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gdmFsdWU7CiAgICB9Cn0KZnVuY3Rpb24gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfdXBkYXRlKHJlY2VpdmVyLCBkZXNjcmlwdG9yKSB7CiAgICBpZiAoZGVzY3JpcHRvci5zZXQpIHsKICAgICAgICBpZiAoIWRlc2NyaXB0b3IuZ2V0KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byByZWFkIHNldCBvbmx5IHByaXZhdGUgZmllbGQiKTsKICAgICAgICB9CiAgICAgICAgaWYgKCEoIl9fZGVzdHJXcmFwcGVyIiBpbiBkZXNjcmlwdG9yKSkgewogICAgICAgICAgICBkZXNjcmlwdG9yLl9fZGVzdHJXcmFwcGVyID0gewogICAgICAgICAgICAgICAgc2V0IHZhbHVlKHYpIHsKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yLnNldC5jYWxsKHJlY2VpdmVyLCB2KTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBnZXQgdmFsdWUoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3IuZ2V0LmNhbGwocmVjZWl2ZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5fX2Rlc3RyV3JhcHBlcjsKICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLndyaXRhYmxlKSB7CiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgdGhyb3cgaW4gc3RyaWN0IG1vZGUsIGJ1dCBjbGFzcyBib2RpZXMgYXJlCiAgICAgICAgICAgIC8vIGFsd2F5cyBzdHJpY3QgYW5kIHByaXZhdGUgZmllbGRzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlCiAgICAgICAgICAgIC8vIGNsYXNzIGJvZGllcy4KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHNldCByZWFkIG9ubHkgcHJpdmF0ZSBmaWVsZCIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjsKICAgIH0KfQpmdW5jdGlvbiBfY2xhc3NfY2FsbF9jaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsKICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIik7CiAgICB9Cn0KZnVuY3Rpb24gX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2ZpZWxkX2Rlc2NyaXB0b3IoZGVzY3JpcHRvciwgYWN0aW9uKSB7CiAgICBpZiAoZGVzY3JpcHRvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvICIgKyBhY3Rpb24gKyAiIHByaXZhdGUgc3RhdGljIGZpZWxkIGJlZm9yZSBpdHMgZGVjbGFyYXRpb24iKTsKICAgIH0KfQpmdW5jdGlvbiBfY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yKHJlY2VpdmVyLCBwcml2YXRlTWFwLCBhY3Rpb24pIHsKICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvICIgKyBhY3Rpb24gKyAiIHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7CiAgICB9CiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpOwp9CmZ1bmN0aW9uIF9jbGFzc19uYW1lX3Rkel9lcnJvcihuYW1lKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoIkNsYXNzIFwiIiArIG5hbWUgKyAiXCIgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gY29tcHV0ZWQgcHJvcGVydHkga2V5cy4iKTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9nZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHsKICAgIHZhciBkZXNjcmlwdG9yID0gX2NsYXNzX2V4dHJhY3RfZmllbGRfZGVzY3JpcHRvcihyZWNlaXZlciwgcHJpdmF0ZU1hcCwgImdldCIpOwogICAgcmV0dXJuIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX2dldChyZWNlaXZlciwgZGVzY3JpcHRvcik7Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfaW5pdChvYmosIHByaXZhdGVNYXAsIHZhbHVlKSB7CiAgICBfY2hlY2tfcHJpdmF0ZV9yZWRlY2xhcmF0aW9uKG9iaiwgcHJpdmF0ZU1hcCk7CiAgICBwcml2YXRlTWFwLnNldChvYmosIHZhbHVlKTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlKHJlY2VpdmVyLCBwcml2YXRlS2V5KSB7CiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyZWNlaXZlciwgcHJpdmF0ZUtleSkpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gdXNlIHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7CiAgICB9CiAgICByZXR1cm4gcmVjZWl2ZXI7Cn0KdmFyIGlkID0gMDsKZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5KG5hbWUpIHsKICAgIHJldHVybiAiX19wcml2YXRlXyIgKyBpZCsrICsgIl8iICsgbmFtZTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9zZXQocmVjZWl2ZXIsIHByaXZhdGVNYXAsIHZhbHVlKSB7CiAgICB2YXIgZGVzY3JpcHRvciA9IF9jbGFzc19leHRyYWN0X2ZpZWxkX2Rlc2NyaXB0b3IocmVjZWl2ZXIsIHByaXZhdGVNYXAsICJzZXQiKTsKICAgIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3NldChyZWNlaXZlciwgZGVzY3JpcHRvciwgdmFsdWUpOwogICAgcmV0dXJuIHZhbHVlOwp9CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX3VwZGF0ZShyZWNlaXZlciwgcHJpdmF0ZU1hcCkgewogICAgdmFyIGRlc2NyaXB0b3IgPSBfY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yKHJlY2VpdmVyLCBwcml2YXRlTWFwLCAidXBkYXRlIik7CiAgICByZXR1cm4gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfdXBkYXRlKHJlY2VpdmVyLCBkZXNjcmlwdG9yKTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9tZXRob2RfZ2V0KHJlY2VpdmVyLCBwcml2YXRlU2V0LCBmbikgewogICAgaWYgKCFwcml2YXRlU2V0LmhhcyhyZWNlaXZlcikpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gZ2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlIik7CiAgICB9CiAgICByZXR1cm4gZm47Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfbWV0aG9kX2luaXQob2JqLCBwcml2YXRlU2V0KSB7CiAgICBfY2hlY2tfcHJpdmF0ZV9yZWRlY2xhcmF0aW9uKG9iaiwgcHJpdmF0ZVNldCk7CiAgICBwcml2YXRlU2V0LmFkZChvYmopOwp9CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX21ldGhvZF9zZXQoKSB7CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gcmVhc3NpZ24gcHJpdmF0ZSBtZXRob2QiKTsKfQpmdW5jdGlvbiBfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19nZXQocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IsIGRlc2NyaXB0b3IpIHsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3MocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IpOwogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2ZpZWxkX2Rlc2NyaXB0b3IoZGVzY3JpcHRvciwgImdldCIpOwogICAgcmV0dXJuIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX2dldChyZWNlaXZlciwgZGVzY3JpcHRvcik7Cn0KZnVuY3Rpb24gX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfc2V0KHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yLCBkZXNjcmlwdG9yLCB2YWx1ZSkgewogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2VzcyhyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3Rvcik7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvcihkZXNjcmlwdG9yLCAic2V0Iik7CiAgICBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IsIHZhbHVlKTsKICAgIHJldHVybiB2YWx1ZTsKfQpmdW5jdGlvbiBfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfdXBkYXRlKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yLCBkZXNjcmlwdG9yKSB7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfYWNjZXNzKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yKTsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yKGRlc2NyaXB0b3IsICJ1cGRhdGUiKTsKICAgIHJldHVybiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl91cGRhdGUocmVjZWl2ZXIsIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9jb25zdHJ1Y3QoUGFyZW50LCBhcmdzLCBDbGFzcykgewogICAgaWYgKF9pc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3QoKSkgewogICAgICAgIF9jb25zdHJ1Y3QgPSBSZWZsZWN0LmNvbnN0cnVjdDsKICAgIH0gZWxzZSB7CiAgICAgICAgX2NvbnN0cnVjdCA9IGZ1bmN0aW9uIGNvbnN0cnVjdChQYXJlbnQsIGFyZ3MsIENsYXNzKSB7CiAgICAgICAgICAgIHZhciBhID0gW251bGxdOwogICAgICAgICAgICBhLnB1c2guYXBwbHkoYSwgYXJncyk7CiAgICAgICAgICAgIHZhciBDb25zdHJ1Y3RvciA9IEZ1bmN0aW9uLmJpbmQuYXBwbHkoUGFyZW50LCBhKTsKICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gbmV3IENvbnN0cnVjdG9yKCk7CiAgICAgICAgICAgIGlmIChDbGFzcykgX3NldF9wcm90b3R5cGVfb2YoaW5zdGFuY2UsIENsYXNzLnByb3RvdHlwZSk7CiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTsKICAgICAgICB9OwogICAgfQogICAgcmV0dXJuIF9jb25zdHJ1Y3QuYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsKICAgICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7CiAgICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOwogICAgICAgIGlmICgidmFsdWUiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsKICAgIH0KfQpmdW5jdGlvbiBfY3JlYXRlX2NsYXNzKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgewogICAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7CiAgICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7CiAgICByZXR1cm4gQ29uc3RydWN0b3I7Cn0KZnVuY3Rpb24gX2RlY29yYXRlKGRlY29yYXRvcnMsIGZhY3RvcnksIHN1cGVyQ2xhc3MpIHsKICAgIHZhciByID0gZmFjdG9yeShmdW5jdGlvbiBpbml0aWFsaXplKE8pIHsKICAgICAgICBfaW5pdGlhbGl6ZUluc3RhbmNlRWxlbWVudHMoTywgZGVjb3JhdGVkLmVsZW1lbnRzKTsKICAgIH0sIHN1cGVyQ2xhc3MpOwogICAgdmFyIGRlY29yYXRlZCA9IF9kZWNvcmF0ZUNsYXNzKF9jb2FsZXNjZUNsYXNzRWxlbWVudHMoci5kLm1hcChfY3JlYXRlRWxlbWVudERlc2NyaXB0b3IpKSwgZGVjb3JhdG9ycyk7CiAgICBfaW5pdGlhbGl6ZUNsYXNzRWxlbWVudHMoci5GLCBkZWNvcmF0ZWQuZWxlbWVudHMpOwogICAgcmV0dXJuIF9ydW5DbGFzc0ZpbmlzaGVycyhyLkYsIGRlY29yYXRlZC5maW5pc2hlcnMpOwp9CgpmdW5jdGlvbiBfY3JlYXRlRWxlbWVudERlc2NyaXB0b3IoZGVmKSB7CiAgICB2YXIga2V5ID0gX3RvX3Byb3BlcnR5X2tleShkZWYua2V5KTsKICAgIHZhciBkZXNjcmlwdG9yOwogICAgaWYgKGRlZi5raW5kID09PSAibWV0aG9kIikgewogICAgICAgIGRlc2NyaXB0b3IgPSB7IHZhbHVlOiBkZWYudmFsdWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IGZhbHNlIH07CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlZi52YWx1ZSwgIm5hbWUiLCB7IHZhbHVlOiBfdHlwZV9vZihrZXkpID09PSAic3ltYm9sIiA/ICIiIDoga2V5LCBjb25maWd1cmFibGU6IHRydWUgfSk7CiAgICB9IGVsc2UgaWYgKGRlZi5raW5kID09PSAiZ2V0IikgewogICAgICAgIGRlc2NyaXB0b3IgPSB7IGdldDogZGVmLnZhbHVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IGZhbHNlIH07CiAgICB9IGVsc2UgaWYgKGRlZi5raW5kID09PSAic2V0IikgewogICAgICAgIGRlc2NyaXB0b3IgPSB7IHNldDogZGVmLnZhbHVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IGZhbHNlIH07CiAgICB9IGVsc2UgaWYgKGRlZi5raW5kID09PSAiZmllbGQiKSB7CiAgICAgICAgZGVzY3JpcHRvciA9IHsgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSB9OwogICAgfQogICAgdmFyIGVsZW1lbnQgPSB7CiAgICAgICAga2luZDogZGVmLmtpbmQgPT09ICJmaWVsZCIgPyAiZmllbGQiIDogIm1ldGhvZCIsCiAgICAgICAga2V5OiBrZXksCiAgICAgICAgcGxhY2VtZW50OiBkZWYuc3RhdGljID8gInN0YXRpYyIgOiBkZWYua2luZCA9PT0gImZpZWxkIiA/ICJvd24iIDogInByb3RvdHlwZSIsCiAgICAgICAgZGVzY3JpcHRvcjogZGVzY3JpcHRvcgogICAgfTsKICAgIGlmIChkZWYuZGVjb3JhdG9ycykgZWxlbWVudC5kZWNvcmF0b3JzID0gZGVmLmRlY29yYXRvcnM7CiAgICBpZiAoZGVmLmtpbmQgPT09ICJmaWVsZCIpIGVsZW1lbnQuaW5pdGlhbGl6ZXIgPSBkZWYudmFsdWU7CiAgICByZXR1cm4gZWxlbWVudDsKfQpmdW5jdGlvbiBfY29hbGVzY2VHZXR0ZXJTZXR0ZXIoZWxlbWVudCwgb3RoZXIpIHsKICAgIGlmIChlbGVtZW50LmRlc2NyaXB0b3IuZ2V0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICBvdGhlci5kZXNjcmlwdG9yLmdldCA9IGVsZW1lbnQuZGVzY3JpcHRvci5nZXQ7CiAgICB9IGVsc2UgewogICAgICAgIG90aGVyLmRlc2NyaXB0b3Iuc2V0ID0gZWxlbWVudC5kZXNjcmlwdG9yLnNldDsKICAgIH0KfQpmdW5jdGlvbiBfY29hbGVzY2VDbGFzc0VsZW1lbnRzKGVsZW1lbnRzKSB7CiAgICB2YXIgbmV3RWxlbWVudHMgPSBbXTsKICAgIHZhciBpc1NhbWVFbGVtZW50ID0gZnVuY3Rpb24gaXNTYW1lRWxlbWVudChvdGhlcikgewogICAgICAgIHJldHVybiBvdGhlci5raW5kID09PSAibWV0aG9kIiAmJiBvdGhlci5rZXkgPT09IGVsZW1lbnQua2V5ICYmIG90aGVyLnBsYWNlbWVudCA9PT0gZWxlbWVudC5wbGFjZW1lbnQ7CiAgICB9OwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBlbGVtZW50ID0gZWxlbWVudHNbaV07CiAgICAgICAgdmFyIG90aGVyOwogICAgICAgIGlmIChlbGVtZW50LmtpbmQgPT09ICJtZXRob2QiICYmIChvdGhlciA9IG5ld0VsZW1lbnRzLmZpbmQoaXNTYW1lRWxlbWVudCkpKSB7CiAgICAgICAgICAgIGlmIChfaXNEYXRhRGVzY3JpcHRvcihlbGVtZW50LmRlc2NyaXB0b3IpIHx8IF9pc0RhdGFEZXNjcmlwdG9yKG90aGVyLmRlc2NyaXB0b3IpKSB7CiAgICAgICAgICAgICAgICBpZiAoX2hhc0RlY29yYXRvcnMoZWxlbWVudCkgfHwgX2hhc0RlY29yYXRvcnMob3RoZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJEdXBsaWNhdGVkIG1ldGhvZHMgKCIgKyBlbGVtZW50LmtleSArICIpIGNhbid0IGJlIGRlY29yYXRlZC4iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG90aGVyLmRlc2NyaXB0b3IgPSBlbGVtZW50LmRlc2NyaXB0b3I7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoX2hhc0RlY29yYXRvcnMoZWxlbWVudCkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoX2hhc0RlY29yYXRvcnMob3RoZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWNvcmF0b3JzIGNhbid0IGJlIHBsYWNlZCBvbiBkaWZmZXJlbnQgYWNjZXNzb3JzIHdpdGggZm9yICIgKyAidGhlIHNhbWUgcHJvcGVydHkgKCIgKyBlbGVtZW50LmtleSArICIpLiIKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgb3RoZXIuZGVjb3JhdG9ycyA9IGVsZW1lbnQuZGVjb3JhdG9yczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF9jb2FsZXNjZUdldHRlclNldHRlcihlbGVtZW50LCBvdGhlcik7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuZXdFbGVtZW50cy5wdXNoKGVsZW1lbnQpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBuZXdFbGVtZW50czsKfQpmdW5jdGlvbiBfaGFzRGVjb3JhdG9ycyhlbGVtZW50KSB7CiAgICByZXR1cm4gZWxlbWVudC5kZWNvcmF0b3JzICYmIGVsZW1lbnQuZGVjb3JhdG9ycy5sZW5ndGg7Cn0KZnVuY3Rpb24gX2lzRGF0YURlc2NyaXB0b3IoZGVzYykgewogICAgcmV0dXJuIGRlc2MgIT09IHVuZGVmaW5lZCAmJiAhKGRlc2MudmFsdWUgPT09IHVuZGVmaW5lZCAmJiBkZXNjLndyaXRhYmxlID09PSB1bmRlZmluZWQpOwp9CmZ1bmN0aW9uIF9pbml0aWFsaXplQ2xhc3NFbGVtZW50cyhGLCBlbGVtZW50cykgewogICAgdmFyIHByb3RvID0gRi5wcm90b3R5cGU7CiAgICBbIm1ldGhvZCIsICJmaWVsZCJdLmZvckVhY2goZnVuY3Rpb24oa2luZCkgewogICAgICAgIGVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgICAgICB2YXIgcGxhY2VtZW50ID0gZWxlbWVudC5wbGFjZW1lbnQ7CiAgICAgICAgICAgIGlmIChlbGVtZW50LmtpbmQgPT09IGtpbmQgJiYgKHBsYWNlbWVudCA9PT0gInN0YXRpYyIgfHwgcGxhY2VtZW50ID09PSAicHJvdG90eXBlIikpIHsKICAgICAgICAgICAgICAgIHZhciByZWNlaXZlciA9IHBsYWNlbWVudCA9PT0gInN0YXRpYyIgPyBGIDogcHJvdG87CiAgICAgICAgICAgICAgICBfZGVmaW5lQ2xhc3NFbGVtZW50KHJlY2VpdmVyLCBlbGVtZW50KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KZnVuY3Rpb24gX2luaXRpYWxpemVJbnN0YW5jZUVsZW1lbnRzKE8sIGVsZW1lbnRzKSB7CiAgICBbIm1ldGhvZCIsICJmaWVsZCJdLmZvckVhY2goZnVuY3Rpb24oa2luZCkgewogICAgICAgIGVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgICAgICBpZiAoZWxlbWVudC5raW5kID09PSBraW5kICYmIGVsZW1lbnQucGxhY2VtZW50ID09PSAib3duIikgewogICAgICAgICAgICAgICAgX2RlZmluZUNsYXNzRWxlbWVudChPLCBlbGVtZW50KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KZnVuY3Rpb24gX2RlZmluZUNsYXNzRWxlbWVudChyZWNlaXZlciwgZWxlbWVudCkgewogICAgdmFyIGRlc2NyaXB0b3IgPSBlbGVtZW50LmRlc2NyaXB0b3I7CiAgICBpZiAoZWxlbWVudC5raW5kID09PSAiZmllbGQiKSB7CiAgICAgICAgdmFyIGluaXRpYWxpemVyID0gZWxlbWVudC5pbml0aWFsaXplcjsKICAgICAgICBkZXNjcmlwdG9yID0gewogICAgICAgICAgICBlbnVtZXJhYmxlOiBkZXNjcmlwdG9yLmVudW1lcmFibGUsCiAgICAgICAgICAgIHdyaXRhYmxlOiBkZXNjcmlwdG9yLndyaXRhYmxlLAogICAgICAgICAgICBjb25maWd1cmFibGU6IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlLAogICAgICAgICAgICB2YWx1ZTogaW5pdGlhbGl6ZXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGluaXRpYWxpemVyLmNhbGwocmVjZWl2ZXIpCiAgICAgICAgfTsKICAgIH0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZWNlaXZlciwgZWxlbWVudC5rZXksIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9kZWNvcmF0ZUNsYXNzKGVsZW1lbnRzLCBkZWNvcmF0b3JzKSB7CiAgICB2YXIgbmV3RWxlbWVudHMgPSBbXTsKICAgIHZhciBmaW5pc2hlcnMgPSBbXTsKICAgIHZhciBwbGFjZW1lbnRzID0geyBzdGF0aWM6IFtdLCBwcm90b3R5cGU6IFtdLCBvd246IFtdIH07CiAgICBlbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgICBfYWRkRWxlbWVudFBsYWNlbWVudChlbGVtZW50LCBwbGFjZW1lbnRzKTsKICAgIH0pOwogICAgZWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgaWYgKCFfaGFzRGVjb3JhdG9ycyhlbGVtZW50KSkgcmV0dXJuIG5ld0VsZW1lbnRzLnB1c2goZWxlbWVudCk7CiAgICAgICAgdmFyIGVsZW1lbnRGaW5pc2hlcnNFeHRyYXMgPSBfZGVjb3JhdGVFbGVtZW50KGVsZW1lbnQsIHBsYWNlbWVudHMpOwogICAgICAgIG5ld0VsZW1lbnRzLnB1c2goZWxlbWVudEZpbmlzaGVyc0V4dHJhcy5lbGVtZW50KTsKICAgICAgICBuZXdFbGVtZW50cy5wdXNoLmFwcGx5KG5ld0VsZW1lbnRzLCBlbGVtZW50RmluaXNoZXJzRXh0cmFzLmV4dHJhcyk7CiAgICAgICAgZmluaXNoZXJzLnB1c2guYXBwbHkoZmluaXNoZXJzLCBlbGVtZW50RmluaXNoZXJzRXh0cmFzLmZpbmlzaGVycyk7CiAgICB9KTsKICAgIGlmICghZGVjb3JhdG9ycykgewogICAgICAgIHJldHVybiB7IGVsZW1lbnRzOiBuZXdFbGVtZW50cywgZmluaXNoZXJzOiBmaW5pc2hlcnMgfTsKICAgIH0KICAgIHZhciByZXN1bHQgPSBfZGVjb3JhdGVDb25zdHJ1Y3RvcihuZXdFbGVtZW50cywgZGVjb3JhdG9ycyk7CiAgICBmaW5pc2hlcnMucHVzaC5hcHBseShmaW5pc2hlcnMsIHJlc3VsdC5maW5pc2hlcnMpOwogICAgcmVzdWx0LmZpbmlzaGVycyA9IGZpbmlzaGVyczsKICAgIHJldHVybiByZXN1bHQ7Cn0KZnVuY3Rpb24gX2FkZEVsZW1lbnRQbGFjZW1lbnQoZWxlbWVudCwgcGxhY2VtZW50cywgc2lsZW50KSB7CiAgICB2YXIga2V5cyA9IHBsYWNlbWVudHNbZWxlbWVudC5wbGFjZW1lbnRdOwogICAgaWYgKCFzaWxlbnQgJiYga2V5cy5pbmRleE9mKGVsZW1lbnQua2V5KSAhPT0gLTEpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJEdXBsaWNhdGVkIGVsZW1lbnQgKCIgKyBlbGVtZW50LmtleSArICIpIik7CiAgICB9CiAgICBrZXlzLnB1c2goZWxlbWVudC5rZXkpOwp9CmZ1bmN0aW9uIF9kZWNvcmF0ZUVsZW1lbnQoZWxlbWVudCwgcGxhY2VtZW50cykgewogICAgdmFyIGV4dHJhcyA9IFtdOwogICAgdmFyIGZpbmlzaGVycyA9IFtdOwogICAgZm9yICh2YXIgZGVjb3JhdG9ycyA9IGVsZW1lbnQuZGVjb3JhdG9ycywgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICB2YXIga2V5cyA9IHBsYWNlbWVudHNbZWxlbWVudC5wbGFjZW1lbnRdOwogICAgICAgIGtleXMuc3BsaWNlKGtleXMuaW5kZXhPZihlbGVtZW50LmtleSksIDEpOwogICAgICAgIHZhciBlbGVtZW50T2JqZWN0ID0gX2Zyb21FbGVtZW50RGVzY3JpcHRvcihlbGVtZW50KTsKICAgICAgICB2YXIgZWxlbWVudEZpbmlzaGVyRXh0cmFzID0gX3RvRWxlbWVudEZpbmlzaGVyRXh0cmFzKCgwLCBkZWNvcmF0b3JzW2ldKShlbGVtZW50T2JqZWN0KSB8fCBlbGVtZW50T2JqZWN0KTsKICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZpbmlzaGVyRXh0cmFzLmVsZW1lbnQ7CiAgICAgICAgX2FkZEVsZW1lbnRQbGFjZW1lbnQoZWxlbWVudCwgcGxhY2VtZW50cyk7CiAgICAgICAgaWYgKGVsZW1lbnRGaW5pc2hlckV4dHJhcy5maW5pc2hlcikgewogICAgICAgICAgICBmaW5pc2hlcnMucHVzaChlbGVtZW50RmluaXNoZXJFeHRyYXMuZmluaXNoZXIpOwogICAgICAgIH0KICAgICAgICB2YXIgbmV3RXh0cmFzID0gZWxlbWVudEZpbmlzaGVyRXh0cmFzLmV4dHJhczsKICAgICAgICBpZiAobmV3RXh0cmFzKSB7CiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbmV3RXh0cmFzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgICAgICBfYWRkRWxlbWVudFBsYWNlbWVudChuZXdFeHRyYXNbal0sIHBsYWNlbWVudHMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGV4dHJhcy5wdXNoLmFwcGx5KGV4dHJhcywgbmV3RXh0cmFzKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4geyBlbGVtZW50OiBlbGVtZW50LCBmaW5pc2hlcnM6IGZpbmlzaGVycywgZXh0cmFzOiBleHRyYXMgfTsKfQpmdW5jdGlvbiBfZGVjb3JhdGVDb25zdHJ1Y3RvcihlbGVtZW50cywgZGVjb3JhdG9ycykgewogICAgdmFyIGZpbmlzaGVycyA9IFtdOwogICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICB2YXIgb2JqID0gX2Zyb21DbGFzc0Rlc2NyaXB0b3IoZWxlbWVudHMpOwogICAgICAgIHZhciBlbGVtZW50c0FuZEZpbmlzaGVyID0gX3RvQ2xhc3NEZXNjcmlwdG9yKCgwLCBkZWNvcmF0b3JzW2ldKShvYmopIHx8IG9iaik7CiAgICAgICAgaWYgKGVsZW1lbnRzQW5kRmluaXNoZXIuZmluaXNoZXIgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBmaW5pc2hlcnMucHVzaChlbGVtZW50c0FuZEZpbmlzaGVyLmZpbmlzaGVyKTsKICAgICAgICB9CiAgICAgICAgaWYgKGVsZW1lbnRzQW5kRmluaXNoZXIuZWxlbWVudHMgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBlbGVtZW50cyA9IGVsZW1lbnRzQW5kRmluaXNoZXIuZWxlbWVudHM7CiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZWxlbWVudHMubGVuZ3RoIC0gMTsgaisrKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBrID0gaiArIDE7IGsgPCBlbGVtZW50cy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50c1tqXS5rZXkgPT09IGVsZW1lbnRzW2tdLmtleSAmJiBlbGVtZW50c1tqXS5wbGFjZW1lbnQgPT09IGVsZW1lbnRzW2tdLnBsYWNlbWVudCkgewogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJEdXBsaWNhdGVkIGVsZW1lbnQgKCIgKyBlbGVtZW50c1tqXS5rZXkgKyAiKSIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB7IGVsZW1lbnRzOiBlbGVtZW50cywgZmluaXNoZXJzOiBmaW5pc2hlcnMgfTsKfQpmdW5jdGlvbiBfZnJvbUVsZW1lbnREZXNjcmlwdG9yKGVsZW1lbnQpIHsKICAgIHZhciBvYmogPSB7IGtpbmQ6IGVsZW1lbnQua2luZCwga2V5OiBlbGVtZW50LmtleSwgcGxhY2VtZW50OiBlbGVtZW50LnBsYWNlbWVudCwgZGVzY3JpcHRvcjogZWxlbWVudC5kZXNjcmlwdG9yIH07CiAgICB2YXIgZGVzYyA9IHsgdmFsdWU6ICJEZXNjcmlwdG9yIiwgY29uZmlndXJhYmxlOiB0cnVlIH07CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBTeW1ib2wudG9TdHJpbmdUYWcsIGRlc2MpOwogICAgaWYgKGVsZW1lbnQua2luZCA9PT0gImZpZWxkIikgb2JqLmluaXRpYWxpemVyID0gZWxlbWVudC5pbml0aWFsaXplcjsKICAgIHJldHVybiBvYmo7Cn0KZnVuY3Rpb24gX3RvRWxlbWVudERlc2NyaXB0b3JzKGVsZW1lbnRPYmplY3RzKSB7CiAgICBpZiAoZWxlbWVudE9iamVjdHMgPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgcmV0dXJuIF90b19hcnJheShlbGVtZW50T2JqZWN0cykubWFwKGZ1bmN0aW9uKGVsZW1lbnRPYmplY3QpIHsKICAgICAgICB2YXIgZWxlbWVudCA9IF90b0VsZW1lbnREZXNjcmlwdG9yKGVsZW1lbnRPYmplY3QpOwogICAgICAgIF9kaXNhbGxvd1Byb3BlcnR5KGVsZW1lbnRPYmplY3QsICJmaW5pc2hlciIsICJBbiBlbGVtZW50IGRlc2NyaXB0b3IiKTsKICAgICAgICBfZGlzYWxsb3dQcm9wZXJ0eShlbGVtZW50T2JqZWN0LCAiZXh0cmFzIiwgIkFuIGVsZW1lbnQgZGVzY3JpcHRvciIpOwogICAgICAgIHJldHVybiBlbGVtZW50OwogICAgfSk7Cn0KZnVuY3Rpb24gX3RvRWxlbWVudERlc2NyaXB0b3IoZWxlbWVudE9iamVjdCkgewogICAgdmFyIGtpbmQgPSBTdHJpbmcoZWxlbWVudE9iamVjdC5raW5kKTsKICAgIGlmIChraW5kICE9PSAibWV0aG9kIiAmJiBraW5kICE9PSAiZmllbGQiKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAgICAgIkFuIGVsZW1lbnQgZGVzY3JpcHRvcidzIC5raW5kIHByb3BlcnR5IG11c3QgYmUgZWl0aGVyIFwibWV0aG9kXCIgb3IiCiAgICAgICAgICAgICAgICArICIgXCJmaWVsZFwiLCBidXQgYSBkZWNvcmF0b3IgY3JlYXRlZCBhbiBlbGVtZW50IGRlc2NyaXB0b3Igd2l0aCIgKyAiIC5raW5kIFwiIiArIGtpbmQgKyAiXCIiCiAgICAgICAgKTsKICAgIH0KICAgIHZhciBrZXkgPSBfdG9fcHJvcGVydHlfa2V5KGVsZW1lbnRPYmplY3Qua2V5KTsKICAgIHZhciBwbGFjZW1lbnQgPSBTdHJpbmcoZWxlbWVudE9iamVjdC5wbGFjZW1lbnQpOwogICAgaWYgKHBsYWNlbWVudCAhPT0gInN0YXRpYyIgJiYgcGxhY2VtZW50ICE9PSAicHJvdG90eXBlIiAmJiBwbGFjZW1lbnQgIT09ICJvd24iKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAgICAgIkFuIGVsZW1lbnQgZGVzY3JpcHRvcidzIC5wbGFjZW1lbnQgcHJvcGVydHkgbXVzdCBiZSBvbmUgb2YgXCJzdGF0aWNcIiwiCiAgICAgICAgICAgICAgICArICIgXCJwcm90b3R5cGVcIiBvciBcIm93blwiLCBidXQgYSBkZWNvcmF0b3IgY3JlYXRlZCBhbiBlbGVtZW50IGRlc2NyaXB0b3IiICsgIiB3aXRoIC5wbGFjZW1lbnQgXCIiICsgcGxhY2VtZW50ICsgIlwiIgogICAgICAgICk7CiAgICB9CiAgICB2YXIgZGVzY3JpcHRvciA9IGVsZW1lbnRPYmplY3QuZGVzY3JpcHRvcjsKICAgIF9kaXNhbGxvd1Byb3BlcnR5KGVsZW1lbnRPYmplY3QsICJlbGVtZW50cyIsICJBbiBlbGVtZW50IGRlc2NyaXB0b3IiKTsKICAgIHZhciBlbGVtZW50ID0geyBraW5kOiBraW5kLCBrZXk6IGtleSwgcGxhY2VtZW50OiBwbGFjZW1lbnQsIGRlc2NyaXB0b3I6IE9iamVjdC5hc3NpZ24oe30sIGRlc2NyaXB0b3IpIH07CiAgICBpZiAoa2luZCAhPT0gImZpZWxkIikgewogICAgICAgIF9kaXNhbGxvd1Byb3BlcnR5KGVsZW1lbnRPYmplY3QsICJpbml0aWFsaXplciIsICJBIG1ldGhvZCBkZXNjcmlwdG9yIik7CiAgICB9IGVsc2UgewogICAgICAgIF9kaXNhbGxvd1Byb3BlcnR5KGRlc2NyaXB0b3IsICJnZXQiLCAiVGhlIHByb3BlcnR5IGRlc2NyaXB0b3Igb2YgYSBmaWVsZCBkZXNjcmlwdG9yIik7CiAgICAgICAgX2Rpc2FsbG93UHJvcGVydHkoZGVzY3JpcHRvciwgInNldCIsICJUaGUgcHJvcGVydHkgZGVzY3JpcHRvciBvZiBhIGZpZWxkIGRlc2NyaXB0b3IiKTsKICAgICAgICBfZGlzYWxsb3dQcm9wZXJ0eShkZXNjcmlwdG9yLCAidmFsdWUiLCAiVGhlIHByb3BlcnR5IGRlc2NyaXB0b3Igb2YgYSBmaWVsZCBkZXNjcmlwdG9yIik7CiAgICAgICAgZWxlbWVudC5pbml0aWFsaXplciA9IGVsZW1lbnRPYmplY3QuaW5pdGlhbGl6ZXI7CiAgICB9CiAgICByZXR1cm4gZWxlbWVudDsKfQpmdW5jdGlvbiBfdG9FbGVtZW50RmluaXNoZXJFeHRyYXMoZWxlbWVudE9iamVjdCkgewogICAgdmFyIGVsZW1lbnQgPSBfdG9FbGVtZW50RGVzY3JpcHRvcihlbGVtZW50T2JqZWN0KTsKICAgIHZhciBmaW5pc2hlciA9IF9vcHRpb25hbENhbGxhYmxlUHJvcGVydHkoZWxlbWVudE9iamVjdCwgImZpbmlzaGVyIik7CiAgICB2YXIgZXh0cmFzID0gX3RvRWxlbWVudERlc2NyaXB0b3JzKGVsZW1lbnRPYmplY3QuZXh0cmFzKTsKICAgIHJldHVybiB7IGVsZW1lbnQ6IGVsZW1lbnQsIGZpbmlzaGVyOiBmaW5pc2hlciwgZXh0cmFzOiBleHRyYXMgfTsKfQpmdW5jdGlvbiBfZnJvbUNsYXNzRGVzY3JpcHRvcihlbGVtZW50cykgewogICAgdmFyIG9iaiA9IHsga2luZDogImNsYXNzIiwgZWxlbWVudHM6IGVsZW1lbnRzLm1hcChfZnJvbUVsZW1lbnREZXNjcmlwdG9yKSB9OwogICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAiRGVzY3JpcHRvciIsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9OwogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgU3ltYm9sLnRvU3RyaW5nVGFnLCBkZXNjKTsKICAgIHJldHVybiBvYmo7Cn0KZnVuY3Rpb24gX3RvQ2xhc3NEZXNjcmlwdG9yKG9iaikgewogICAgdmFyIGtpbmQgPSBTdHJpbmcob2JqLmtpbmQpOwogICAgaWYgKGtpbmQgIT09ICJjbGFzcyIpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICAgICAiQSBjbGFzcyBkZXNjcmlwdG9yJ3MgLmtpbmQgcHJvcGVydHkgbXVzdCBiZSBcImNsYXNzXCIsIGJ1dCBhIGRlY29yYXRvciIgKyAiIGNyZWF0ZWQgYSBjbGFzcyBkZXNjcmlwdG9yIHdpdGggLmtpbmQgXCIiICsga2luZAogICAgICAgICAgICAgICAgKyAiXCIiCiAgICAgICAgKTsKICAgIH0KICAgIF9kaXNhbGxvd1Byb3BlcnR5KG9iaiwgImtleSIsICJBIGNsYXNzIGRlc2NyaXB0b3IiKTsKICAgIF9kaXNhbGxvd1Byb3BlcnR5KG9iaiwgInBsYWNlbWVudCIsICJBIGNsYXNzIGRlc2NyaXB0b3IiKTsKICAgIF9kaXNhbGxvd1Byb3BlcnR5KG9iaiwgImRlc2NyaXB0b3IiLCAiQSBjbGFzcyBkZXNjcmlwdG9yIik7CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShvYmosICJpbml0aWFsaXplciIsICJBIGNsYXNzIGRlc2NyaXB0b3IiKTsKICAgIF9kaXNhbGxvd1Byb3BlcnR5KG9iaiwgImV4dHJhcyIsICJBIGNsYXNzIGRlc2NyaXB0b3IiKTsKICAgIHZhciBmaW5pc2hlciA9IF9vcHRpb25hbENhbGxhYmxlUHJvcGVydHkob2JqLCAiZmluaXNoZXIiKTsKICAgIHZhciBlbGVtZW50cyA9IF90b0VsZW1lbnREZXNjcmlwdG9ycyhvYmouZWxlbWVudHMpOwogICAgcmV0dXJuIHsgZWxlbWVudHM6IGVsZW1lbnRzLCBmaW5pc2hlcjogZmluaXNoZXIgfTsKfQpmdW5jdGlvbiBfZGlzYWxsb3dQcm9wZXJ0eShvYmosIG5hbWUsIG9iamVjdFR5cGUpIHsKICAgIGlmIChvYmpbbmFtZV0gIT09IHVuZGVmaW5lZCkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3Iob2JqZWN0VHlwZSArICIgY2FuJ3QgaGF2ZSBhIC4iICsgbmFtZSArICIgcHJvcGVydHkuIik7CiAgICB9Cn0KZnVuY3Rpb24gX29wdGlvbmFsQ2FsbGFibGVQcm9wZXJ0eShvYmosIG5hbWUpIHsKICAgIHZhciB2YWx1ZSA9IG9ialtuYW1lXTsKICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkICciICsgbmFtZSArICInIHRvIGJlIGEgZnVuY3Rpb24iKTsKICAgIH0KICAgIHJldHVybiB2YWx1ZTsKfQpmdW5jdGlvbiBfcnVuQ2xhc3NGaW5pc2hlcnMoY29uc3RydWN0b3IsIGZpbmlzaGVycykgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaW5pc2hlcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgbmV3Q29uc3RydWN0b3IgPSAoMCwgZmluaXNoZXJzW2ldKShjb25zdHJ1Y3Rvcik7CiAgICAgICAgaWYgKG5ld0NvbnN0cnVjdG9yICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBuZXdDb25zdHJ1Y3RvciAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiRmluaXNoZXJzIG11c3QgcmV0dXJuIGEgY29uc3RydWN0b3IuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY29uc3RydWN0b3IgPSBuZXdDb25zdHJ1Y3RvcjsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY29uc3RydWN0b3I7Cn0KZnVuY3Rpb24gX2RlZmF1bHRzKG9iaiwgZGVmYXVsdHMpIHsKICAgIHZhciBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZGVmYXVsdHMpOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGtleSA9IGtleXNbaV07CiAgICAgICAgdmFyIHZhbHVlID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihkZWZhdWx0cywga2V5KTsKICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY29uZmlndXJhYmxlICYmIG9ialtrZXldID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIG9iajsKfQpmdW5jdGlvbiBfZGVmaW5lX2VudW1lcmFibGVfcHJvcGVydGllcyhvYmosIGRlc2NzKSB7CiAgICBmb3IgKHZhciBrZXkgaW4gZGVzY3MpIHsKICAgICAgICB2YXIgZGVzYyA9IGRlc2NzW2tleV07CiAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPSBkZXNjLmVudW1lcmFibGUgPSB0cnVlOwogICAgICAgIGlmICgidmFsdWUiIGluIGRlc2MpIGRlc2Mud3JpdGFibGUgPSB0cnVlOwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgZGVzYyk7CiAgICB9CiAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgewogICAgICAgIHZhciBvYmplY3RTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhkZXNjcyk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvYmplY3RTeW1ib2xzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBzeW0gPSBvYmplY3RTeW1ib2xzW2ldOwogICAgICAgICAgICB2YXIgZGVzYyA9IGRlc2NzW3N5bV07CiAgICAgICAgICAgIGRlc2MuY29uZmlndXJhYmxlID0gZGVzYy5lbnVtZXJhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKCJ2YWx1ZSIgaW4gZGVzYykgZGVzYy53cml0YWJsZSA9IHRydWU7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHN5bSwgZGVzYyk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIG9iajsKfQpmdW5jdGlvbiBfZGVmaW5lX3Byb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgewogICAgaWYgKGtleSBpbiBvYmopIHsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOwogICAgfSBlbHNlIHsKICAgICAgICBvYmpba2V5XSA9IHZhbHVlOwogICAgfQogICAgcmV0dXJuIG9iajsKfQpmdW5jdGlvbiBfZXhwb3J0X3N0YXIoZnJvbSwgdG8pIHsKICAgIE9iamVjdC5rZXlzKGZyb20pLmZvckVhY2goZnVuY3Rpb24oaykgewogICAgICAgIGlmIChrICE9PSAiZGVmYXVsdCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0bywgaykpIHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRvLCBrLCB7CiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLAogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbVtrXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgfSk7CiAgICByZXR1cm4gZnJvbTsKfQpmdW5jdGlvbiBfZXh0ZW5kcygpIHsKICAgIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0YXJnZXQpIHsKICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOwogICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7CiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgewogICAgICAgICAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH07CiAgICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKfQpmdW5jdGlvbiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7CiAgICBpZiAodHlwZW9mIFJlZmxlY3QgIT09ICJ1bmRlZmluZWQiICYmIFJlZmxlY3QuZ2V0KSB7CiAgICAgICAgX2dldCA9IFJlZmxlY3QuZ2V0OwogICAgfSBlbHNlIHsKICAgICAgICBfZ2V0ID0gZnVuY3Rpb24gZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKSB7CiAgICAgICAgICAgIHZhciBiYXNlID0gX3N1cGVyX3Byb3BfYmFzZSh0YXJnZXQsIHByb3BlcnR5KTsKICAgICAgICAgICAgaWYgKCFiYXNlKSByZXR1cm47CiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlLCBwcm9wZXJ0eSk7CiAgICAgICAgICAgIGlmIChkZXNjLmdldCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGRlc2MuZ2V0LmNhbGwocmVjZWl2ZXIgfHwgdGFyZ2V0KTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZGVzYy52YWx1ZTsKICAgICAgICB9OwogICAgfQogICAgcmV0dXJuIF9nZXQodGFyZ2V0LCBwcm9wZXJ0eSwgcmVjZWl2ZXIgfHwgdGFyZ2V0KTsKfQpmdW5jdGlvbiBfZ2V0X3Byb3RvdHlwZV9vZihvKSB7CiAgICBfZ2V0X3Byb3RvdHlwZV9vZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5nZXRQcm90b3R5cGVPZiA6IGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mKG8pIHsKICAgICAgICByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pOwogICAgfTsKICAgIHJldHVybiBfZ2V0X3Byb3RvdHlwZV9vZihvKTsKfQpmdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsKICAgIGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gImZ1bmN0aW9uIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTsKICAgIH0KICAgIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgewogICAgICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9CiAgICB9KTsKICAgIGlmIChzdXBlckNsYXNzKSBfc2V0X3Byb3RvdHlwZV9vZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7Cn0KZnVuY3Rpb24gX2luaGVyaXRzX2xvb3NlKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7CiAgICBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsKICAgIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOwogICAgc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsKfQpmdW5jdGlvbiBfaW5pdGlhbGl6ZXJfZGVmaW5lX3Byb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIGRlc2NyaXB0b3IsIGNvbnRleHQpIHsKICAgIGlmICghZGVzY3JpcHRvcikgcmV0dXJuOwogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHksIHsKICAgICAgICBlbnVtZXJhYmxlOiBkZXNjcmlwdG9yLmVudW1lcmFibGUsCiAgICAgICAgY29uZmlndXJhYmxlOiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSwKICAgICAgICB3cml0YWJsZTogZGVzY3JpcHRvci53cml0YWJsZSwKICAgICAgICB2YWx1ZTogZGVzY3JpcHRvci5pbml0aWFsaXplciA/IGRlc2NyaXB0b3IuaW5pdGlhbGl6ZXIuY2FsbChjb250ZXh0KSA6IHZvaWQgMAogICAgfSk7Cn0KZnVuY3Rpb24gX2luaXRpYWxpemVyX3dhcm5pbmdfaGVscGVyKGRlc2NyaXB0b3IsIGNvbnRleHQpIHsKICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAiRGVjb3JhdGluZyBjbGFzcyBwcm9wZXJ0eSBmYWlsZWQuIFBsZWFzZSBlbnN1cmUgdGhhdCAiICsgInByb3Bvc2FsLWNsYXNzLXByb3BlcnRpZXMgaXMgZW5hYmxlZCBhbmQgc2V0IHRvIHVzZSBsb29zZSBtb2RlLiAiCiAgICAgICAgICAgICsgIlRvIHVzZSBwcm9wb3NhbC1jbGFzcy1wcm9wZXJ0aWVzIGluIHNwZWMgbW9kZSB3aXRoIGRlY29yYXRvcnMsIHdhaXQgZm9yICIKICAgICAgICAgICAgKyAidGhlIG5leHQgbWFqb3IgdmVyc2lvbiBvZiBkZWNvcmF0b3JzIGluIHN0YWdlIDIuIgogICAgKTsKfQpmdW5jdGlvbiBfaW5zdGFuY2VvZihsZWZ0LCByaWdodCkgewogICAgaWYgKHJpZ2h0ICE9IG51bGwgJiYgdHlwZW9mIFN5bWJvbCAhPT0gInVuZGVmaW5lZCIgJiYgcmlnaHRbU3ltYm9sLmhhc0luc3RhbmNlXSkgewogICAgICAgIHJldHVybiAhIXJpZ2h0W1N5bWJvbC5oYXNJbnN0YW5jZV0obGVmdCk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBsZWZ0IGluc3RhbmNlb2YgcmlnaHQ7CiAgICB9Cn0KZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikgewogICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07Cn0KZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7CiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09ICJmdW5jdGlvbiIpIHJldHVybiBudWxsOwogICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTsKICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTsKICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHsKICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7CiAgICB9KShub2RlSW50ZXJvcCk7Cn0KZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7CiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkgewogICAgICAgIHJldHVybiBvYmo7CiAgICB9CiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICJvYmplY3QiICYmIHR5cGVvZiBvYmogIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICByZXR1cm4geyBkZWZhdWx0OiBvYmogfTsKICAgIH0KICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7CiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHsKICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KG9iaik7CiAgICB9CiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTsKICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsKICAgIGZvciAodmFyIGtleSBpbiBvYmopIHsKICAgICAgICBpZiAoa2V5ICE9PSAiZGVmYXVsdCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgewogICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDsKICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgewogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajsKICAgIGlmIChjYWNoZSkgewogICAgICAgIGNhY2hlLnNldChvYmosIG5ld09iaik7CiAgICB9CiAgICByZXR1cm4gbmV3T2JqOwp9CmZ1bmN0aW9uIF9pc19uYXRpdmVfZnVuY3Rpb24oZm4pIHsKICAgIHJldHVybiBGdW5jdGlvbi50b1N0cmluZy5jYWxsKGZuKS5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIikgIT09IC0xOwp9CmZ1bmN0aW9uIF9pdGVyYWJsZV90b19hcnJheShpdGVyKSB7CiAgICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gInVuZGVmaW5lZCIgJiYgaXRlcltTeW1ib2wuaXRlcmF0b3JdICE9IG51bGwgfHwgaXRlclsiQEBpdGVyYXRvciJdICE9IG51bGwpIHJldHVybiBBcnJheS5mcm9tKGl0ZXIpOwp9CmZ1bmN0aW9uIF9pdGVyYWJsZV90b19hcnJheV9saW1pdChhcnIsIGkpIHsKICAgIHZhciBfaSA9IGFyciA9PSBudWxsID8gbnVsbCA6IHR5cGVvZiBTeW1ib2wgIT09ICJ1bmRlZmluZWQiICYmIGFycltTeW1ib2wuaXRlcmF0b3JdIHx8IGFyclsiQEBpdGVyYXRvciJdOwogICAgaWYgKF9pID09IG51bGwpIHJldHVybjsKICAgIHZhciBfYXJyID0gW107CiAgICB2YXIgX24gPSB0cnVlOwogICAgdmFyIF9kID0gZmFsc2U7CiAgICB2YXIgX3MsIF9lOwogICAgdHJ5IHsKICAgICAgICBmb3IgKF9pID0gX2kuY2FsbChhcnIpOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7CiAgICAgICAgICAgIF9hcnIucHVzaChfcy52YWx1ZSk7CiAgICAgICAgICAgIGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsKICAgICAgICB9CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBfZCA9IHRydWU7CiAgICAgICAgX2UgPSBlcnI7CiAgICB9IGZpbmFsbHkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICghX24gJiYgX2lbInJldHVybiJdICE9IG51bGwpIF9pWyJyZXR1cm4iXSgpOwogICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGlmIChfZCkgdGhyb3cgX2U7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIF9hcnI7Cn0KZnVuY3Rpb24gX2l0ZXJhYmxlX3RvX2FycmF5X2xpbWl0X2xvb3NlKGFyciwgaSkgewogICAgdmFyIF9pID0gYXJyICYmICh0eXBlb2YgU3ltYm9sICE9PSAidW5kZWZpbmVkIiAmJiBhcnJbU3ltYm9sLml0ZXJhdG9yXSB8fCBhcnJbIkBAaXRlcmF0b3IiXSk7CiAgICBpZiAoX2kgPT0gbnVsbCkgcmV0dXJuOwogICAgdmFyIF9hcnIgPSBbXTsKICAgIGZvciAoX2kgPSBfaS5jYWxsKGFyciksIF9zdGVwOyAhKF9zdGVwID0gX2kubmV4dCgpKS5kb25lOykgewogICAgICAgIF9hcnIucHVzaChfc3RlcC52YWx1ZSk7CiAgICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOwogICAgfQogICAgcmV0dXJuIF9hcnI7Cn0KdmFyIFJFQUNUX0VMRU1FTlRfVFlQRTsKZnVuY3Rpb24gX2pzeCh0eXBlLCBwcm9wcywga2V5LCBjaGlsZHJlbikgewogICAgaWYgKCFSRUFDVF9FTEVNRU5UX1RZUEUpIHsKICAgICAgICBSRUFDVF9FTEVNRU5UX1RZUEUgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5mb3IgJiYgU3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpIHx8IDB4ZWFjNzsKICAgIH0KICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlICYmIHR5cGUuZGVmYXVsdFByb3BzOwogICAgdmFyIGNoaWxkcmVuTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCAtIDM7CiAgICBpZiAoIXByb3BzICYmIGNoaWxkcmVuTGVuZ3RoICE9PSAwKSB7CiAgICAgICAgcHJvcHMgPSB7IGNoaWxkcmVuOiB2b2lkIDAgfTsKICAgIH0KICAgIGlmIChwcm9wcyAmJiBkZWZhdWx0UHJvcHMpIHsKICAgICAgICBmb3IgKHZhciBwcm9wTmFtZSBpbiBkZWZhdWx0UHJvcHMpIHsKICAgICAgICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdm9pZCAwKSB7CiAgICAgICAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSBlbHNlIGlmICghcHJvcHMpIHsKICAgICAgICBwcm9wcyA9IGRlZmF1bHRQcm9wcyB8fCB7fTsKICAgIH0KICAgIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkgewogICAgICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47CiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkgewogICAgICAgIHZhciBjaGlsZEFycmF5ID0gbmV3IEFycmF5KGNoaWxkcmVuTGVuZ3RoKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgY2hpbGRBcnJheVtpXSA9IGFyZ3VtZW50c1tpICsgM107CiAgICAgICAgfQogICAgICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTsKICAgIH0KICAgIHJldHVybiB7ICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsIHR5cGU6IHR5cGUsIGtleToga2V5ID09PSB1bmRlZmluZWQgPyBudWxsIDogIiIgKyBrZXksIHJlZjogbnVsbCwgcHJvcHM6IHByb3BzLCBfb3duZXI6IG51bGwgfTsKfQpmdW5jdGlvbiBfbmV3X2Fycm93X2NoZWNrKGlubmVyVGhpcywgYm91bmRUaGlzKSB7CiAgICBpZiAoaW5uZXJUaGlzICE9PSBib3VuZFRoaXMpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgaW5zdGFudGlhdGUgYW4gYXJyb3cgZnVuY3Rpb24iKTsKICAgIH0KfQpmdW5jdGlvbiBfbm9uX2l0ZXJhYmxlX3Jlc3QoKSB7CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iCiAgICApOwp9CmZ1bmN0aW9uIF9ub25faXRlcmFibGVfc3ByZWFkKCkgewogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIKICAgICk7Cn0KZnVuY3Rpb24gX29iamVjdF9kZXN0cnVjdHVyaW5nX2VtcHR5KG8pIHsKICAgIGlmIChvID09PSBudWxsIHx8IG8gPT09IHZvaWQgMCkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGRlc3RydWN0dXJlICIgKyBvKTsKICAgIHJldHVybiBvOwp9CmZ1bmN0aW9uIF9vYmplY3Rfc3ByZWFkKHRhcmdldCkgewogICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTsKICAgICAgICB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7CiAgICAgICAgaWYgKHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgIG93bktleXMgPSBvd25LZXlzLmNvbmNhdCgKICAgICAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKS5maWx0ZXIoZnVuY3Rpb24oc3ltKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBvd25LZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAgICAgICAgIF9kZWZpbmVfcHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsKICAgICAgICB9KTsKICAgIH0KICAgIHJldHVybiB0YXJnZXQ7Cn0KZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7CiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7CiAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgewogICAgICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOwogICAgICAgIGlmIChlbnVtZXJhYmxlT25seSkgewogICAgICAgICAgICBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24oc3ltKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsKICAgIH0KICAgIHJldHVybiBrZXlzOwp9CmZ1bmN0aW9uIF9vYmplY3Rfc3ByZWFkX3Byb3BzKHRhcmdldCwgc291cmNlKSB7CiAgICBzb3VyY2UgPSBzb3VyY2UgIT0gbnVsbCA/IHNvdXJjZSA6IHt9OwogICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTsKICAgIH0gZWxzZSB7CiAgICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHsKICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7CiAgICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gdGFyZ2V0Owp9CmZ1bmN0aW9uIF9vYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzKHNvdXJjZSwgZXhjbHVkZWQpIHsKICAgIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9OwogICAgdmFyIHRhcmdldCA9IF9vYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzX2xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpOwogICAgdmFyIGtleSwgaTsKICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7CiAgICAgICAgdmFyIHNvdXJjZVN5bWJvbEtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHNvdXJjZVN5bWJvbEtleXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAga2V5ID0gc291cmNlU3ltYm9sS2V5c1tpXTsKICAgICAgICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTsKICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoc291cmNlLCBrZXkpKSBjb250aW51ZTsKICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdGFyZ2V0Owp9CmZ1bmN0aW9uIF9vYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzX2xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpIHsKICAgIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9OwogICAgdmFyIHRhcmdldCA9IHt9OwogICAgdmFyIHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOwogICAgdmFyIGtleSwgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VLZXlzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAga2V5ID0gc291cmNlS2V5c1tpXTsKICAgICAgICBpZiAoZXhjbHVkZWQuaW5kZXhPZihrZXkpID49IDApIGNvbnRpbnVlOwogICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07CiAgICB9CiAgICByZXR1cm4gdGFyZ2V0Owp9CmZ1bmN0aW9uIF9wb3NzaWJsZV9jb25zdHJ1Y3Rvcl9yZXR1cm4oc2VsZiwgY2FsbCkgewogICAgaWYgKGNhbGwgJiYgKF90eXBlX29mKGNhbGwpID09PSAib2JqZWN0IiB8fCB0eXBlb2YgY2FsbCA9PT0gImZ1bmN0aW9uIikpIHsKICAgICAgICByZXR1cm4gY2FsbDsKICAgIH0KICAgIHJldHVybiBfYXNzZXJ0X3RoaXNfaW5pdGlhbGl6ZWQoc2VsZik7Cn0KZnVuY3Rpb24gX3JlYWRfb25seV9lcnJvcihuYW1lKSB7CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJcIiIgKyBuYW1lICsgIlwiIGlzIHJlYWQtb25seSIpOwp9CmZ1bmN0aW9uIHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIpIHsKICAgIGlmICh0eXBlb2YgUmVmbGVjdCAhPT0gInVuZGVmaW5lZCIgJiYgUmVmbGVjdC5zZXQpIHsKICAgICAgICBzZXQgPSBSZWZsZWN0LnNldDsKICAgIH0gZWxzZSB7CiAgICAgICAgc2V0ID0gZnVuY3Rpb24gc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVlLCByZWNlaXZlcikgewogICAgICAgICAgICB2YXIgYmFzZSA9IF9zdXBlcl9wcm9wX2Jhc2UodGFyZ2V0LCBwcm9wZXJ0eSk7CiAgICAgICAgICAgIHZhciBkZXNjOwogICAgICAgICAgICBpZiAoYmFzZSkgewogICAgICAgICAgICAgICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZSwgcHJvcGVydHkpOwogICAgICAgICAgICAgICAgaWYgKGRlc2Muc2V0KSB7CiAgICAgICAgICAgICAgICAgICAgZGVzYy5zZXQuY2FsbChyZWNlaXZlciwgdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZGVzYy53cml0YWJsZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyZWNlaXZlciwgcHJvcGVydHkpOwogICAgICAgICAgICBpZiAoZGVzYykgewogICAgICAgICAgICAgICAgaWYgKCFkZXNjLndyaXRhYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZGVzYy52YWx1ZSA9IHZhbHVlOwogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlY2VpdmVyLCBwcm9wZXJ0eSwgZGVzYyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfZGVmaW5lX3Byb3BlcnR5KHJlY2VpdmVyLCBwcm9wZXJ0eSwgdmFsdWUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH07CiAgICB9CiAgICByZXR1cm4gc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVlLCByZWNlaXZlcik7Cn0KZnVuY3Rpb24gX3NldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIsIGlzU3RyaWN0KSB7CiAgICB2YXIgcyA9IHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIgfHwgdGFyZ2V0KTsKICAgIGlmICghcyAmJiBpc1N0cmljdCkgewogICAgICAgIHRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIHNldCBwcm9wZXJ0eSIpOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9CmZ1bmN0aW9uIF9zZXRfcHJvdG90eXBlX29mKG8sIHApIHsKICAgIF9zZXRfcHJvdG90eXBlX29mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIHNldFByb3RvdHlwZU9mKG8sIHApIHsKICAgICAgICBvLl9fcHJvdG9fXyA9IHA7CiAgICAgICAgcmV0dXJuIG87CiAgICB9OwogICAgcmV0dXJuIF9zZXRfcHJvdG90eXBlX29mKG8sIHApOwp9CmZ1bmN0aW9uIF9za2lwX2ZpcnN0X2dlbmVyYXRvcl9uZXh0KGZuKSB7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGl0ID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICBpdC5uZXh0KCk7CiAgICAgICAgcmV0dXJuIGl0OwogICAgfTsKfQpmdW5jdGlvbiBfc2xpY2VkX3RvX2FycmF5KGFyciwgaSkgewogICAgcmV0dXJuIF9hcnJheV93aXRoX2hvbGVzKGFycikgfHwgX2l0ZXJhYmxlX3RvX2FycmF5X2xpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5KGFyciwgaSkgfHwgX25vbl9pdGVyYWJsZV9yZXN0KCk7Cn0KZnVuY3Rpb24gX3NsaWNlZF90b19hcnJheV9sb29zZShhcnIsIGkpIHsKICAgIHJldHVybiBfYXJyYXlfd2l0aF9ob2xlcyhhcnIpIHx8IF9pdGVyYWJsZV90b19hcnJheV9saW1pdF9sb29zZShhcnIsIGkpIHx8IF91bnN1cHBvcnRlZF9pdGVyYWJsZV90b19hcnJheShhcnIsIGkpCiAgICAgICAgfHwgX25vbl9pdGVyYWJsZV9yZXN0KCk7Cn0KZnVuY3Rpb24gX3N1cGVyX3Byb3BfYmFzZShvYmplY3QsIHByb3BlcnR5KSB7CiAgICB3aGlsZSAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KSkgewogICAgICAgIG9iamVjdCA9IF9nZXRfcHJvdG90eXBlX29mKG9iamVjdCk7CiAgICAgICAgaWYgKG9iamVjdCA9PT0gbnVsbCkgYnJlYWs7CiAgICB9CiAgICByZXR1cm4gb2JqZWN0Owp9CmZ1bmN0aW9uIF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbChzdHJpbmdzLCByYXcpIHsKICAgIGlmICghcmF3KSB7CiAgICAgICAgcmF3ID0gc3RyaW5ncy5zbGljZSgwKTsKICAgIH0KICAgIHJldHVybiBPYmplY3QuZnJlZXplKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHN0cmluZ3MsIHsgcmF3OiB7IHZhbHVlOiBPYmplY3QuZnJlZXplKHJhdykgfSB9KSk7Cn0KZnVuY3Rpb24gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlKHN0cmluZ3MsIHJhdykgewogICAgaWYgKCFyYXcpIHsKICAgICAgICByYXcgPSBzdHJpbmdzLnNsaWNlKDApOwogICAgfQogICAgc3RyaW5ncy5yYXcgPSByYXc7CiAgICByZXR1cm4gc3RyaW5nczsKfQpmdW5jdGlvbiBfdGhyb3coZSkgewogICAgdGhyb3cgZTsKfQpmdW5jdGlvbiBfdG9fYXJyYXkoYXJyKSB7CiAgICByZXR1cm4gX2FycmF5X3dpdGhfaG9sZXMoYXJyKSB8fCBfaXRlcmFibGVfdG9fYXJyYXkoYXJyKSB8fCBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkoYXJyKSB8fCBfbm9uX2l0ZXJhYmxlX3Jlc3QoKTsKfQpmdW5jdGlvbiBfdG9fY29uc3VtYWJsZV9hcnJheShhcnIpIHsKICAgIHJldHVybiBfYXJyYXlfd2l0aG91dF9ob2xlcyhhcnIpIHx8IF9pdGVyYWJsZV90b19hcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZF9pdGVyYWJsZV90b19hcnJheShhcnIpIHx8IF9ub25faXRlcmFibGVfc3ByZWFkKCk7Cn0KZnVuY3Rpb24gX3RvX3ByaW1pdGl2ZShpbnB1dCwgaGludCkgewogICAgaWYgKF90eXBlX29mKGlucHV0KSAhPT0gIm9iamVjdCIgfHwgaW5wdXQgPT09IG51bGwpIHJldHVybiBpbnB1dDsKICAgIHZhciBwcmltID0gaW5wdXRbU3ltYm9sLnRvUHJpbWl0aXZlXTsKICAgIGlmIChwcmltICE9PSB1bmRlZmluZWQpIHsKICAgICAgICB2YXIgcmVzID0gcHJpbS5jYWxsKGlucHV0LCBoaW50IHx8ICJkZWZhdWx0Iik7CiAgICAgICAgaWYgKF90eXBlX29mKHJlcykgIT09ICJvYmplY3QiKSByZXR1cm4gcmVzOwogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIik7CiAgICB9CiAgICByZXR1cm4gKGhpbnQgPT09ICJzdHJpbmciID8gU3RyaW5nIDogTnVtYmVyKShpbnB1dCk7Cn0KZnVuY3Rpb24gX3RvX3Byb3BlcnR5X2tleShhcmcpIHsKICAgIHZhciBrZXkgPSBfdG9fcHJpbWl0aXZlKGFyZywgInN0cmluZyIpOwogICAgcmV0dXJuIF90eXBlX29mKGtleSkgPT09ICJzeW1ib2wiID8ga2V5IDogU3RyaW5nKGtleSk7Cn0KZnVuY3Rpb24gX3VwZGF0ZSh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlciwgaXNTdHJpY3QpIHsKICAgIHJldHVybiB7CiAgICAgICAgZ2V0IF8oKSB7CiAgICAgICAgICAgIHJldHVybiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTsKICAgICAgICB9LAogICAgICAgIHNldCBfKHZhbHVlKSB7CiAgICAgICAgICAgIF9zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHJlY2VpdmVyLCBpc1N0cmljdCk7CiAgICAgICAgfQogICAgfTsKfQpmdW5jdGlvbiBfdHlwZV9vZihvYmopIHsKICAgICJAc3djL2hlbHBlcnMgLSB0eXBlb2YiOwogICAgcmV0dXJuIG9iaiAmJiB0eXBlb2YgU3ltYm9sICE9PSAidW5kZWZpbmVkIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCA/ICJzeW1ib2wiIDogdHlwZW9mIG9iajsKfQpmdW5jdGlvbiBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkobywgbWluTGVuKSB7CiAgICBpZiAoIW8pIHJldHVybjsKICAgIGlmICh0eXBlb2YgbyA9PT0gInN0cmluZyIpIHJldHVybiBfYXJyYXlfbGlrZV90b19hcnJheShvLCBtaW5MZW4pOwogICAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOwogICAgaWYgKG4gPT09ICJPYmplY3QiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7CiAgICBpZiAobiA9PT0gIk1hcCIgfHwgbiA9PT0gIlNldCIpIHJldHVybiBBcnJheS5mcm9tKG4pOwogICAgaWYgKG4gPT09ICJBcmd1bWVudHMiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5X2xpa2VfdG9fYXJyYXkobywgbWluTGVuKTsKfQpmdW5jdGlvbiBfd3JhcF9hc3luY19nZW5lcmF0b3IoZm4pIHsKICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gbmV3IF9hc3luY19nZW5lcmF0b3IoZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CiAgICB9Owp9CmZ1bmN0aW9uIF93cmFwX25hdGl2ZV9zdXBlcihDbGFzcykgewogICAgdmFyIF9jYWNoZSA9IHR5cGVvZiBNYXAgPT09ICJmdW5jdGlvbiIgPyBuZXcgTWFwKCkgOiB1bmRlZmluZWQ7CiAgICBfd3JhcF9uYXRpdmVfc3VwZXIgPSBmdW5jdGlvbiB3cmFwTmF0aXZlU3VwZXIoQ2xhc3MpIHsKICAgICAgICBpZiAoQ2xhc3MgPT09IG51bGwgfHwgIV9pc19uYXRpdmVfZnVuY3Rpb24oQ2xhc3MpKSByZXR1cm4gQ2xhc3M7CiAgICAgICAgaWYgKHR5cGVvZiBDbGFzcyAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIF9jYWNoZSAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgaWYgKF9jYWNoZS5oYXMoQ2xhc3MpKSByZXR1cm4gX2NhY2hlLmdldChDbGFzcyk7CiAgICAgICAgICAgIF9jYWNoZS5zZXQoQ2xhc3MsIFdyYXBwZXIpOwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBXcmFwcGVyKCkgewogICAgICAgICAgICByZXR1cm4gX2NvbnN0cnVjdChDbGFzcywgYXJndW1lbnRzLCBfZ2V0X3Byb3RvdHlwZV9vZih0aGlzKS5jb25zdHJ1Y3Rvcik7CiAgICAgICAgfQogICAgICAgIFdyYXBwZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShDbGFzcy5wcm90b3R5cGUsIHsKICAgICAgICAgICAgY29uc3RydWN0b3I6IHsgdmFsdWU6IFdyYXBwZXIsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gX3NldF9wcm90b3R5cGVfb2YoV3JhcHBlciwgQ2xhc3MpOwogICAgfTsKICAgIHJldHVybiBfd3JhcF9uYXRpdmVfc3VwZXIoQ2xhc3MpOwp9CmZ1bmN0aW9uIF93cml0ZV9vbmx5X2Vycm9yKG5hbWUpIHsKICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIlwiIiArIG5hbWUgKyAiXCIgaXMgd3JpdGUtb25seSIpOwp9CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX2Rlc3RydWN0dXJlKHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7CiAgICB2YXIgZGVzY3JpcHRvciA9IF9jbGFzc19leHRyYWN0X2ZpZWxkX2Rlc2NyaXB0b3IocmVjZWl2ZXIsIHByaXZhdGVNYXAsICJzZXQiKTsKICAgIHJldHVybiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9kZXN0cnVjdHVyZShyZWNlaXZlciwgZGVzY3JpcHRvcik7Cn0KZnVuY3Rpb24gX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX2Rlc3RydWN0dXJlKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yLCBkZXNjcmlwdG9yKSB7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfYWNjZXNzKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yKTsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yKGRlc2NyaXB0b3IsICJzZXQiKTsKICAgIHJldHVybiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9kZXN0cnVjdHVyZShyZWNlaXZlciwgZGVzY3JpcHRvcik7Cn0KZnVuY3Rpb24gX2NsYXNzX3N0YXRpY19wcml2YXRlX21ldGhvZF9nZXQocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IsIG1ldGhvZCkgewogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2VzcyhyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3Rvcik7CiAgICByZXR1cm4gbWV0aG9kOwp9CmZ1bmN0aW9uIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3MocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IpIHsKICAgIGlmIChyZWNlaXZlciAhPT0gY2xhc3NDb25zdHJ1Y3RvcikgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgc3RhdGljIGFjY2VzcyBvZiB3cm9uZyBwcm92ZW5hbmNlIik7CiAgICB9Cn0KZnVuY3Rpb24gX2lzX25hdGl2ZV9yZWZsZWN0X2NvbnN0cnVjdCgpIHsKICAgIC8vIFNpbmNlIFJlZmxlY3QuY29uc3RydWN0IGNhbid0IGJlIHByb3Blcmx5IHBvbHlmaWxsZWQsIHNvbWUKICAgIC8vIGltcGxlbWVudGF0aW9ucyAoZS5nLiBjb3JlLWpzQDIpIGRvbid0IHNldCB0aGUgY29ycmVjdCBpbnRlcm5hbCBzbG90cy4KICAgIC8vIFRob3NlIHBvbHlmaWxscyBkb24ndCBhbGxvdyB1cyB0byBzdWJjbGFzcyBidWlsdC1pbnMsIHNvIHdlIG5lZWQgdG8KICAgIC8vIHVzZSBvdXIgZmFsbGJhY2sgaW1wbGVtZW50YXRpb24uCiAgICB0cnkgewogICAgICAgIC8vIElmIHRoZSBpbnRlcm5hbCBzbG90cyBhcmVuJ3Qgc2V0LCB0aGlzIHRocm93cyBhbiBlcnJvciBzaW1pbGFyIHRvCiAgICAgICAgLy8gICBUeXBlRXJyb3I6IHRoaXMgaXMgbm90IGEgQm9vbGVhbiBvYmplY3QuCiAgICAgICAgdmFyIHJlc3VsdCA9ICFCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbiwgW10sIGZ1bmN0aW9uKCkge30pKTsKICAgIH0gY2F0Y2ggKF8pIHt9CiAgICByZXR1cm4gKF9pc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3QgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gISFyZXN1bHQ7CiAgICB9KSgpOwp9CmZ1bmN0aW9uIF9jcmVhdGVfc3VwZXIoRGVyaXZlZCkgewogICAgdmFyIGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QgPSBfaXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0KCk7CiAgICByZXR1cm4gZnVuY3Rpb24gX2NyZWF0ZVN1cGVySW50ZXJuYWwoKSB7CiAgICAgICAgdmFyIFN1cGVyID0gX2dldF9wcm90b3R5cGVfb2YoRGVyaXZlZCksIHJlc3VsdDsKICAgICAgICBpZiAoaGFzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCkgewogICAgICAgICAgICB2YXIgTmV3VGFyZ2V0ID0gX2dldF9wcm90b3R5cGVfb2YodGhpcykuY29uc3RydWN0b3I7CiAgICAgICAgICAgIHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KFN1cGVyLCBhcmd1bWVudHMsIE5ld1RhcmdldCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzdWx0ID0gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIF9wb3NzaWJsZV9jb25zdHJ1Y3Rvcl9yZXR1cm4odGhpcywgcmVzdWx0KTsKICAgIH07Cn0KZnVuY3Rpb24gX2NyZWF0ZV9mb3Jfb2ZfaXRlcmF0b3JfaGVscGVyX2xvb3NlKG8sIGFsbG93QXJyYXlMaWtlKSB7CiAgICB2YXIgaXQgPSB0eXBlb2YgU3ltYm9sICE9PSAidW5kZWZpbmVkIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0gfHwgb1siQEBpdGVyYXRvciJdOwogICAgaWYgKGl0KSByZXR1cm4gKGl0ID0gaXQuY2FsbChvKSkubmV4dC5iaW5kKGl0KTsKICAgIC8vIEZhbGxiYWNrIGZvciBlbmdpbmVzIHdpdGhvdXQgc3ltYm9sIHN1cHBvcnQKICAgIGlmIChBcnJheS5pc0FycmF5KG8pIHx8IChpdCA9IF91bnN1cHBvcnRlZF9pdGVyYWJsZV90b19hcnJheShvKSkgfHwgYWxsb3dBcnJheUxpa2UgJiYgbyAmJiB0eXBlb2Ygby5sZW5ndGggPT09ICJudW1iZXIiKSB7CiAgICAgICAgaWYgKGl0KSBvID0gaXQ7CiAgICAgICAgdmFyIGkgPSAwOwogICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKGkgPj0gby5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUgfTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IG9baSsrXSB9OwogICAgICAgIH07CiAgICB9CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIKICAgICk7Cn0KZnVuY3Rpb24gX3RzX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7CiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkOwogICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSAib2JqZWN0IiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gImZ1bmN0aW9uIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpOwogICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjsKICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7Cn1mdW5jdGlvbiBfdHNfZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHsKICAgIHZhciBmLCB5LCB0LCBnLCBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24gKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9OwogICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksICJ0aHJvdyI6IHZlcmIoMSksICJyZXR1cm4iOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0pLCBnOwogICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9CiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7CiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTsKICAgICAgICB3aGlsZSAoXykgdHJ5IHsKICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVsicmV0dXJuIl0gOiBvcFswXSA/IHlbInRocm93Il0gfHwgKCh0ID0geVsicmV0dXJuIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0OwogICAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07CiAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHsKICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTsKICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTsKICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9CiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH0KICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH0KICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9CiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpOwogICAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7CiAgICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfQogICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9OwogICAgfQp9ZnVuY3Rpb24gX3RzX21ldGFkYXRhKGssIHYpIHsKICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gIm9iamVjdCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09ICJmdW5jdGlvbiIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpOwp9ZnVuY3Rpb24gX3RzX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikgewogICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9Cn1mdW5jdGlvbiBfdHNfdmFsdWVzKG8pIHsKICAgIHZhciBzID0gdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwOwogICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7CiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09ICJudW1iZXIiKSByZXR1cm4gewogICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDsKICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9OwogICAgICAgIH0KICAgIH07CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyAiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iIDogIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTsKfWZ1bmN0aW9uIF90c19hZGRfZGlzcG9zYWJsZV9yZXNvdXJjZShlbnYsIHZhbHVlLCBhc3luYykgewogICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDApIHsKICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAib2JqZWN0IiAmJiB0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZC4iKTsKICAgICAgICB2YXIgZGlzcG9zZSwgaW5uZXI7CiAgICAgICAgaWYgKGFzeW5jKSB7CiAgICAgICAgICAgIGlmICghU3ltYm9sLmFzeW5jRGlzcG9zZSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jRGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgZGlzcG9zZSA9IHZhbHVlW1N5bWJvbC5hc3luY0Rpc3Bvc2VdOwogICAgICAgIH0KICAgICAgICBpZiAoZGlzcG9zZSA9PT0gdm9pZCAwKSB7CiAgICAgICAgICAgIGlmICghU3ltYm9sLmRpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5kaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpOwogICAgICAgICAgICBkaXNwb3NlID0gdmFsdWVbU3ltYm9sLmRpc3Bvc2VdOwogICAgICAgICAgICBpZiAoYXN5bmMpIGlubmVyID0gZGlzcG9zZTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBkaXNwb3NlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7CiAgICAgICAgaWYgKGlubmVyKSBkaXNwb3NlID0gZnVuY3Rpb24gKCkgeyB0cnkgeyBpbm5lci5jYWxsKHRoaXMpOyB9IGNhdGNoIChlKSB7IHJldHVybiBQcm9taXNlLnJlamVjdChlKTsgfSB9OwogICAgICAgIGVudi5zdGFjay5wdXNoKHsgdmFsdWU6IHZhbHVlLCBkaXNwb3NlOiBkaXNwb3NlLCBhc3luYzogYXN5bmMgfSk7CiAgICB9CiAgICBlbHNlIGlmIChhc3luYykgewogICAgICAgIGVudi5zdGFjay5wdXNoKHsgYXN5bmM6IHRydWUgfSk7CiAgICB9CiAgICByZXR1cm4gdmFsdWU7Cn1mdW5jdGlvbiBfdHNfZGlzcG9zZV9yZXNvdXJjZXMoZW52KSB7CiAgICB2YXIgX1N1cHByZXNzZWRFcnJvciA9IHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09ICJmdW5jdGlvbiIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHsKICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTsKICAgICAgICByZXR1cm4gZS5uYW1lID0gIlN1cHByZXNzZWRFcnJvciIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTsKICAgIH07CgoKICAgIHJldHVybiAoX3RzX2Rpc3Bvc2VfcmVzb3VyY2VzID0gZnVuY3Rpb24gX3RzX2Rpc3Bvc2VfcmVzb3VyY2VzKGVudikgewogICAgICAgIGZ1bmN0aW9uIGZhaWwoZSkgewogICAgICAgICAgICBlbnYuZXJyb3IgPSBlbnYuaGFzRXJyb3IgPyBuZXcgX1N1cHByZXNzZWRFcnJvcihlLCBlbnYuZXJyb3IsICJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIikgOiBlOwogICAgICAgICAgICBlbnYuaGFzRXJyb3IgPSB0cnVlOwogICAgICAgIH0KICAgICAgICB2YXIgciwgcyA9IDA7CiAgICAgICAgZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgICAgICAgd2hpbGUgKHIgPSBlbnYuc3RhY2sucG9wKCkpIHsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFyLmFzeW5jICYmIHMgPT09IDEpIHJldHVybiBzID0gMCwgZW52LnN0YWNrLnB1c2gociksIFByb21pc2UucmVzb2x2ZSgpLnRoZW4obmV4dCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHIuZGlzcG9zZSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gci5kaXNwb3NlLmNhbGwoci52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyLmFzeW5jKSByZXR1cm4gcyB8PSAyLCBQcm9taXNlLnJlc29sdmUocmVzdWx0KS50aGVuKG5leHQsIGZ1bmN0aW9uIChlKSB7IGZhaWwoZSk7IHJldHVybiBuZXh0KCk7IH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlIHMgfD0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZmFpbChlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAocyA9PT0gMSkgcmV0dXJuIGVudi5oYXNFcnJvciA/IFByb21pc2UucmVqZWN0KGVudi5lcnJvcikgOiBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAgICAgaWYgKGVudi5oYXNFcnJvcikgdGhyb3cgZW52LmVycm9yOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbmV4dCgpOwogICAgfSkoZW52KTsKfS8qIEBtaW5WZXJzaW9uIDcuMjAuMCAqLwoKLyoqCiAgRW51bXMgYXJlIHVzZWQgaW4gdGhpcyBmaWxlLCBidXQgbm90IGFzc2lnbmVkIHRvIHZhcnMgdG8gYXZvaWQgbm9uLWhvaXN0YWJsZSB2YWx1ZXMKCiAgQ09OU1RSVUNUT1IgPSAwOwogIFBVQkxJQyA9IDE7CiAgUFJJVkFURSA9IDI7CgogIEZJRUxEID0gMDsKICBBQ0NFU1NPUiA9IDE7CiAgTUVUSE9EID0gMjsKICBHRVRURVIgPSAzOwogIFNFVFRFUiA9IDQ7CgogIFNUQVRJQyA9IDU7CgogIENMQVNTID0gMTA7IC8vIG9ubHkgdXNlZCBpbiBhc3NlcnRWYWxpZFJldHVyblZhbHVlCiovCgpmdW5jdGlvbiBhcHBseURlY3MyMjAzUkZhY3RvcnkoKSB7CiAgICBmdW5jdGlvbiBjcmVhdGVBZGRJbml0aWFsaXplck1ldGhvZChpbml0aWFsaXplcnMsIGRlY29yYXRvckZpbmlzaGVkUmVmKSB7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGFkZEluaXRpYWxpemVyKGluaXRpYWxpemVyKSB7CiAgICAgICAgICAgIGFzc2VydE5vdEZpbmlzaGVkKGRlY29yYXRvckZpbmlzaGVkUmVmLCAiYWRkSW5pdGlhbGl6ZXIiKTsKICAgICAgICAgICAgYXNzZXJ0Q2FsbGFibGUoaW5pdGlhbGl6ZXIsICJBbiBpbml0aWFsaXplciIpOwogICAgICAgICAgICBpbml0aWFsaXplcnMucHVzaChpbml0aWFsaXplcik7CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBtZW1iZXJEZWMoCiAgICAgICAgZGVjLAogICAgICAgIG5hbWUsCiAgICAgICAgZGVzYywKICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAga2luZCwKICAgICAgICBpc1N0YXRpYywKICAgICAgICBpc1ByaXZhdGUsCiAgICAgICAgbWV0YWRhdGEsCiAgICAgICAgdmFsdWUKICAgICkgewogICAgICAgIHZhciBraW5kU3RyOwoKICAgICAgICBzd2l0Y2ggKGtpbmQpIHsKICAgICAgICAgICAgY2FzZSAxIC8qIEFDQ0VTU09SICovOgogICAgICAgICAgICAgICAga2luZFN0ciA9ICJhY2Nlc3NvciI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAyIC8qIE1FVEhPRCAqLzoKICAgICAgICAgICAgICAgIGtpbmRTdHIgPSAibWV0aG9kIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDMgLyogR0VUVEVSICovOgogICAgICAgICAgICAgICAga2luZFN0ciA9ICJnZXR0ZXIiOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNCAvKiBTRVRURVIgKi86CiAgICAgICAgICAgICAgICBraW5kU3RyID0gInNldHRlciI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIGtpbmRTdHIgPSAiZmllbGQiOwogICAgICAgIH0KCiAgICAgICAgdmFyIGN0eCA9IHsKICAgICAgICAgICAga2luZDoga2luZFN0ciwKICAgICAgICAgICAgbmFtZTogaXNQcml2YXRlID8gIiMiICsgbmFtZSA6IG5hbWUsCiAgICAgICAgICAgIHN0YXRpYzogaXNTdGF0aWMsCiAgICAgICAgICAgIHByaXZhdGU6IGlzUHJpdmF0ZSwKICAgICAgICAgICAgbWV0YWRhdGE6IG1ldGFkYXRhLAogICAgICAgIH07CgogICAgICAgIHZhciBkZWNvcmF0b3JGaW5pc2hlZFJlZiA9IHsgdjogZmFsc2UgfTsKCiAgICAgICAgY3R4LmFkZEluaXRpYWxpemVyID0gY3JlYXRlQWRkSW5pdGlhbGl6ZXJNZXRob2QoCiAgICAgICAgICAgIGluaXRpYWxpemVycywKICAgICAgICAgICAgZGVjb3JhdG9yRmluaXNoZWRSZWYKICAgICAgICApOwoKICAgICAgICB2YXIgZ2V0LCBzZXQ7CiAgICAgICAgaWYgKGtpbmQgPT09IDAgLyogRklFTEQgKi8pIHsKICAgICAgICAgICAgaWYgKGlzUHJpdmF0ZSkgewogICAgICAgICAgICAgICAgZ2V0ID0gZGVzYy5nZXQ7CiAgICAgICAgICAgICAgICBzZXQgPSBkZXNjLnNldDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGdldCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1tuYW1lXTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBzZXQgPSBmdW5jdGlvbiAodikgewogICAgICAgICAgICAgICAgICAgIHRoaXNbbmFtZV0gPSB2OwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMiAvKiBNRVRIT0QgKi8pIHsKICAgICAgICAgICAgZ2V0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGRlc2MudmFsdWU7CiAgICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gcmVwbGFjZSB3aXRoIHZhbHVlcyB0aGF0IHdpbGwgZ28gdGhyb3VnaCB0aGUgZmluYWwgZ2V0dGVyIGFuZCBzZXR0ZXIKICAgICAgICAgICAgaWYgKGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8gfHwga2luZCA9PT0gMyAvKiBHRVRURVIgKi8pIHsKICAgICAgICAgICAgICAgIGdldCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGVzYy5nZXQuY2FsbCh0aGlzKTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovIHx8IGtpbmQgPT09IDQgLyogU0VUVEVSICovKSB7CiAgICAgICAgICAgICAgICBzZXQgPSBmdW5jdGlvbiAodikgewogICAgICAgICAgICAgICAgICAgIGRlc2Muc2V0LmNhbGwodGhpcywgdik7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGN0eC5hY2Nlc3MgPQogICAgICAgICAgICBnZXQgJiYgc2V0ID8geyBnZXQ6IGdldCwgc2V0OiBzZXQgfSA6IGdldCA/IHsgZ2V0OiBnZXQgfSA6IHsgc2V0OiBzZXQgfTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgcmV0dXJuIGRlYyh2YWx1ZSwgY3R4KTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBkZWNvcmF0b3JGaW5pc2hlZFJlZi52ID0gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXNzZXJ0Tm90RmluaXNoZWQoZGVjb3JhdG9yRmluaXNoZWRSZWYsIGZuTmFtZSkgewogICAgICAgIGlmIChkZWNvcmF0b3JGaW5pc2hlZFJlZi52KSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigKICAgICAgICAgICAgICAgICJhdHRlbXB0ZWQgdG8gY2FsbCAiICsgZm5OYW1lICsgIiBhZnRlciBkZWNvcmF0aW9uIHdhcyBmaW5pc2hlZCIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXNzZXJ0Q2FsbGFibGUoZm4sIGhpbnQpIHsKICAgICAgICBpZiAodHlwZW9mIGZuICE9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoaGludCArICIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGFzc2VydFZhbGlkUmV0dXJuVmFsdWUoa2luZCwgdmFsdWUpIHsKICAgICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTsKCiAgICAgICAgaWYgKGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8pIHsKICAgICAgICAgICAgaWYgKHR5cGUgIT09ICJvYmplY3QiIHx8IHZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICAgICAgICAgICAgICJhY2Nlc3NvciBkZWNvcmF0b3JzIG11c3QgcmV0dXJuIGFuIG9iamVjdCB3aXRoIGdldCwgc2V0LCBvciBpbml0IHByb3BlcnRpZXMgb3Igdm9pZCAwIgogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodmFsdWUuZ2V0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGFzc2VydENhbGxhYmxlKHZhbHVlLmdldCwgImFjY2Vzc29yLmdldCIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh2YWx1ZS5zZXQgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgYXNzZXJ0Q2FsbGFibGUodmFsdWUuc2V0LCAiYWNjZXNzb3Iuc2V0Iik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHZhbHVlLmluaXQgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgYXNzZXJ0Q2FsbGFibGUodmFsdWUuaW5pdCwgImFjY2Vzc29yLmluaXQiKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICB2YXIgaGludDsKICAgICAgICAgICAgaWYgKGtpbmQgPT09IDAgLyogRklFTEQgKi8pIHsKICAgICAgICAgICAgICAgIGhpbnQgPSAiZmllbGQiOwogICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDEwIC8qIENMQVNTICovKSB7CiAgICAgICAgICAgICAgICBoaW50ID0gImNsYXNzIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGhpbnQgPSAibWV0aG9kIjsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICAgICAgICAgaGludCArICIgZGVjb3JhdG9ycyBtdXN0IHJldHVybiBhIGZ1bmN0aW9uIG9yIHZvaWQgMCIKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXBwbHlNZW1iZXJEZWMoCiAgICAgICAgcmV0LAogICAgICAgIGJhc2UsCiAgICAgICAgZGVjSW5mbywKICAgICAgICBuYW1lLAogICAgICAgIGtpbmQsCiAgICAgICAgaXNTdGF0aWMsCiAgICAgICAgaXNQcml2YXRlLAogICAgICAgIGluaXRpYWxpemVycywKICAgICAgICBtZXRhZGF0YQogICAgKSB7CiAgICAgICAgdmFyIGRlY3MgPSBkZWNJbmZvWzBdOwoKICAgICAgICB2YXIgZGVzYywgaW5pdCwgdmFsdWU7CgogICAgICAgIGlmIChpc1ByaXZhdGUpIHsKICAgICAgICAgICAgaWYgKGtpbmQgPT09IDAgLyogRklFTEQgKi8gfHwga2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLykgewogICAgICAgICAgICAgICAgZGVzYyA9IHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGRlY0luZm9bM10sCiAgICAgICAgICAgICAgICAgICAgc2V0OiBkZWNJbmZvWzRdLAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAzIC8qIEdFVFRFUiAqLykgewogICAgICAgICAgICAgICAgZGVzYyA9IHsKICAgICAgICAgICAgICAgICAgICBnZXQ6IGRlY0luZm9bM10sCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDQgLyogU0VUVEVSICovKSB7CiAgICAgICAgICAgICAgICBkZXNjID0gewogICAgICAgICAgICAgICAgICAgIHNldDogZGVjSW5mb1szXSwKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkZXNjID0gewogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkZWNJbmZvWzNdLAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoa2luZCAhPT0gMCAvKiBGSUVMRCAqLykgewogICAgICAgICAgICBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiYXNlLCBuYW1lKTsKICAgICAgICB9CgogICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgIHZhbHVlID0gewogICAgICAgICAgICAgICAgZ2V0OiBkZXNjLmdldCwKICAgICAgICAgICAgICAgIHNldDogZGVzYy5zZXQsCiAgICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAyIC8qIE1FVEhPRCAqLykgewogICAgICAgICAgICB2YWx1ZSA9IGRlc2MudmFsdWU7CiAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAzIC8qIEdFVFRFUiAqLykgewogICAgICAgICAgICB2YWx1ZSA9IGRlc2MuZ2V0OwogICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gNCAvKiBTRVRURVIgKi8pIHsKICAgICAgICAgICAgdmFsdWUgPSBkZXNjLnNldDsKICAgICAgICB9CgogICAgICAgIHZhciBuZXdWYWx1ZSwgZ2V0LCBzZXQ7CgogICAgICAgIGlmICh0eXBlb2YgZGVjcyA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICBuZXdWYWx1ZSA9IG1lbWJlckRlYygKICAgICAgICAgICAgICAgIGRlY3MsCiAgICAgICAgICAgICAgICBuYW1lLAogICAgICAgICAgICAgICAgZGVzYywKICAgICAgICAgICAgICAgIGluaXRpYWxpemVycywKICAgICAgICAgICAgICAgIGtpbmQsCiAgICAgICAgICAgICAgICBpc1N0YXRpYywKICAgICAgICAgICAgICAgIGlzUHJpdmF0ZSwKICAgICAgICAgICAgICAgIG1ldGFkYXRhLAogICAgICAgICAgICAgICAgdmFsdWUKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdm9pZCAwKSB7CiAgICAgICAgICAgICAgICBhc3NlcnRWYWxpZFJldHVyblZhbHVlKGtpbmQsIG5ld1ZhbHVlKTsKCiAgICAgICAgICAgICAgICBpZiAoa2luZCA9PT0gMCAvKiBGSUVMRCAqLykgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBuZXdWYWx1ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLykgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBuZXdWYWx1ZS5pbml0OwogICAgICAgICAgICAgICAgICAgIGdldCA9IG5ld1ZhbHVlLmdldCB8fCB2YWx1ZS5nZXQ7CiAgICAgICAgICAgICAgICAgICAgc2V0ID0gbmV3VmFsdWUuc2V0IHx8IHZhbHVlLnNldDsKCiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB7IGdldDogZ2V0LCBzZXQ6IHNldCB9OwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IGRlY3MubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICAgIHZhciBkZWMgPSBkZWNzW2ldOwoKICAgICAgICAgICAgICAgIG5ld1ZhbHVlID0gbWVtYmVyRGVjKAogICAgICAgICAgICAgICAgICAgIGRlYywKICAgICAgICAgICAgICAgICAgICBuYW1lLAogICAgICAgICAgICAgICAgICAgIGRlc2MsCiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzLAogICAgICAgICAgICAgICAgICAgIGtpbmQsCiAgICAgICAgICAgICAgICAgICAgaXNTdGF0aWMsCiAgICAgICAgICAgICAgICAgICAgaXNQcml2YXRlLAogICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLAogICAgICAgICAgICAgICAgICAgIHZhbHVlCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdm9pZCAwKSB7CiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0VmFsaWRSZXR1cm5WYWx1ZShraW5kLCBuZXdWYWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld0luaXQ7CgogICAgICAgICAgICAgICAgICAgIGlmIChraW5kID09PSAwIC8qIEZJRUxEICovKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0luaXQgPSBuZXdWYWx1ZTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgbmV3SW5pdCA9IG5ld1ZhbHVlLmluaXQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGdldCA9IG5ld1ZhbHVlLmdldCB8fCB2YWx1ZS5nZXQ7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldCA9IG5ld1ZhbHVlLnNldCB8fCB2YWx1ZS5zZXQ7CgogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHsgZ2V0OiBnZXQsIHNldDogc2V0IH07CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBuZXdWYWx1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmIChuZXdJbml0ICE9PSB2b2lkIDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluaXQgPT09IHZvaWQgMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IG5ld0luaXQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluaXQgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBbaW5pdCwgbmV3SW5pdF07CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0LnB1c2gobmV3SW5pdCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChraW5kID09PSAwIC8qIEZJRUxEICovIHx8IGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8pIHsKICAgICAgICAgICAgaWYgKGluaXQgPT09IHZvaWQgMCkgewogICAgICAgICAgICAgICAgLy8gSWYgdGhlIGluaXRpYWxpemVyIHdhcyB2b2lkIDAsIHN1YiBpbiBhIGR1bW15IGluaXRpYWxpemVyCiAgICAgICAgICAgICAgICBpbml0ID0gZnVuY3Rpb24gKGluc3RhbmNlLCBpbml0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGluaXQ7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbml0ICE9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICB2YXIgb3duSW5pdGlhbGl6ZXJzID0gaW5pdDsKCiAgICAgICAgICAgICAgICBpbml0ID0gZnVuY3Rpb24gKGluc3RhbmNlLCBpbml0KSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5pdDsKCiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvd25Jbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBvd25Jbml0aWFsaXplcnNbaV0uY2FsbChpbnN0YW5jZSwgdmFsdWUpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBvcmlnaW5hbEluaXRpYWxpemVyID0gaW5pdDsKCiAgICAgICAgICAgICAgICBpbml0ID0gZnVuY3Rpb24gKGluc3RhbmNlLCBpbml0KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsSW5pdGlhbGl6ZXIuY2FsbChpbnN0YW5jZSwgaW5pdCk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXQucHVzaChpbml0KTsKICAgICAgICB9CgogICAgICAgIGlmIChraW5kICE9PSAwIC8qIEZJRUxEICovKSB7CiAgICAgICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgICAgICBkZXNjLmdldCA9IHZhbHVlLmdldDsKICAgICAgICAgICAgICAgIGRlc2Muc2V0ID0gdmFsdWUuc2V0OwogICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDIgLyogTUVUSE9EICovKSB7CiAgICAgICAgICAgICAgICBkZXNjLnZhbHVlID0gdmFsdWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMyAvKiBHRVRURVIgKi8pIHsKICAgICAgICAgICAgICAgIGRlc2MuZ2V0ID0gdmFsdWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gNCAvKiBTRVRURVIgKi8pIHsKICAgICAgICAgICAgICAgIGRlc2Muc2V0ID0gdmFsdWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChpc1ByaXZhdGUpIHsKICAgICAgICAgICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0LnB1c2goZnVuY3Rpb24gKGluc3RhbmNlLCBhcmdzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5nZXQuY2FsbChpbnN0YW5jZSwgYXJncyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgcmV0LnB1c2goZnVuY3Rpb24gKGluc3RhbmNlLCBhcmdzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5zZXQuY2FsbChpbnN0YW5jZSwgYXJncyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDIgLyogTUVUSE9EICovKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0LnB1c2godmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXQucHVzaChmdW5jdGlvbiAoaW5zdGFuY2UsIGFyZ3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmNhbGwoaW5zdGFuY2UsIGFyZ3MpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsIG5hbWUsIGRlc2MpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGFwcGx5TWVtYmVyRGVjcyhDbGFzcywgZGVjSW5mb3MsIG1ldGFkYXRhKSB7CiAgICAgICAgdmFyIHJldCA9IFtdOwogICAgICAgIHZhciBwcm90b0luaXRpYWxpemVyczsKICAgICAgICB2YXIgc3RhdGljSW5pdGlhbGl6ZXJzOwoKICAgICAgICB2YXIgZXhpc3RpbmdQcm90b05vbkZpZWxkcyA9IG5ldyBNYXAoKTsKICAgICAgICB2YXIgZXhpc3RpbmdTdGF0aWNOb25GaWVsZHMgPSBuZXcgTWFwKCk7CgogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGVjSW5mb3MubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGRlY0luZm8gPSBkZWNJbmZvc1tpXTsKCiAgICAgICAgICAgIC8vIHNraXAgY29tcHV0ZWQgcHJvcGVydHkgbmFtZXMKICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRlY0luZm8pKSBjb250aW51ZTsKCiAgICAgICAgICAgIHZhciBraW5kID0gZGVjSW5mb1sxXTsKICAgICAgICAgICAgdmFyIG5hbWUgPSBkZWNJbmZvWzJdOwogICAgICAgICAgICB2YXIgaXNQcml2YXRlID0gZGVjSW5mby5sZW5ndGggPiAzOwoKICAgICAgICAgICAgdmFyIGlzU3RhdGljID0ga2luZCA+PSA1OyAvKiBTVEFUSUMgKi8KICAgICAgICAgICAgdmFyIGJhc2U7CiAgICAgICAgICAgIHZhciBpbml0aWFsaXplcnM7CgogICAgICAgICAgICBpZiAoaXNTdGF0aWMpIHsKICAgICAgICAgICAgICAgIGJhc2UgPSBDbGFzczsKICAgICAgICAgICAgICAgIGtpbmQgPSBraW5kIC0gNSAvKiBTVEFUSUMgKi87CiAgICAgICAgICAgICAgICAvLyBpbml0aWFsaXplIHN0YXRpY0luaXRpYWxpemVycyB3aGVuIHdlIHNlZSBhIG5vbi1maWVsZCBzdGF0aWMgbWVtYmVyCiAgICAgICAgICAgICAgICBzdGF0aWNJbml0aWFsaXplcnMgPSBzdGF0aWNJbml0aWFsaXplcnMgfHwgW107CiAgICAgICAgICAgICAgICBpbml0aWFsaXplcnMgPSBzdGF0aWNJbml0aWFsaXplcnM7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBiYXNlID0gQ2xhc3MucHJvdG90eXBlOwogICAgICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZSBwcm90b0luaXRpYWxpemVycyB3aGVuIHdlIHNlZSBhIG5vbi1maWVsZCBtZW1iZXIKICAgICAgICAgICAgICAgIHByb3RvSW5pdGlhbGl6ZXJzID0gcHJvdG9Jbml0aWFsaXplcnMgfHwgW107CiAgICAgICAgICAgICAgICBpbml0aWFsaXplcnMgPSBwcm90b0luaXRpYWxpemVyczsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGtpbmQgIT09IDAgLyogRklFTEQgKi8gJiYgIWlzUHJpdmF0ZSkgewogICAgICAgICAgICAgICAgdmFyIGV4aXN0aW5nTm9uRmllbGRzID0gaXNTdGF0aWMKICAgICAgICAgICAgICAgICAgICA/IGV4aXN0aW5nU3RhdGljTm9uRmllbGRzCiAgICAgICAgICAgICAgICAgICAgOiBleGlzdGluZ1Byb3RvTm9uRmllbGRzOwoKICAgICAgICAgICAgICAgIHZhciBleGlzdGluZ0tpbmQgPSBleGlzdGluZ05vbkZpZWxkcy5nZXQobmFtZSkgfHwgMDsKCiAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdLaW5kID09PSB0cnVlIHx8CiAgICAgICAgICAgICAgICAgICAgKGV4aXN0aW5nS2luZCA9PT0gMyAvKiBHRVRURVIgKi8gJiYga2luZCAhPT0gNCkgLyogU0VUVEVSICovIHx8CiAgICAgICAgICAgICAgICAgICAgKGV4aXN0aW5nS2luZCA9PT0gNCAvKiBTRVRURVIgKi8gJiYga2luZCAhPT0gMykgLyogR0VUVEVSICovCiAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICAgICJBdHRlbXB0ZWQgdG8gZGVjb3JhdGUgYSBwdWJsaWMgbWV0aG9kL2FjY2Vzc29yIHRoYXQgaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBwcmV2aW91c2x5IGRlY29yYXRlZCBwdWJsaWMgbWV0aG9kL2FjY2Vzc29yLiBUaGlzIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvcmF0b3JzIHBsdWdpbi4gUHJvcGVydHkgbmFtZSB3YXM6ICIgKwogICAgICAgICAgICAgICAgICAgICAgICBuYW1lCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWV4aXN0aW5nS2luZCAmJiBraW5kID4gMiAvKiBNRVRIT0QgKi8pIHsKICAgICAgICAgICAgICAgICAgICBleGlzdGluZ05vbkZpZWxkcy5zZXQobmFtZSwga2luZCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nTm9uRmllbGRzLnNldChuYW1lLCB0cnVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgYXBwbHlNZW1iZXJEZWMoCiAgICAgICAgICAgICAgICByZXQsCiAgICAgICAgICAgICAgICBiYXNlLAogICAgICAgICAgICAgICAgZGVjSW5mbywKICAgICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICAgICBraW5kLAogICAgICAgICAgICAgICAgaXNTdGF0aWMsCiAgICAgICAgICAgICAgICBpc1ByaXZhdGUsCiAgICAgICAgICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAgICAgICAgICBtZXRhZGF0YQogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcHVzaEluaXRpYWxpemVycyhyZXQsIHByb3RvSW5pdGlhbGl6ZXJzKTsKICAgICAgICBwdXNoSW5pdGlhbGl6ZXJzKHJldCwgc3RhdGljSW5pdGlhbGl6ZXJzKTsKICAgICAgICByZXR1cm4gcmV0OwogICAgfQoKICAgIGZ1bmN0aW9uIHB1c2hJbml0aWFsaXplcnMocmV0LCBpbml0aWFsaXplcnMpIHsKICAgICAgICBpZiAoaW5pdGlhbGl6ZXJzKSB7CiAgICAgICAgICAgIHJldC5wdXNoKGZ1bmN0aW9uIChpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplcnNbaV0uY2FsbChpbnN0YW5jZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhcHBseUNsYXNzRGVjcyh0YXJnZXRDbGFzcywgY2xhc3NEZWNzLCBtZXRhZGF0YSkgewogICAgICAgIGlmIChjbGFzc0RlY3MubGVuZ3RoID4gMCkgewogICAgICAgICAgICB2YXIgaW5pdGlhbGl6ZXJzID0gW107CiAgICAgICAgICAgIHZhciBuZXdDbGFzcyA9IHRhcmdldENsYXNzOwogICAgICAgICAgICB2YXIgbmFtZSA9IHRhcmdldENsYXNzLm5hbWU7CgogICAgICAgICAgICBmb3IgKHZhciBpID0gY2xhc3NEZWNzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICAgICAgICB2YXIgZGVjb3JhdG9yRmluaXNoZWRSZWYgPSB7IHY6IGZhbHNlIH07CgogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICB2YXIgbmV4dE5ld0NsYXNzID0gY2xhc3NEZWNzW2ldKG5ld0NsYXNzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6ICJjbGFzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZEluaXRpYWxpemVyOiBjcmVhdGVBZGRJbml0aWFsaXplck1ldGhvZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29yYXRvckZpbmlzaGVkUmVmCiAgICAgICAgICAgICAgICAgICAgICAgICksCiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLAogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgICAgICBkZWNvcmF0b3JGaW5pc2hlZFJlZi52ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAobmV4dE5ld0NsYXNzICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBhc3NlcnRWYWxpZFJldHVyblZhbHVlKDEwIC8qIENMQVNTICovLCBuZXh0TmV3Q2xhc3MpOwogICAgICAgICAgICAgICAgICAgIG5ld0NsYXNzID0gbmV4dE5ld0NsYXNzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gWwogICAgICAgICAgICAgICAgZGVmaW5lTWV0YWRhdGEobmV3Q2xhc3MsIG1ldGFkYXRhKSwKICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplcnNbaV0uY2FsbChuZXdDbGFzcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgXTsKICAgICAgICB9CiAgICAgICAgLy8gVGhlIHRyYW5zZm9ybWVyIHdpbGwgbm90IGVtaXQgYXNzaWdubWVudCB3aGVuIHRoZXJlIGFyZSBubyBjbGFzcyBkZWNvcmF0b3JzLAogICAgICAgIC8vIHNvIHdlIGRvbid0IGhhdmUgdG8gcmV0dXJuIGFuIGVtcHR5IGFycmF5IGhlcmUuCiAgICB9CgogICAgZnVuY3Rpb24gZGVmaW5lTWV0YWRhdGEoQ2xhc3MsIG1ldGFkYXRhKSB7CiAgICAgICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgKICAgICAgICAgICAgQ2xhc3MsCiAgICAgICAgICAgIFN5bWJvbC5tZXRhZGF0YSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wubWV0YWRhdGEiKSwKICAgICAgICAgICAgeyBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiBtZXRhZGF0YSB9CiAgICAgICAgKTsKICAgIH0KCiAgICAvKioKICAgIEJhc2ljIHVzYWdlOgogIAogICAgYXBwbHlEZWNzKAogICAgICBDbGFzcywKICAgICAgWwogICAgICAgIC8vIG1lbWJlciBkZWNvcmF0b3JzCiAgICAgICAgWwogICAgICAgICAgZGVjLCAgICAgICAgICAgICAgICAvLyBkZWMgb3IgYXJyYXkgb2YgZGVjcwogICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAvLyBraW5kIG9mIHZhbHVlIGJlaW5nIGRlY29yYXRlZAogICAgICAgICAgJ3Byb3AnLCAgICAgICAgICAgICAvLyBuYW1lIG9mIHB1YmxpYyBwcm9wIG9uIGNsYXNzIGNvbnRhaW5pbmcgdGhlIHZhbHVlIGJlaW5nIGRlY29yYXRlZCwKICAgICAgICAgICcjcCcsICAgICAgICAgICAgICAgLy8gdGhlIG5hbWUgb2YgdGhlIHByaXZhdGUgcHJvcGVydHkgKGlmIGlzIHByaXZhdGUsIHZvaWQgMCBvdGhlcndpc2UpLAogICAgICAgIF0KICAgICAgXSwKICAgICAgWwogICAgICAgIC8vIGNsYXNzIGRlY29yYXRvcnMKICAgICAgICBkZWMxLCBkZWMyCiAgICAgIF0KICAgICkKICAgIGBgYAogIAogICAgRnVsbHkgdHJhbnNwaWxlZCBleGFtcGxlOgogIAogICAgYGBganMKICAgIEBkZWMKICAgIGNsYXNzIENsYXNzIHsKICAgICAgQGRlYwogICAgICBhID0gMTIzOwogIAogICAgICBAZGVjCiAgICAgICNhID0gMTIzOwogIAogICAgICBAZGVjCiAgICAgIEBkZWMyCiAgICAgIGFjY2Vzc29yIGIgPSAxMjM7CiAgCiAgICAgIEBkZWMKICAgICAgYWNjZXNzb3IgI2IgPSAxMjM7CiAgCiAgICAgIEBkZWMKICAgICAgYygpIHsgY29uc29sZS5sb2coJ2MnKTsgfQogIAogICAgICBAZGVjCiAgICAgICNjKCkgeyBjb25zb2xlLmxvZygncHJpdkMnKTsgfQogIAogICAgICBAZGVjCiAgICAgIGdldCBkKCkgeyBjb25zb2xlLmxvZygnZCcpOyB9CiAgCiAgICAgIEBkZWMKICAgICAgZ2V0ICNkKCkgeyBjb25zb2xlLmxvZygncHJpdkQnKTsgfQogIAogICAgICBAZGVjCiAgICAgIHNldCBlKHYpIHsgY29uc29sZS5sb2coJ2UnKTsgfQogIAogICAgICBAZGVjCiAgICAgIHNldCAjZSh2KSB7IGNvbnNvbGUubG9nKCdwcml2RScpOyB9CiAgICB9CiAgCiAgCiAgICAvLyBiZWNvbWVzCiAgICBsZXQgaW5pdGlhbGl6ZUluc3RhbmNlOwogICAgbGV0IGluaXRpYWxpemVDbGFzczsKICAKICAgIGxldCBpbml0QTsKICAgIGxldCBpbml0UHJpdkE7CiAgCiAgICBsZXQgaW5pdEI7CiAgICBsZXQgaW5pdFByaXZCLCBnZXRQcml2Qiwgc2V0UHJpdkI7CiAgCiAgICBsZXQgcHJpdkM7CiAgICBsZXQgcHJpdkQ7CiAgICBsZXQgcHJpdkU7CiAgCiAgICBsZXQgQ2xhc3M7CiAgICBjbGFzcyBfQ2xhc3MgewogICAgICBzdGF0aWMgewogICAgICAgIGxldCByZXQgPSBhcHBseURlY3MoCiAgICAgICAgICB0aGlzLAogICAgICAgICAgWwogICAgICAgICAgICBbZGVjLCAwLCAnYSddLAogICAgICAgICAgICBbZGVjLCAwLCAnYScsIChpKSA9PiBpLiNhLCAoaSwgdikgPT4gaS4jYSA9IHZdLAogICAgICAgICAgICBbW2RlYywgZGVjMl0sIDEsICdiJ10sCiAgICAgICAgICAgIFtkZWMsIDEsICdiJywgKGkpID0+IGkuI3ByaXZCRGF0YSwgKGksIHYpID0+IGkuI3ByaXZCRGF0YSA9IHZdLAogICAgICAgICAgICBbZGVjLCAyLCAnYyddLAogICAgICAgICAgICBbZGVjLCAyLCAnYycsICgpID0+IGNvbnNvbGUubG9nKCdwcml2QycpXSwKICAgICAgICAgICAgW2RlYywgMywgJ2QnXSwKICAgICAgICAgICAgW2RlYywgMywgJ2QnLCAoKSA9PiBjb25zb2xlLmxvZygncHJpdkQnKV0sCiAgICAgICAgICAgIFtkZWMsIDQsICdlJ10sCiAgICAgICAgICAgIFtkZWMsIDQsICdlJywgKCkgPT4gY29uc29sZS5sb2coJ3ByaXZFJyldLAogICAgICAgICAgXSwKICAgICAgICAgIFsKICAgICAgICAgICAgZGVjCiAgICAgICAgICBdCiAgICAgICAgKQogIAogICAgICAgIGluaXRBID0gcmV0WzBdOwogIAogICAgICAgIGluaXRQcml2QSA9IHJldFsxXTsKICAKICAgICAgICBpbml0QiA9IHJldFsyXTsKICAKICAgICAgICBpbml0UHJpdkIgPSByZXRbM107CiAgICAgICAgZ2V0UHJpdkIgPSByZXRbNF07CiAgICAgICAgc2V0UHJpdkIgPSByZXRbNV07CiAgCiAgICAgICAgcHJpdkMgPSByZXRbNl07CiAgCiAgICAgICAgcHJpdkQgPSByZXRbN107CiAgCiAgICAgICAgcHJpdkUgPSByZXRbOF07CiAgCiAgICAgICAgaW5pdGlhbGl6ZUluc3RhbmNlID0gcmV0WzldOwogIAogICAgICAgIENsYXNzID0gcmV0WzEwXQogIAogICAgICAgIGluaXRpYWxpemVDbGFzcyA9IHJldFsxMV07CiAgICAgIH0KICAKICAgICAgYSA9IChpbml0aWFsaXplSW5zdGFuY2UodGhpcyksIGluaXRBKHRoaXMsIDEyMykpOwogIAogICAgICAjYSA9IGluaXRQcml2QSh0aGlzLCAxMjMpOwogIAogICAgICAjYkRhdGEgPSBpbml0Qih0aGlzLCAxMjMpOwogICAgICBnZXQgYigpIHsgcmV0dXJuIHRoaXMuI2JEYXRhIH0KICAgICAgc2V0IGIodikgeyB0aGlzLiNiRGF0YSA9IHYgfQogIAogICAgICAjcHJpdkJEYXRhID0gaW5pdFByaXZCKHRoaXMsIDEyMyk7CiAgICAgIGdldCAjYigpIHsgcmV0dXJuIGdldFByaXZCKHRoaXMpOyB9CiAgICAgIHNldCAjYih2KSB7IHNldFByaXZCKHRoaXMsIHYpOyB9CiAgCiAgICAgIGMoKSB7IGNvbnNvbGUubG9nKCdjJyk7IH0KICAKICAgICAgI2MoLi4uYXJncykgeyByZXR1cm4gcHJpdkModGhpcywgLi4uYXJncykgfQogIAogICAgICBnZXQgZCgpIHsgY29uc29sZS5sb2coJ2QnKTsgfQogIAogICAgICBnZXQgI2QoKSB7IHJldHVybiBwcml2RCh0aGlzKTsgfQogIAogICAgICBzZXQgZSh2KSB7IGNvbnNvbGUubG9nKCdlJyk7IH0KICAKICAgICAgc2V0ICNlKHYpIHsgcHJpdkUodGhpcywgdik7IH0KICAgIH0KICAKICAgIGluaXRpYWxpemVDbGFzcyhDbGFzcyk7CiAgICovCgogICAgcmV0dXJuIGZ1bmN0aW9uIGFwcGx5RGVjczIyMDNSKHRhcmdldENsYXNzLCBtZW1iZXJEZWNzLCBjbGFzc0RlY3MsIHBhcmVudENsYXNzKSB7CiAgICAgICAgaWYgKHBhcmVudENsYXNzICE9PSB2b2lkIDApIHsKICAgICAgICAgICAgdmFyIHBhcmVudE1ldGFkYXRhID0KICAgICAgICAgICAgICAgIHBhcmVudENsYXNzW1N5bWJvbC5tZXRhZGF0YSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wubWV0YWRhdGEiKV07CiAgICAgICAgfQogICAgICAgIHZhciBtZXRhZGF0YSA9IE9iamVjdC5jcmVhdGUoCiAgICAgICAgICAgIHBhcmVudE1ldGFkYXRhID09PSB2b2lkIDAgPyBudWxsIDogcGFyZW50TWV0YWRhdGEKICAgICAgICApOwogICAgICAgIHZhciBlID0gYXBwbHlNZW1iZXJEZWNzKHRhcmdldENsYXNzLCBtZW1iZXJEZWNzLCBtZXRhZGF0YSk7CiAgICAgICAgaWYgKCFjbGFzc0RlY3MubGVuZ3RoKSBkZWZpbmVNZXRhZGF0YSh0YXJnZXRDbGFzcywgbWV0YWRhdGEpOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGU6IGUsCiAgICAgICAgICAgIC8vIExhemlseSBhcHBseSBjbGFzcyBkZWNvcmF0aW9ucyBzbyB0aGF0IG1lbWJlciBpbml0IGxvY2FscyBjYW4gYmUgcHJvcGVybHkgYm91bmQuCiAgICAgICAgICAgIGdldCBjKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFwcGx5Q2xhc3NEZWNzKHRhcmdldENsYXNzLCBjbGFzc0RlY3MsIG1ldGFkYXRhKTsKICAgICAgICAgICAgfSwKICAgICAgICB9OwogICAgfTsKfQoKZnVuY3Rpb24gX2FwcGx5X2RlY3NfMjIwM19yKHRhcmdldENsYXNzLCBtZW1iZXJEZWNzLCBjbGFzc0RlY3MsIHBhcmVudENsYXNzKSB7CiAgICByZXR1cm4gKF9hcHBseV9kZWNzXzIyMDNfciA9IGFwcGx5RGVjczIyMDNSRmFjdG9yeSgpKSgKICAgICAgICB0YXJnZXRDbGFzcywKICAgICAgICBtZW1iZXJEZWNzLAogICAgICAgIGNsYXNzRGVjcywKICAgICAgICBwYXJlbnRDbGFzcwogICAgKTsKfQpmdW5jdGlvbiBfaWRlbnRpdHkoeCkgeyByZXR1cm4geDsgfQovKiBAbWluVmVyc2lvbiA3LjIyLjAgKi8KZnVuY3Rpb24gZGlzcG9zZV9TdXBwcmVzc2VkRXJyb3Ioc3VwcHJlc3NlZCwgZXJyb3IpIHsKICAgIGlmICh0eXBlb2YgU3VwcHJlc3NlZEVycm9yICE9PSAidW5kZWZpbmVkIikgewogICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZgogICAgICAgIGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yID0gU3VwcHJlc3NlZEVycm9yOwogICAgfSBlbHNlIHsKICAgICAgICBkaXNwb3NlX1N1cHByZXNzZWRFcnJvciA9IGZ1bmN0aW9uIFN1cHByZXNzZWRFcnJvcihzdXBwcmVzc2VkLCBlcnJvcikgewogICAgICAgICAgICB0aGlzLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkOwogICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7CiAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBuZXcgRXJyb3IoKS5zdGFjazsKICAgICAgICB9OwogICAgICAgIGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlLCB7CiAgICAgICAgICAgIGNvbnN0cnVjdG9yOiB7CiAgICAgICAgICAgICAgICB2YWx1ZTogZGlzcG9zZV9TdXBwcmVzc2VkRXJyb3IsCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwKICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICAgICAgICAgICAgfSwKICAgICAgICB9KTsKICAgIH0KICAgIHJldHVybiBuZXcgZGlzcG9zZV9TdXBwcmVzc2VkRXJyb3Ioc3VwcHJlc3NlZCwgZXJyb3IpOwp9CgpmdW5jdGlvbiBfZGlzcG9zZShzdGFjaywgZXJyb3IsIGhhc0Vycm9yKSB7CiAgICBmdW5jdGlvbiBuZXh0KCkgewogICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICB2YXIgciA9IHN0YWNrLnBvcCgpOwogICAgICAgICAgICAgICAgdmFyIHAgPSByLmQuY2FsbChyLnYpOwogICAgICAgICAgICAgICAgaWYgKHIuYSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwKS50aGVuKG5leHQsIGVycik7CiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlcnIoZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKGhhc0Vycm9yKSB0aHJvdyBlcnJvcjsKICAgIH0KCiAgICBmdW5jdGlvbiBlcnIoZSkgewogICAgICAgIGVycm9yID0gaGFzRXJyb3IgPyBuZXcgZGlzcG9zZV9TdXBwcmVzc2VkRXJyb3IoZSwgZXJyb3IpIDogZTsKICAgICAgICBoYXNFcnJvciA9IHRydWU7CgogICAgICAgIHJldHVybiBuZXh0KCk7CiAgICB9CgogICAgcmV0dXJuIG5leHQoKTsKfWZ1bmN0aW9uIF91c2luZyhzdGFjaywgdmFsdWUsIGlzQXdhaXQpIHsKICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdm9pZCAwKSByZXR1cm4gdmFsdWU7CiAgICBpZiAoT2JqZWN0KHZhbHVlKSAhPT0gdmFsdWUpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJ1c2luZyBkZWNsYXJhdGlvbnMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIG9iamVjdHMsIGZ1bmN0aW9ucywgbnVsbCwgb3IgdW5kZWZpbmVkLiIpOwogICAgfQogICAgLy8gY29yZS1qcy1wdXJlIHVzZXMgU3ltYm9sLmZvciBmb3IgcG9seWZpbGxpbmcgd2VsbC1rbm93biBzeW1ib2xzCiAgICBpZiAoaXNBd2FpdCkgewogICAgICAgIHZhciBkaXNwb3NlID0KICAgICAgICAgICAgdmFsdWVbU3ltYm9sLmFzeW5jRGlzcG9zZSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIildOwogICAgfQogICAgaWYgKGRpc3Bvc2UgPT09IG51bGwgfHwgZGlzcG9zZSA9PT0gdm9pZCAwKSB7CiAgICAgICAgZGlzcG9zZSA9IHZhbHVlW1N5bWJvbC5kaXNwb3NlIHx8IFN5bWJvbC5mb3IoIlN5bWJvbC5kaXNwb3NlIildOwogICAgfQogICAgaWYgKHR5cGVvZiBkaXNwb3NlICE9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgUHJvcGVydHkgW1N5bWJvbC5kaXNwb3NlXSBpcyBub3QgYSBmdW5jdGlvbi5gKTsKICAgIH0KICAgIHN0YWNrLnB1c2goeyB2OiB2YWx1ZSwgZDogZGlzcG9zZSwgYTogaXNBd2FpdCB9KTsKICAgIHJldHVybiB2YWx1ZTsKfWZ1bmN0aW9uIF91c2luZ19jdHgoKSB7CiAgICB2YXIgX2Rpc3Bvc2VTdXBwcmVzc2VkRXJyb3IgPQogICAgICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09ICJmdW5jdGlvbiIKICAgICAgICAgICAgPyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWYKICAgICAgICAgICAgU3VwcHJlc3NlZEVycm9yCiAgICAgICAgICAgIDogKGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCkgewogICAgICAgICAgICAgICAgdmFyIGVyciA9IG5ldyBFcnJvcigpOwogICAgICAgICAgICAgICAgZXJyLm5hbWUgPSAiU3VwcHJlc3NlZEVycm9yIjsKICAgICAgICAgICAgICAgIGVyci5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZDsKICAgICAgICAgICAgICAgIGVyci5lcnJvciA9IGVycm9yOwogICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKICAgICAgICAgICAgfSksCiAgICAgICAgZW1wdHkgPSB7fSwKICAgICAgICBzdGFjayA9IFtdOwogICAgZnVuY3Rpb24gdXNpbmcoaXNBd2FpdCwgdmFsdWUpIHsKICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkgewogICAgICAgICAgICBpZiAoT2JqZWN0KHZhbHVlKSAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgInVzaW5nIGRlY2xhcmF0aW9ucyBjYW4gb25seSBiZSB1c2VkIHdpdGggb2JqZWN0cywgZnVuY3Rpb25zLCBudWxsLCBvciB1bmRlZmluZWQuIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gY29yZS1qcy1wdXJlIHVzZXMgU3ltYm9sLmZvciBmb3IgcG9seWZpbGxpbmcgd2VsbC1rbm93biBzeW1ib2xzCiAgICAgICAgICAgIGlmIChpc0F3YWl0KSB7CiAgICAgICAgICAgICAgICB2YXIgZGlzcG9zZSA9CiAgICAgICAgICAgICAgICAgICAgdmFsdWVbU3ltYm9sLmFzeW5jRGlzcG9zZSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIildOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkaXNwb3NlID09IG51bGwpIHsKICAgICAgICAgICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuZGlzcG9zZSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wuZGlzcG9zZSIpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodHlwZW9mIGRpc3Bvc2UgIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFByb3BlcnR5IFtTeW1ib2wuZGlzcG9zZV0gaXMgbm90IGEgZnVuY3Rpb24uYCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RhY2sucHVzaCh7IHY6IHZhbHVlLCBkOiBkaXNwb3NlLCBhOiBpc0F3YWl0IH0pOwogICAgICAgIH0gZWxzZSBpZiAoaXNBd2FpdCkgewogICAgICAgICAgICAvLyBwcm92aWRlIHRoZSBudWxsaXNoIGB2YWx1ZWAgYXMgYGRgIGZvciBtaW5pZmljYXRpb24gZ2FpbgogICAgICAgICAgICBzdGFjay5wdXNoKHsgZDogdmFsdWUsIGE6IGlzQXdhaXQgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICAgIHJldHVybiB7CiAgICAgICAgLy8gZXJyb3IKICAgICAgICBlOiBlbXB0eSwKICAgICAgICAvLyB1c2luZwogICAgICAgIHU6IHVzaW5nLmJpbmQobnVsbCwgZmFsc2UpLAogICAgICAgIC8vIGF3YWl0IHVzaW5nCiAgICAgICAgYTogdXNpbmcuYmluZChudWxsLCB0cnVlKSwKICAgICAgICAvLyBkaXNwb3NlCiAgICAgICAgZDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgZXJyb3IgPSB0aGlzLmU7CgogICAgICAgICAgICBmdW5jdGlvbiBuZXh0KCkgewogICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZQogICAgICAgICAgICAgICAgd2hpbGUgKChyZXNvdXJjZSA9IHN0YWNrLnBvcCgpKSkgewogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNvdXJjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3Bvc2FsUmVzdWx0ID0gcmVzb3VyY2UuZCAmJiByZXNvdXJjZS5kLmNhbGwocmVzb3VyY2Uudik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNvdXJjZS5hKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRpc3Bvc2FsUmVzdWx0KS50aGVuKG5leHQsIGVycik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnIoZSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKGVycm9yICE9PSBlbXB0eSkgdGhyb3cgZXJyb3I7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGVycihlKSB7CiAgICAgICAgICAgICAgICBlcnJvciA9IGVycm9yICE9PSBlbXB0eSA/IG5ldyBfZGlzcG9zZVN1cHByZXNzZWRFcnJvcihlcnJvciwgZSkgOiBlOwoKICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBuZXh0KCk7CiAgICAgICAgfSwKICAgIH07Cn0vaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV90cmFuc2Zvcm1zX2Jhc2UtNi4wLjIvc3JjL3Jlc29sdmVyL21vZC5ycwAAAJ7ZFwB3AAAAtwYAADYAAABjYWxsZWQgZXhwZWN0IG9uIAAAACjaFwARAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfYXN0LTUuMC4wL3NyYy9wYXQucnMAAETaFwBiAAAADQAAABQAAAAPBQAABAAAAAQAAAA2AQAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfdHJhbnNmb3Jtc19iYXNlLTYuMC4yL3NyYy9maXhlci5yc8jaFwBwAAAAxAAAAEAAAADI2hcAcAAAALECAAAWAAAAyNoXAHAAAAAWBAAAIAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTIuNC4wL3NyYy9tYXAvY29yZS5ycwBo2xcAYwAAAC0AAAAjAAAAaW5kZXggbm90IGZvdW5kAGjbFwBjAAAAOgAAAAoAAABo2xcAYwAAAFMBAAA9AAAAaNsXAGMAAAA7AgAANAAAAGjbFwBjAAAAPAIAADQAAABo2xcAYwAAALoBAAAsAAAAaNsXAGMAAACwAQAAIgAAAGFzc2VydGlvbiBmYWlsZWQ6IGluZGljZXMuY2FwYWNpdHkoKSAtIGluZGljZXMubGVuKCkgPj0gZW50cmllcy5sZW4oKS9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2luZGV4bWFwLTIuNC4wL3NyYy9tYXAvY29yZS9yYXcucnOR3BcAZwAAAA4AAAAFAAAAaNsXAGMAAAAlAAAADwAAAAAAAAAMAAAABAAAABAFAAARBQAAEgUAACgAAAAIAAAANAEAAENsYXNzRm5WYXJVc2luZ1RzSW50ZXJmYWNlVHNUeXBlQWxpYXNUc0VudW1Uc01vZHVsZWludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGRlc3RydWN0dXJpbmcgcGF0dGVybiBpbnNpZGUgVHNQYXJhbWV0ZXJQcm9wZXJ0eQAAAG/dFwBaAAAAHN8XAHoAAAA+AQAAIQAAABzfFwB6AAAAPAMAAA0AAACgJBgAKgAAABzfFwB6AAAAywMAAB0AAAAc3xcAegAAAKYDAABAAAAAX2tleRzfFwB6AAAANgQAAFEAAAAc3xcAegAAAEAEAAAnAAAAX2NyZWF0ZVJlcXVpcmVfX3JlcXVpcmVleHBvcnRzY3JlYXRlUmVxdWlyZXVybAAAHN8XAHoAAAAsBQAAGgAAABzfFwB6AAAALgUAABoAAABPbmx5IGFtYmllbnQgbW9kdWxlcyBjYW4gdXNlIHF1b3RlZCBuYW1lcy4AABzfFwB6AAAA2AUAAA4AAABub3QgaW1wbGVtZW50ZWQAyOMXAGQAAACdDAAAPgAAAMjjFwBkAAAAqQwAADwAAADI4xcAZAAAAIoMAAAmAAAAEwUAAAQAAAAEAAAANgEAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfdHlwZXNjcmlwdC02LjAuMC9zcmMvdHJhbnNmb3JtLnJzAAAc3xcAegAAALoCAAA4AAAASW1wb3J0IGRlY2xhcmF0aW9ucyBpbiBhIG5hbWVzcGFjZSBjYW5ub3QgcmVmZXJlbmNlIGEgbW9kdWxlLkVTTS1zdHlsZSBtb2R1bGUgZGVjbGFyYXRpb25zIGFyZSBub3QgcGVybWl0dGVkIGluIGEgbmFtZXNwYWNlLkltcG9ydCBhc3NpZ25tZW50IGNhbm5vdCBiZSB1c2VkIHdoZW4gdGFyZ2V0aW5nIEVDTUFTY3JpcHQgbW9kdWxlcy4gQ29uc2lkZXIgdXNpbmcgYGltcG9ydCAqIGFzIG5zIGZyb20gIm1vZCJgLCBgaW1wb3J0IHthfSBmcm9tICJtb2QiYCwgYGltcG9ydCBkIGZyb20gIm1vZCJgLCBvciBhbm90aGVyIG1vZHVsZSBmb3JtYXQgaW5zdGVhZC5FeHBvcnQgYXNzaWdubWVudCBjYW5ub3QgYmUgdXNlZCB3aGVuIHRhcmdldGluZyBFQ01BU2NyaXB0IG1vZHVsZXMuIENvbnNpZGVyIHVzaW5nIGBleHBvcnQgZGVmYXVsdGAgb3IgYW5vdGhlciBtb2R1bGUgZm9ybWF0IGluc3RlYWQuL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfdHJhbnNmb3Jtc190eXBlc2NyaXB0LTYuMC4wL3NyYy90eXBlc2NyaXB0LnJzAAAAauEXAHsAAAA9AAAALAAAABsDAAAMAAAABAAAAFgDAAAUBQAAHgMAQZjE3wALngMBAAAAHwMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfdHlwZXNjcmlwdC02LjAuMC9zcmMvdHNfZW51bS5yc05hTgAg4hcAeAAAAK8AAAASAAAAIOIXAHgAAADZAAAAGgAAABUFAAAEAAAABAAAADYBAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV90cmFuc2Zvcm1zX3R5cGVzY3JpcHQtNi4wLjAvc3JjL3N0cmlwX3R5cGUucnMAzOIXAHsAAADJAAAAKQAAAHN0cnVjdCBDb25maWdlbnVtIFRzSW1wb3J0RXhwb3J0QXNzaWduQ29uZmlnZW51bSBJbXBvcnRzTm90VXNlZEFzVmFsdWVzABsDAAAMAAAABAAAAFgDAAAUBQAAHQQAQcDH3wALigQBAAAAHwMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3V0aWxzLTYuMC4wL3NyYy9saWIucnNfAAAAAQAAAAAAAAAs5BcAAQAAAHN1cGVyXwAAQOQXAAYAAAAs5BcAAQAAAGNvbnN0cnVjdG9yIHNob3VsZCBoYXZlIGEgYm9keS9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3V0aWxzLTYuMC4wL3NyYy9jb25zdHJ1Y3Rvci5ycwAAduQXAGwAAAAOAAAAIAAAAGNhcGFjaXR5IG92ZXJmbG93AAAA9OQXABEAAAAvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2FsbG9jL3NyYy92ZWMvc3BlY19mcm9tX2l0ZXJfbmVzdGVkLnJzAAAQ5RcAXgAAADkAAAASAAAA7C8YAEwAAADSDQAADQAAAOwvGABMAAAALQoAACQAAAAAAAAADAAAAAQAAAAXBQAAGAUAABsDAAAMAAAABAAAAFgDAAA2BAAAHgMAQdTL3wALgggBAAAAHwMAALIXGAABAAAAshcYAAEAAACyFxgAAQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL21pZXR0ZS03LjIuMC9zcmMvaGFuZGxlcnMvZ3JhcGhp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AAAAXgIAABwAAACIKxgAagAAAGsCAAAyAAAAAgAAAIgrGABqAAAAAQMAABUAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9zZWFyY2gucnNpbnZhbGlkIHNwYW4gIGZvciBoYXlzdGFjayBvZiBsZW5ndGggAAAAoBkYAA0AAACtGRgAGAAAADQZGABsAAAAqgEAAAkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9jb2RlZ2VuLTUuMC4xL3NyYy90eXBlc2NyaXB0LnJzYXMoPT57fWRlY2xhcmVuYW1lc3BhY2VgAAAA6BkYAG0AAAC2AQAAIgAAACR7AADoGRgAbQAAALkBAAAhAAAAZXh0ZW5kcz86ZW51bS4uLltdaW5mZXJyZWFkb25seW91dGltcG9ydC5tb2R1bGVnbG9iYWxhbnl1bmtub3dubnVtYmVyb2JqZWN0Ym9vbGVhbmJpZ2ludHN0cmluZ3N5bWJvbHVuZGVmaW5lZG51bGxuZXZlcmludHJpbnNpY2tleW9mdW5pcXVlaW50ZXJmYWNlZXhwb3J0c2F0aXNmaWVzYXNzZXJ0c2lzdHlwZWFic3RyYWN0bmV3cmVxdWlyZQAAADgXGAB5AAAAcQAAABoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9jb2RlZ2VuLTUuMC4xL3NyYy9saWIucnMAAGgbGABmAAAA5QcAAC8AAABoGxgAZgAAAN8HAAAwAAAAc3VwZXJkZWZlcixmcm9td2l0aGFzc2VydGFzc2VydGlvbiBmYWlsZWQ6IG4uc3BlY2lmaWVycy5sZW4oKSA8PSAyAABoGxgAZgAAAGgBAAAVAAAAIyEAAGgbGABmAAAAcg4AABIAAABuLTB4WRwYAAMAAAAweAAAZBwYAAIAAABmdW5jdGlvbmFzeW5jaWZlbHNlPGludmFsaWQ+dXNlIHN0cmljdHNjcmlwdDwhLS1ceDNjIS0tLS0+LS1ceDNlaBsYAGYAAAC9BwAAIgAAAGgbGABmAAAAwAcAACEAAABmb3J0cnlmaW5hbGx5QD8uYXdhaXRicmVha2NsYXNzdGhyb3d3aGlsZXlpZWxkb2ZyZXR1cm5jYXNlZGVmYXVsdAAAAGgbGABmAAAAfw0AABoAAABoGxgAZgAAAIINAAA7AAAAc3dpdGNoY2F0Y2gjcHVibGljcHJvdGVjdGVkcHJpdmF0ZWFjY2Vzc29yY29udGludWVkZWJ1Z2dlcmRvaW1wbGVtZW50c25ldy50YXJnZXRpbXBvcnQubWV0YW5vdCBpbXBsZW1lbnRlZDogY29kZWdlbiBvZiBgZXhwb3J0IGRlZmF1bHQgZnJvbSAnZm9vJztgAI8dGAA4AAAAaBsYAGYAAAC2AQAAEQAAAGgbGABmAAAA4wIAADQAAABJbmZpbml0eWVjb25zdHJ1Y3RvcmgbGABmAAAAIAoAAEgAAABoGxgAZgAAACEKAAAoAAAAaBsYAGYAAAAJCAAATAAAAGgbGABmAAAADAgAACcAAABmYWxzZXRydWU8LzwvPjw+dXNpbmcvLy8qKi8jX19QVVJFX18bAwAADAAAAAQAAABYAwAAOAUAAB4DAEGIveAACx4BAAAAHwMAABsDAAAMAAAABAAAAFgDAAAUBQAAHgMAQbC94AALgQYBAAAAHwMAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAAO8eGABLAAAAewoAAA4AAABCBQAABAAAAAQAAABDBQAARAUAAAgAAAAEAAAARQUAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19mYXN0X3RzX3N0cmlwLTYuMC4wL3NyYy9saWIucnMARgUAAAgAAAAEAAAARwUAAEgFAABJBQAASgUAAEsFAABMBQAATQUAAE4FAABPBQAAUAUAAFEFAABSBQAAUwUAAFQFAABmYWlsZWQgdG8gcGFyc2UAGCAYAA8AAABsHxgAZwAAAMQAAABJAAAAbB8YAGcAAAAJAQAAFQAAAGwfGABnAAAA3AAAACUAAABsHxgAZwAAAOsAAAAlAAAAbB8YAGcAAADvAAAAJQAAAGwfGABnAAAA8AAAACUAAABsHxgAZwAAAPQAAAAlAAAAbB8YAGcAAAD1AAAAJQAAAGwfGABnAAAA9gAAACUAAABsHxgAZwAAAPwAAAAlAAAAbB8YAGcAAAD+AAAAJQAAAGwfGABnAAAA/wAAACUAAABsHxgAZwAAAAABAAAlAAAAbB8YAGcAAABHAQAAMAAAAGdlbmVyYXRlZCBjb2RlIHdhcyBub3QgdXRmLThmYWlsZWQgdG8gd3JpdGUgc291cmNlIG1hcHNvdXJjZSBtYXAgd2FzIG5vdCB1dGY4AAAAbB8YAGcAAACAAQAAEgAAAGwfGABnAAAAjAEAABUAAABsHxgAZwAAAJgBAAAVAAAAbB8YAGcAAACmAQAAGQAAAGwfGABnAAAAsgEAABkAAAAPAEHIw+AAC4EBsCEYAGwfGABnAAAA1gEAABkAAABsHxgAZwAAAOABAABAAAAAbB8YAGcAAADkAQAAJAAAAG92ZXJyaWRl/CEYAAgAAABsHxgAZwAAABoCAAA8AAAAbB8YAGcAAABzAgAAGAAAAGluaW5zdGFuY2VvZmdldHNldHN0YXRpYwAAAAAQAEHgxOAAC6EldGhpc2wfGABnAAAAugQAACQAAABzdHJ1Y3QgT3B0aW9uc3ZhcmlhbnQgaWRlbnRpZmllcmVudW0gTW9kZWV2YWwvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL2RyaWZ0LnJzoSIYAFsAAAD/AAAAGQAAAKEiGABbAAAA8gAAABIAAAChIhgAWwAAAM4AAAAkAAAAoSIYAFsAAADRAAAAJAAAAKEiGABbAAAAQAAAACIAAABIYXNoIHRhYmxlIGNhcGFjaXR5IG92ZXJmbG93TCMYABwAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oYXNoYnJvd24tMC4xNC41L3NyYy9yYXcvbW9kLnJzcCMYAGQAAABWAAAAKAAAAGNhbm5vdCBhY2Nlc3MgYSBzY29wZWQgdGhyZWFkIGxvY2FsIHZhcmlhYmxlIHdpdGhvdXQgY2FsbGluZyBgc2V0YCBmaXJzdC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3Njb3BlZC10bHMtMS4wLjEvc3JjL2xpYi5ycywkGABgAAAAqAAAAAkAAAAgICAgaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogIGlzIGFscmVhZHkgcmVuYW1lZCB0byAsIGJ1dCBpdCdzIHJlbmFtZWQgYXMgAKAkGAAqAAAAyiQYABcAAADhJBgAFgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfYmFzZS02LjAuMi9zcmMvcmVuYW1lL21vZC5ycwAAABAlGAB1AAAA1QAAABkAAABGBQAACAAAAAQAAABHBQAASAUAAEkFAABKBQAASwUAAEwFAABNBQAATgUAAE8FAABQBQAAUQUAAFIFAABTBQAAVAUAAFR5cGVTY3JpcHQgZXhwb3J0IGFzc2lnbm1lbnQgaXMgbm90IHN1cHBvcnRlZCBpbiBzdHJpcC1vbmx5IG1vZGVUeXBlU2NyaXB0IGltcG9ydCBlcXVhbHMgZGVjbGFyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBpbiBzdHJpcC1vbmx5IG1vZGVUeXBlU2NyaXB0IGVudW0gaXMgbm90IHN1cHBvcnRlZCBpbiBzdHJpcC1vbmx5IG1vZGVUeXBlU2NyaXB0IG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIHN0cmlwLW9ubHkgbW9kZVR5cGVTY3JpcHQgcGFyYW1ldGVyIHByb3BlcnR5IGlzIG5vdCBzdXBwb3J0ZWQgaW4gc3RyaXAtb25seSBtb2RlVGhlIGFuZ2xlLWJyYWNrZXQgc3ludGF4IGZvciB0eXBlIGFzc2VydGlvbnMsIGA8VD5leHByYCwgaXMgbm90IHN1cHBvcnRlZCBpbiB0eXBlIHN0cmlwIG1vZGUuIEluc3RlYWQsIHVzZSB0aGUgJ2FzJyBzeW50YXg6IGBleHByIGFzIFRgLmRlc2NyaXB0aW9uKCkgaXMgZGVwcmVjYXRlZDsgdXNlIERpc3BsYXlJb1V0ZjhCYWRKc29uVmxxTGVmdG92ZXJWbHFOb1ZhbHVlc1ZscU92ZXJmbG93QmFkU2VnbWVudFNpemVCYWRTb3VyY2VSZWZlcmVuY2VCYWROYW1lUmVmZXJlbmNlSW5jb21wYXRpYmxlU291cmNlTWFwSW52YWxpZERhdGFVcmxDYW5ub3RGbGF0dGVuSW52YWxpZFJhbUJ1bmRsZU1hZ2ljSW52YWxpZFJhbUJ1bmRsZUluZGV4SW52YWxpZFJhbUJ1bmRsZUVudHJ5Tm90QVJhbUJ1bmRsZUludmFsaWRSYW5nZU1hcHBpbmdJbmRleEludmFsaWRCYXNlNjQARAUAAAgAAAAEAAAAVQUAAEQFAAAIAAAABAAAAEUFAABVBQAAzCgYAFYFAABXBQAAWAUAAFkFAAC6AgAAAAAAAAgAAAAEAAAAWgUAAAAAAAAIAAAABAAAANwCAABaBQAACCkYACIDAABbBQAAXAUAACIDAAC6AgAAXQUAAAQAAAAEAAAAXgUAAF0FAAAEAAAABAAAAF8FAABeBQAARCkYAGAFAABhBQAAuAIAAGIFAAC6AgAAAAAAAAQAAAAEAAAALQAAAEZyb21VdGY4RXJyb3JieXRlc2Vycm9yaW52YWxpZCB1dGYtODogY29ycnVwdCBjb250ZW50c2ludmFsaWQgdXRmLTgAYwUAABQAAAAEAAAAZAUAAGMFAAAUAAAABAAAAGUFAABkBQAA1CkYAGYFAABnBQAAuAIAAGYFAAC6AgAAaAUAABwAAAAEAAAAaQUAAGgFAAAcAAAABAAAAGoFAABpBQAAECoYAGsFAABsBQAAuAIAAGsFAAC6AgAAbQUAADgAAAAEAAAAvAIAAG0FAAA4AAAABAAAAL0CAAC8AgAATCoYAL4CAABuBQAAwAIAAL4CAADBAgAAbwUAADAAAAAEAAAAvAIAAG8FAAAwAAAABAAAAL0CAAC8AgAAiCoYAL4CAABwBQAAwAIAAL4CAADBAgAARXJyb3Jjb250ZXh0c291cmNlAABxBQAADAAAAAQAAAByBQAAcQUAAAwAAAAEAAAAqAIAAHIFAADYKhgAIgMAAHMFAAC4AgAAdAUAALoCAABKAwAAFAAAAAQAAAB1BQAASgMAABQAAAAEAAAAqQIAAHUFAAAUKxgAIgMAAHYFAAB3BQAAIgMAALoCAABUb2tlbkFuZFNwYW50b2tlbmhhZF9saW5lX2JyZWFrc3BhbgAAAAAADAAAAAQAAAB4BQAAeQUAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL3Bvb2wucnMAAIgrGABqAAAAPQIAABwAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBNb2R1bGUgaXMgaGFuZGxlZCBhYm92ZQAAAAQsGABBAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4xL3NyYy9wYXJzZXIvbW9kLnJzUCwYAGwAAAC0AAAAMgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3BhcnNlci02LjAuMS9zcmMvcGFyc2VyL3BhdC5yc8wsGABsAAAAmgIAACoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9wYXJzZXItNi4wLjEvc3JjL3BhcnNlci9leHByLnJzAAAASC0YAG0AAACnAwAAGgAAAHoFAAB7BQAAfAUAAH0FAAB+BQAAMwMAAH8FAACABQAAgQUAAIIFAACDBQAAMwMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3BhcnNlci02LjAuMS9zcmMvcGFyc2VyL2lucHV0LnJzAAD4LRgAbgAAAM8AAAArAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4xL3NyYy9sZXhlci9zdGF0ZS5ycwAAAHguGABtAAAAfwAAAC4AAAB4LhgAbQAAAIAAAAA4AAAAeC4YAG0AAACBAAAAGQAAAPgtGABuAAAAuQEAACcAAAD4LRgAbgAAAL8BAAAjAAAAPGVvZj5SZWZDZWxsdmFsdWU8Ym9ycm93ZWQ+AEkvGAAKAAAAL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnNtaWQgPiBsZW67LxgACQAAAFwvGABfAAAATAAAAB8AAABcLxgAXwAAAEYAAAAXAAAAL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9hbGxvYy9zcmMvdmVjL21vZC5yc+wvGABMAAAAtAcAAA0AAADwMBgAYAAAACsBAAApAAAA8DAYAGAAAAA6AQAAJQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3VuaWNvZGUtd2lkdGgtMC4xLjEzL3NyYy90YWJsZXMucnMAaDAYAGcAAAAnAAAAGQAAAGgwGABnAAAALQAAAB0AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL2NvcmUucnPwMBgAYAAAAAwBAAAeAAAAHDkYAGoAAADBAAAAKAAAABw5GABqAAAAwwAAACUAAAAcORgAagAAAMQAAAAvAAAALQAAABw5GABqAAAAzgAAACUAAAAcORgAagAAAM8AAAAvAAAAAAAAABwAAAAEAAAAhAUAAIUFAACGBQAAhwUAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3RleHR3cmFwLTAuMTYuMS9zcmMvd29yZF9zZXBhcmF0b3JzLnJzANAxGABrAAAA3AAAACgAAADQMRgAawAAANIAAAAsAAAAiAUAACwAAAAEAAAAiQUAAIUFAACKBQAAiwUAANAxGABrAAAAFgEAABwAAADQMRgAawAAADUBAAAoAAAA0DEYAGsAAAAuAQAALAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NtYXdrLTAuMy4yL3NyYy9saWIucnMAqDIYAFsAAAAeAQAAGwAAAKgyGABbAAAAIgEAABQAAACoMhgAWwAAACIBAAANAAAAqDIYAFsAAAAgAQAAEQAAAKgyGABbAAAALAEAAAkAAACoMhgAWwAAACcBAAAXAAAAqDIYAFsAAAAIAQAAHAAAAKgyGABbAAAACAEAAC8AAAAoaSwgaikgbm90IGFib3ZlIGRpYWdvbmFsOiAoLCAAAIQzGAAcAAAAoDMYAAIAAABg0BgAAQAAAKgyGABbAAAAhgEAABQAAAAoaSwgaikgb3V0IG9mIGJvdW5kczogKCksIHNpemU6IMwzGAAXAAAAoDMYAAIAAADjMxgACQAAAKgyGABbAAAAhwEAABkAAACoMhgAWwAAAJIBAAAMAAAAqDIYAFsAAACSAQAAKgAAAKgyGABbAAAAiAEAABMAAACoMhgAWwAAAHUBAAAhAAAAqDIYAFsAAAB2AQAAGQAAAKgyGABbAAAAeQEAACUAAACoMhgAWwAAAHoBAAAbAAAAqDIYAFsAAABzAQAAIQAAADg6GAB3AAAASwEAACAAAAA4OhgAdwAAAEsBAAAsAAAAODoYAHcAAABLAQAAMgAAADg6GAB3AAAAUwEAABgAAAC7OBgATwAAAMgFAAAUAAAAuzgYAE8AAADIBQAAIQAAALs4GABPAAAAvAUAACEAQYzq4AALvQUBAAAAjAUAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAuzgYAE8AAABMBAAAJAAAAH02GABrAAAAuQAAAEYAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL3dyYXAucnNgNRgAYAAAABcBAAAYAAAAT3ZlcmZsb3dFcnJvcmludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGUvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2FsbG9jL3NyYy9ib3Jyb3cucnMFNhgASwAAABUBAAAlAAAAVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW4vaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL3dyYXBfYWxnb3JpdGhtcy5yc302GABrAAAAcQEAABoAAAB9NhgAawAAAGsBAAAiAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdW5pY29kZS1saW5lYnJlYWstMC4xLjUvc3JjL2xpYi5ycwAINxgAZwAAAGEAAAAXAAAACDcYAGcAAAA1AAAAGAAAAAg3GABnAAAAOQAAABoAAAAINxgAZwAAAD4AAAAFAAAATm9uZVNvbWUNCgoCAgICAgICAgIDAwEBAQBB2+/gAAsQAQAAAAAAAAACAgAAAAAAAgBBmvDgAAsBAgBBwPDgAAsBAQBB2/DgAAsBAQBBu/HgAAvhBy9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAALs4GABPAAAAvgEAADcAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL3dvcmRfc3BsaXR0ZXJzLnJzAAAcORgAagAAAJkAAAAkAAAAHDkYAGoAAACaAAAAJAAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvbW9kLnJzAAAAqDkYAE0AAADhAwAAIQAAAKg5GABNAAAA4QMAAC4AAACoORgATQAAAOUDAAAgAAAAqDkYAE0AAADlAwAAKwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3RleHR3cmFwLTAuMTYuMS9zcmMvd3JhcF9hbGdvcml0aG1zL29wdGltYWxfZml0LnJzADg6GAB3AAAArgAAACEAAAA4OhgAdwAAALQAAAAbAAAAODoYAHcAAAC0AAAAIwAAADg6GAB3AAAArwAAACkAAAA4OhgAdwAAALAAAAAsAAAAODoYAHcAAACxAAAAHwAAADg6GAB3AAAAewEAABoAAAA4OhgAdwAAAHwBAAAeAAAAL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9hbGxvYy9zcmMvc3luYy5ycwAAAAEAAAAAAAAATGF6eSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAACEOxgAKgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2xpYi5yc7g7GABgAAAAHwUAABkAAAD/////AAAAAAQLDxMXGx8jJy0xNDg8QAJFAAAAAABJAE0ABQUFBQUFBQUFBQUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVRVFhcBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQBBrPngAAsoAWAoZGhscCt0dnp+goaKjpKWnKAFMqQAAAAAlwUFpgAAAAAAAAAFrABB5PngAAsTBa8AswUFBQUFBQUFBQUFQwUFtwBBh/rgAAsImlK5AAAAALwAQZr64AALmgLExgAAAK3M0NS62AAA3AAAAAAAAAAABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXeBQUFBQUFBd/hBQUFBQUFBQUFBeQFBQUFBQUFBQUFBQUF4gXnAAAAAAXpAAAFBQUFBQUFBQXlBQUFBQUFBesAAAAAAAAIDREVGR0hJSovMTY6PkICRwAAAAAASwBPAAUFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUVZaXgUFBQUFBQUFBQUFBQUFBQUFBQUFBQkAQcT84AALKAFiKGZqbnIrdHh8gISIjJCUmZ6iBTKkAAAAAJcFBakAAAAAAAAABawAQfz84AALEwWxALUFBQUFBQUFBQUFBUMFBbcAQZ/94AALuwGaUrkAAAAAvwAAAAAAAAAAp6rCxMgAygCtztLWutoAANwAAAAAAL0AAAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3gUFBQUFBQXf4QUFBQUFBQUFBQXkBQUFBQUFBQUFBQUFBeIF5wAAAAAF6QAABQUFBQUFBQUF5QUFBQUFBQXrAEHIieEACwHAAEHAiuEAC0D/////////////////////////////////////////////Pz//////Pz//qv///z/////////fX9wfzw//H9wfAEGVi+EAC2MEIAT//3////9///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AQZWM4QALaQSgBP//f////3///////////////////////////////////////////////////////////////////////w8A//9/+P//////D////////////////////////////////8P/AwAfUABBjo3hAAuEBt+8QNf///v///////////+//////////////////////////////////8P/AwAfUAAA///////////////////fvMDX///7////////////v///////////////////////A/z///////////////////////////7///9/Av//////AQAAAAAAAAAA////hwcA//////////////////////v8///////////////////////////+////fwL//////wH+/////7+2AP///4cHAAAAAAD//////wcAAADA/v//////////////LwBgwACcAAD9////AAAA4P////////////8/AAIAAPz///8HMAQAAP8H////////////w////////////////++f//3/nwAA/////////+f///////////////8DAP///////z8k//8/BBABAAD///8B/wf///9+AAD//////wMAAAAAAADw////////IwAAAf8DAP7/4Z/5///9xSMAQACwAwADEP//////PwAA////D/8H////fgD////////////7////////////////////z//+/++f+f///cXzn3mAsM//A1Dgh/n///1tAwAAAF4AABwA4L/7///97SMAAAEAAwAAAuCf+f///e0jAAAAsAMAAgDoxz3WGMf/AwAAAQAAAAAA7of5///9bdOHOQJewP8/AO6/+////e3zvzsBAM//AP7un/n///3t85854LDP/wIA7Mc91hjH/8PHPYEAwP8AAODf/f///f8jAAAAJwMAAADh3/3///3vIwAAAGADAAYA8N/9/////ycAQHCAAwAA/OD/f/z///svfwAAAAAAAAD/3/3///3/8989YCfP/wAA79/9///97/PfPWBgz/8OAP/f/f//////333wgM//APzu/3/8///7L3+EX//A/wwA/v//////DQB/AAAAAAAAANb3//+v/w0gXwAA8AAAAAABAAAAAAAAAP/+////HwAAAB8AQaCT4QAL1AP+////////B/9//wMAAAAA1vf//6///z9ff//zAAAAAAEAAAP/A6DC//7///8f/v/f///+////H0AAAAAAAAAA//////8HAIAAAD88YsDh/wNAAAD/////vyD///////f///////////////////////////////////////////////////8/AAD///////////z///////8AAAAAAP8P////////////A////////////z//////vyD///////f//////////////////////////////////////////////////38A//8/AP8AAAC////////9BwAAAAAAAAAA////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P////////////z1/Pf//////Pf////89fz3/f/////////89///////////nAP4DAP//AAD/////////////Pz/+/////////////////////////////////////////////////////////////////////////////////////////////////////////////wMAQYCX4QALiwL/////////////////n////v//B////////////8f/Af//A4D//wMA//8DAP/fAQD///////8PAAAAgBAAAAAA/////////////////5////7//wf////////////H/wH//z+A//8fAP//DwD/3w0A/////////////48w/wMAAAAAAAD//////////////wH//////wX//////////z8A////fwAAAAAAAP///z8fAP//////D////wMAAAAAAAAAuP8D//////////////8B//////8H//////////8/AP///3//D/8PwP////8/HwD//////w////8D/wcAAAAA//9/AP///////x8AQZSZ4QALAYAAQaCZ4QAL/wHg//////8PAOAfAAAAAAAA+P///wHAAPz/////PwAAAP///w//////////f////5//A/8DgAD/v/9/AAAAAAAA////////////H/8DAPgPAP//////////////////DwD/////DwAAAADgAPz///8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAAAAAAAA/////////wD/4///////P/8B///////nAAD3/////wf///////////////////////////////////////////////////////////////////////////////////8AQa6b4QALBgKAAAD/HwBBwJvhAAsShPwvP1D9//PgQwAA//////8BAEHhm+EACzEwAAAAAACAAQAQAAAAAoAAAP8fAAAAAAAA/x/i/wEAhPwvP1D9//PgQwAA//////8BAEGgnOEAC+AG/////////////////////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39/AAAAAP////////////////////////////////////8f+A8A/////78g/////////4AAgP//fwB/f39/f39/f//////gAAAA/gM+H/7///////////9/+P7/////////////9+D///////7/////////////fwAA/////wAAAAAAAP//4AAAAP7/Ph/+////////////f/7+//////////////fg///////+/////////////38AAP////8AAAAAAAD/////////////////////////HwAAAAAAAAAA//////8/////////////////////////////////////////////////BwAEAAAAJwDwAP////////////////////////8f//8ADAAA//////9/AID///8//////////////wAAAACA//z////////////////5/////////wfrAwAA/P//H////w8AAP////////C///////////////////8DAAAAgP/8////////////////+f////////8H6wMAAPz/u/f//wcAAAD///////8PAPz//////w8AAAAAAAAA/GgA/P//PwD//38AAAD///8f8P//////BwAAgAAA3/8AfP//////EAAA////////DwD//////////z8A/wP////o//////8//////w8A////H///////////AYD/A////3///////wEAAPcPAAD//3/E////////Yj4FAAA4/wccAH5+fgB/f///////9/8D//////////////////8HAAAA////////fwD/P/8D//9//P//////////BwAAOP//fAB+fn4Af3////////f/A////////////////////zf/A/////////////////8//////////////////wMAAAAAfwD4oP/9f1/b/////////////////wMAAAD4////////////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P//////AEGOo+EAC6EB3/////////////////////8fAAAAAP7//wf+//8HwP////////////9//Pz8HAAAAAD//wAA//8YAADgAAAAAN//////////////////////HwAA/wP+//+H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AQcCk4QALL//v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAEH/pOEACwEgAEGQpeEACyv///8f////////AQAAAAAA/////wDg////B/////8/AP///z//////D/8+AEHQpeEAC6MC////H////////wEAAQAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z8AAP////8P/////w///////wD///////8PAP/3//e3//v/+xsAAAAAAAAAAP////////////////////////8//wP/////D/////8P//////8A////////DwD/9//3t//7//sbAAAAAAAAAAA//f////+/kf//PwD//38A////fwAAAAAAAAAA//83AP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAAQDv/v//PwAAAAAA////H////x8AAAAA//7//x8AAAD///////8/AP//PwD//wcA//8DAEGAqOEACzNv8O/+//8/hwAAAAD///8f////HwAAAAD//v//fwAAAP///////z8A//8/AP//BwD//wMAQcCo4QALJf///////////wEAAAAAAAD///////8HAP///////wcA/////w8AQYCp4QALKP///////////wEAAAAAAAD///////8HAP///////wcA//////8A/wMAQdCp4QALB///////AwMAQeCp4QALH////x+AAP//PwAAAAAA//8DAAAAAAD//x8AAAD//38AQZCq4QAL3QH//////xsDAAAAAAAAAADg////H4AA/////wEAAAD//z8AAAAAAP//HwAAAP//fwD4////////AAAAAAAAACYA+P//////AAAAAP///wEAAPj///9/AAAAkAD/////RwD4//////8HAB4AABQAAAAA//////////9/AAAAwP8/gP////////8HBAD///8B/wP////////f//AA/////08A//////////8f3v8XAAAAAP//+///DwCAAQAAAAAAAAB/vf+//wH//////38AAAAA4J/5///97SMAAAHgAwBBgKzhAAsv///7/////8ADAAAAAAAAAH+9/7//Af////////8H/wPvn/n///3t+585geDPHx8AQcCs4QALGf///////x8AgAcAgAMAAAD///////8AALAAQfCs4QALLP//////fwAAAAAADwAAAAD///////////8H/8MDAAAA//////////+/AP8DAEGwreEACzn///////8//wEAAD8AAAAA////////AAAQAAAAAAAAAP//////BwABAAAAAAAAAAD///8HAAAAAH8AQYCu4QALKf//////////EQD/AwAAAAD/////////Af8DAAAAAAAA////5/8P/wN/AEHAruEACwb//////w8AQdSu4QALFf//////////AAAAgH/yb////wCAAgBB9K7hAAsU//z/////AQAKAAAA/////////wcAQZSv4QALTP///////////wMAgH/yb////7/5DwD/AwAAAAAAAAAA//z///////wbAAAAAfj/////BwQAAAHw//////8DACAAAP///////////wEAQZKw4QALLv///////////////wEA/////////3+AAP///////////yMAAP///////////wEAQf6w4QALFO9v//3///9/AAABAAAAAAD8////AEGgseEACxR/+/////8BAEAAAAC//f///wMAAQBBwLHhAAsX//3/////f/8BAP8DAAD8/////P///n8AQeCx4QALFn/7/////3+0/wD/A7/9////f/sB/wMAQZyy4QALC///BwD0//3///8PAEG2suEACwEBAEHcsuEACxD//38A///9/////8cHAP8DAEH2suEACwEBAEGAs+EACyn/////////////////fwAA////////////////////////////////DwBBwLPhAAsJ////////AAB+AEGAtOEACwn//////z///38AQaC04QALC////////wAA//8/AEHstOEACwrg4wf45w8AAAA8AEGAteEACwn//////////38AQcC14QALBv///3/gBwBB4LXhAAsy/////////wH///9/AAD///////////9/AAD///8/AAD///////8AAA8AAAD4///g//8AQaC24QALMv////////8B////f/8D////////////f/8D////Px8A////////fwAPAP8D+P//4P//AEHotuEACwj//////////wBBgLfhAAsd////////////BwEAAAAAAAAA+P8AAAAAAAAAAAsAQai34QALCP//////////AEHAt+EAC0L///////////+H/////////4D//wAAAAAAAAAAGwADAP//////////////////////////////////PwAAAAAA/wEAQaC44QALIP////////////////////////////////////////8PAEH8uOEACxh/b/9//////////////////wf/H/8B/wMAQd654QALFv8D/////////////////wf/H/8B/2MAQaC64QALHv///////////////////////////////////////wBByLrhAAsBHABBgLvhAAvWAf/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///cPAAAAAAAA//////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////////////3/4//////8fIAAQAAD4/v8AQYa94QALCP////////8/AEGgveEACwr//////x+APwBAAEHAveEACxJ////52wf/////////PwAAAIAAQeC94QALCv//////H/8//0MAQZK+4QALDP///z8AAP//////DwBB0r7hAAsO////fwAA/////////wMAQZq/4QALBP///w8AQdq/4QALBv//////AwBBgMDhAAsq////////////////////////////////HwAAAAAAAAD//////////w8IAEHAwOEACyz///////////////////////////////8fAH8AAAAAAP///////////w//AwBBgMHhAAsY7////5b+9wqE6paqlvf3Xv/7/w/u+/8PAEHAweEAC6wC/////////////////////////////////////wAAAAD///////////////////////////////////////////////////8D////////////////////////////////////P/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8BAP////////////////////////////8DAP///////////////////////////////////////////////////////////////////wf///////////////////////////////////////////8/AEGgxOEACwT///8/AEHgxOEACzb///////////////////////////////////////////////////////////////////////8AQcLF4QALlqQBQAB/AL8A9wD3APcA9wD3APcA9wAwAXABoQHhAfcA9wD3AB4C9wAuAl8ClgLWAhYDSwP3AHwDtgPrAwUERQSFBMUE9gQsBWgFpgXlBSMGYgagBt8GHQddB5sH2QcXCFcIlQjUCBIJUgmQCdAJEApPCo8KzgoOC04LjgvICwgMSAyIDLgM8gwyDVINcg2aDfcA2g0RDk8Ofg6jDsYO5g4mD/cA9wD3APcA9wD3APcA9wD3AGYPhg/GDwYQSAxGEIYQphDmEBYRVhGWEdYRDBI1ElYSlhLHEgcTQhOCE7wT+BM4FHgUtRT3APcA9wD1FPcA9wD3APcANRVvFSkCrxXvFS0WbRarFusWFxdRF38Xvxf9FzsYexizGPcA9wDeGBIZUhlyGXMZchmmGeYZIhpiGqIa4hofG1wbhRu7G/Yb9wD3APcA9wD3APcAMxxbHPcA9wD3APcA9wCZHM8c9wD3APcA9wDmHCYdVh2WHbYd9h02HnYekR7RHtEe0R77Hjsfex+4H/UfNSDRHoEeZiBGIKYg0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R73ANEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0SDRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEeBCE9IfcA9wD3APcAfSG9IfshGyL3APcA9wBbIpki2SIZI1MjkyPMIwwkSySLJMskSAwIJUcldyX3AKcl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMlMyZsJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJtEe0R7RHtEe0R7RHtEe0R4sJ2wn9wCpJ/cA9wD3APcAvCf3APwnNCh0KLAo9wDmKCYpZCmVKdQpYAp+CpsKugraCtoK2grbCtoK2graCtsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wobC/cB9wD8ARQqaAJoAuwm7Cb3APcA9wD3APcA9wD3AOUEJCr3APcA4wn3APcA9wD3APQB2gktB+wm7Cb3APcAKyrsJuwm7CbsJuwm7CbsJuwm9wDaCfcA9wD3AC0HJwIHCPcA9wCpHfcA5QT3APcAOyr3AEsq9wD3AJ8lWirsJuwm9wD3APcA9wD3APcA9wD3APcAaAK7CPcA9wCfJfcABwj3APcAywf3APcA9wBcKvgB+AFrKgECeSrsJuwm7CbsJvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcARRH3AEYRywfsJv0B9wD3AIkq7CbsJuwm7CaZKvcA9wCjKvcAsir3APcA9wD0AQ8D7CbsJuwm9wC/KvcAyir3AOYE7CbsJuwm7Cb3APcA9wCbJfcAdgL3APcA2irpBvcA6iq2D/oq9wD3APcA9wDsJuwm9wD3AAorGiv3APcA9wAqK/cAcAL3AO0E9wA6Kw0D7CbsJuwm7CbsJvcA9wD3APcAtg/sJuwm7Cb3APcA9wA2GfcA9wD3ALwP9wD3ANQPuwjsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APQB9wD3AEorNxnsJuwm7Cb6EvcA9wDLB/cAagFaK+wm9wBqK+wm7Cb3AAcI7Cb3AEURJQL3APcAaAF6K3YCaAuKKyUC9wD3AJkrpyv3ALYPuwglAvcAaQG3K8cr9wD3ANcrJQL3APcAbQHnK/cr7gE0GfcAAQJkAQcsFizsJuwm7CYmLPUBNSz3APcAYQHLErsIRSx1AvoBVCybB2QscizREuwm7CbsJuwm7CbsJuwm7Cb3APcA9wBrAYIskiw3Gewm9wD3APcAcAGiLLsI7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APcAYQGyLMEsyizsJuwm9wD3APcAcAHaLLsI6izsJvcA9wBlAfosuwjsJuwm7CZIDAELfgoKLQQl7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9wBkASsE7CbsJuwm7CbsJuwm9wD3APcA9wCsAzAnGi0mLfcANi1ELbsI7CbsJuwm7CZuAvcA9wBULWMt7CbwIfcA9wBzLYMtky33APcAZgGjLbIt9wD3APcA9wC2D8It7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm+gH3AGEB2QvSLawD2gniLfcAvQvYC88S7CbsJuwm7CYJB/cA9wDxLQAuuwgQLvcAQhIgLrsI7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcAMC5ALu0B9wBMLlouuwjsJuwm7CbsJuwmLQf3AGoueS6HLvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wDWDuwm7CbsJuwm7CbsJvcA9wD3APcA9wD3APQBli73APcA9wD3APcA9wD3APcA9wD3APcA9wA1Gewm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm9wD3APcA9wD3APcANhn3APcA9wD3APcApi73APcAtC73APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcAvi73APcA9wD3APcA9wD3APcAzi7eLtAS7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcAcw/3APcA9wD3AEUR7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm9wD3APcAtg/3APQB7i73APcA9wD3APQBuwj3AGgC/i73APcA9wAOLxovKi8BAugE9wDsJuwm7CbsJuwm7CbsJvcA9wD3APcA9wA1L+wm7CbsJuwm7CbsJvcA9wD3APcACAhvAXABcAFFLyUC7CbsJuwm7CZVL9QS0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R69HtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wBGEewm7Ca8Huwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwmhwbRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R4OH2Mv7CZzL38v0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEeuR7sJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9wD3APcA9wD3AOUE2gm2D48v0hLsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CZwAXAB6ANwAc8S9wD3APcA9wD3APcA9wA1Gewm7CbsJvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3AEYR9wD3AG8C9wD3APcAny9wAawv9wC4L/cA9wD3AOUE7Cb3APcA9wD3AMYv7CbsJuwm7CbsJuwm7Cb3ADUZ9wA1GfcA9wD3APcA9wBFEfcAtg/sJuwm7CbsJuwm7CbsJuwm9wD3APcA9wD3AP4B9wD3APcA9gHUL+Iv/wH3APcA9wDdDYYG9wAQDu8v7QH3APcA9wD3APcA9wD3APcA9wD3AHAC9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APkvBzAHMAcwcAFwAXABmC1wAXABxAEXMCMw/BKmAuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9AEvMOwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm2Qs/ME0w9wD3APcAaALsJvgS7CbsJuwm7CbsJuwm7Cb3APcA2gldMFsk7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcAbTDsJvcA9wBkAX0w7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3AGQBuwjsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CaNMPQB9wD3APcA9wD3APcA9wD3APcA9wD3APcAcQLPEuwm7Cb3APcA9wD3AJ0wrTDsJuwm7CbsJuwm7CbsJuwm7CbsJu4B9wD3AGQovTDsJuwm7CbsJu4B9wD3AGgC7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm/wH3AMww2TDnMPcwBTENMfkBBwgcMQcI7CbsJuwmNxnsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEeLDFyGaQZchlyGXIZPDFyGXIZchksMdEe0R7RHkkxTzHRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R5fMWUx0R5sMXox0R7RHocx0R7RHtEe0R6XMaYxsDG3McYx1DHkMfIx0R7RHtEe0R4YG2MuAjIQGRUb0R7RHg4y0R4eMtEe0R7RHioy0R42MtEe0R7RHtEeQTL3APcAUTLRHtEeYTFhMmcy0R7RHtEe9wD3APcA9wD3APcA9wB3MvcA9wD3APcA9wACMtEe0R4CGfcA9wD3ABcbFRv3APcAFxv3AAAZ0R7RHtEe0R7RHocyrjHPMZYy0R7RHtEezjHRHtEe0R6lMqkxtDLRHtEe9wD3APcA9wD3AHcy0R7RHtEe0R7RHtEeYjLRHtEenjH3APcA9wD3APcA9wD3APcA9wAAAvcA9wDlBOwm7Ca7CNEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEetx4tCOwmcAFwAXABcAFwAXAB7CbsJuwm7CbsJuwm7CbsJnABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAewmNQRVBHUElQS1BNUE9QQPBS8FTwVvBY8FrwXPBe8FCgYqBjEGUQaAA4ADgAOAA2YGKgaGBqMGgAOAA4ADgAOAA8MG4AaAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAyoGAAeAAxwHygDKAMoAygDKAMoAygDKADwHygBcB28HgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAB6AHtweAA4ADgAOAA9cHgAOAA4ADgAOAA4ADgAPnBwcIJwhHCF0IKgZ9CIADjQitCMQI1wjnCAcJgAMgCUAJYAmACaAJwAngCQAKygAgCsoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygAgCoADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgANACgMDAwMDAwMDAwwCAAABAwMDAwMDAwMDAwMDAwMDAwMDCRIWHRoZHRYVER0aFw4XGxgYGBgYGBgYGBgXFx0dHRIdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0VGhEdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUMEB0DAwMDAwQDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwgVGRoaGh0cHB0cFh0MHR0ZGhwcDR0cHBwcHBYcHBwVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHA0cHBwNHB0dHB0dHR0dHR0cHBwcHRwdDR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwgDAwMDAwMDAwMDAwMICAgICAgIAwMDAwMDAwMDAwMDAx0dHR0dHR0dKiodHR0dFx0qKioqHR0dHR0dHSodKh0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFwwqKh0dGioDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMMAx0DAx0DAxIDKioqKioqKiojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMqKioqIyMjIx0dKioqKioqKioqKiodHR0dHR0dHR0ZGRkXFx0dAwMDAwMDAwMDAwMSAxISEh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAwMDAwMDAwMDGBgYGBgYGBgYGBkYGB0dHQMdHR0dHR0dHR0dHR0dHR0dHR0dHRIdAwMDAwMDAx0dAwMDAwMDHR0DAx0DAwMDHR0YGBgYGBgYGBgYHR0dHR0dHR0dHR0dHR0qHR0DHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAwMDAyoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMdKioqKioqKioqKioqKioYGBgYGBgYGBgYHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDHR0dHRcSHSoqAxoaHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMdAwMDAwMDAwMDHQMDAx0DAwMDAyoqHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMqKh0qHR0dHR0dHR0dHR0qKioqKh0dHR0dHR0dHR0dHR0dHR0qHR0qKioqKioDAwMDAwMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDHQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDHQMDAwMDAwMDAwMDAwMDAwMdAwMDAwMDAx0dHR0dHR0dHR0DAwwMGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dHR0DAwMqHR0dHR0dHR0qKh0dKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0qHSoqKh0dHR0qKgMdAwMDAwMqKgMDKioDAwMdKioqKioqKioDKioqKh0dKh0dHQMDKioYGBgYGBgYGBgYHR0ZGR0dHR0dGR0aHR0DKgMDAyodHR0dHR0qKioqHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHSodHSodHSodHSoqAyoDAwMqKioqAwMqKgMDAyoqKgMqKioqKioqHR0dHSodKioqKioqKhgYGBgYGBgYGBgDAx0dHQMdKioqKioqKioqAwMDKh0dHR0dHR0dHSodHR0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dKh0dKh0dHR0dKioDHQMDAwMDAyoDAwMqAwMDKiodKioqKioqKioqKioqKioqHR0DAyoqGBgYGBgYGBgYGB0aKioqKioqKh0DAwMDAwMqAwMDKh0dHR0dHR0dKiodHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dKh0dKh0dHR0dKioDHQMDAwMDKioDAyoqAwMDKioqKioqKgMDAyoqKiodHSodHR0DAyoqGBgYGBgYGBgYGB0dHR0dHR0dKioqKioqKioDHSodHR0dHR0qKiodHR0qHR0dHSoqKh0dKh0qHR0qKiodHSoqKh0dHSoqKh0dHR0dHR0dHR0dHSoqKioDAwMqKioDAwMqAwMDAyoqHSoqKioqKgMqKioqKioqKioqKioqKhgYGBgYGBgYGBgdHR0dHR0dHR0aHSoqKioqAwMDAwMdHR0dHR0dHSodHR0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHR0dHR0dHR0dHSoqAx0DAwMDAyoDAwMqAwMDAyoqKioqKioDAyodHR0qKh0qKh0dAwMqKhgYGBgYGBgYGBgqKioqKioqDR0dHR0dHR0dAwMDDR0dHR0dHR0dKh0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dKh0dHR0dKioDHQMDAwMDKgMDAyoDAwMDKioqKioqKgMDKioqKioqHR0qHR0DAyoqGBgYGBgYGBgYGCodHQMqKioqKioqKioqKioDAwMDHR0dHR0dHR0dKh0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDHQMDAwMDKgMDAyoDAwMDHR0qKioqHR0dAx0dHR0dHR0dHR0DAyoqGBgYGBgYGBgYGB0dHR0dHR0dHRkdHR0dHR0qAwMDKh0dHR0dHR0dHR0dHR0dHR0dHSoqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0qHSoqHR0dHR0dHSoqKgMqKioqAwMDAwMDKgMqAwMDAwMDAwMqKioqKioYGBgYGBgYGBgYKioDAx0qKioqKioqKioqKikpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKioqGikpKSkpKSkpKSkpKSkpKR0YGBgYGBgYGBgYDAwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiopKSopKikpKSkpKikpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSopKikpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKiopKSkpKSopKikpKSkpKSkqGBgYGBgYGBgYGCoqKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqHQ0NDQ0dDQ0IDQ0MCBISEhISCB0SHR0dAwMdHR0dHR0YGBgYGBgYGBgYHR0dHR0dHR0dHQwDHQMdAxUQFRADAx0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqKioDAwMDAwMDAwMDAwMDAwwDAx0dHR0dAwMDAwMDAwMDAwMqAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDKgwMHR0dHR0dAx0dHR0dHSodHQ0NDA0dHR0dHQgIKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKikpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkYGBgYGBgYGBgYDAwdHR0dKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpGBgYGBgYGBgYGCkpKSkpKR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0qKioqKh0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJx0dHR0dHR0dHSodHR0dKiodHR0dHR0dKh0qHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0qKh0dHR0dHR0qHR0dHSoqHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqAwMDHQwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHSoqDB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUQKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQwMDB0dHR0dHR0dHR0dKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHQMDAwMqKioqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dAwMDDAwqKioqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0DAyoqKioqKioqKioqKh0dHR0dHR0dHR0dHR0qHR0dKgMDKioqKioqKioqKioqKSkpKSkpKSkpKSkpKSkpKSkpKSkMDBQpDB0MGikpKioYGBgYGBgYGBgYKioqKioqHR0dHR0dHR0dHSoqKioqKh0dEhIMDA0dEhIdAwMDCAMYGBgYGBgYGBgYKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKh0dHR0dAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAx0qKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqKioqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKgMDAwMDAwMDAwMDAyoqKioDAwMDAwMDAwMDAwMqKioqHSoqKhISGBgYGBgYGBgYGCkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSoqKSkpKSkqKioqKioqKioqKikpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKioqKikpKSkpKSkpKSkpKSkpKSkqKioqKioYGBgYGBgYGBgYKSoqKikpHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAyoqHR0pKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSoqAxgYGBgYGBgYGBgqKioqKioYGBgYGBgYGBgYKioqKioqKSkpKSkpKSkpKSkpKSkqKgMDAwMDAwMDAwMDAwMDAwMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqAwMDAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAx0dHR0dHR0dKioqGBgYGBgYGBgYGAwMHQwMDAwdHR0dHR0dHR0dAwMDAwMDAwMDHR0dHR0dHR0dDAwqAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAx0dGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDAwMqKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDAwMDAwMDKioqDAwMDAwYGBgYGBgYGBgYKioqHR0dGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQwMHR0dHR0dHR0dKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHR0dKioqKioqKioDAwMdAwMDAwMDAwMDAwMDAwMDAwMDAwMDHR0dHQMdHR0dHR0DHR0DAwMdKioqKioDAwMDAwMDAwMDAwMDCAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMIAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqHR0dHR0dKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqHR0dHR0dKiodHR0dHR0dHSodKh0qHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKiodHR0dHSodHR0dHR0dHR0dHR0dHSoqHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHSodHR0dHR0dDR0qDAwMDAwMDAgMDAwHAwoDAwwIDAwLHBwdFhYVFhYWFRYcHB0dExMTDAAAAwMDAwMIGRkZGRkZGRkdFhYcFBQdHR0dFxUQFBQUHR0dHR0dHR0dHR0dDBkMDAwMHQwMDAYdHR0dKgMDAwMDAwMDAwMdHSoqHB0dHR0dHR0dFRAcHRwcHBwdHR0dHR0dHRUQKh0dHR0dHR0dHR0dHR0qKioaGhoaGhoaGRoaGhoaGhoaGhoaGhoaGRoaGhoZGhoZGhoaGhoaGhoaGhoaGhoaAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDKioqKioqKioqKioqKioqHR0dGR0cHR0dGR0dHR0dHR0dHRwdHRodHR0dHR0dHR0dHBwdHR0dHR0dHRwdHR0dHR0dHR0dHR0dHR0dHR0dHRwcHR0dHR0cHR0cHRwcHBwcHBwcHBwcHB0dHR0cHBwcHBwcHBwcHR0dHR0dHR0dHB0dKioqKhwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwdHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHRwcHR0dHBwdHRwdHR0cHRwaGh0cHR0dHRwdHRwcHBwdHRwdHB0cHBwcHBwdHB0dHR0dHBwcHB0dHR0cHB0dHR0dHR0dHB0dHRwdHR0dHRwdHR0dHR0dHR0dHR0dHBwdHRwcHBwdHRwcHR0cHB0dHR0dHR0dHR0dHR0dHR0cHB0dHBwdHR0dHR0dHR0dHR0dHB0dHRwdHR0dHR0dHR0dHRwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dEx0dHR0dHR0dHR0dHR0dHR0VEBUQHR0dHR0dHB0dHR0dHR0kJB0dHR0dHR0dHR0dHR0VEB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSQkJCQdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKioqKioqKioqKioqKioqKioqKioqHR0dHR0dHR0dHR0qKioqKioqKioqKioqKioqKioqKiocHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHR0dHRwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHRwcHBwcHBwcHBwcHBwcHBwdHRwcHBwdHR0dHR0dHR0dHBwdHBwcHBwcHB0dHR0dHR0dHBwdHRwcHR0dHRwcHR0dHRwcHB0dHB0dHBwcHB0dHR0dHR0dHR0dHR0dHR0cHBwcHR0dHR0dHR0dHB0dHR0dHR0dHR0dHR0dHR0kJCQkHRwcHR0cHR0dHRwcHR0dHSQkHBwkHSQkJB8kJB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0kJCQdHR0dHB0cHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHB0cHBwdHCQcHB0cHB0cHR0dHR0dHR0dHR0dHR0dJB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwcHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0kJCQkJCQkJCQcHBwcJB0kJCQcJCQcHBwkJBwcJBwcJCQkHRwdHR0dHBwkHBwcHBwcJCQkJCQcJCQfJBwcJCQkJCQdHR0kJB8fHx8dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwdHR0WFhYWFhYdEhIkHR0dFRAVEBUQFRAVEBUQFRAcHBwcHBwcHBwcHBwcHBwcHBwcHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFRAdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFRAVEBUQFRAVEB0dHR0dHR0dHR0dHR0dHR0VEBUQFRAVEBUQFRAVEBUQFRAVEBUQHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFRAVEB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFRAdHR0dHR0dHR0dHR0dHR0dHR0dHR0cHBwcHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDHR0qKioqKhIMDAwdEgwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodKioqKiodKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKh0MKioqKioqKioqKioqKioDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKioqKiodHR0dHR0dKh0dHR0dHR0qHR0dHR0dHSodHR0dHR0dKgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFhYWFhYWFhYWFhYWFhYMDAwMDAwMDB0MFQwdHRYWHR0WFhUQFRAVEBUQDAwMDBIdDAwdDAwdHR0dHQsLDAwMHQwMFQwMDAwMDAwMHQwdDAwdHR0SEhUQFRAVEBUQDCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiokJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCokJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKioqKioqKioqKioqJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCoqKioqKioqKioqKioqKioqKioqKioqKioqJCQkJCQkJCQkJCQkKioqKgwQECQkFCQkFRAVEBUQFRAVECQkFRAVEBUQFRAUFRAQJCQkJCQkJCQkJAMDAwMDAyQkJCQkAyQkJCQkFBQkJCQqHiQeJB4kHiQeJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJB4kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkHiQeJB4kJCQkJCQeJCQkJCQkHh4qKgMDFBQUFCQUHiQeJB4kHiQeJCQkJCQkJCQkJCQkJCQkJCQkJCQkJB4kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkHiQeJB4kJCQkJCQeJCQkJCQkHh4kJCQkFB4UFCQqKioqKiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQqJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKioqKioqKioqKioqHh4eHh4eHh4eHh4eHh4eHiQkJCQkJCQkHBwcHBwcHBwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQUJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKioqJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKioqKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQwMHR0dHR0dHR0dHR0dHQwSDB0dHR0dHR0dHR0dHR0dHR0YGBgYGBgYGBgYHR0qKioqKioqKioqKioqKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAx0DAwMDAwMDAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAx0MDAwMDCoqKioqKioqHR0dHR0dHR0dHR0qKioqKh0dKh0qHR0dHR0qKioqKioqKioqKioqKioqKioqKioqKiodHR0dHR0dHR0dHR0dHQMdHR0DHR0dHQMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDHR0dHQMqKiodHR0dHR0dHRkdKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQ0NEhIqKioqKioqKgMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMqKioqKioqKgwMGBgYGBgYGBgYGCoqKioqKgMDAwMDAwMDAwMDAwMDAwMDAx0dHR0dHR0dHR0NHR0DGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwwMHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMqKioqKioqKioqKh0lJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSoqKgMDAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMdHR0dHR0MDAwdHR0dKh0YGBgYGBgYGBgYKioqKh0dKSkpKSkpKSkpKSkpKSkpKRgYGBgYGBgYGBgpKSkpKSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDKioqKioqKioqHR0dAx0dHR0dHR0dAwMqKhgYGBgYGBgYGBgqKh0MDAwpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKikpKSkpHR0dHR0dHR0dHR0DAwMDAwwMHR0dAwMqKioqKioqKiodHR0dHR0qKh0dHR0dHSoqHR0dHR0dKioqKioqKioqHR0dHR0dHSodHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMMAwMqKhgYGBgYGBgYGBgqKioqKiohIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiISIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiEiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiKioqKioqKioqKioqJiYmJiYmJiYmJiYmJiYmJioqKionJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnKioqKgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqHR0dHR0dHSoqKioqKioqKioqKh0dHR0dKioqKiojAyMjIyMjIyMjIyMdIyMjIyMjIyMjIyMjIyojIyMjIyojKiMjKiMjKiMjIyMjIyMjIyMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKioqKioqKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0QFR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKioqHSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqHR0dHR0dHR0dHR0dGR0dHQMDAwMDAwMDAwMDAwMDAwMXEBAXFxISFRATKioqKioqAwMDAwMDAwMDAwMDAwMDAyQkJCQkFRAVEBUQFRAVEBUQJCQVECQkJCQkJCQQJBAqFBQSEiQVEBUQFRAkJCQkJCQkJCokGhkkKioqKh0dHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKgYqEiQkGhkkJBUQJCQQJBAkJCQkJCQkJCQkJBQUJCQkEiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJBUkECQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJBUkECQVEBAVEBAUJB4eHh4eHh4eHh4kJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQUFCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQqKiQkJCQkJCoqJCQkJCQkKiokJCQkJCQqKiQkJCoqKhkaJCQkGhoqHR0dHR0dHSoqKioqKioqKioDAwMPHCoqHR0dHR0dHR0dHR0qHR0qHQwMDCoqKiodHR0dHR0dHR0dHR0dAyoqHR0dHR0dAwMDAwMqKioqKh0dHR0dHR0dHR0dHR0dKgwdHR0dHSoqKioqKioqKioqHR0dKh0dKh0dHR0dHR0dHSodHR0dHR0dKh0dKioqHSodHR0dHR0dHR0qKioqKh0dHR0dHSoqHSodHR0dHR0qHR0qKiodKiodHR0dHR0qDB0dHR0dHR0dKh0dKioqKiodHR0dHR0dHR0dHR0qKioMHQMDAyoDAyoqKioqAwMDAx0dHR0dHSoqAwMDKioqKgMMDAwMDAwMDB0qKioqKioqHR0dHR0DAyoqKiodHR0dHQwMDAwMDBMqKioqKioqKiodHR0dHR0qKioMDAwMDAwMHR0qKioqKioqHR0dHSoqKh0dHR0dHR0dHR0qAwMMKioDHR0dHR0dHR0dKioqKioqHR0DAwMDHR0dHSoqKioqKgMDAwMDAwMMDB0dHR0dKioDHR0DAx0qKioqKioqKioDAwMDAwMDAwMDAx0dHQwMAyoqKioqKioqKiodKioDAwMDAyoYGBgYGBgYGBgYDAwMDB0DAx0qKioqKioqKh0dHQMdDR0qKioqKioqKioDHR0dHQwMHQwDAwMDHQMDGBgYGBgYGBgYGB0NHQwMDAMDAwMDAwMDDAwdDAwdAx0DKioqKioqKioqKioqKiodHR0dHR0dKh0qHR0dHSodHR0dHR0dHR0MKioqKioqAwMDAyodHR0dHR0dHSoqHSodHSodHR0dHSoDAx0DAx0qKioqKioDKioqKiodHR0DAyoqAwMDAwMDAyoqKgMDAwMDAwMdHR0dDAwMDB0YGBgYGBgYGBgYDAwqHQMdAwMDAx0dHR0qKioqKioqKgMDAwMDAyoqAwMDAwMDAwMNDAwSEh0dHQwMDAwMDAwMHR0dHQMDKioDDAwdHSoqKioqKioqKioqDQ0NDQ0NDQ0NDQ0NDSoqKgMDAwMDAwMDHR0qKioqKioYGBgYGBgYGBgYKSkMDAwpHR0dHR0dHSoqHSoqHR0dHSodHSodHR0dHR0dHQMDAwMDAyoDAyoqAwMDAx0DAwwMDCoqKioqKioqKh0DAwMDAwMDKioDAwMDAwMdDR0DKioqKioqKioqKiodHR0DAwMDAwMDHQMDAwMNHQwMDAwNHQMqKioqKioqKh0DAwMDAwMDAwMDAx0dHR0DAwMDAwMDAwMDDAwMHQ0NDAwqKioqKioqKioqKioqDQ0NDQ0NDQ0NDSoqKioqKh0MDAwMDCoqKioqKioqKioNEh0dHR0dHR0dHR0dHR0dAwMDAwMDKioqAyoDAyoDAwMDAwMdAyoqKioqKioqHR0dHR0dKh0dKh0dHR0dHQMDKgMDAwMDHSoqKioqKiodHR0DAwMDHR0qKioqKioqAwMdAx0dHR0dHR0dHR0dHQMDAwMDAwMqKioDAwMMDCQkJCQkJCQkJCQkHR0dHR0dHR0dHR0dHRkZGR0dHR0dHR0dHR0dHR0dHSoqKioqKioqKioqKioMDAwMDCoqKioqKioqKioqHR0dHR0dHR0VFRUQEBAdHRAdHR0VEBUQHR0dHR0dHR0dFRAQHR0dHQgICAgICAgVEAgICBUQFRADHR0dHR0dAwMDAwMDAwMDGBgYGBgYGBgYGCoqKioMDAMDAwMDDCoqKioqKioqKioDAwMDAwMDDAwMHR0dHR0dDB0qKioqKioqKioqGBgYGBgYGBgYGCodHR0dHR0dDAwdHSoqKioqAwMDAwMDAwMqKioqKioqAxQUFBQIKioqKioqKioqKioeKioqKioqKioqKioqKh4eHioqHioqKioqKioqKioeHh4eKioqKioqKiodHR0dHR0dHR0dKiodAwMMHR0dHR0DAwMDAx0dHQMDAx0dAwMDAwMDAx0dHR0dHR0dHR0DAwMDHR0DAwMdKioqKioqKioqKh0qKh0dKiodHR0dKh0dHR0dHR0dHR0qHSodHR0dHSodKioqHR0dHR0dHR0dHR0dKioYGBgYGBgYGBgYGBgYGBgYHR0dHR0DHR0dHR0dHR0dHQMdHQwMDAwdKioqKiodHR0dHR0qKioqKgMDAwMDAwMDAyoqAwMDAwMqAwMqAwMDAwMqKioqKgMDAwMDAwMdHR0dHR0dKiodHR0dHR0dHR0dHR0dHQMqGBgYGBgYGBgYGCoqKioqGh0dHR0dHR0qHR0dHSodHSodHR0dAwMDAwMDAx0qKioqGBgYGBgYGBgYGCoqKioVFRkdHR0dKioqKioqKioqKiodHSodKiodKh0dHR0dHR0qHR0dHSodKh0qKioqHSoqKiodKh0qHSodHR0qHR0qHSoqHSodKh0qHSodHSodKiodHR0dKh0dHR0qHR0dHSodKh0dHSodHR0dHSodHR0dHRwcHBwcHBwcHBwcHBwkJCQcHBwcHBwcHBwcHR0dJCQkJCQkKCgoKCgoKCgoKCgoKCgoKCQkJCQkHyQkJCQkJCQkJCQkJB0dJCQkJCQdJCQkHx8fJCQfJCQfHx8kJCQkJCQkJCQkJCAgICAgJCQfHyQkHx8fHx8fHx8fHyQkJCQkJCQkJCQkJCQkJB8fHx8fHx8fHx8kJCQfJCQkHx8fJB8fHyQkJCQkJCQfJCQkJCQkJCQkJCQk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VVVVVVVVAEHc/+IACylVVVVVVdVVVVVVVVVVVVVVVVVVVRUAUFVVVVVVVVVVVVVVVVVVVVVVAQBBj4DjAAu0ARBBEFVVVVVVVVVVVVVVVVVVVVFVVQAAQFRVVVVVVVVVVVVVFQAAAAAAVVVVVVRVVVVVVVVVVQUAFAAUBFBVVVVVVVVVFVFVVVVVVVVVAAAAAAAAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVUFAABUVVVVVVVVVVVVVVVVVRUAAFVVUVVVVVVVBRAAAAEBUFVVVVVVVVVVVVUBVVVVVVVVVVVVVVVVVVBVAABVVVVVVVVVVVVVBQBB0IHjAAvjDUBVVVVVVVVVVVVVVVVVRVQBAFRRAQBVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVRAFUVVFVFVVVBVVVVVVVVUVBVVVVVVVVVVVVVVVVVVVUQRUUUFFVVVVVVVVVUFFVVQEQVFFVVVVVBVVVVVVVBQBRVVVVVVVVVVVVVVVVVVUEAVRVUVUBVVUFVVVVVVVVVUVVVVVVVVVVVVVVVVVVVUVUVVVRVRVVVVVVVVVVVVVVVFRVVVVVVVVVVVVVVVVVBFQFBFBVQVVVBVVVVVVVVVVRVVVVVVVVVVVVVVVVVVUURAUEUFVBVVUFVVVVVVVVVVBVVVVVVVVVVVVVVVVVFUQBVFVRVRVVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVRRUFRFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVRAEBVVRUAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVEAAFRVVQBAVVVVVVVVVVVVVVVVVVVVVVVVUFVVVVVVVRFRVVVVVVVVVVVVVVVVVQEAAEAABFUBAAABAAAAAAAAAABUVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAQQAQUFVVVVVVVVQBVRVVVUBVFVVRUFVUVVVVVFVVVVVVVVVVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqgAAAAAAAAAAVVVVVVVVVQFVVVVVVVVVVVVVVVUFVFVVVVVVVQVVVVVVVVVVBVVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVRAAUFVFAQAAVVVRVVVVVVVVVVVVVRUAVVVVVVVVVVVVVVVVVUFVVVVVVVVVVVFVVVVVVVVVVVVVVVVVQBVUVUVVAVVVVVVVVRUUVVVVVVVVVVVVVVVVVVVFAEBEAQBUFQAAFFVVVVVVVVVVVVVVVQAAAAAAAABAVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVQAAUAVVVVVVVVVVVVUVAABVVVVQVVVVVVVVVQVQEFBVVVVVVVVVVVVVVVVVRVARUFVVVVVVVVVVVVVVVVVVAAAFVVVVVVVVQAAAAAQAVFFVVFBVVVUVANd/X19//wVA913VdVVVVVVVVVVVAAAAAFVXVVX9V1VVVVVVVVVVVVdVVVVVVVVVVQAAAAAAAAAAVFVVVdVdXVXVdVVVfVVVVVVVVVVVVVVV1VfVf////1X//19VVVVdVf///1VVVVV1VVVfVVVVVfV1V1VVVdVVVVVVVVX319/XXV11/df//3dV/1VfXVVfV3VVVVV///X1X1VVVfX/X1VVXV1VVV1VVVVVVdVVVVVVdVWlVVVVaVVVVVVVVVVVVVVVVVVVValWllVVVVVVVVVVVVVV/////////////////////////////////////////////9///////////1X///////////9VVVX/////9V9VVd//X1X19VVfX/XX9V9VVVX1X1XVVVVVaVV9XfVVWlV3VVVVVVVVVVV3VaqqqlVVVd/ff99VVVWVVVVVVZVVVfVZVaVVVVVV6VX6/+///v//31Xv/6/77/tVWaVVVVVVVVVVVlVVVVVdVVVVZpWaVVVVVVVVVfX//1VVVVVVqVVVVVVVVVZVVZVVVVVVVVWVVlVVVVVVVVVVVVVVVVb5X1VVVVVVVVVVVVVVVVVVVVVVVVVVFVBVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVUAAAAAAAAAAKqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqVVVVqqqqqqpaVVVVVVVVqqqqqqqqqqqqqqqqqqoKAKqqqmqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqgaqqqqqqqqqqqlWpqqqqqqqqqqqqqqmqqqqqqqqqqqqqqqqoqqqqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVlaqqqqqqqqqqqqqqaqqqqqqqqqqqqqr//6qqqqqqqqqqqqqqqqqqqlaqqqqqqqqqqqqqqqqqalVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVQAAAUFVVVVVVVVUFVVVVVVVVVVVVVVVVVVVVVVVVVVVQVVVVRUUVVVVVVVVVQVVUVVVVVVVQVVVVVVVVAAAAAFBVRRVVVVVVVVVVVVUFAFBVVVVVVRUAAFBVVVWqqqqqqqqqVkBVVVVVVVVVVVVVVRUFUFBVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVQFAQUFVVRVVVVRVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVUEFFQFUVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVFUUVVVVVWqqqqqqqqqqqpVVVUAAAAAAEAVAEG/j+MAC6EIVVVVVVVVVVVFVVVVVVVVVVUAAAAAqqpaVQAAAACqqqqqqqqqqmqqqqqqaqpVVVVVVaqqqqqqqqqqVlVVVVVVVVVVVVVVVVVVBVRVVVVVVVVVVVVVVVVVVVWqalVVAABUXVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVQVAVQFBVQBVVVVVVVVVVVVVQBVVVVVVVVVVVVVBVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVVVVVVVVVVVUVVFVVVVVVVVVVVVVVVVVVVVVVVVUBVQUAAFRVVVVVVVVVVVVVVQVQVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVVVVVVVQAAAEBVVVVVVVVVVVVVFFRVFVBVVVVVVVVVVVVVVRVAQVVFVVVVVVVVVVVVVVVVVVVVQFVVVVVVVVVVFQABAFRVVVVVVVVVVVVVVVVVVRVVVVVQVVVVVVVVVVVVVVVVBQBAVVUBFFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVAEVUVVVVVVVVVVFRUAQFVVVVVVVFVVVVUVVVVVBQBUAFRVVVVVVVVVVVVVVVVVVVVVAAAFRFVVVVVVRVVVVVVVVVVVVVVVVVVVVVVVVVVVFABEEQRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRUFUFUQVFVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVRUAQBFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVRABBVVVVVVVVVVVUBBRAAVVVVVVVVVVVVVVVVVVVVVRUAAEFVVVVVVVVVVVVVVVVVVFUVRBVVVVVVVVVVVVVVVVVVVVVVVVVVVQAFVVRVVVVVVVVVAQBAVVVVVVVVVVVVFQAUQFUVVVUBQAFVVVVVVVVVVVVVVQUAAEBQVVVVVVVVVVVVVVVVVVVVVVVVVVVVAEAAEFVVVVUFAAAAAAAFAARBVVVVVVVVVVVVVVVVVVUBQEUQABBVVVVVVVVVVVVVVVVVVVVVVVVQEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVFVVUFVVVVVVVVVVVVVVVQVAVURVVVVVVVVVVVVVVVVVVVVUFQAAAFBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAFRVVVVVVVVVVVVVVVVVVQBAVVVVVVUVVVVVVVVVVVVVVVVVVVVVFUBVVVVVVVVVVVVVVVVVVVVVVVVVqlRVVVpVVVWqqqqqqqqqqqqqqqqqqlVVqqqqqqpaVVVVVVVVVVVVVaqqVlVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWqqappqqqqqqqqqqpqVVVVZVVVVVVVVVVqWVVVVapVVaqqqqqqqqqqqqqqqqqqqqqqqqpVVVVVVVVVVUEAVVVVVVVVVQBB65fjAAtFUAAAAAAAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVEVAFAAAAAEABAFVVVVVVVVUFUFVVVVUFVFVVVVVVVVVVVVVVVVVVAEG9mOMACwJAFQBBy5jjAAv4BlRVUVVVVVRVVVVVFQABAAAAVVVVVQBAAAAAABQAEARAVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVUAVVVVVVVVVVUAQFVVVVVVVVVVVVVVAEBVVVVVVVVVVVVVVVVVVVZVVVVVVVVVVVVVVVVVVVVVVZVVVVVVVVVVVVVVVVX//39V/////////1///////////////////19V/////////++rqur/////V1VVVVVqVVVVqqqqqqqqqqqqqqpVqqpWVVpVVVWqWlVVVVVVVaqqqqqqqqqqVlVVqaqaqqqqqqqqqqqqqqqqqqqqqqqmqqqqqqpVVVWqqqqqqqqqqqqqapWqVVVVqqqqqlZWqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpaqqqqqqqqqqqqqqqqqqqpaVVWVaqqqqqqqqlVVVVVlVVVVVVVVaVVVVVZVVVVVVVVVVVVVVVVVVVVVVVVVVZWqqqqqqlVVVVVVVVVVVVVVVapaVVZqqVWqVVWVVlWqqlZVVVVVVVVVVaqqqlVWVVVVVVVVqqqqqqqqqqqqqqpqqqqaqqqqqqqqqqqqqqqqqqpVVVVVVVVVVVVVVVWqqqpWqqpWVaqqqqqqqqqqqqqqmqpaVaWqqqpVqqpWVaqqVlX///////////////////9fRW1wdHlJbnZhbGlkRGlnaXRQb3NPdmVyZmxvd05lZ092ZXJmbG93WmVybzAxMjM0NTY3ODlhYmNkZWYvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91dWlkLTEuMTAuMC9zcmMvZm10LnJzAACbzhgAWwAAALkAAAANAAAAm84YAFsAAACxAAAAFQAAAJvOGABbAAAAtAAAAA0AAACbzhgAWwAAALUAAAANAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvd2FzbS1iaW5kZ2VuLTAuMi45NS9zcmMvY2FjaGUvaW50ZXJuLnJzOM8YAGwAAAAbAAAAKwAAAAAAAAD//////////7jPGABB0J/jAAvqAVRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0edDPGAAkAAAAL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yc/zPGABMAAAApgIAAAkAAABKc1ZhbHVlKCkAAABY0BgACAAAAGDQGAABAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAAI0FAAAEAAAABAAAAI4FAACPBQBBxKHjAAuABAEAAACQBQAAY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbi9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMAAAAS0RgATwAAAAQBAAAaAAAAL2hvbWUv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AAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAALrAQADawEAA+sBAARrAQAE6wEABWsBAAXrAQAGawEABusBAAdrAQAH6wEACGsBAAjrAQAJawEACesBAAprAQAK6wEAC2sBAAvrAQAMawEADOsBAA1rAQAN6wEADmsBAA7rAQAPawEAD+sBAABrEQAA6xEAAWsRAAHrEQACaxEAAusRAANrEQAD6xEABGsRAATrEQAFaxEABesRAAZrEQAG6xEAB2sRAAfrEQAIaxEACOsRAAlrEQAJ6xEACmsRAArrEQALaxEAC+sRAAxrEQAM6xEADWsRAA3rEQAOaxEADusRAA9rEQAP6xEAAGshAADrIQABayEAAeshAAJrIQAC6yEAA2shAAPrIQAEayEABOshAAVrIQAF6yEABmshAAbrIQAHayEAB+shAAhrIQAI6yEACWshAAnrIQAKayEACushAAtrIQAL6yEADGshAAzrIQANayEADeshAA5rIQAO6yEAD2shAA/rIQAAazEAAOsxAAFrMQAB6zEAAmsxAALrMQADazEAA+sxAARrMQAE6zEABWsxAAXrMQAGazEABusxAAdrMQAH6zEACGsxAAjrMQAJazEACesxAAprMQAK6zEAC2sxAAvrMQAMazEADOsxAA1rMQAN6zEADmsxAA7rMQAPazEAD+sxAABrQQAA60EAAWtBAAHrQQACa0EACcrBAAoqwQAKisEACurBAAtKwQALqsEADArBAAxqwQAMysEADSrBAA2KwQAN+sEADmrBAA7awQAPSsEAD7rBAAAq0QAAmtEAAQrRAAF60QAB6tEAAlrRAALK0QADOtEAA6rRAAQa0QAEitEABPrRAAVq0QAF2tEABkrRAAa60QAHKtEAB5rRAAgK0QAIetEACOrRAAla0QAJytEACjrRAAqq0QALGtEAC4rRAAv60QAMatEADNrRAA1K0QANutEADirRAA6a0QAPCtEAD3rRAA/q0QAAWuEAAMrhAAE64QABquEAAhrhAAKK4QAC+uEAA2rhAAPa4QAESuEABLrhAAUq4QAFmuEABgrhAAZ64QAG6uEAB1rhAAfK4QAIOuEACKrhAAka4QAJiuEACfrhAApq4QAK2uEAC0rhAAu64QAMKuEADJrhAA0K4QANeuEADerhAA5a4QAOyuEADzrhAA+q4QAAGvEAAIrxAAD68QABavEAAdrxAAJK8QACuvEAAyrxAAOa8QAECvEABHrxAATq8QAFavEABerxAAZq8QAG6vEAB2rxAAfq8QAIavEACOrxAAlq8QAJ6vEACmrxAArq8QALavEAC+rxAAxq8QAM6vEADWrxAA3q8QAOavEADurxAA9q8QAP6vEAAGsBAADrAQABawEAAesBAAJrAQAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAEpsQABSbEAAWmxAAGJsQABqbEAAcmxAAHpsQACCbEAAimxAAJJsQACebEAAqmxAALZsQADCbEAAzmxAANpsQADmbEAB8qxAAjKsQAJyrEACsqxAArKsQALyrEADMqxAA3KsQAOyrEAD8qxAADKwQABysEAAsrBAAPKwQAEysEABcrBAAbKwQAHysEACMrBAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEADsoxAA7KMQAOyjEAD8oxAADKQQABykEAAspBAAPKQQAEykEABcpBAAbKQQAHykEACMpBAAnKQQAKykEAC8pBAAzKQQANykEADspBAA/KQQAAylEAAcpRAALKUQADylEABMpRAAXKUQAFylEABspRAAfKUQAIylEACcpRAArKUQALylEADMpRAA3KUQAOylEAD8pRAADKYQAAymEAAcphAALKYQADymEABMphAAXKYQAFymEABsphAAfKYQAIymEACcphAArKYQALymEADMphAA3KYQAOymEAD8phAA/KYQAAynEAAcpxAALKcQADynEABMpxAAXKcQAGynEAB8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uxAALrQQADS0EAA6tBAAQLQQAEa0EABMtBAAUrQQAFi0EABetBAAZLQQAGq0EABxtBAAeLQQAH+0EACGtBAAjbQQAJS0EACbtBAAorQQAKm0EACwtBAAt7QQAL60EADFtBAAzLQQANO0EADatBAA4bQQAOi0EADvtBAA9rQQAP20EAAEtRAAC7UQABK1EAAZtRAAILUQACe1EAAutRAANbUQADy1EABDtRAASrUQAFG1EABYtRAAX7UQAGa1EABttRAAdLUQAHu1EACCtRAAibUQAJC1EACXtRAAnrUQAKW1EACstRAAs7UQALq1EADBtRAAyLUQAM+1EADWtRAA3bUQAOS1EADrtRAA8rUQAPm1EAAAthAAB7YQAA62EAAVthAAHLYQACO2EAAqthAAMbYQADi2EAA/thAARrYQAE22EABUthAAW7YQAGK2EABpthAAcLYQAHe2EAB+thAAhbYQAIy2EACTthAAmrYQAKG2EACothAAr7YQALa2EAC9thAAxLYQAMu2EADSthAA2bYQAOC2EADothAA8LYQAPi2EAAAtxAACLcQABC3EAAYtxAAILcQACi3EAAwtxAAOLcQAEC3EABItxAAULcQAFi3EABgtxAAaLcQAHC3EAB4txAAgLcQAIi3EACQtxAAmLcQAKC3EACotxAAsLcQALi3EAALAAAACAAAAAQAAAAGAAAABgAAABQAAABI2RAAU9kQAFvZEABf2RAAZdkQAGvZEAADAAAACAAAAAQAAAB95xAA2N0QALA3GAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgACAAAAAQAAAAgAAAAEAAAAIAAAABAAAABAAAAAgAAAAAABAAAAAgAAAAgAAAAEAAAAIAAAABAAAACAAAAAQAAAAAACAAAAAQAFAAAAAwAAAAcAAAAFAAAACQAAAAcAAAAJAAAADwAAAAsAAAARAAAADgAAAAwAAAAQAAAADgAAABIAAAAQAAAAFAAAABIAAACjGREAqBkRAKsZEQCyGREAtxkRAMAZEQDHGREA0BkRAN8ZEQDqGREA+xkRAAkaEQAVGhEAJRoRADMaEQBFGhEAVRoRAGkaEQBBAAAAegAAAF4AAAAkAAAAcgAAAFIAAABi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", "base64"); + var bytes = Buffer2.from("AGFzbQEAAAABzgRJYAJ/fwBgAX8AYAJ/fwF/YAN/f38Bf2ADf39/AGABfwF/YAR/f39/AGAFf39/f38AYAZ/f39/f38AYAR/f39/AX9gAAF/YAd/f39/f39/AGADf39/AX5gA39+fwBgBX9/f39/AX9gAX8BfmACf38BfmAHf39/f39/fwF/YAN/fn4AYAN/fn4Bf2AAAGAAAX5gBn9/f39/fwF/YAJ+fwBgAn9+AGABfgF+YAJ+fgBgBH9+f38AYAR/f39+AGADf39+AX9gAX4AYAR/fH9/AX9gDX9/f39/f39/f39/f38AYAJ/fABgBn9/f39+fwBgD39/f39/f39/f39/f39/fwF/YAR/f35/AGAGf39/fn9/AGADf35/AX9gAn9+AX9gBH5+f38BfmADfn9/AGACfn8Bf2ACfn4BfmADf39+AGAOf39/f39/f39/f39/f38Bf2AIf39/f39/f38Bf2AJf39/f39/f39/AGAEf35/fgF+YAl/f39/f39+fn4AYAV/f39/fwF8YAF8AXxgBn9/fn9+fwBgA35/fwF/YAF/AXxgBX9/f39+AGADf39/AXxgF39/f39/f39/f39/f39/f39/f39/f39/AX9gE39/f39/f39/f39/f39/f39/f38Bf2ALf39/f39/f39/f38Bf2AEf39/fABgAXwBf2AEfn5+fwF+YAR/fn5/AGAEf39/fwF8YAd+fn5/f39/AX5gAn5/AX5gA398fwBgBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AALnEisYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFl9fd2JpbmRnZW5fYm9vbGVhbl9nZXQABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18VX193YmluZGdlbl9zdHJpbmdfbmV3AAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFV9fd2JpbmRnZW5fc3RyaW5nX2dldAAAGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxRfX3diaW5kZ2VuX2lzX3N0cmluZwAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxRfX3diaW5kZ2VuX2lzX29iamVjdAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXw1fX3diaW5kZ2VuX2luAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX25ld18zZDQ0NmRmOTE1NTEyOGVmAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fE19fd2JpbmRnZW5faXNfZmFsc3kABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18kX193YmdfZ2V0d2l0aHJlZmtleV8xZGMzNjFiZDEwMDUzYmZlAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHV9fd2JnX2xlbmd0aF9kNjVjZjA3ODZiZmM1NzM5AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX2dldF85YWEzZGZmM2YwMjY2MDU0AAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX25ld182ODg4NDZmMzc0MzUxYzkyAAoYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX3NldF8zZjFkMGI5ODRlZDI3MmVkAAQYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fIF9fd2JnX25ld25vYXJnc19mZDllNGJmOGJlMmJjMTZkAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JnX2NhbGxfYjBkOGUzNjk5MmQ5OTAwZAACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXy1fX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzBiZTc0NzJlNDkyYWQzZTMAChhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18yX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF9USElTXzFhNmViNDgyZDEyYzliZmIAChhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18tX193Ymdfc3RhdGljX2FjY2Vzc29yX1dJTkRPV19hZTFjODBjN2VlYThkNjRhAAoYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fK19fd2JnX3N0YXRpY19hY2Nlc3Nvcl9TRUxGXzFkYzM5OGE4OTVjODIzNTEAChhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18bX193YmdfY2FsbF81MDBkYjk0OGU2OWM3MzMwAAMYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHV9fd2JnX2xlbmd0aF82NWQxY2QxMTcyOWNlZDExAAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fEV9fd2JpbmRnZW5fbWVtb3J5AAoYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHV9fd2JnX2J1ZmZlcl82MWI3Y2UwMTM0MWQ3Zjg4AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX25ld18zZmY1YjMzYjFjZTcxMmRmAAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX3NldF8yM2Q2OWRiNGU1YzY2YTZlAAQYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAEYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxRfX3diaW5kZ2VuX2Vycm9yX25ldwACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxlfX3diaW5kZ2VuX2pzdmFsX2xvb3NlX2VxAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyxfX3diZ19pbnN0YW5jZW9mX1VpbnQ4QXJyYXlfMjhhZjViYzE5ZDZhY2FkOAAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXy1fX3diZ19pbnN0YW5jZW9mX0FycmF5QnVmZmVyXzY3MGRkZGU0NGNkYjI2MDIABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18eX193YmdfZW50cmllc180ZjJiYjliMGQ3MDFjMGY2AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fF19fd2JpbmRnZW5fZGVidWdfc3RyaW5nAAAYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fEF9fd2JpbmRnZW5fdGhyb3cAABhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18bX193YmdfdGhlbl8wNDM4ZmFkODYwZmUzOGUxAAIYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fJV9fd2JnX3F1ZXVlTWljcm90YXNrXzIxODEwNDBlMDY0YzBkYzgAARhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18lX193YmdfcXVldWVNaWNyb3Rhc2tfZWY5YWM0Mzc2OWNiY2M0ZgAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxZfX3diaW5kZ2VuX2lzX2Z1bmN0aW9uAAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHl9fd2JnX3Jlc29sdmVfMGJmN2M0NGQ2NDE4MDRmOQAFGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxJfX3diaW5kZ2VuX2NiX2Ryb3AABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18eX193YmluZGdlbl9jbG9zdXJlX3dyYXBwZXI3Mzc0AAMDmy6ZLggIAAAABAYEBAQGBgQEBwcHERYGBh8ABgQEAAYHAgQEAAAAAAAEBAAAAggEAAAACAcHBAADBQQEBgYECAQABgIAAgYAAAsLCAAGBgACBgIGAAYGBgkAAAAIBAQIBgAAAAACAA4JICAABgYGBAQCAgcICAQEAgAABAgABAcLAAcAAAYAAAgICCEAAAUCBQYEAAYEAAQiIgcLCAYEAgEEAAQAAAMAAAIEBAsEBggACwAABxEHBwcHAAAHAgAABwAAAAAEBAQAAAQABAgCBgAAAA4FBgYFCQYCBgQBBAAABgYAAAECBQABAQEIAAgABAIIBwUHAAQEAAoAAQABAAEEBAsHAQQGAAAABwQBBAEEBgcGAAEDAQEIBgECBgAAAQIHBgAIAAEABAAEAQQEAAQEAAQGAQEBAQEBBwcDAQEBAAYGAAYGAAABAAAACwkBCwAJBAAAAAQEBSMABwICCy0HAwIEAAAAAAYEBgYGAAUBBAkCBAsLAAELCAIABQEAAAEDAwcAAQAABwIBAC4AEQYCAAEFAAAACQAGBAYABAQEAAkAAAcIBwYAAQAABAQCAQEEAQcAAAIGBQEABwEBBgIEAwMHAAAHHwIBBgAEAwcHAAAABAQAAgICAAUAABYDAAgIAgYBBggEAC8DAA4DCQEBAQAAAAQEBgQGAwgGAAYGAAMDBgAAAgEAAAMIBAAEAgAEAAQGBgAEAAADAgAACAgGAQQEGwQAAgkAAQAIAAAAAAAAAAABAQACABYIBgYABgIAADAAAQQCAQEBAQEBAQEAAQEDAQAIAwIBAQEAAgQCAQEBAQEBAQEBAQEBARYAAAAABAQAAQEEAAQLAAIAAAcABAAAAwEBBgsHAQAABwYDARICAQEJAAQCCAAAAAIECAcABQUFAAEBAQEBAAEBAQEEBQYEAAIBBwEAFwEAAAQBAgYCBAQDAAcAAAAAAAAAAAgABAIxBAACCAAAAQAEBwUEAAAABAIAAgEABAQGAgQECggGGwYGAQQEAgEAAAQCBgYDAAQRAAAEAAAAAQAGAQYAADIGBAAGBgYCBQQCFgQFBQUAAgIEBAAHAQABMwIEAgYAAAQECAUAAAIGBhEAADQEBAAABgIBAQEBAQ4EBQQLDwEkAzUcBAYHBQIEBgcCAAIICAMAAgQCAwgEAAADAgc2AAcAAQEEAQAABwQCAgAEAAYIBAAEAgAABwcGBgIFAgABAAQEBAAAAgIAAQAABAAEBAYGAAAENwAAAQACAAIBBwEICQQBBwIGBgIAAgMBBgQFASUAAQACAAAABAAACQICAgkCAwAAADgEAQgAAAACBQgAAQEIAAQEBwMDCAIACQQAAQUCBAAIAAgEDwAEACUCAAQABA0AAAEFAQMIAAEAAQACBAQJBAAADwICAQAmAQEAAAEABAgRAgcABAANBAAABgIHAgQAAgACAgEAAQECBAQBAgAEAAQEAgYGAAEAAQUABAQAAQICBAIAAAgIAgAABgEAAQIEAQAIAAYEBAAAAgAACAQJCQMEAAAAAAEACAgABAQBBAECAAEEBgAACQAAAAECAgABAhgBBAMBAAYEAAEGAQAAAAQAAAEBAQEBAQQBAAAGBAQDDwEBAAQFAAEBAgcBAQIGBAABAAACBAQGBgAEBAMBBAYAGAACBAAIOQEHAAQAAAMABAYBAQIEBAIHBgIACQgBAgAEAAQACAQABAICBAECAAEFEQYDAgICADoJEAQDAQQACQACBAYAAQEEBAEADgABAgcAAAABAgQAAwYCBgACBQIGBwQAAAIjAgADBgQCAgIBAQMCAAYCCwIEBAQGAAYEAAABBgYnAAAABgIEAwADBAAEBQQIAgIAOwAAAQUEBQEJAAYFCAYGBgMFAAAAAAMLAwAABQUICAAGAgIEAAAAAAADAAUAAAACEQQCAgABAgIAAgQAAQEBAQAAAAAABQUABRgOEAYGAgIBBgYCAAYAAAYGAgECAgEAAQEBBggFBQUAAAAAAAABAAABBAUEAAAAAAAGAQAAAAMGBgMAAgAFDwIAAAAAAAAAAAAABAQBBwUEBQIAAAUCAgICAAAAAAECAAIFBgIAAAAFAAICAQMHAAAFAAIAAgICAgABAwMEAAsABQIAAAUBAAECAQIACwICAgICAgICAgICAgICAgIBAAQCAQYBAAAEAgAAAAACAgICAgkAAAAJAgICAgACAgAGBAAEBAICAgIAAAQCAgICAgICAgICAgICAgICAgUAAAAAAAAAAAQGBgYAAAUFBQAFAAoCBQIEAwYAAAAAAgIBBAYCBQEFBQUGBAkCBQICGAIAAAABCAABCAEIBgYBAAECAAABBwEDAgIDCAwHCQACAQIAAgACAgEBAAACAAYCDQ4AAQIAAAQFBAAGBAAGBAUAAgQAAQABAAcCPAAFAAAAAAAAAAMAEgcDBAAABAAGAgA9BgAAAwQHCAg+AAIFBgYGBggCBQkAAQABBAUEAAAAAQUFAQgDHQAAAgUCAgABBQUAAgAEAAUCAAQBCQUEAQAFAwAFBQgABQEEBQMHCQAFBAUFAgAFAAAAAAYAAAYABwQABQIACAICAAIoKAACBQMAAAAAAAAABQAAAAAAAAAAAAAAAAIDAAAAAAAABAAIBAACAQAAAAAGAAABBAQACQAABQAAABICAAUAAAUBAQAABgICAgICAQAGAQIHBAAHAAkGAAAHAQECAgICAgICAgICAgIABwAAAAAHAAICBQQEBAQABAQEAAQIAAMCAAUBAAAAAQgAAAABAAEBAgAIBQUFBQkECQcBBAIAAwABHQADBQEAAh0BBgACAAECAAQABQICAQMHAwICAgAFAQQAAQYGBgIBAQEBAQEBAQEBBAIAAQACBAABBgMBAQAEAgUPAQACAgICAgICAgICAAANAAAAAAAFABQAAD8AAAAEAQkJBQAFAQAHAgICAgIAAAAAAQAAAAYAAAEEAgICCAYAAAAGAgIBAAUEAgIFBQQABQUEAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUAAgUADQIABAMBAAAGAAEBAQEBAAAAAAEBAAEAAAAAAQEBAQABAAYBAAACAAIEAgEZAAAHAgMIAQABAQcBAQAAAAAABAQFAgABAgICAgIBAAABAAUEBAQCAAAABgACBAAAAgICAgYAAgICAAACAgICAgICAgAAABAAAAUABAICAgICAgABBQACBAEAAAAECQAFBAIDAQAIAAUGAAQEBAQFAgABAAcEBAUFAAECAgcHAAECAgICAgICAgIDAgAABwcEAQEFAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAA8BAQAAAAAAAgQEAgICAgQAAAQEAgUCAAECBQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAABAAAAAQABAAEGAAACBgAEBAIFAQgKBQQHAgICAQICAQICAgICAgIBKQECAAEBAQEBAQECBwEBAAQCAgEEAAEBAAAAAgIABAQBAAYBBAQAAAMEBQUFBQQGBgACAgABAAAFBQABAQEEAAQAAAADBgoBAAYEAAQAAQcDBAQAAQAAAQQBAQAAAAAAAAABAAcGBAEEAAYEAQUBAAUABAEPAAEBBgAEAQANBQEAAQACAgIABgIAAAAAAAAAAAADAAgAAQADAggFAQEEAAUEAQECAgIBAAEBAQABAAEBAQEBAQIAAgICAQICAgICBAQCAgEEAQICAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEFAAEAAQEBAQEBAQQBBQABEAEBAQEIAQEDAwEBAQIBAAABAQEBBAIBBQEHAQoBAQBAAAEAAAAAAAAAAAAAAAAAAAICAgcCAgIBAgAABwIJBgECAgICAgICAggAAgICAAEHAQIAAgECAgEBAgEBAQEBAAAAAQEBAQUBAQEBAQEBAQEAAQAAAQICAgEBAQABAQEBAQEBAAAABwAAAAUABAEFAQQBBQEFAAAAAAUCAAAAAQIAAAABAAABQQICAQEAAgACAg0BBAAFBAAEAAkIBAQCAAYCAgIFAQUFAwUFBQUFBQUFBQEBAQEBAQEBAAEqAQEBAQUBAQEBBQEAAQEBAgACCwYAABUEBAEJBAkABAcDBQIEAAEAHgEBAQEBAQEBAAAAAQANAAAAAAEBAQwBAAAAAAAAAAEBAQEBAQEBAAEBAQEEAAAAAAEBAAEBBQIEAg8GAgICBAkGAQEACwIAAQUADAwDAgQAAQEBAQEFCQUCBgICBgUBAQEBAQABAAEBAQEBBgATEwUCAgUAAwYOAgAAAAECAgQAAAICAAAAAAQCAgUFAQICAAAAAAAAAAIMBgYGBgICAgICAgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcCBwQCAgEQEAUCAgAGAgICAgIFAAICBgACAgICBgQCAgAABQAeDAYZAQIAAAICAQEBAgEBAQIAAgEBDQAAAQEBAQEBAQEBAQEFAQEBAQEBEgETAgACABQUAQIBARQUAAAhAAUDFBQFAgEBAgMCAgICCQAYAgICAgICAgACAgMCAgAAAQIFBQABBQAFAQIBARcAAAIFAgICBwcFAgIGAgIGBwICAgICAgICAAICAAQHAgAHAAQCAwIBAgUFBwcCBQEDBQIrAgIFAQEBAQEBAAEBAAIFAAAFAgICAAEBAQEAQgAAAAAAAQEBAQAAACkAAAEFAQEBBQUBAQEAAQEBBgAEAAMAAAAEBwAAAAABAQkABQAAAAAABQQrAAABAAAABAUAAAAABQEABQICBAACAQEAAQABBAAEBBIAAQECHAcFABAAAQEBDAAAAgcGAgcFAQEBAQEBBgEAAAUAARwFAA0BAQEBAQEBAQEAAAQEAgEAAgIFAAICASwBJAIJAQICAgABAQcCAgEAAAICAgIBAAABAAoBAQoAAAICAgsGBAQFAQEEAAQCAgICCwIGBgYCAgkAAAAAAAEBAQUBAQYGBgYBAQAAAAABAQEBAQICAgEDAAAAAQcGBAUJAgYCAQEHBwEEAgUFBioCAgwGAAAAAQUCAgICAgUABgICAQEAAAAAAQACBgAAAAAAAQgCAAEAAAAHAAAACQIBAQEBAQAAAAAGAQUAAAEBAAAJAwUCAAEDAwYAAAAAAQEQAQEAAAMAAAAAAAAABAIAAAAZAAAAAAABAAAAAABDAAABABAAAAAAAAADCQkJCQEJAwcHAQEWAwkEAwMsAQMDAwMHAwkCGAkCCQYCBQwABQQCDAEBAAwCAQkECQEAAQkEAQUEAAEHDkRGSAADAQEFBQUQAQkEAgICAwQEBgYGCQEBAQECDAEBAAEBAQEBAQEBAQQAAAQGAAUTBAQKCgICCQITBgABAQEBAAUAAgEFAAAAAAAXBQIFAQEBAQEKAQEBAQEBAQACAgIBAAEBAgUBAQQFAQEBAQQEBQQEBAUBAgUEBAABAAIDCQAEAwECAAUCAgQDBwQMAQEBAQUFAQEFAQEBAQEKAQEMAQEBAQAAAAEAAAEBAAEMAQEAAQEBAQEBAQEBAQoBAQEBAQEBAQoFAQEFAQEAAQEEBAIBAQQBCQkBAgICBQQDAgABAQEBBQEBAQECAQEBBgYBAQEBAQEBAQEBAQAAAAEAAQAABAAAAAAEBAAAAAEBAQEBAQEAAAAAAAAAAQEBAAAAAAAAAAAAAAEBAQEMBAEBAQEBAQEBAQEBAQEBAQEAAAEBAQEBAQABBAEBAQAAAAAAAAAAAAABAQEAAQEBAQEGAAECAQEAAQEBBwMBAQABAAABAAQBBAIBCgoKCgoKCgoKCgoKAAoBAQABAQEBDwoCBQEBAQEBAQEBAQEBDAwAAAEBAQEAAAABAQIBAQEAAAAABQECAgICAgUKAwEABAQDBwIMAgUZAAEBFwENAQEBAQEBAQEFAQQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAACAAAAAAAAAAABAQAAAQAAAQIBAQABAAABAQEBAQEBAQEBAAACAAAAAAAAAAAAAAAAAAAAAAABAQICAgICAgICAQQAABIDAAICAgQCAgICEgACAQAEAgICAAIEAQEBAQIBAQEBAQEBAQEAAQUBAQEBAQEBAQEBAQIBAQEBAQECAgICBgICAgIFBQEBAQEBAQEBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQABAQEBAQABAQEBAQAAAAAAAAABAQEBAQEBAQEAAAABAQEBAQEBAQAAAAEBAQEBAQEBAQEAAAAAAQEBAAAAAQEBAQAAAQEBAQEAAAEBAQEBAQABAQEBAQEBAQEEAwEDAAAAAAAEAAAAAAAAAAAAAAAAAAABAQEBAQEBAQIBAgUFBQMFAgcBAAEBAQECBQEAAQMBBgEBAQEBAQEBAQEeAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEJAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQEBAQEBAQEBAQEBAQEaAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEB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QShBCBCrICIDIAU2AgggAyAENgIEIAMgDjYCACADIAIpA4AGNwIMIANBFGogAkGIBmopAwA3AgAgA0EcaiACQZAGaikDADcCACADQSRqIAJBmAZqKAIANgIAIAJB2AZqEM8XIAEoApwDIQQgAigC9AIhBiAuIAJB2AVqQSgQ+wYaIAJBgAdqIAJB6ARqKQMANwMAIAJB+AZqIAJB4ARqKQMANwMAIA8gFykDADcDACAmICUpAgA3AgAgJkEIaiAlQQhqKQIANwIAICZBEGogJUEQaikCADcCACACIAIpA9AENwPoBkHwAEEIEKsgIg4gAkHoBmpB4AAQ+wYiBSADNgJoIAUgBiAEIAQgBkkbNgJkIAUgBiAEIAQgBksbNgJgEO4mIAIoArwFEN0oIC0Q+yYMBQsgAkHQBGoQnxYMBgsgAkHoBmoQhyULAkACQAJAIAcQyg0iBgRAIAYoAgBBCUYNAQsgDyAHEJEQIAJBEGogBxCFFCACQfDl3wA2AuwGIAJBNDoA6AYgAigCECACKAIUIAJB6AZqEIEVIQQgBxDKDSIDRQ0BIAMoAgBBJEcNASABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDRIgASABKALMAhD/CwwBCyANIAwpAgA3AgAgASgCyAIhBiABQSU2AsgCIAEgASkD4AI3A5gDIA1BCGoiECAMQQhqIhIpAgA3AgAgDUEQaiIYIAxBEGoiKigCADYCACACIAY2AugGIAJB6AZqEMYKIAJBADoA2wcgAkEBOgDdByACIAItAI8IOgDPByACIAItAMwFOgDQByACIAEtALACOgDOByACIAEtAL4COgDcByACIAEtAMYCOgDkByACIAEoAaoCNgDIByACIAEvAa4COwDMByACIAEpALMCNwDRByACIAEvALsCOwDZByACIAEoAsACNgDeByACIAEvAcQCOwDiByALQRVqIAQpAAA3AAAgC0EQaiADKQEANwEAIAtBCGogBSkBADcBACALIBMpAQA3AQAgByACQcgHahDSCCACIAE2AugGIAJBuAZqIAEQswEgAigCvAYhBiACKAK4BiIrQYCAgIB4RwRAAkAgAigCwAYiCUUNAEEAIQUgBiEDIAkhBANAIAMQ9BUgBWohBSADQUBrIQMgBEEBayIEDQALIAVFDQAgAigC5AMhBCACKALgAyED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EhDHCiACQQA6AOsFIAJBAToA7QUgAiACLQDYBjoA3wUgAiACLQCQBDoA4AUgAiABLQCIAzoA3gUgAiABLQCWAzoA7AUgAiABLQCeAzoA9AUgAiABKAGCAzYA2AUgAiABLwGGAzsA3AUgAiABKQCLAzcA4QUgAiABLwCTAzsA6QUgAiABKAKYAzYA7gUgAiABLwGcAzsA8gUgC0EVaiADKQAANwAAIAtBEGogECkBADcBACALQQhqIBYpAQA3AQAgCyATKQEANwEAIBcgAkHYBWoQyQggAiABNgLoBiACQagDaiABELQBIAIoAqwDIQMgAigCqAMiBEGAgICAeEcEQCACIAIoArADIhA2AsAGIAIgAzYCvAYgAiAENgK4BiASEKMmAkACQCAHEOMNIgQEQCAEKAIAQQpGDQELIA8gBxCWCyACQfgBaiAHELgUIAJByOXfADYC7AYgAkE0OgDoBiACKAL4ASACKAL8ASACQegGahCBFSEEIAcQ4w0iA0UNASADKAIAQSRHDQEgASABKQNANwN4IAEoAiggAUElNgIoQSRHDREgASABKAIsEIYMDAELIA0gDCkCADcCACABKAIoIQQgAUElNgIoIAEgASkDQDcDeCAFIAgpAgA3AgAgCSARKAIANgIAIAIgBDYC6AYgAkHoBmoQxwpBACEEAkAgAS0A+AJBAkcNACAHEOMNIgVFDQAgBSgCAEETRw0AIAJBgAJqIAFBoODfABDzASACKAKEAiEEIAIoAoACDQELIAIgBDYCgAYgAkHoBmogASACLQDYBiACLQCQBCADIBAQxRkQqwMgAigC7AYhCCACKALoBiIWQYGAgIB4RwRAIB0gHykCADcDACACIA8pAgA3A6gDIAEtAPgCQQJHIBZBgICAgHhHcg0EIBBBBnQhBQNAIAVFDQUgAygCAEEERgRAIAMoAhAhCSADKAIMIREgAkGpAToA6AYgASARIAkgAkHoBmoQ2BkLIANBQGshAyAFQUBqIQUMAAsACyACQYAGahCRKCAIIQQLIAJBuAZqEPwmDAELIAJB6AZqEKMmIAMhBAsgChDdKAwBCyAVIAIpAugDNwIAIBVBCGogAkHwA2ooAgA2AgAgDyACQcAGaigCADYCACACIAIpArgGNwPoBiABKAJ8IQkgAigCoAYhESACLQCQBCEFIAItANgGIRBByABB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EUkbIS9BASErQgAhZ0IAIWkMBQsgESACKALMCiIDIAMgEUsbIS4gESADIAMgEUkbIS8gAikD0AohZSACKQPICiFmIAIoAsQKIQ0gAkGAA2ogBSkCADcDACACQfYCaiBALQAAOgAAIAIgPykCADcD+AIgAiA+LwAAOwH0AiACKALACiEHIAIoArgDIQMgAi0AzAMhBSACKQP4BhD5GkIAIWlBACErQgAhZwwJCyARIAEoApwDIgMgAyARSxshLiARIAMgAyARSRshL0EBIStCAiFpQgAhZyACKQOIByFlIAIpA4AHIWYgAigC/AYhDSACKAL4BiEHIAwhAyAQIQUMAwsgAikD+AYQ+RoLQgILIWcgDCEDIBAhBSAOIQ0gayFmIGwhZQsgAikDwAoQ+RogZ0ICUQ0MDAQLIAIpA4gHIWUgAikDgAchZiACKAL8BiENIAIoAvgGIQcgAikDwAoQ+RpBAQwBCyACKQPQCiFlIAIpA8gKIWYgAigCxAohDSACKALACiEHQQALIStCACFnC0ICIWkCQCAIEMoNIgVFDQAgBSgCAEECRw0AIAUtAAgNACAFLQAJQQFHDQAgICALKQIANwIAIAEoAsgCIQMgAUElNgLIAiABIAEpA+ACNwOYAyAgQQhqIE8pAgA3AgAgIEEQaiBQKAIANgIAIAIgAzYCoAcgAkGgB2oiAxDGCiADIAEQsAQgAigCqAchAyACKQOgByJpQgJSBEAgAkHgBmogTkEIaikCADcDACACQbYDaiBUQQJqLQAAOgAAIAIgTikCADcD2AYgAiBULwAAOwG0AyACLQC8ByEtDAELIAetIA2tQiCGhCFmIGdQBEAgZhD5GiADIQcMCgsgZiBlEIwrIAMhBwwJCyACQYADaiACQeAGaikDADcDACACQfYCaiACQbYDai0AADoAACACIAIpA9gGNwP4AiACIAIvAbQDOwH0AiARIAEoApwDIgUgBSARSxshLiARIAUgBSARSRshLyAtIQULIFMgAikD+AI3AgAgUiACLwH0AjsAACBTQQhqIAJBgANqKQMANwIAIFJBAmogAkH2AmotAAA6AAAgAiADNgLIByACIGk3A8AHIAIgZTcDuAcgAiBmNwOwByACIA02AqwHIAIgBToA3AcgAiArOgDoByACIC82AuQHIAIgLjYC4AcgUSACKADtAjYAACBR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DQkgCiABIAQgBxDZCCADKAKAAyIFQSpGBEAgBkEBayEGIAIhBQwBCwsgAEEEaiADQYADakEEckE8EPsGGiAAIAU2AgAMGQsgACABIAggBBC3BgwYCyAAIAEgAigCCCACKAIMIAIoAhAgAigCBBDAAgwXCyADIAIoAggiBTYC8AIgAyAFIAIoAgxBHGxqNgL0AiADIAE2AvgCAkAgAS0AC0EBcUUEQCADQfAAaiADQfACahDGGwwBCyADQfAAaiADQfACahDoGgsgAygCcCIFQStHDQELIAAgARDdEQwVCyADKAJ4IQIgAygCdCEEIAVBKkcNAiADQdQBaiEIA0ACQCABLQALQQFxRQRAIANByAFqIANB8AJqEMYbDAELIANByAFqIANB8AJqEOgaCyADKALIASIGQStGBEAgACACNgIIIAAgBDYCBCAAQSo2AgAMFgsgAygC0AEhBSADKALMASEHIAZBKkcNAiADQYADaiABIAIgBxDZCCADKAKAAyICQSpGBEAgBSECDAELCyAAQQRqIANBgANqQQRyQTwQ+wYaIAAgAjYCAAwUCyACKAIIIgUgAigCDCIHQRxsaiEMAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAdFDQAgBSECIAchBgNAIAQgAigCAEEBRmohBCACQRxqIQIgBkEBayIGDQALIARBAkkNACAEIAdPDQELIAMgATYC+AIgAyAMNgL0AiADIAU2AvACIANBgANqIANB8AJqEIUcIAMoAoADIgJBK0YEQCAAIAEQxAwMHwsgAygCiAMhBiADKAKEAyEHIAJBKkcNCiADQYADaiADQfACahCFHCADKAKAAyICQStGBEAgACAGNgIIIAAgBzYCBCAAQSo2AgAMHwsgAygCiAMhCCADKAKEAyEKIAJBKkcNCSADQYADaiICIAEQ+RIgAygChAMhBSADKAKAAyIEQSpHDQggAiABELEXIAMoAoQDIQQgAygCgAMiCUEqRw0HIAIgASAFIAcQ2QggAygCgAMiB0EqRw0GIAIgASAGIAQQ2QggAygCgAMiBkEqRw0FIAIgASAFIAoQ2QggAygCgAMiBkEqRw0EIAIgASAIIAQQ2QggAygCgAMiAkEqRw0DIANB+ABqIANB+AJqKAIANgIAIAMgAykC8AI3A3AgA0HUAWohCANAIANByAFqIANB8ABq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BSADQegCaiADQdgCai0AADoAACADIAMpANACIiY3A+ACQQIhAgJAAkACQAJAAkACQCAmp0H/AXFBAWsOAwIAAQMLQQMhAgwBC0EEIQILIANBKGogAkEBdiIFIBogBUGA9eAAELMeIAMoAiwhByADKAIoIQkgA0EgaiAFIBogAkEBdGogAkEGcSIIayAFQZD14AAQsx4gAygCICAIakECayEEQQAhAiADKAIkIQogByEGIAVBAWsiDiEFA0AgAiAIRg0BIAZFDQIgCiAOSwRAIAIgCWoiCy8AACENIAsgBC8AADsAACAEIA07AAAgBkEBayEGIARBAmshBCAFQQFrIQUgAkECaiECDAELCyAFIApBsPXgABCsEAALIANBGGogA0HgAmoQtyAgASkCrAEhJiADKAIcIQIgAygCGCEFIAFCgICAgMAANwKsASABQQA2ArQBIANBADYCyAMgAyAmNwPAAyADQYADaiIEQQEgBSACEMcNIANBwANqIAQQ6hUCQAJAA0AgAygCyAMiAkUNBCADIAJBAWsiAjYCyAMgA0H4AGogAygCxAMgAkEEdGoiAkEIaikCACImNwMAIAMgAikCADcDcCADLQB8IgJBBEsNAiACRQ0BIAJBAWshEiADLQBxIQUgAy0AcCEKIBAgJqciExD5HSICKAIEIQdBACELIAIoAggiBiECAkADQCACIAtNDQEgBiACIAtqQQF2IgRLBEAgBEEBaiALIAcgBEEDdGotAAUgCkH/AXFJIggbIQsgAiAEIAgbIQIMAQsLIAQgBkHsr8MAEKwQAAsgECATEPkdKAIIIAtGBEAgECADQcADaiAUIBIQ4RghAiAWKAIAIBUoAgAgEyAKIAUgAhDEEgwBCwNAIBAgExD5HSICKAIEIAIoAgggC0G8rsMAELofIgctAAUhCAJAIAVB/wFxIgYgBy0ABCIETwRAIApB/wFxIgIgCE0NAQsgECADQcADaiAUIBIQ4RghAiAWKAIAIBUoAgAgCyATIAogBSACEOwMDAELIAcoAgAhDgJAAkACQAJ/AkACQAJAAkACQAJAAkACfwJAIAIgBEcNACAGIAhHBEAgBiAITQ0BIAhBAWpB/wFxQQh0IAVBEHRyQQFyIQ0gCEEIdCACcgwCCyAFQQh0IAJyIQJBAiEEQQAhBUEBIQZBASERQQAhB0EAIQlBACENDAwLAkAgBiAIRiIHIAIgBE8iCUVxRQRAIAYgCEkiFyINIAIgBEZxDQEgAiAETSIRQQEgBxtFDQMgBiAISyIHIAlFcQ0EIBFBASANG0UNBSAEIAZPIglFIAIgCEZxDQYgAiAISSINIAQgBkZxDQcgByANcQ0IIBcgCUVxDQlB5ezgAEEoQeSwwwAQ9BcAC0ECIREgBEEIdCIEIAVBEHRyQQJyIQ0gAiAEckGAAmshAkEBIQRBACEGQQAhBUEAIQdBACEJDAwLIAhBEHQgBUEBakH/AXFBCHRyIQ0gBUEIdCACcgshAkECIRFBACEGQQAhBUEAIQdBACEJQQIhBAwKC0ECIREgBUEQdCACQQh0ckECciENIApBCHQgBHJBgAJrIQJBACEGQQAhBUEAIQcMCAsgBEEIdCIEIAhBEHRyQQJyIQ0gAiAEckGAAmshAkEBIQkgCEEBaiEHQQMhEUEAIQZBASEEDAgLIAJBCHQgBUEQdHJBAnIhDSAFQQFqIQcgCkEIdCAEckGAAmshAkEAIQZBAyERIAghBQwGC0EBIQkgCkEBaiEHIAJBgIIEbEECciENDAQLQQEhBCAFQQFqIQcgBkGAggRsQQJyIQ0gBUEIdCACckGAAmsMAgsgCEEQdCACQQh0ckECciENQQEhCSAIQQFqIQcMAgsgBEEIdCIGIAVBEHRyQQJyIQ1BASEEIAVBAWohByACIAZyQYACawshAkEAIQZBAyERIAghBUEAIQkMAgsgCkEIdCAEckGAAmshAkEAIQZBAyERQQAhBAwBC0EAIQlBACEECyAfIAU6AAAgICACQQh2OgAAIAMgDTsAzwEgISANQRB2OgAAIAMgETYCyAEgAyAHQQh0IAlyOwHSASADIAJBCHQgBHI7AcwBIAYEQCASRQ0CIANBgANqIgIgDiAUIBIQxw0gA0HAA2ogAhDqFQwCCyAPIBFBA2xqISNBACEHQQEhCCAPIQYDQCAGICNGDQIgB0EBaiEHIAYtAAIhBSAGLQABIQoCQAJAAkACQAJAAkACQAJAIAYtAABBAWsOAgECAAsgDkUEQEEAIQQMBwsgAUEANgKoASABKQKgASEmIAFCgICAgMAANwKgASADQQA2AtgDIAMgJjcD0AMgA0HQA2ogDiAQEMILIgQQ4BgDQCADKALYAyICRQ0FIAMgAkEBayICNgLYAyADKALUAyACQQN0aiICKAIEIQkgECACKAIAIiQQ+R0oAgghJUEAIQIDQCACICVGDQEgECAkEPkdIg0oAgQgDSgCCCACQayvwwAQuh8iDS0ABSEbIA0tAAQhHAJAIA0oAgAiFwRAIBAQwgshDSAWKAIAIBUoAgAgCSAcIBsgDRDEEiADQdADaiAXIA0Q4BgMAQsgFigCACAVKAIAIAkgHCAbQQAQxBILIAJBAWohAgwACwALAAsgECATEPkdIQIgByARRw0EIAsgAigCCCIESQ0BDAQLIA4hBCASDQEMBAsgAigCBCAEIAtBzK7DABC6HyICLQAEIAVB/wFxSw0CIAItAAUgCkH/AXFPDQUMAgsgA0GAA2oiAiAOIBQgEhDHDSADQcADaiACEOoVDAILIAEoAqABICIoAgAQ5SkgGEEIaiADQdgDaigCADYCACAYIAMpA9ADNwIADAELIBAgA0HAA2ogFCASEOEYIQQLIBUoAgAhAiAWKAIAIQkCQAJAIAhFBEAgCSACIAsgEyAKIAUgBBDsDAwBCyAJIAIgExDPHyICKAIIIgggC00NASACKAIEIAtBA3RqIgIgBToABSACIAo6AAQgAiAENgIAQQAhCAsgBkEDaiEGIAtBAWohCwwBCwsLCyALIAhBvK/DABCsEAALQdi6wwBBJEHcrsMAEPQXAAsgAkEEQdSwwwAQrhAAC0EBIAdBoPXgABCsEAALIAEoAqwBIB4oAgAQ7SkgGUEIaiADQcgDaigCADYCACAZIAMpA8ADNwIADAELAAsACwsgAEEQaiADQZADakEwEPsGGiAAQQxqIAIoAgA2AgAgACADKQPIATcCBAwIC0GcrsMAEO8UAAtBjK7DABDvFAALQcC2wwAQ7xQACyADQQA2AogDIANCADcDgAMgA0EAOwGMAyADQcgBaiADQYADaiABKALoARDzByABKALcASABQeABaigCABDtKSAFQQhqIANB0AFqKAIANgIAIAUgAykCyAE3AgAMBQtBkLfDABDvFAALIABBEGogA0GQA2pBMBD7BhogAEEMaiAEKAIANgIAIAAgAykDyAE3AgQgACAGNgIADAQLIANBgANqIAEQsRcgAygChAMhBSADKAKAAyIEQSpGBEAgA0G8AWogAigCECIEEJkSIARBAXQhBCAFrSEmIAIoAgwhAgNAIAQEQCADQbwB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OBCOBAJAIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQELIANBKGogASAELQBIEI8IIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQELAkAgBC0AREUNACADQQA2AiggA0E4aiABIANBKGpBnsXgAEEGELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQILIANBKGogARDQESADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0BCwJAIAQtAEVFDQAgA0EANgIoIANBOGogASADQShqQYq34ABBCBCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCyADQShqIAEQ0BEgAy0AKEEERg0AIAMpAygiFUL/AYNCBFINAQsCQCAELQBGRQ0AIANBADYCKCADQThqIAEgA0EoakHcxOAAQQgQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAgsgA0EoaiABENARIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQELIANBADYCQCADQShqIAEgA0FAa0Gau+AAQQgQshMgAy0AKEEERwRAIAMpAygiFUL/AYNCBFINAQsgA0EoaiABENARIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQELAkACQCAEQQhqIgIoAgBBBUYEQCADQShqIARBEGogARCnByADLQAoQQRGDQIgAykDKCIVQv8Bg0IEUg0BDAILIANBKGogASACEL8EIAMtAChBBEYNASADKQMoIhVC/wGDQgRRDQELIBVC/wGDQgRSDQELAkAgBCgCQEUNAAJAIAQtAEdFDQAgA0EoaiABIANBQGtBh7DgAEEBELITIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQILIANBKGogASADQUBrQeS14ABBARCyEyADLQAoQQRHBEAgAykDKCIVQv8Bg0IEUg0CCyADQShqIAEQ0BEgAy0AKEEERwRAIAMpAygiFUL/AYNCBFINAgsgA0EoaiAEQUBrIAEQ3g0gAy0AKEEERg0AIAMpAygiFUL/AYNCBFINAQsCQCAEKAI8RQ0AAkAgAS0ATQ0AIANBKGogARDQESADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0CCyADQShqIAEgA0FAa0GZsOAAQQEQshMgAy0AKEEERwRAIAMpAygiFUL/AYNCBFINAgsCQCABLQBNDQAgA0EoaiABENARIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQILIANBKGogBEE8aiABEMIqIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQELIANBKGogASADQUBrELMTIAMtAChBBEYNDSADKQMoIhVC/wGDQgRRDQ0LIBVC/wGDQgRRDQwMCwsgBCgCICECIANBQGsgASAEKAIcIgVBABDVAQJAIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQELAkAgBUUNACADQUBrIAEgBRDUHCADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyADQQA2AkAgA0EoaiABIANBQGtBnsXgAEEGELITIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQELIANBQGsgASAEQQRqEPgTIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQELIAJFDQwgA0FAayABIAIQ1BwgAy0AQEEERg0MIAMpA0AiFUL/AYNCBFENDAsgFUL/AYNCBFINCgwLCyADQUBrIAQoAgQgARD/DCADLQBAQQRGDQogAykDQCIVQv8Bg0IEUg0JDAoLIANBQGsgASAEQQRqELQEIAMtAEBBBEYNCSADKQNAIhVC/wGDQgRSDQgMCQsgBCgCHCECIANBQGsgASAEKAIYIgVBABDVAQJAIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQELAkAgBUUNACADQUBrIAEgBRDUHCADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyADQUBrIAEgBSACIAQoAjAgBCgCNBCOBCADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0BCyADQUBrIAEgBC0AOBCPCCADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0BCwJAIAQtADlFDQAgA0EANgJAIANBOGogASADQUBrQZ7F4ABBBhCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCyADQUBrIAEQ0BEgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsCQCAELQA7RQ0AIANBADYCQCADQThqIAEgA0FAa0HcxOAAQQgQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAgsgA0FAayABENARIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQELAkAgBC0APEUNACADQQA2AkAgA0E4aiABIANBQGtB8rXgAEEIELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQILIANBQGsgARDQESADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyADQUBrIARBCGogARCnByADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0BCwJAIAQtADpFDQAgA0EANgJAIANBOGogASADQUBrQeO14ABBARCyEyADLQA4QQRGDQAgAykDOCIVQv8Bg0IEUg0BCwJAIAQoAihFDQACQCAELQA9RQ0AIANBADYCQCADQThqIAEgA0FAa0GHsOAAQQEQshMgAy0AOEEERg0AIAMpAzgiFUL/AYNCBFINAgsgA0EANgJAIANBOGogASADQUBrQeS14ABBARCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCyADQUBrIAEQ0BEgAy0AQEEERwRAIAMpA0AiFUL/AYNCBFINAgsgA0FAayAEQShqIAEQ3g0gAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsCQCAEKAIkIgZFDQACQCABLQBNDQAgA0FAayABENARIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQILIANBADYCKCADQUBrIAEgA0EoakGZsOAAQQEQshMgAy0AQEEERwRAIAMpA0AiFUL/AYNCBFINAgsCQCABLQBNDQAgA0FAayABENARIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQILIARBJGohBSAGKAIAQRlHBEAgA0FAayAFIAEQwiogAy0AQEEERg0BIAMpA0AiFUL/AYNCBFINAgwBCyADQUBrIAEgA0EoakGfteAAQQEQshMgAy0AQEEERwRAIAMpA0AiFUL/AYNCBFINAgsgA0FAayAFIAEQwiogAy0AQEEERwRAIAMpA0AiFUL/AYNCBFINAgsgA0FAayABIANBKGpB4KHjAEEBELITIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQELIANBADYCQCADQThqIAEgA0FAaxCzEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0BCyACRQ0JIANBQGsgASACENQcIAMtAEBBBEYNCSADKQNAIhVC/wGDQgRRDQkLIBVC/wGDQgRSDQcMCAsgBCgCLCEFIANBQGsgASAEKAIoIgJBABDVAQJAIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQELAkAgAkUNACADQUBrIAEgAhDUHCADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyAEQQhqIQcgBCgCOEEMbCEGIAQoAjQhAgJAA0ACQCAGRQRAIAQtAEkNAQwDCyADQUBrIAEgAhDDBiADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0ECyACQQxqIQIgBkEMayEGDAELCyADQQA2AkAgA0E4aiABIANBQGtBpLXgAEEHELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQILIANBQGsgARDQESADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyADQUBrIAEgBC0ASxCPCCADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0BCwJAIAQtAERFDQAgA0EANgJAIANBOGogASADQUBrQZ7F4ABBBhCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCyADQUBrIAEQ0BEgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsCQCAELQBFRQ0AIANBADYCQCADQThqIAEgA0FAa0GKt+AAQQgQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAgsgA0FAayABENARIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQELAkAgBC0AR0UNACADQQA2AkAgA0E4aiABIANBQGtB3MTgAEEIELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQILIANBQGsgARDQESADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCwJAIAQtAEhFDQAgA0EANgJAIANBOGogASADQUBrQfK14ABBCBCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCyADQUBrIAEQ0BEgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsgA0FAayABIAcQvwQgAy0AQEEERwRAIAMpA0AiFUL/AYNCBFINAQsCQCAELQBGRQ0AIANBADYCQCADQThqIAEgA0FAa0HjteAAQQEQshMgAy0AOEEERg0AIAMpAzgiFUL/AYNCBFINAQsCQCAEKAJARQ0AAkAgBC0ASkUNACADQQA2AkAgA0E4aiABIANBQGtBh7DgAEEBELITIAMtADhBBEYNACADKQM4IhVC/wGDQgRSDQILIANBADYCQCADQThqIAEgA0FAa0HkteAAQQEQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAgsgA0FAayABENARIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQILIANBQGsgBEFAayABEN4NIAMtAEBBBEYNACADKQNAIhVC/wGDQgRSDQELAkAgBCgCPCIGRQ0AAkAgAS0ATQ0AIANBQGsgARDQESADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0CCyADQQA2AiggA0FAayABIANBKGpBmbDgAEEBELITIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQILAkAgAS0ATQ0AIANBQGsgARDQESADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0CCyAEQTxqIQIgBigCAEEZRwRAIANBQGsgAiABEMIqIAMtAEBBBEYNASADKQNAIhVC/wGDQgRSDQIMAQsgA0FAayABIANBKGpBn7XgAEEBELITIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQILIANBQGsgAiABEMIqIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQILIANBQGsgASADQShqQeCh4wBBARCyEyADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCyADQQA2AkAgA0E4aiABIANBQGsQsxMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAQsgBUUNCCADQUBrIAEgBRDUHCADLQBAQQRGDQggAykDQCIVQv8Bg0IEUQ0ICyAVQv8Bg0IEUg0GDAcLIANBQGsgASAEKAIYIgJBABDVAQJAIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQELAkAgAkUNACADQUBrIAEgAhDUHCADLQBAQQRGDQAgAykDQCIVQv8Bg0IEUg0BCwJAIAQtACZFDQAgA0EANgJAIANBKGogASADQUBrQZ7F4ABBBhCyEyADLQAoQQRHBEAgAykDKCIVQv8Bg0IEUg0CCyADQUBrIAEQ0BEgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsgBEEIaiECAkACQAJAAkAgBC0AJUEBaw4CAAECCyADQQA2AkAgA0EoaiABIANBQGtBmMXgAEEDELITIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQQLIANBQGsgARDQESADLQBAQQRHBEAgAykDQCIVQv8Bg0IEUg0ECyADQUBrIAIgARCnByADLQBAQQRGDQIgAykDQCIVQv8Bg0IEUQ0CDAMLIANBADYCQCADQShqIAEgA0FAa0GbxeAAQQMQshMgAy0AKEEERwRAIAMpAygiFUL/AYNCBFINAwsgA0FAayABENARIAMtAEBBBEcEQCADKQNAIhVC/wGDQgRSDQMLIANBQGsgAiABEKcHIAMtAEBBBEYNASADKQNAIhVC/wGDQgRRDQEMAgsCQCAEKAIgIgUtAEVFDQAgA0EANgJAIANBKGogASADQUBrQby54ABBBRCyEyADLQAoQQRHBEAgAykDKCIVQv8Bg0IEUg0DCyADQUBrIAEQ0BEgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAgsCQCAFLQBERQ0AIANBADYCQCADQShqIAEgA0FAa0HXsOAAQQEQshMgAy0AKEEERg0AIAMpAygiFUL/AYNCBFINAgsgA0FAayACIAEQpwcgAy0AQEEERg0AIAMpA0AiFUL/AYNCBFINAQsgA0FAayABIAQoAiAQ+wMgAy0AQEEERg0HIAMpA0AiFUL/AYNCBFENBwsgFUL/AYNCBFINBQwGCyADQShqIAEgBCgCKCICQQAQ1QECQCADLQAoQQRHBEAgAykDKCIVQv8Bg0IEUg0BCyADQRBqIARBCGoiBxDVHCADQShqIAEgAygCEEEAENUBIAMtAChBBEcEQCADKQMoIhVC/wGDQgRSDQELAkAgAkUNACADQShqIAEgAhDUHCADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0BCyAEKAIwIgUoAhRBDGwhBiAFKAIQIQICQANAAkAgBkUEQCADQShqIAEgBC0AORCPCCADLQAoQQRHBEAgAykDKCIVQv8Bg0IEUg0FCyAELQA0DQEMAwsgA0EoaiABIAIQwwYgAy0AKEEERwRAIAMpAygiFUL/AYNCBFINBAsgAkEMaiECIAZBDGshBgwBCwsgA0EANgIoIANBOGogASADQShqQZ7F4ABBBhCyEyADLQA4QQRHBEAgAykDOCIVQv8Bg0IEUg0CCwJAIAQtADgNACAFLQBFDQAgBS0AREUEQEEBIAcoAgB0QRVxDQELIAEtAE0NASADQShqIAEQ0BEgAy0AKEEERg0BIAMpAygiFUL/AYNCBFENAQwCCyADQShqIAEQ0BEgAy0AKEEERg0AIAMpAygiFUL/AYNCBFINAQsCQCAELQA1RQ0AIANBADYCKCADQThqIAEgA0EoakGKt+AAQQgQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINAgsgA0EoaiABENARIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQELAkAgBC0AN0UNACADQQA2AiggA0E4aiABIANBKGpB3MTgAEEIELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQILIANBKGogARDQESADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0BCwJAAkACQAJAAkACQAJAAkACQCAELQA4QQFrDgIAAQILIANBADYCKCADQThqIAEgA0EoakGYxeAAQQMQshMgAy0AOEEERwRAIAMpAzgiFUL/AYNCBFINCQtBASAHKAIAdEEVcQ0CIAEtAE0NAyADQShqIAEQ0BEgAy0AKEEERg0DIAMpAygiFUL/AYNCBFENAwwICyADQQA2AiggA0E4aiABIANBKGpBm8XgAEEDELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQgLQQEgBygCAHRBFXENAyABLQBNDQQgA0EoaiABENARIAMtAChBBEYNBCADKQMoIhVC/wGDQgRRDQQMBwsgBS0ARUUNBCADQQA2AiggA0E4aiABIANBKGpBvLngAEEFELITIAMtADhBBEcEQCADKQM4IhVC/wGDQgRSDQcLIANBKGogARDQESADLQAoQQRGDQQgAykDKCIVQv8Bg0IEUQ0EDAYLIANBKGogARDQESADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0FCyADQShqIAEgBxC/BCADLQAoQQRGDQMgAykDKCIVQv8Bg0IEUQ0DDAQLIANBKGogARDQESADLQAoQQRGDQAgAykDKCIVQv8Bg0IEUg0DCyADQShqIAEgBxC/BCADLQAoQQRGDQEgAykDKCIVQv8Bg0IEUg0CDAELAkAgBS0AREUNACADQQA2AiggA0E4aiABIANBKGpB17DgAEEBELITIAMtADhBBEYNACADKQM4IhVC/wGDQgRSDQILIANBKGogASAHEL8EIAMtAChBBEYNACADKQMoIhVC/wGDQgRSDQELAkAgBC0ANkUNACADQQA2AiggA0E4aiABIANBKGpB47XgAEEBELIT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AiABKAIAIQMgBEGUA2ohASAEQawBaiEFAkADQAJAIARBqAFqIAMQlQwgBCgCqAEiAkEQRg0AIAEgBSkCADcCACABQRBqIAVBEGopAgA3AgAgAUEIaiIGIAVBCGopAgA3AgAgBCACNgKQAwJAAkACQAJAAkACQAJAAkACQAJAIAJBB2tBACACQQhPG0EBaw4IAAECAwQFBgcICyAEQYADaiAGKAIANgIAIAQgASkCADcD+AIgBEHIAmogBEH4AmoQ3BAMCAsgBEEBNgKsASAEQYTKxAA2AqgBIARCADcCtAEgBCAEQdAAajYCsAEgBEGoAWpBjMrEABDDHQALIARBATYCrAEgBEHsysQANgKoASAEQgA3ArQBIAQgBEHQAGo2ArABIARBqAFqQfTKxAAQwx0ACyAEQQE2AqwBIARB1MvEADYCqAEgBEIANwK0ASAEIARB0ABqNgKwASAEQagBakHcy8QAEMMdAAsgBEEBNgKsASAEQbjMxAA2AqgBIARCADcCtAEgBCAEQdAAajYCsAEgBEGoAWpBwMzEABDDHQALIARBATYCrAEgBEGkzcQANgKoASAEQgA3ArQBIAQgBEHQAGo2ArABIARBqAFqQazNxAAQwx0ACyAEQQg2AsgCDAILIARBATYCrAEgBEGUzsQANgKoASAEQgA3ArQBIAQgBEHQAGo2ArABIARBqAFqQZzOxAAQwx0ACyAEQeACaiAEQagDaigCADYCACAEQdgCaiAEQaADaikCADcDACAEQdACaiAEQZgDaikCADcDACAEIAQpApADNwPIAgsgAkEJTwRAIARBkANqEPwUCyAEKALIAkEIRg0CIARBqAFqIAMQlQwgBCgCqAFBEEYNDSAEQagDaiAEQcABaigCADYCACAEQaADaiAEQbgBaikCADcDACAEQZgDaiAEQbABaikCADcDACAEIAQpAqgBIhY3A5ADIBanQQ9HDQ4gBEGQA2oQ/BQgBEG8AmogBEHIAmoQuhAMAQsLIARBCDYCyAILIARByAJqEOYkIAQoAsACIAQoAsQCEKkIIARBqAFqIgEgBEG8AmoQWSADIAEQoRgMEwsgBEEANgKcAiAEQoCAgIDAADcClAIgASgCACEFIARBlANqIQEgBEGsAWohAwNAIARBqAFqIAUQlQwCQAJAIAQoAqgBIgJBEEcEQCABIAMpAgA3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QdgmahD9GQsgCC0AAQRAQQAgBigCABCKBCENQd2f2gBBFBDcGiFCIANB+MjfAEEBENwaNwNYIANCADcDYCADQeAmaiIEIANB2ABqEKUcIANBQGsiDCAEKQMANwMAIANByABqIg8gA0HoJmopAwA3AwAgA0HQAGoiByADQfAmaikDADcDACADQgA3AzhB8Z/aAEEjENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpAzg3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQACBEBBACAGKAIAEIoEIQ1BlKDaAEERENwaIUIgA0H4yN8AQQEQ3Bo3A4gBIANCADcDkAEgA0HgJmoiBCADQYgBahClHCADQfAAaiIMIAQpAwA3AwAgA0H4AGoiDyADQegmaikDADcDACADQYABaiIHIANB8CZqKQMANwMAIANCADcDaEGloNoAQSAQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDaDcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAAMEQEEAIAYoAgAQigQhDUHFoNoAQRQQ3BohQiADQfjI3wBBARDcGjcDuAEgA0IANwPAASADQeAmaiIEIANBuAFqEKUcIANBoAFqIgwgBCkDADcDACADQagBaiIPIANB6CZqKQMANwMAIANBsAFqIgcgA0HwJmopAwA3AwAgA0IANwOYAUHZoNoAQSMQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDmAE3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAEBEBBACAGKAIAEIoEIQ1B/KDaAEEYENwaIUIgA0H4yN8AQQEQ3Bo3A+gBIANCADcD8AEgA0HgJmoiBCADQegBahClHCADQdABaiIMIAQpAwA3AwAgA0HYAWoiDyADQegmaikDADcDACADQeABaiIHIANB8CZqKQMANwMAIANCADcDyAFBlKHaAEEnENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA8gBNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ABQRAQQAgBigCABCKBCENQbuh2gBBEBDcGiFCIANB+MjfAEEBENwaNwOYAiADQgA3A6ACIANB4CZqIgQgA0GYAmoQpRwgA0GAAmoiDCAEKQMANwMAIANBiAJqIg8gA0HoJmopAwA3AwAgA0GQAmoiByADQfAmaikDADcDACADQgA3A/gBQcuh2gBBHxDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQP4ATcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAAYEQEEAIAYoAgAQigQhDUHqodoAQRkQ3BohQiADQfjI3wBBARDcGjcDyAIgA0IANwPQAiADQeAmaiIEIANByAJqEKUcIANBsAJqIgwgBCkDADcDACADQbgCaiIPIANB6CZqKQMANwMAIANBwAJqIgcgA0HwJmopAwA3AwAgA0IANwOoAkGDotoAQSgQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDqAI3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAHBEBBACAGKAIAEIoEIQ1Bq6LaAEEPENwaIUIgA0H4yN8AQQEQ3Bo3A/gCIANCADcDgAMgA0HgJmoiBCADQfgCahClHCADQeACaiIMIAQpAwA3AwAgA0HoAmoiDyADQegmaikDADcDACADQfACaiIHIANB8CZqKQMANwMAIANCADcD2AJBuqLaAEEeENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA9gCNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ACARAQQAgBigCABCKBCENQdii2gBBExDcGiFCIANB+MjfAEEBENwaNwOoAyADQgA3A7ADIANB4CZqIgQgA0GoA2oQpRwgA0GQA2oiDCAEKQMANwMAIANBmANqIg8gA0HoJmopAwA3AwAgA0GgA2oiByADQfAmaikDADcDACADQgA3A4gDQeui2gBBIhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOIAzcDACAEQUBrQQA6AAAgA0EBNgLk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AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ADgRAQQAgBigCABCKBCENQbCl2gBBGxDcGiFCIANB+MjfAEEBENwaNwPIBSADQgA3A9AFIANB4CZqIgQgA0HIBWoQpRwgA0GwBWoiDCAEKQMANwMAIANBuAVqIg8gA0HoJmopAwA3AwAgA0HABWoiByADQfAmaikDADcDACADQgA3A6gFQcul2gBBKhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOoBTcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAA8EQEEAIAYoAgAQigQhDUH1pdoAQRsQ3BohQiADQfjI3wBBARDcGjcD+AUgA0IANwOABiADQeAmaiIEIANB+AVqEKUcIANB4AVqIgwgBCkDADcDACADQegFaiIPIANB6CZqKQMANwMAIANB8AVqIgcgA0HwJmopAwA3AwAgA0IANwPYBUGQptoAQSoQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD2AU3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAQBEBBACAGKAIAEIoEIQ1BuqbaAEEeENwaIUIgA0H4yN8AQQEQ3Bo3A6gGIANCADcDsAYgA0HgJmoiBCADQagGahClHCADQZAGaiIMIAQpAwA3AwAgA0GYBmoiDyADQegmaikDADcDACADQaAGaiIHIANB8CZqKQMANwMAIANCADcDiAZB2KbaAEEtENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA4gGNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AEQRAQQAgBigCABCKBCENQYWn2gBBERDcGiFCIANB+MjfAEEBENwaNwPYBiADQgA3A+AGIANB4CZqIgQgA0HYBmoQpRwgA0HABmoiDCAEKQMANwMAIANByAZqIg8gA0HoJmopAwA3AwAgA0HQBmoiByADQfAmaikDADcDACADQgA3A7gGQZan2gBBIBDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQO4BjcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtABIEQEEAIAYoAgAQigQhDUG2p9oAQSwQ3BohQiADQfjI3wBBARDcGjcDiAcgA0IANwOQByADQeAmaiIEIANBiAdqEKUcIANB8AZqIgwgBCkDADcDACADQfgGaiIPIANB6CZqKQMANwMAIANBgAdqIgcgA0HwJmopAwA3AwAgA0IANwPoBkHip9oAQTsQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD6AY3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQATBEBBACAGKAIAEIoEIQ1BnajaAEEfENwaIUIgA0H4yN8AQQEQ3Bo3A7gHIANCADcDwAcgA0HgJmoiBCADQbgHahClHCADQaAHaiIMIAQpAwA3AwAgA0GoB2oiDyADQegmaikDADcDACADQbAHaiIHIANB8CZqKQMANwMAIANCADcDmAdBvKjaAEEuENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA5gHNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AFARAQQAgBigCABCKBCENQeqo2gBBFRDcGiFCIANB+MjfAEEBENwaNwPoByADQgA3A/AHIANB4CZqIgQgA0HoB2oQpRwgA0HQB2oiDCAEKQMANwMAIANB2AdqIg8gA0HoJmopAwA3AwAgA0HgB2oiByADQfAmaikDADcDACADQgA3A8gHQf+o2gBBJBDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPIBzcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtABUEQEEAIAYoAgAQigQhDUGjqdoAQRgQ3BohQiADQfjI3wBBARDcGjcDmAggA0IANwOgCCADQeAmaiIEIANBmAhqEKUcIANBgAhqIgwgBCkDADcDACADQYgIaiIPIANB6CZqKQMANwMAIANBkAhqIgcgA0HwJmopAwA3AwAgA0IANwP4B0G7qdoAQScQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD+Ac3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAWBEBBACAGKAIAEIoEIQ1B4qnaAEEZENwaIUIgA0H4yN8AQQEQ3Bo3A8gIIANCADcD0AggA0HgJmoiBCADQcgIahClHCADQbAIaiIMIAQpAwA3AwAgA0G4CGoiDyADQegmaikDADcDACADQcAIaiIHIANB8CZqKQMANwMAIANCADcDqAhB+6naAEEoENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA6gINwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AFwRAQQAgBigCABCKBCENQaOq2gBBHxDcGiFCIANB+MjfAEEBENwaNwP4CCADQgA3A4AJIANB4CZqIgQgA0H4CGoQpRwgA0HgCGoiDCAEKQMANwMAIANB6AhqIg8gA0HoJmopAwA3AwAgA0HwCGoiByADQfAmaikDADcDACADQgA3A9gIQcKq2gBBLhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPYCDcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtABgEQEEAIAYoAgAQigQhDUHwqtoAQR4Q3BohQiADQfjI3wBBARDcGjcDqAkgA0IANwOwCSADQeAmaiIEIANBqAlqEKUcIANBkAlqIgwgBCkDADcDACADQZgJaiIPIANB6CZqKQMANwMAIANBoAlqIgcgA0HwJmopAwA3AwAgA0IANwOICUGOq9oAQS0Q3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDiAk3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAZBEBBACAGKAIAEIoEIQ1Bu6vaAEEYENwaIUIgA0H4yN8AQQEQ3Bo3A9gJIANCADcD4AkgA0HgJmoiBCADQdgJahClHCADQcAJaiIMIAQpAwA3AwAgA0HICWoiDyADQegmaikDADcDACADQdAJaiIHIANB8CZqKQMANwMAIANCADcDuAlB06vaAEEnENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA7gJNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AGgRAQQAgBigCABCKBCENQfqr2gBBGxDcGiFCIANB+MjfAEEBENwaNwOICiADQgA3A5AKIANB4CZqIgQgA0GICmoQpRwgA0HwCWoiDCAEKQMANwMAIANB+AlqIg8gA0HoJmopAwA3AwAgA0GACmoiByADQfAmaikDADcDACADQgA3A+gJQZWs2gBBKhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPoCTcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtABsEQEEAIAYoAgAQigQhDUG/rNoAQRkQ3BohQiADQfjI3wBBARDcGjcDuAogA0IANwPACiADQeAmaiIEIANBuApqEKUcIANBoApqIgwgBCkDADcDACADQagKaiIPIANB6CZqKQMANwMAIANBsApqIgcgA0HwJmopAwA3AwAgA0IANwOYCkHYrNoAQSgQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDmAo3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAcBEBBACAGKAIAEIoEIQ1BgK3aAEEaENwaIUIgA0H4yN8AQQEQ3Bo3A+gKIANCADcD8AogA0HgJmoiBCADQegKahClHCADQdAKaiIMIAQpAwA3AwAgA0HYCmoiDyADQegmaikDADcDACADQeAKaiIHIANB8CZqKQMANwMAIANCADcDyApBmq3aAEEpENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA8gKNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AHQRAQQAgBigCABCKBCENQcOt2gBBGRDcGiFCIANB+MjfAEEBENwaNwOYCyADQgA3A6ALIANB4CZqIgQgA0GYC2oQpRwgA0GAC2oiDCAEKQMANwMAIANBiAtqIg8gA0HoJmopAwA3AwAgA0GQC2oiByADQfAmaikDADcDACADQgA3A/gKQdyt2gBBKBDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQP4CjcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAB4EQEEAIAYoAgAQigQhDUGErtoAQSQQ3BohQiADQfjI3wBBARDcGjcDyAsgA0IANwPQCyADQeAmaiIEIANByAtqEKUcIANBsAtqIgwgBCkDADcDACADQbgLaiIPIANB6CZqKQMANwMAIANBwAtqIgcgA0HwJmopAwA3AwAgA0IANwOoC0GortoAQTMQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDqAs3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAfBEBBACAGKAIAEIoEIQ1B267aAEEkENwaIUIgA0H4yN8AQQEQ3Bo3A/gLIANCADcDgAwgA0HgJmoiBCADQfgLahClHCADQeALaiIMIAQpAwA3AwAgA0HoC2oiDyADQegmaikDADcDACADQfALaiIHIANB8CZqKQMANwMAIANCADcD2AtB/67aAEEzENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA9gLNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AIARAQQAgBigCABCKBCENQbKv2gBBIhDcGiFCIANB+MjfAEEBENwaNwOoDCADQgA3A7AMIANB4CZqIgQgA0GoDGoQpRwgA0GQDGoiDCAEKQMANwMAIANBmAxqIg8gA0HoJmopAwA3AwAgA0GgDGoiByADQfAmaikDADcDACADQgA3A4gMQdSv2gBBMRDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOIDDcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtACEEQEEAIAYoAgAQigQhDUGFsNoAQQoQ3BohQiADQfjI3wBBARDcGjcD2AwgA0IANwPgDCADQeAmaiIEIANB2AxqEKUcIANBwAxqIgwgBCkDADcDACADQcgMaiIPIANB6CZqKQMANwMAIANB0AxqIgcgA0HwJmopAwA3AwAgA0IANwO4DEGPsNoAQRkQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDuAw3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAiBEBBACAGKAIAEIoEIQ1BqLDaAEENENwaIUIgA0H4yN8AQQEQ3Bo3A4gNIANCADcDkA0gA0HgJmoiBCADQYgNahClHCADQfAMaiIMIAQpAwA3AwAgA0H4DGoiDyADQegmaikDADcDACADQYANaiIHIANB8CZqKQMANwMAIANCADcD6AxBtbDaAEEcENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA+gMNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AIwRAQQAgBigCABCKBCENQdGw2gBBCRDcGiFCIANB+MjfAEEBENwaNwO4DSADQgA3A8ANIANB4CZqIgQgA0G4DWoQpRwgA0GgDWoiDCAEKQMANwMAIANBqA1qIg8gA0HoJmopAwA3AwAgA0GwDWoiByADQfAmaikDADcDACADQgA3A5gNQdqw2gBBGBDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOYDTcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtACQEQEEAIAYoAgAQigQhDUHysNoAQQkQ3BohQiADQfjI3wBBARDcGjcD6A0gA0IANwPwDSADQeAmaiIEIANB6A1qEKUcIANB0A1qIgwgBCkDADcDACADQdgNaiIPIANB6CZqKQMANwMAIANB4A1qIgcgA0HwJmopAwA3AwAgA0IANwPIDUH7sNoAQRgQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDyA03AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAlBEBBACAGKAIAEIoEIQ1Bk7HaAEEdENwaIUIgA0H4yN8AQQEQ3Bo3A5gOIANCADcDoA4gA0HgJmoiBCADQZgOahClHCADQYAOaiIMIAQpAwA3AwAgA0GIDmoiDyADQegmaikDADcDACADQZAOaiIHIANB8CZqKQMANwMAIANCADcD+A1BsLHaAEEsENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA/gNNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AJgRAQQAgBigCABCKBCENQdyx2gBBEBDcGiFCIANB+MjfAEEBENwaNwPIDiADQgA3A9AOIANB4CZqIgQgA0HIDmoQpRwgA0GwDmoiDCAEKQMANwMAIANBuA5qIg8gA0HoJmopAwA3AwAgA0HADmoiByADQfAmaikDADcDACADQgA3A6gOQeyx2gBBHxDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOoDjcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtACcEQEEAIAYoAgAQigQhDUGLstoAQQwQ3BohQiADQfjI3wBBARDcGjcD+A4gA0IANwOADyADQeAmaiIEIANB+A5qEKUcIANB4A5qIgwgBCkDADcDACADQegOaiIPIANB6CZqKQMANwMAIANB8A5qIgcgA0HwJmopAwA3AwAgA0IANwPYDkGXstoAQRsQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD2A43AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAoBEBBACAGKAIAEIoEIQ1BsrLaAEEIENwaIUIgA0H4yN8AQQEQ3Bo3A6gPIANCADcDsA8gA0HgJmoiBCADQagPahClHCADQZAPaiIMIAQpAwA3AwAgA0GYD2oiDyADQegmaikDADcDACADQaAPaiIHIANB8CZqKQMANwMAIANCADcDiA9BurLaAEEXENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA4gPNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AKQRAQQAgBigCABCKBCENQdGy2gBBBBDcGiFCIANB+MjfAEEBENwaNwPYDyADQgA3A+APIANB4CZqIgQgA0HYD2oQpRwgA0HAD2oiDCAEKQMANwMAIANByA9qIg8gA0HoJmopAwA3AwAgA0HQD2oiByADQfAmaikDADcDACADQgA3A7gPQdWy2gBBExDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQO4DzcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtACoEQEEAIAYoAgAQigQhDUHostoAQREQ3BohQiADQfjI3wBBARDcGjcDiBAgA0IANwOQECADQeAmaiIEIANBiBBqEKUcIANB8A9qIgwgBCkDADcDACADQfgPaiIPIANB6CZqKQMANwMAIANBgBBqIgcgA0HwJmopAwA3AwAgA0IANwPoD0H5stoAQSAQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD6A83AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQArBEBBACAGKAIAEIoEIQ1BmbPaAEEJENwaIUIgA0H4yN8AQQEQ3Bo3A7gQIANCADcDwBAgA0HgJmoiBCADQbgQahClHCADQaAQaiIMIAQpAwA3AwAgA0GoEGoiDyADQegmaikDADcDACADQbAQaiIHIANB8CZqKQMANwMAIANCADcDmBBBorPaAEEYENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA5gQNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ALARAQQAgBigCABCKBCENQbqz2gBBDxDcGiFCIANB+MjfAEEBENwaNwPoECADQgA3A/AQIANB4CZqIgQgA0HoEGoQpRwgA0HQEGoiDCAEKQMANwMAIANB2BBqIg8gA0HoJmopAwA3AwAgA0HgEGoiByADQfAmaikDADcDACADQgA3A8gQQcmz2gBBHhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPIEDcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAC0EQEEAIAYoAgAQigQhDUHns9oAQRwQ3BohQiADQfjI3wBBARDcGjcDmBEgA0IANwOgESADQeAmaiIEIANBmBFqEKUcIANBgBFqIgwgBCkDADcDACADQYgRaiIPIANB6CZqKQMANwMAIANBkBFqIgcgA0HwJmopAwA3AwAgA0IANwP4EEGDtNoAQSsQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD+BA3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAuBEBBACAGKAIAEIoEIQ1BrrTaAEEbENwaIUIgA0H4yN8AQQEQ3Bo3A8gRIANCADcD0BEgA0HgJmoiBCADQcgRahClHCADQbARaiIMIAQpAwA3AwAgA0G4EWoiDyADQegmaikDADcDACADQcARaiIHIANB8CZqKQMANwMAIANCADcDqBFBybTaAEEqENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA6gRNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ALwRAQQAgBigCABCKBCENQfO02gBBCxDcGiFCIANB+MjfAEEBENwaNwP4ESADQgA3A4ASIANB4CZqIgQgA0H4EWoQpRwgA0HgEWoiDCAEKQMANwMAIANB6BFqIg8gA0HoJmopAwA3AwAgA0HwEWoiByADQfAmaikDADcDACADQgA3A9gRQf602gBBGhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPYETcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtADAEQEEAIAYoAgAQigQhDUGYtdoAQRgQ3BohQiADQfjI3wBBARDcGjcDqBIgA0IANwOwEiADQeAmaiIEIANBqBJqEKUcIANBkBJqIgwgBCkDADcDACADQZgSaiIPIANB6CZqKQMANwMAIANBoBJqIgcgA0HwJmopAwA3AwAgA0IANwOIEkGwtdoAQScQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDiBI3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQAxBEBBACAGKAIAEIoEIQ1B17XaAEEZENwaIUIgA0H4yN8AQQEQ3Bo3A9gSIANCADcD4BIgA0HgJmoiBCADQdgSahClHCADQcASaiIMIAQpAwA3AwAgA0HIEmoiDyADQegmaikDADcDACADQdASaiIHIANB8CZqKQMANwMAIANCADcDuBJB8LXaAEEoENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA7gSNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AMgRAQQAgBigCABCKBCENQZi22gBBExDcGiFCIANB+MjfAEEBENwaNwOIEyADQgA3A5ATIANB4CZqIgQgA0GIE2oQpRwgA0HwEmoiDCAEKQMANwMAIANB+BJqIg8gA0HoJmopAwA3AwAgA0GAE2oiByADQfAmaikDADcDACADQgA3A+gSQau22gBBIhDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQPoEjcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtADMEQEEAIAYoAgAQigQhDUHNttoAQRIQ3BohQiADQfjI3wBBARDcGjcDuBMgA0IANwPAEyADQeAmaiIEIANBuBNqEKUcIANBoBNqIgwgBCkDADcDACADQagTaiIPIANB6CZqKQMANwMAIANBsBNqIgcgA0HwJmopAwA3AwAgA0IANwOYE0HfttoAQSEQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDmBM3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQA0BEBBACAGKAIAEIoEIQ1BgLfaAEEYENwaIUIgA0H4yN8AQQEQ3Bo3A+gTIANCADcD8BMgA0HgJmoiBCADQegTahClHCADQdATaiIMIAQpAwA3AwAgA0HYE2oiDyADQegmaikDADcDACADQeATaiIHIANB8CZqKQMANwMAIANCADcDyBNBmLfaAEEnENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA8gTNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0ANQRAQQAgBigCABCKBCENQb+32gBBHhDcGiFCIANB+MjfAEEBENwaNwOYFCADQgA3A6AUIANB4CZqIgQgA0GYFGoQpRwgA0GAFGoiDCAEKQMANwMAIANBiBRqIg8gA0HoJmopAwA3AwAgA0GQFGoiByADQfAmaikDADcDACADQgA3A/gTQd232gBBLRDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQP4EzcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtADYEQEEAIAYoAgAQigQhDUGKuNoAQQQQ3BohQiADQfjI3wBBARDcGjcDyBQgA0IANwPQFCADQeAmaiIEIANByBRqEKUcIANBsBRqIgwgBCkDADcDACADQbgUaiIPIANB6CZqKQMANwMAIANBwBRqIgcgA0HwJmopAwA3AwAgA0IANwOoFEGOuNoAQRMQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDqBQ3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQA3BEBBACAGKAIAEIoEIQ1BobjaAEEQENwaIUIgA0H4yN8AQQEQ3Bo3A/gUIANCADcDgBUgA0HgJmoiBCADQfgUahClHCADQeAUaiIMIAQpAwA3AwAgA0HoFGoiDyADQegmaikDADcDACADQfAUaiIHIANB8CZqKQMANwMAIANCADcD2BRBsbjaAEEfENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA9gUNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AOARAQQAgBigCABCKBCENQdC42gBBEhDcGiFCIANB+MjfAEEBENwaNwOoFSADQgA3A7AVIANB4CZqIgQgA0GoFWoQpRwgA0GQFWoiDCAEKQMANwMAIANBmBVqIg8gA0HoJmopAwA3AwAgA0GgFWoiByADQfAmaikDADcDACADQgA3A4gVQeK42gBBIRDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOIFTcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtADkEQEEAIAYoAgAQigQhDUGDudoAQRQQ3BohQiADQfjI3wBBARDcGjcD2BUgA0IANwPgFSADQeAmaiIEIANB2BVqEKUcIANBwBVqIgwgBCkDADcDACADQcgVaiIPIANB6CZqKQMANwMAIANB0BVqIgcgA0HwJmopAwA3AwAgA0IANwO4FUGXudoAQSMQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDuBU3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQA6BEBBACAGKAIAEIoEIQ1BurnaAEEbENwaIUIgA0H4yN8AQQEQ3Bo3A4gWIANCADcDkBYgA0HgJmoiBCADQYgWahClHCADQfAVaiIMIAQpAwA3AwAgA0H4FWoiDyADQegmaikDADcDACADQYAWaiIHIANB8CZqKQMANwMAIANCADcD6BVB1bnaAEEqENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA+gVNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AOwRAQQAgBigCABCKBCENQf+52gBBDhDcGiFCIANB+MjfAEEBENwaNwO4FiADQgA3A8AWIANB4CZqIgQgA0G4FmoQpRwgA0GgFmoiDCAEKQMANwMAIANBqBZqIg8gA0HoJmopAwA3AwAgA0GwFmoiByADQfAmaikDADcDACADQgA3A5gWQY262gBBHRDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOYFjcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtADwEQEEAIAYoAgAQigQhDUGqutoAQRQQ3BohQiADQfjI3wBBARDcGjcD6BYgA0IANwPwFiADQeAmaiIEIANB6BZqEKUcIANB0BZqIgwgBCkDADcDACADQdgWaiIPIANB6CZqKQMANwMAIANB4BZqIgcgA0HwJmopAwA3AwAgA0IANwPIFkG+utoAQSMQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykDyBY3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQA9BEBBACAGKAIAEIoEIQ1B4braAEEaENwaIUIgA0H4yN8AQQEQ3Bo3A5gXIANCADcDoBcgA0HgJmoiBCADQZgXahClHCADQYAXaiIMIAQpAwA3AwAgA0GIF2oiDyADQegmaikDADcDACADQZAXaiIHIANB8CZqKQMANwMAIANCADcD+BZB+7raAEEpENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA/gWNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0APgRAQQAgBigCABCKBCENQaS72gBBIBDcGiFCIANB+MjfAEEBENwaNwPIFyADQgA3A9AXIANB4CZqIgQgA0HIF2oQpRwgA0GwF2oiDCAEKQMANwMAIANBuBdqIg8gA0HoJmopAwA3AwAgA0HAF2oiByADQfAmaikDADcDACADQgA3A6gXQcS72gBBLxDcGiFBQcgAEOkgIgRCADcDOCAEQQA6ADQgBCANNgIwIARCADcDKCAEIEI3AyAgBEEYaiAHKQMANwMAIARBEGogDykDADcDACAEQQhqIAwpAwA3AwAgBCADKQOoFzcDACAEQUBrQQA6AAAgA0EBNgLkJiADIAQ2AuAmIANBATYC3CZBGBDpICIEQgA3AwggBCBBNwMAIANB8iZqQgA3AQAgBEEQakIANwMAIANCADcC7CYgAyAENgLoJiADQQA2AtgmIAogA0HYJmoQ/RkLIAgtAD8EQEEAIAYoAgAQigQhDUHzu9oAQRwQ3BohQiADQfjI3wBBARDcGjcD+BcgA0IANwOAGCADQeAmaiIEIANB+BdqEKUcIANB4BdqIgwgBCkDADcDACADQegXaiIPIANB6CZqKQMANwMAIANB8BdqIgcgA0HwJmopAwA3AwAgA0IANwPYF0GPvNoAQSsQ3BohQUHIABDpICIEQgA3AzggBEEAOgA0IAQgDTYCMCAEQgA3AyggBCBCNwMgIARBGGogBykDADcDACAEQRBqIA8pAwA3AwAgBEEIaiAMKQMANwMAIAQgAykD2Bc3AwAgBEFAa0EAOgAAIANBATYC5CYgAyAENgLgJiADQQE2AtwmQRgQ6SAiBEIANwMIIAQgQTcDACADQfImakIANwEAIARBEGpCADcDACADQgA3AuwmIAMgBDYC6CYgA0EANgLYJiAKIANB2CZqEP0ZCyAILQBABEBBACAGKAIAEIoEIQ1BurzaAEEQENwaIUIgA0H4yN8AQQEQ3Bo3A6gYIANCADcDsBggA0HgJmoiBCADQagYahClHCADQZAYaiIMIAQpAwA3AwAgA0GYGGoiDyADQegmaikDADcDACADQaAYaiIHIANB8CZqKQMANwMAIANCADcDiBhByrzaAEEfENwaIUFByAAQ6SAiBEIANwM4IARBADoANCAEIA02AjAgBEIANwMoIAQgQjcDICAEQRhqIAcpAwA3AwAgBEEQaiAPKQMANwMAIARBCGogDCkDADcDACAEIAMpA4gYNwMAIARBQGtBADoAACADQQE2AuQmIAMgBDYC4CYgA0EBNgLcJkEYEOkgIgRCADcDCCAEIEE3AwAgA0HyJmpCADcBACAEQRBqQgA3AwAgA0IANwLsJiADIAQ2AugmIANBADYC2CYgCiADQdgmahD9GQsgCC0AQQRAQQAgBigCABCKBCENQem82gBBBBDcGiFCIANB+MjfAEEBENwaNwPYGCADQgA3A+AYIANB4CZqIgQgA0HYGGoQpRwgA0HAGGoiDCAEKQMANwMAIANByBhqIg8gA0HoJmopAwA3AwAgA0HQGGoiByADQfAmaikDADcDACADQgA3A7gYQe282gBBExDcGiFBQcgAEOkgIgRCADcDOCAE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QQA6AKkCIAMgAS0AjgM6AKgCIAMgAS0AngM6ALgCIAMgASkBggM3AJwCIAMgASgBigM2AKQCIAMgASkDkAM3AKoCIAMgASgCmAM2ALICIAMgAS8BnAM7ALYCIANBsQVqIAFBggNqIgVBFWopAAA3AAAgA0GsBWogBUEQaikBADcCACADQaQFaiAFQQhqKQEANwIAIAMgBSkBADcCnAUgBiADQZwCahDJCCADIAE2ApgFIANByAJqIgogARCvAyADKALIAiEOAkAgAy0A9AIiBUEGRwRAIANB4AFqIhNBBHIgCkEEckEoEPsGGiADQY8CaiADQfcCai0AADoAACADIAMvAPUCOwCNAiADIAU6AIwCIAMgDjYC4AEgA0GYBWoQoyYgAiEOQQAhBiMAQaAJayIEJAAgAUEoaiEJAkAgAS0A+AJBAkcNACAJEOMNIgJFDQAgAigCAEEURw0AIAItAARBBEcNACABLQD4AkECRw0AIAEtAIIDIQUgBEGQAWoiAiABENECIARBAToAiwggBCABKQCDAzcAjAggBCABKQCLAzcAlAggBCABKQCTAzcAnAggBCABKACbAzYApAggBEGQAmogBEGLCGoQyQggBEEoaiACEPABIAQgBCgCLCIcNgKMCSAEIAQoAigiDzYCiAkgDwRAIARBiAlqEJ0gIAIQhBBBACEcDAELIARBuARqIgIgBEGQAWpBqAMQ+wYaIAEQhBAgASACQagDEPsGIQIgBCAFOgDACCAEIAIpAIMDNwDBCCAEIAIpAIsDNwDJCCAEIAIpAJMDNwDRCCAEIAIoAJsDNgDZCCABQYABaiAEQcAIahDJCAsgBEKAgICAgAE3AjQgAUGAAWohKiABQYIDaiEfIAFBLGohDyAEQewIaiEmIARBwARqIRggBEHMBWohJyAEQdwEaiErIARBxARqISUgBEHECGohICAEQbgEakEEciEVIARB2ARqIShBCCEpAkACQAJAAkACQANAAkAgBCAUNgI8IAkQ4w0iAkUEQCABKALYAiECIARBADoAuAQgBCACIAIgBEG4BGoQgRU2ApQBIARBATYCkAEgBEGQAWoQkCQMAQsgBEEANgKQASAEIAI2ApQBIARBkAFqEJAkAkAgCRDjDSICRQ0AIAIoAgBBFEcNACACLQAEQQ5GDQELIAkQ4w0iAgRAIAIoAgBBIkYN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D0EIaikCADcCACAEQcwEaiAPQRBqKAIANgIAIAQgDykCADcCvAQgBCACNgK4BCAEQbgEahDHCkEACwJAIAEtAJoDQQFxRQ0AIAkQ4w0iAkUNACACKAIAQRRHDQAgAi0ABEEGRw0AIAEoAighAiABQSU2AiggASABKQNANwN4IARBxARqIA9BCGopAgA3AgAgBEHMBGogD0EQaigCADYCACAEIA8pAgA3ArwEIAQgAjYCuAQgBEG4BGoQxwoMAgtFDQEgBEHEBGogCRCWCyAEIAkQuBQgBEETNgLABCAEQcCC4AA2ArwEIARBMDoAuAQgBCgCACAEKAIEIARBuARqEIEVIQIgCRDjDSIFRQ0AIAUoAgBBJEcNACABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAyABIAEoAiwQhgwLIApBgICAgHg2AjwgCiACNgIAIARBNGoQjCcgHBDZKCATEMYXDAELIAogBCkCNDcCPCAKQcQAaiAEQTxqKAIANgIAIAEoAnwhAiAKIBNBMBD7BiIFIBQ6AEggBSAcNgI4IAUgDiACIAIgDkkbNgI0IAUgDiACIAIgDksbNgIwCyAEQaAJaiQADAELQeXs4ABBKEHUguAAEPQXAAsgAygChAMiE0GAgICAeEYEQCADKALIAiEODAILIAMoAswCIRAgAygCyAIhESADQegFaiADQdACakE0EPsGGiADQegEaiADQZADaikDADcDACADIAMpA4gDNwPgBAwDCyADQZgFahCjJgsgAEGBgICAeDYCkAEgACAONgIADAILIAEoAighBSABQSU2AiggASABKQNANwN4IANB1AJqIA1BCGopAgA3AgAgA0HcAmogDUEQaigCADYCACADIA0pAgA3AswCIAMgBTYCyAIgA0HIAmoQxwogAiABKAJ8IgUgAiAFSRshESACIAUgAiAFSxshEEGAgICAeCETCyADIBA2AoQBIANBiAFqIANB6AVqQTQQ+wYaIANByAFqIANB6ARqIgkpAwA3AwAgAyADKQPgBDcDwAEgAyARNgKAASADIBM2ArwBIANBADYC3AEgA0KAgICAgAE3AtQBIANBBzoAlAICQAJAIBNBgICAgHhGDQAgAy0AyAFBAUcNAEEHIQZBACEOIAMoAuQBIQoMAQsgA0HQAmohGSADQcgCakEEciEHIANBzAJqIQ8gA0GYBGohBCADQfADaiESIANB7AJqIRYgA0HcA2ohGkEAIQJBACEOAkACQANAIAgQ4w0iBUUEQCABKALYAiEBIANBADoAyAIgASABIANByAJqEIEVIQUMAwsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCACIFQSBrDgUEBQICAAELIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRg0PQeXs4ABBKEHw/98AEPQXAAsgBUENRg0BCyADQdQCaiAIEJYLIANBCGogCBC4FCADQSA2AtACIANB4IDgADYCzAIgA0EwOgDIAiADKAIIIAMoAgwgA0HIAmoQgRUhBSAIEOMNIgJFDQ4gAigCAEEkRw0OIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0GIAEgASgCLBCGDAwOCyAIEN4gGgJAAkACQCAIEOESIgUEQCAFKAIAQQdGDQELIANByAJqIAEQhAQgAygCyAIiBUECRg0BIAkgDykCADcCACAJQQhqIA9BCGopAgA3AgAgAyAFNgLkBCADQQE2AuAEIANB4ARqIQoMDAsgCBDeICELAkACQAJAAkACQCAIEOMNIgUEQCAFKAIAQQ1GDQELIANB0AJqIAgQlgsgA0EQaiAIELgUIANB2OHfADYCzAIgA0E0OgDIAiADKAIQIAMoAhQgA0HIAmoQgRUhBSAIEOMNIgJFDRQgAigCAEEkRw0UIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRg0BQeXs4ABBKEH4geAAEPQXAAsgByANKQIANwIAIAEoAighBSABQSU2AiggASABKQNANwN4IAdBCGoiBiANQQhqIgopAgA3AgAgB0EQaiIMIA1BEGoiFSgCADYCACADIAU2AsgCIANByAJqEMcKIAgQ4w0iBQRAIAUoAgBBB0YNAgsgA0HQAmogCBCWCyADQRhqIAgQuBQgA0Go/t8ANgLMAiADQTQ6AMgCIAMoAhggAygCHCADQcgCahCBFSEFIAgQ4w0iAkUNEyACKAIAQSRHDRMgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQILIAEgASgCLBCGDAwSCyAHIA0pAgA3AgAgASgCKCEFIAFBJTYCKCABIAEpA0A3A3ggBiAKKQIANwIAIAwgFSgCADYCACADIAU2AsgCIANByAJqEMcKIANBKGogARCRBiADKAIsIQUgAygCKA0RIAMgBTYC6AUgCBDjDSIUBEAgFCgCAEEORg0CCyAZIAgQlgsgA0EgaiAIELgUIANBsOHfADYCzAIgA0E0OgDIAiADKAIgIAMoAiQgA0HIAmoQgRUhBSAIEOMNIgJFDQ4gAigCAEEkRw0OIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0GIAEgASgCLBCGDAwOC0Hl7OAAQShB6IHgABD0FwALIAcgDSkCADcCACABKAIoIRQgAUElNgIoIAEgASkDQDcDeCAGIAopAgA3AgAgDCAVKAIANgIAIAMgFDYCyAIgA0HIAmoQxwogCyABKAJ8IgogCiALSxshBiAFDQEgBiEFDA8LIAMoAswCIQUMDgsgAyALIAogCiALSRs2AsQEIAMgBjYCwAQgAyAFNgK8BCADQQI2ArgEIANBuARqIQoMCQsgA0HIAmogARCOEiADKQPIAlBFBEAgBCADKQPIAjcDACAEQRBqIANB2AJqKQMANwMAIARBCGogGSkDADcDACADQQA2ApAEIANBkARqIQoMCQsgAygC0AIhBQwMCyAIEN4gIQsCfwJAAkACQCAIEOESIgVFDQAgBSgCAEEURw0AIAUtAARBDkYNAQsgA0HIAmogASALEEkgAygCyAIhBSADKALYAyILQYGAgIB4Rg0OIAtBgICAgHhHDQEgA0GABmogB0EYaikCADcDACADQfgFaiAHQRBqKQIANwMAIANB8AVqIAdBCGopAgA3AwAgAyAHKQIANwPoBUEEDAILIAEoAighAiABQSU2AiggASABKQNANwN4IANB1AJqIA1BCGopAgA3AgAgA0HcAmogDUEQaigCADYCACADIA0pAgA3AswCIAMgAjYCyAIgA0HIAmoiAhDHCiAIEOMNIgVFBEAgASgC2AIhASADQQA6AMgCIAEgASACEIEVIQUMDgsgBSgCAEEkRgRAIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRg0NQeXs4ABBKEGAgOAAEPQXAAsgCBDjDSICRQ0IIAIoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEYNDUHl7OAAQShBkIDgABD0FwALIAEoAighAiABQSU2AiggASABKQNANwN4IANB1AJqIA1BCGopAgA3AgAgA0HcAmogDUEQaigCADYCACADIA0pAgA3AswCIAMgAjYCyAIgA0HIAmoQxwoCQCAIEOMNIgIEQCACKAIAQSJGDQELIANByAJqIgIgARCvAyADKALIAiEFIAMtAPQCIgZBBkYNDiADQegFakEEciACQQRyQSgQ+wYaIANBlwZqIANB9wJqLQAAOgAAIAMgAy8A9QI7AJUGIAMgBjoAlAYgAyAFNgLoBSAIEOMNIgIEQCACKAIAQSJGDQULIANB0AJqIAgQlgsgA0EwaiAIELgUIANBmILgADYCzAIgA0E0OgDIAiADKAIwIAMoAjQgA0HIAmoQgRUhBSAIEOMNIgJFDQggAigCAEEkRw0IIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0FIAEgASgCLBCGDAwICyABKAIoIQIgAUElNgIoIAEgASkDQDcDeCADQdQCaiANQQhqKQIANwIAIANB3AJqIA1BEGooAgA2AgAgAyANKQIANwLMAiADIAI2AsgCIANByAJqEMcKIAsgASgCfCICIAIgC0sbIRYgCyACIAIgC0kbIQpBBiEGDAYLQaABQQgQqyAiBiAFNgIAIAYgBykCADcCBCAGQQxqIAdBCGopAgA3AgAgBkEUaiAHQRBqKQIANwIAIAZBHGogB0EYaikCADcCACAGQSRqIBZB7AAQ+wYaIAYgCzYCkAEgBiAaKQIANwKUASAGQZwBaiAaQQhqKAIANgIAIAYhBUEDCyEGIBIgAykD6AU3AwAgEkEYaiADQYAGaikDADcDACASQRBqIANB+AVqKQMANwMAIBJBCGogA0HwBWopAwA3AwAgAyAFNgLsAyADIAY2AugDIANB6ANqIQoMBwtB5ezgAEEoQdiB4AAQ9BcACyABKAIoIQIgAUElNgIoIAEgASkDQDcDeCADQdQCaiANQQhqKQIANwIAIANB3AJqIA1BEGooAgA2AgAgAyANKQIANwLMAiADIAI2AsgCIANByAJqEMcKIAEoAnwhAiADQZgFaiADQegFakEsEPsGGiADQaoGaiADQZUGaiIFQQJqLQAAOgAAIAMgBS8AADsBqAYgCyACIAIgC0sbIRYgCyACIAIgC0kbIQoMAgtB5ezgAEEoQbCC4AAQ9BcAC0Hl7OAAQShBgIHgABD0FwALIANBnAJqIgIgA0GYBWpBLBD7BhogA0GaAmoiBSADQaoGai0AADoAACADIAMvAagGOwGYAiADQeABahCOISADIAo2AuQBIAMgFjYC4AEgA0HoAWogAkEsEPsGGiADQZcCaiAFLQAAOgAAIAMgBjoAlAIgAyADLwGYAjsAlQIMBwsgA0HoBWoQxhcMBQsgASgC2AIhASADQQA6AMgCIAEgASADQcgCahCBFSEFDAQLIAMoAtQBIA5GBEAgA0HUAWoQ0xcLIAMoAtgBIAJqIApBKBD7BhogAyAOQQFqIg42AtwBIAJBKGohAgwBCwsgA0HoBWoQuCkMAQsgASgCLCEFCyAAQYGAgIB4NgKQASAAIAU2AgAgA0HgAWoQjiEgA0HUAWoQ7CYgE0GAgICAeEYNASADQYABahDGIwwBCyAbIAEoAnwiBSAFIBtLGyECIBsgBSAFIBtJGyEFIANBlQJqIQsgA0HoAWohEgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCATQYCAgIB4RgRAIAZBBmsOAgIBAwsgA0HAAWohDiADQYgBaiEHIAZBBmsOAgQDBQtB5ezgAEEoQbCA4AAQ9BcAC0GAgICAeCEBIAMoAtgBIQcgAygC1AEhBiACIRkgBSEaDAwLIAMgCjYCzAIgAyAWNgLIAiADQdACaiASQSwQ+wYhAiADQf8CaiALQQJqLQAAOgAAIAMgBjoA/AIgAyALLwAAOwD9AiADQdcAOgDoBSAWIAogA0HoBWoQgRUhBSAIEOMNIgZFDQkgBigCAEEkRw0JIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0DIAEgASgCLBCGDAwJCyADQZgFaiAHQTQQ+wYaIANBkAVqIA5BCGopAwA3AwAgAyAOKQMANwOIBUEGIQ0gAykC2AEhLyADKALUASEBIBEhCyAQIRIgAiEGIAUhBwwKCyADIBA2AswCIAMgETYCyAIgA0HQAmogB0E0EPsGGiADQZADaiAOQQhqKQMANwMAIAMgEzYChAMgAyAOKQMANwOIAyADQcgCahDBCCEsIANB2AA6AOgFIAMgLDcD8AUgFiAKIANB6AVqEIEVIQIgCBDjDSIFRQ0GIAUoAgBBJEcNBiABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAiABIAEoAiwQhgwMBgsgAyAQNgLMAiADIBE2AsgCIANB0AJqIAdBNBD7BiEQIANBkANqIA5BCGopAwA3AwAgAyATNgKEAyADIA4pAwA3A4gDIAMgCjYC7AUgAyAWNgLoBSADQfAFaiASQSwQ+wYhByADQZ8GaiALQQJqLQAAOgAAIAMgBjoAnAYgAyALLwAAOwCdBiADIAcQwQg3A6AGIAMgA0HIAmoQwQgiLDcDqAYgA0GgBmogA0GoBmoiBhCaCiAsEPkaIAMpA6AGEPkaDQQgAygC7AUhAiADKALoBSADQcgCahDBCCEsIANB2AA6AKgGIAMgLDcDsAYgAiAGEIEVIQIgCBDjDSIFRQ0DIAUoAgBBJEcNAyABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAiABIAEoAiwQhgwMAwtB5ezgAEEoQaCA4AAQ9BcAC0Hl7OAAQShBwIDgABD0FwALQeXs4ABBKEHQgOAAEPQXAAsgAEGBgICAeDYCkAEgACACNgIAIAcQxhcgA0HIAmoQxiMMAwsgAygCzAIhEiADKALIAiELIANBmAVqIBBBNBD7BhogA0GQBWogA0GIA2oiAUEIaikDADcDACADQdgFaiADQYwGaikCADcDACADQeAFaiADQZQGaikCADcDACADIAEpAwA3A4gFIAMgAykChAY3A9AFIAMoAoQDIRMgAygC1AEhASADKQLYASEvIAMoAugFIQ4gAygC7AUhGSADKALwBSEaIAMoAvQFIREgAygC+AUhECADKAL8BSEWIAMoAoAGIQogA0HOBWogA0GdBmoiBkECai0AADoAACADIAYvAAA7AcwFIAMtAJwGIQ0gAiEGIAUhBwwDCyAAQYGAgIB4NgKQASAAIAI2AgAgA0HIAmoQxiMMAQsgAEGBgICAeDYCkAEgACAFNgIAIAIQxhcLIANB1AFqEOwmDAELIAAgCjYCICAAIBY2AhwgACAQNgIYIAAgETYCFCAAIBo2AhAgACAZNgIMIAAgDjYCCCAAIAc2AgQgACAGNgIAIAAgAykD0AU3AiQgACANOgA8IAAgAy8BzAU7AD0gAEEsaiADQdgFaikDADcCACAAQTRqIANB4AVqKQMANwIAIABBP2ogA0HOBWotAAA6AAAgACASNgJEIAAgCzYCQCAAQcgAaiADQZgFakE0EPsGGiAAIBM2AnwgACAvNwKUASAAIAE2ApABIAAgAykDiAU3A4ABIABBiAFqIANBkAVqKQMANwMACyADQdwAahCjJgwBC0Hl7OAAQShB4P/fABD0FwALIANBwAZqJAALyEsCKH8FfiMAQcAGayIDJAACQCABQShqIggQyg0iBUUEQCABKAKAAiEBIANBADoAyAIgASABIANByAJqEIEVIQEgAEGBgICAeDYCkAEgACABNgIADAELAkACfwJAAkAgBSgCAEEkRgRAIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEYNAUHl7OAAQShB0P/fABD0FwALIAgQwyAhGyADQdQCaiABQdQCaikCADcCACADQdwCaiABQdwCaigCADYCACABKALIAiEFIAFBJTYCyAIgASABKQPgAjcDmAMgAyABKQLMAjcCzAIgAyAFNgLIAiAFQRRGDQEgBUEhRw0DQQAMAgsgASgCzAIhASAAQYGAgIB4NgKQASAAIAE2AgAMAwsgAy0AzAJBBEcNAUEBCyEFIAFBzAJqIQ0gA0HIAmoQxgogA0EAOgBMIAMgBToAVyADIAEtALYCOgBLIAMgASkBqgI3AD8gAyABQbICaiIFKAEANgBHIAMgASkDuAI3AE0gAyABLwHAAjsAVSADIAEoAMMCNgBYIANB9QBqIAFBvwJqKQAANwAAIANB8ABqIAFBugJqKQEANwIAIANB6ABqIAUpAQA3AgAgAyABKQGqAjcCYCAIIANBP2oQ0gggAyABNgJcAkACQAJAIAgQyg0iBQRAIAUoAgBBIkYNAQsgA0EAOgCpAiADIAEtALYCOgCoAiADIAEtAMYCOgC4AiADIAEpAaoCNwCcAiADIAEoAbICNgCkAiADIAEpA7gCNwCqAiADIAEoAsACNgCyAiADIAEvAcQCOwC2AiADQbEFaiABQaoCaiIFQRVqKQAANwAAIANBrAVqIAVBEGopAQA3AgAgA0GkBWogBUEIaikBADcCACADIAUpAQA3ApwFIAggA0GcAmoQ0gggAyABNgKYBSADQcgCaiIKIAEQrgMgAygCyAIhDgJAIAMtAPQCIgVBBkcEQCADQeABaiITQQRyIApBBHJBKBD7BhogA0GPAmogA0H3AmotAAA6AAAgAyADLwD1AjsAjQIgAyAFOgCMAiADIA42AuABIANBmAVqEIclIAIhDiMAQZAJayIEJAAgAUEoaiEJAkAgAS0AoAJBAkcNACAJEMoNIgJFDQAgAigCAEEURw0AIAItAARBBEcNACABLQCgAkEC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BSACQbgFaiIDEMcKIAJBADYCVCACQoCAgICAATcCTCABQYABaiEnIAFBLGohESACQcAFaiESIANBBHIhCiACQagFaiEkIAJBgAVqQQRyIRsgAkHkAWohEyACQeABaiELIAJBuAJqISggAkGMAWohHiACQeQFaiEfIAJB4AVqISUgAkG4BmohKSACQfwBaiEWIAJBtAJqIRcgAkH4AWohGCACQbACaiEZAkADQAJAIAJBuAVqIAFBAxDWCAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAItALgFRQRAIAItALkFRQRAAkACQAJAAkACQCAHEOMNIgMEQCADKAIAQQlGDQELIAcQ4w0iA0UNASADKAIAQRRHDQEgAy0ABEEERw0BCyACQbgFaiABQQAQ/wIgAigCuAUiA0ECRg0BDBoLIAcQ4w0iA0UNAiADKAIAQQJHDQIgAy0ACEECRw0CIAMtAAlBFkcNAiACQbgFaiABENECIAJBAToAuAEgAiACKQC7CDcAuQEgAiACKQDDCDcAwQEgAiACKQDLCDcAyQEgAiACKADTCDYA0QEgKSACQbgBahDJCCAbIB8pAgA3AgAgG0EIaiAfQQhqKQIANwIAIBtBEGogH0EQaigCADYCACACKALgBSEDIAJBJTYC4AUgAiADNgKABSACIAIpA/gFNwOwBiACQYAFahDHCgJAAkAgJRDjDSIDBEAgAygCAEEJRg0BCyAlEOMNIgNFDQMgAygCAEEURw0DIAMtAAQgAkG4BWoQhBBBBEYNAQwECyACQbgFahCEEAsgAkG4BWogAUEBEP8CIAIoArgFIgNBAkYNAAwZC0ELIQggAigCvAUhAwwZCyACQbgFahCEEAsgBxDeICEUIAJBuAVqIAFBuOffAEEBQQAQsgIgAigCvAUhCSACKAK4BQRAIAkhAwwZCyACQbgFaiABIBQgCUEARyIgQQAQpgEgAigCvAUhAyACKAK4BSIEQYGAgIB4Rg0CIB4gEikCADcCACAeQRBqIBJBEGooAgA2AgAgHkEIaiASQQhqKQIANwIAIAIgAzYCiAEgAiAENgKEASAEQYCAgIB4RwRAQQohCCACKAKcASEGIAIoApgBIRwgAigClAEhGiACKAKQASEdIAIoAowBIRAgAyENIAQhAwwYCyABLQD4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AkAgAkGYAWogAkHYAWoQ3BQgAikDmAEiGVANACACKAKgASEEIAIgGTcD4AIgAiAENgLoAiACQYgDaiACQeACahD0CQRAIAIpA+ACEPkaDAIFIAJByAJqIBkQwAkMAgsACwtCABDtJiACQdgBahC1FAsgAigCgARBgYCAgHhHBEAgAkHYAWogEEEwEPsGGgNAIAJBiAFqIAJB2AFqENwUIAIpA4gBIhlQRQRAIAJByAJqIBkQwAkMAQsLQgAQ7SYgAkHYAWoQtRQLIA4gAykDADcDACACIAIpA8gCNwPYASACQYgDahDvCiACQbgCaiACQdgBahChByACQbACaiACQcACaikCADcDACACIAIpArgCNwOoAgJAIAEoAhwiBEUNACACQagCahC2EyEHIA8oAgAiBSkDACAHIARBAWpBAXYgBCACKAK0AhsgFhD9ISAFQQhqIQNCf4VCgIGChIiQoMCAf4MhGQNAIBlQRQRAIAcgBSAZeqdBAXRB8AFxa0EQaykDABD8GhDACSAEQQFrIQQgGUIBfSAZgyEZDAELIARFDQEgBUGAAWshBSADKQMAQn+FQoCBgoSIkKDAgH+DIRkgA0EIaiEDDAALAAsgASgCTCIDBEAgAkGoAmoQthMgAiADNgLAAyACIAEoAkAiAzYCuAMgAiADQQhqNgKwAyACIAMgASgCRGpBAWo2ArQDIAIgAykDAEJ/hUKAgYKEiJCgwIB/gzcDqAMgAkGoA2oQvwwLIAJBADYCuAMgCCAaNwMAIAIgGzcDqAMgAkGsAWogAkGYAmogEyACQagDaiIDIA8gAkGoAmogAigCrAIgAigCqAIbEK8BIAMQywggASgCAEUNASABIAIoAqQCEMQpIAIoApgCIgMpAwAhGSACKAKcAiEEIAIgAigCpAI2AvABIAIgAzYC6AEgAiADIARqQQFqNgLkASACIANBCGo2AuABIAIgGUJ/hUKAgYKEiJCgwIB/gzcD2AEDQCACQYABaiACQdgBahC6FSACKAKAASIDRQ0CIAIgAigChAEiBDYCiAMgAkHwAGogAykDACADQQhqKAIAEMAjIAJBqANqIgUgASACKQNwIAIoAngQ+gYgAikDqANQDQUgBSAEKQMAEPwaEOALDAALAAsgAyABEMYiIAYoAiggARC5FSAAIQMMAgsgAkHoAmogEikDADcDACAC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JAAPCyADQQhqIAAgAkEBEMYJIAMoAggiAkGBgICAeEYNACACIAMoAgwQ4SkACyAAKAIAIQUgACgCCCECCyACIAVGBEAgABDAFwsgACACQQFqNgIIIAAoAgQgAkEUbGoiAiAYNgIQIAIgFzYCDCACIBY2AgggAiAVNgIEIAIgFDYCAAwACwAL1SoCF38BfiMAQYADayIDJAACQCABQShqIgQQ4w0iBkUEQCABKALYAiEBIANBADoAkAEgASABIANBkAFqEIEVIQEgAEEHNgIAIAAgATYCBAwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGKAIAIgZBC2sOAwEJAgALIAZBAkcEQCAGQSRHDQkgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQggASgCLCEBIABBBzYCACAAIAE2AgQMDAsgA0HIAWogASACEKAEIAACfyADLQDcAUECRwRAIANBrAFqIANB4AFqKQMANwIAIANBpAFqIANB2AFqKQMANwIAIANBnAFqIANB0AFqKQMANwIAIAMgAykDyAE3ApQBIABBBGogA0GQAWpBJBD7BhpBAAwBCyAAIAMoAsgBNgIEQQcLNgIADAsLIAQQ3iAhDCAEEOMNIgJFBEAgASgC2AIhASADQQA6AJABIAEgASADQZABahCBFSEBIABBBzYCACAAIAE2AgQMCwsgAigCAEEkRgRAIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0GIAEoAiwhASAAQQc2AgAgACABNgIEDAsLIAEoAighAiABQSU2AiggASABKQNANwN4IANBnAFqIAFBNGopAgA3AgAgA0GkAWogAUE8aigCADYCACADIAEpAiw3ApQBIAMgAjYCkAEgA0GQAWoiAhDHCiADQQA2AmggA0KAgICAgAE3AmAgAUEsaiEGIAJBBHIhCSADQdABaiEOIANBmAFqIQpBACECAkADQCACIA1yRSACQf7/e0tyIQhBACEFAkACfwJAAkACQANAIAQQ4w0iC0UNASADQQA2AuACIAMgCzYC5AIgA0HgAmoQkCQgBBDjDSILBEAgCygCAEEMRg0DCyAIRQRAIANBOzoAkAEgASACIA0gA0GQAWoQ2BkLAkAgBBDjDSILRQ0AIAsoAgBBEEcNACAJIAYpAgA3AgAgASgCKCELIAFBJTYCKCABIAEpA0A3A3ggCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAs2ApABIAVBAWohBSADQZABahDHCgwBCwsgBQRAIAMgBTYCuAEgA0EHNgKQASADQeAAaiADQZABahCLCQsgBBDeICEFIAQQ4w0iCARAIAgoAgBBB0YNAwsgA0GQAWogARDqBCADKAKUASEFIAMoApABIghBB0YNCyAOIAopAwA3AwAgDkEYaiAKQRhqKQMANwMAIA5BEGogCkEQaikDADcDACAOQQhqIApBCGopAwA3AwAgAyAFNgLMASADIAg2AsgBIANB4ABqIANByAFqEIAaQQAMAwsgASgC2AIhAiADQQA6AJABIAMgAiACIANBkAFqEIEVNgLkAiADQQE2AuACIANB4AJqEJAkCyAEEOMNIgJFDQIgAigCAEEMRw0CIAEoAighAiABQSU2AiggASABKQNANwN4IANBnAFqIAZBCGopAgA3AgAgA0GkAWogBkEQaigCADYCACADIAYpAgA3ApQBIAMgAjYCkAEgA0GQAWoQxwogAS0A+AJBAkYEQCABLQD7AkEBcQ0FC0EAIQIgAS0AkANBAXENBAwOCyAJIAYpAgA3AgAgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAI2ApABIANBkAFqIg8QxwogASgCfCECIA8gAUEAEFAgAygCkAEiDUEHRg0HIANBwAJqIgcgCkEIaikDADcDACADQcgCaiIRIApBEGopAwA3AwAgA0HQAmoiEiAKQRhqKQMANwMAIAMgCikDADcDuAIgAygClAEhECABKAJ8IQtBKEEIEKsgIgggEDYCBCAIIA02AgAgCCADKQO4AjcDCCAIQRBqIAcpAwA3AwAgCEEYaiARKQMANwMAIAhBIGogEikDADcDACADQQA2AqgBIAMgBSACIAIgBUkbNgKkASADIAUgAiACIAVLGzYCoAEgAyAFIAsgBSALSxsiDTYCnAEgAyAFIAsgBSALSRsiAjYCmAEgAyAINgKUASADQQI2ApABIANB4ABqIA8QgBpBAQsgBBDjDSIIBEAgCCgCAEEMRg0CCwJAIAQQ4w0iCARAIAgoAgBBEEYNAQsgA0GYAWogBBCWCyADQRBqIAQQuBQgA0GoxeAANgKUASADQTQ6AJABIAMoAhAgAygCFCADQZABahCBFSEFIAQQ4w0iAkUNCCACKAIAQSRHDQggASABKQNANwN4IAEoAiggAUElNgIoQSRHDQYgASABKAIsEIYMDAgLIAkgBikCADcCACABKAIoIQggAUElNgIoIAEgASkDQDcDeCAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgCDYCkAEgA0GQAWoiEBDHCkUNASAEEOMNIgVFDQEgBSgCAEEMRw0BIAEoAnwhBSABKAJ4IQggA0E6OgCQASABIAggBSAQENgZDAELCyADQZgBaiAEEJYLIANBCGogBBC4FCADQdjk3wA2ApQBIANBNDoAkAEgAygCCCADKAIMIANBkAFqEIEVIQUgBBDjDSICRQ0FIAIoAgBBJEcNBSABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAiABIAEoAiwQhgwMBQtBACECIAQQ4w0iBEUNCSAEKAIAQRdHDQkgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDHCkEBIQIMCQsgA0EAOgBTIAMgASkBggM3AEMgAyABKQCTAzcAVCADIAEoAJsDNgBcIAMgAUGKA2oiAikBADcASyADQfkAaiABQZcDaikAADcAACADQfQAaiABQZIDaikBADcCACADQewAaiACKQEANwIAIAMgASkBggM3AmQgAUGAAWogA0HDAGoQyQggAyABNgJgIAQQ3iAhDiAEEOMNIgJFBEAgASgC2AIhASADQQA6AJABIAEgASADQZABahCBFSEBIABBBzYCACAAIAE2AgQMCAsCQCACKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRGDQFB5ezgAEEoQcys4AAQ9BcACyABKAIoIQIgAUElNgIoIAEgASkDQDcDeCADQZwBaiABQTRqKQIANwIAIANBpAFqIAFBPGooAgA2AgAgAyABKQIsNwKUASADIAI2ApABIANBkAFqIgIQxwogA0EANgKMASADQoCAgICAATcChAEgAUEsaiEGIAJBBHIhCyADQbgCakEEciEJIANBxAJqIRcgA0G8AmohDSADQcACaiEKIANBoAJqIQwgA0GgAWohGCADQZgBaiEZQQghEANAIAhBOGwhEgJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEEOMNIgIEQCACKAIAQQ5GDQELIAQQ3iAhBQJAAkACQAJAIAQQ4w0iAgRAIAIoAgBBB0YNAQsgA0G4AmogARCtASADKAK8AiECIAMoArgCIgdBBUYNDSAMIAopAwA3AwAgDEEQaiAKQRBqIg8pAwA3AwAgDEEIaiAKQQhqIhQpAwA3AwAgAyACNgKcAiADIAc2ApgCIAQQ4w0iAgRAIAIoAgBBE0YNAgsgBw0CQQAhAgJAIAQQ4w0iB0UNACAHKAIAQRVHDQAgBy0ABA0AIAkgBikCADcCACABKAIoIQIgAUElNgIoIAEgASkDQDcDeCAJQQhqIAZBCGopAgA3AgAgCUEQaiAGQRBqKAIANgIAIAMgAjYCuAIgA0G4AmoiDxDHCiAPIAFBARDiEiADQSBqIAMoArgCEK0GIAMoAiQhAiADKAIgIA8QoyYNBAsgASgCfCEHIBggDBD9IiADIAI2AsABQQEhAiADQQE2ApABIAMgBSAHIAUgB0sbNgKcASADIAUgByAFIAdJGzYCmAEMDAsgCSAGKQIANwIAIAEoAighAiABQSU2AiggASABKQNANwN4IAlBCGogBkEIaikCADcCACAJQRBqIAZBEGooAgA2AgAgAyACNgK4AiADQbgCaiICEMcKIAEoAnwhByACIAFBABBQIAMoArgCIg9BB0cEQCADQYACaiIUIApBCGopAwA3AwAgA0GIAmoiFSAKQRBqKQMANwMAIANBkAJqIhYgCkEYaikDADcDACADIAopAwA3A/gBIAMoArwCIRNBKEEIEKsgIgIgEzYCBCACIA82AgAgAiADKQP4ATcDCCACQRBqIBQpAwA3AwAgAkEYaiAVKQMANwMAIAJBIGogFikDADcDACADQQA2AqgBIAMgBSAHIAUgB0sbNgKkASADIAUgByAFIAdJGzYCoAEgAyACNgKUAUECIQIgA0ECNgKQASADIAUgASgCfCIHIAUgB0sbNgKcASADIAUgByAFIAdJGzYCmAEMDAsgAygCvAIhAgwMCyAJIAYpAgA3AgAgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAI2ArgCIANBuAJqIhMQxwogEyABEOoEIAMoArwCIQIgAygCuAIiFUEHRg0DIANB+AJqIgcgCkEYaikDADcDACADQfACaiIWIA8pAwA3AwAgA0HoAmoiDyAUKQMANwMAIAMgCikDADcD4AJBKEEIEKsgIgUgAjYCBCAFIBU2AgAgBSADKQPgAjcDCCAFQRBqIA8pAwA3AwAgBUEYaiAWKQMANwMAIAVBIGogBykDADcDACANQRhqIANBsAJqKQMANwIAIA1BEGogA0GoAmopAwA3AgAgDUEIaiAMKQMANwIAIA0gAykDmAI3AgBBACECIANBADYCkAEgCyATQSQQ+wYaIAMgBTYCuAEMCgsgFyAEEJYLIANBKGogBBC4FCADQQ02AsACIANBsKrgADYCvAIgA0EwOgC4AiADKAIoIAMoAiwgA0G4AmoQgRUhAgJAIAQQ4w0iBEUNACAEKAIAQSRHDQAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASABKAIsEIYMCyADIAI2ApQBDAMLIAMpA6ACEPkaDAkLIAEoAighAiABQSU2AiggASABKQNANwN4IANBnAFqIAZBCGopAgA3AgAgA0GkAWogBkEQaigCADYCACADIAYpAgA3ApQBIAMgAjYCkAEgA0GQAWoQxwogDiABKAJ8IgIgAiAOSxshCiAOIAIgAiAOSRshDCADKAKMASICQThsIQUgAkEBayEIIBpCIIinIQ4gGqchCyADKAKIASECIBFBAXEhDQNAIAVFBEACQCABLQD4AkECRgRAIAEtAPsCQQFxDQELQQAhAiABLQCQA0EBcUUNCAtBACECIAQQ4w0iBEUNByAEKAIAQRdHDQcgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDHCkEBIQIMBwsgAigCACEJAkACQCAIBEAgCUECRw0BIANBOGogAhCsDyADKAI8IQkgAygCOCEHIANBOzoAkAEgASAHIAkgA0GQAWoQ2BkMAQsgCUECRw0AIAIoAgQoAgANASANRQ0AIANBOjoAkAEgASALIA4gA0GQAWoQ2BkLIAJBOGohAiAIQQFrIQggBUE4ayEFDAELCyADQTBqIAIQrA8gAygCNCECIAMoAjAgA0HtADoAkAEgAiADQZABahCBFSECIAQQ4w0iBEUNBCAEKAIAQSRHDQQgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDAQLIAMgAjYClAEgB0UNBQsgA0GYAmoQ4RYgAygClAEhAgwGC0Hl7OAAQShBwKrgABD0FwALQeXs4ABBKEGgquAAEPQXAAsgAEEHNgIAIAAgAjYCBCADQYQBahCJJwwSCyAAIAMpAoQBNwIEIAAgAjoAHCAAQQA2AhggACAMNgIUIAAgCjYCECAAQQM2AgAgAEEMaiADQYwBaigCADYCAAwRCyADKQOgAhD5GgwBCyADKAKUASEHIANByAFqIBlBMBD7BhogAygChAEgCEYEQCADQYQBahDSFyADKAKIASEQCyAQIBJqIgUgAjYCACAFQQRqIAc2AgAgBUEIaiADQcgBakEwEPsGGiADIAhBAWoiCDYCjAEgBBDjDSICBEAgAigCAEEORg0DCyAEEOMNIgIEQCACKAIAQRBGDQILIANBmAFqIAQQlgsgA0EYaiAEELgUIANBqMXgADYClAEgA0E0OgCQASADKAIYIAMoAhwgA0GQAWoQgRUhAiAEEOMNIgRFDQAgBCgCAEEkRw0AIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0FIAEgASgCLBCGDAsgAEEHNgIAIAAgAjYCBCADQYQBahCJJwwOCyALIAYpAgA3AgAgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggC0EIaiAGQQhqKQIANwIAIAtBEGogBkEQaigCADYCACADIAI2ApABIANBkAFqEMcKIAQQ4w0iAg0BCyASQThqIRIMAQsLQQEgESACKAIAQQ5GIgIbIREgASkDeCAaIAIbIRoMAQsLQeXs4ABBKEHcrOAAEPQXAAsgASgCLCEBIABBBzYCACAAIAE2AgQMBwtB5ezgAEEoQdyE4AAQ9BcAC0Hl7OAAQShBzITgABD0FwALIAMoApQBIQULIABBBzYCACAAIAU2AgQgA0HgAGoQiCcMBQtB5ezgAEEoQbyE4AAQ9BcAC0Hl7OAAQShBnIXgABD0FwALIANBnAFqIAQQlgsgAyAEELgUIANBHDYCmAEgA0GsheAANgKUASADQTA6AJABIAMoAgAgAygCBCADQZABahCBFSECAkAgBBDjDSIERQ0AIAQoAgBBJEcNACABIAEpA0A3A3ggASgCKCABQSU2AihBJEYEQCABIAEoAiwQhgwMAQtB5ezgAEEoQciF4AAQ9BcACyAAQQc2AgAgACACNgIEDAILIANB4ABqEKMmDAELIAAgAykCYDcCBCAAIAI6ABwgAEEANgIYIABBATYCACAAQQxqIANB6ABqKAIANgIAIAAgDCABKAJ8IgEgASAMSRs2AhQgACAMIAEgASAMSxs2AhALIANBgANqJAALxCsCF38BfiMAQYADayIDJAACQCABQShqIgQQyg0iBkUEQCABKAKAAiEBIANBADoAkAEgASABIANBkAFqEIEVIQEgAEEHNgIAIAAgATYCBAwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGKAIAIgZBC2sOAwEJAgALIAZBAkcEQCAGQSRHDQkgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0IIAEoAswCIQEgAEEHNgIAIAAgATYCBAwMCyADQcgBaiABIAIQngQgAAJ/IAMtANwBQQJHBEAgA0GsAWogA0HgAWopAwA3AgAgA0GkAWogA0HYAWopAwA3AgAgA0GcAWogA0HQAWopAwA3AgAgAyADKQPIATcClAEgAEEEaiADQZABakEkEPsGGkEADAELIAAgAygCyAE2AgRBBws2AgAMCwsgBBDDICEMIAQQyg0iAkUEQCABKAKAAiEBIANBADoAkAEgASABIANBkAFqEIEVIQEgAEEHNgIAIAAgATYCBAwLCyACKAIAQSRGBEAgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0GIAEoAswCIQEgAEEHNgIAIAAgATYCBAwLCyABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0GcAWogAUHUAmopAgA3AgAgA0GkAWogAUHcAmooAgA2AgAgAyABKQLMAjcClAEgAyACNgKQASADQZABaiICEMYKIANBADYCaCADQoCAgICAATcCYCABQcwCaiEGIAJBBHIhCSADQdABaiEOIANBmAFqIQpBACECAkADQCACIA1yRSACQf7/e0tyIQhBACEFAkACfwJAAkACQANAIAQQyg0iC0UNASADQQA2AuACIAMgCzYC5AIgA0HgAmoQwiMgBBDKDSILBEAgCygCAEEMRg0DCyAIRQRAIANBOzoAkAEgASACIA0gA0GQAWoQxhkLAkAgBBDKDSILRQ0AIAsoAgBBEEcNACAJIAYpAgA3AgAgASgCyAIhCyABQSU2AsgCIAEgASkD4AI3A5gDIAlBCGogBkEIaikCADcCACAJQRBqIAZBEGooAgA2AgAgAyALNgKQASAFQQFqIQUgA0GQAWoQxgoMAQsLIAUEQCADIAU2ArgBIANBBzYCkAEgA0HgAGogA0GQAWoQiwkLIAQQwyAhBSAEEMoNIggEQCAIKAIAQQdGDQMLIANBkAFqIAEQ6QQgAygClAEhBSADKAKQASIIQQdGDQsgDiAKKQMANwMAIA5BGGogCkEYaikDADcDACAOQRBqIApBEGopAwA3AwAgDkEIaiAKQQhqKQMANwMAIAMgBTYCzAEgAyAINgLIASADQeAAaiADQcgBahCAGkEADAMLIAEoAoACIQIgA0EAOgCQASADIAIgAiADQZABahCBFTYC5AIgA0EBNgLgAiADQeACahDCIwsgBBDKDSICRQ0CIAIoAgBBDEcNAiABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgA0GcAWogBkEIaikCADcCACADQaQBaiAGQRBqKAIANgIAIAMgBikCADcClAEgAyACNgKQASADQZABahDGCiABLQCgAkECRgRAIAEtAKMCQQFxDQULQQAhAiABLQC4AkEBcQ0EDA4LIAkgBikCADcCACABKALIAiECIAFBJTYCyAIgASABKQPgAjcDmAMgCUEIaiAGQQhqKQIANwIAIAlBEGogBkEQaigCADYCACADIAI2ApABIANBkAFqIg8QxgogASgCnAMhAiAPIAFBABBRIAMoApABIg1BB0YNByADQcACaiIHIApBCGopAwA3AwAgA0HIAmoiESAKQRBqKQMANwMAIANB0AJqIhIgCkEYaikDADcDACADIAopAwA3A7gCIAMoApQBIRAgASgCnAMhC0EoQQgQqyAiCCAQNgIEIAggDTYCACAIIAMpA7gCNwMIIAhBEGogBykDADcDACAIQRhqIBEpAwA3AwAgCEEgaiASKQMANwMAIANBADYCqAEgAyAFIAIgAiAFSRs2AqQBIAMgBSACIAIgBUsbNgKgASADIAUgCyAFIAtLGyINNgKcASADIAUgCyAFIAtJGyICNgKYASADIAg2ApQBIANB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AEEoQdyE4AAQ9BcAC0Hl7OAAQShBzITgABD0FwALIAMoApQBIQULIABBBzYCACAAIAU2AgQgA0HgAGoQiCcMBQtB5ezgAEEoQbyE4AAQ9BcAC0Hl7OAAQShBnIXgABD0FwALIANBnAFqIAQQkRAgAyAEEIUUIANBHDYCmAEgA0GsheAANgKUASADQTA6AJABIAMoAgAgAygCBCADQZABahCBFSECAkAgBBDKDSIERQ0AIAQoAgBBJEcNACABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRGBEAgASABKALMAhD/CwwBC0Hl7OAAQShByIXgABD0FwALIABBBzYCACAAIAI2AgQMAgsgA0HgAGoQhyUMAQsgACADKQJgNwIEIAAgAjoAHCAAQQA2AhggAEEBNgIAIABBDGogA0HoAGooAgA2AgAgACAMIAEoApwDIgEgASAMSRs2AhQgACAMIAEgASAMSxs2AhALIANBgANqJAALwioDHn8CfgF8IwBBoARrIgIkACAAIAEQuhogAkHYAGogAUGIAWoiAygCADYCACADQQA2AgAgASkCgAEhICABQoCAgICAATcDgAEgASkCjAEhISABQoCAgIDAADcCjAEgAUGUAWoiAygCACEGIANBADYCACACQegAaiAGNgIAIAIgIDcDUCACICE3A2AgAUGMAWohCiABQYABaiEMIABBDGohEyAAKAIQIgcgACgCFEHYAGxqIRQgAkGoAmohFSACQbwDaiERIAJBmAFqIRYDQAJAAkACQAJAAkACQCAUIAciA0cEQCADQdgAaiEHAkAgAygCACIGQQRrQQAgBkEFa0EISRtBAWsOCAcGBQQICAMCAAsgAygCSEEGdCEXIAMoAkQhGkEAIQgDQAJAAn8CQCAIIBdHBEAgCCAaaiIGKAIAQQdHDQMgBkEIaiEJIAZBHGoiEi0AAEECRwRAIAJBQGsgCSkDACAGQRhqKAIAEMAjIAIoAkghBCACKQNAISAgAkHIA2oiDSAJENYbQQAhCyACQQA2ApADIAIgAikD0AM3A6ADIAIgAikDyAM3A5gDIBYgCRDWGyACQRo2ApABIAJBsANqIAkQ1htBACEFIAZBIGooAgAiDwRAEPciIQUgDykCBCEhEPAiIQ4gDSAPKAIAEKgBIA4gDUHYABD7BiENIAUgITcCBCAFIA02AgAL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CGooAgAQxBUgAyACKQLIAzcCACACIAQ6ANQDIANBCGogAkHQA2opAgA3AgAgBykDGBC6IyEhIAIgAzYCgAIgAiAhNwP4ASACICA3A/ABIAJBBDYC6AEMBgsgBygCDCEDQQBBABC+ERCKBCENAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgAygCAEEMayIIIAhBJk8bQQFrDiUBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlAAsgA0EIaiEFIANBBGohBAwlCyADQRRqIQUgA0EQaiEEDCQLIANBFGohBSADQRBqIQQMIwsgAygCICIIQTRqIQUgCEEwaiEEDCILIANBDGohBSADQQhqIQQMIQsgA0EIaiEFIANBBGohBAwgCyADQRBqIQUgA0EMaiEEDB8LIANBNGohBSADQTBqIQQMHgsgA0EkaiEFIANBIGohBAwdCyADQSRqIQUgA0EgaiEEDBwLIANBFGohBSADQRBqIQQMGwsgA0EgaiEFIANBHGohBAwaCyADQRhqIQUgA0EUaiEEDBkLIANBFGohBSADQRBqIQQMGAsgA0EUaiEFIANBEGohBAwXCyADQQhqIgggAygCCEECdCIEQaDx4wBqKAIAaiEFIAggBEGE8eMAaigCAGohBAwWCyADQSBqIQUgA0EcaiEEDBULIANBEGohBSADQQxqIQQMFAsgA0EYaiEFIANBFGohBAwTCyADKAIgIghBKGohBSAIQSRqIQQMEgsgA0EIaiEFIANBBGohBAwRCyADQQhqIQUgA0EEaiEEDBALIANBDGohBSADQQhqIQQMDwsgA0EMaiEFIANBCGohBAwOCyADQRxqIQUgA0EYaiEEDA0LIANBLGohBSADQShqIQQMDAsgA0EIaiEFIANBBGohBAwLCyADKAIEIgRBBGohBQwKCyADQRRqIQUgA0EQaiEEDAkLIANBEGohBSADQQxqIQQMCAsgA0EMaiEFIANBCGohBAwHCyADQQxqIQUgA0EIaiEEDAYLIANBEGohBSADQQxqIQQMBQsgA0EQaiEFIANBDGohBAwECyADQRBqIQUgA0EMaiEEDAMLIANBFGohBSADQRBqIQQMAgsg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B0EFdGo2AqQCIAMgCjYCnAIgB0UNBiANIApBCGopAwA3AwAgCSAKQRBqKQMANwMAIAMgCkEgajYCnAIgAyAKKQMANwPgASADIAooABk2AtgCIAMgCkEcaigAADYA2wIgCi0AGCIHQQJGDQYgBCADKADbAjYAACADQZADaiIFIAkpAwA3AwAgA0GIA2oiBCANKQMANwMAIAMgAykD4AE3A4ADIAMgBzoAmAMgAyADKALYAjYAmQMgA0HAAmogDxC9DSADKQOAAyAFKQMAEJstIAMoAsACQYCAgIB4Rg0GIANBsAJqIANByAJqIgYoAgA2AgAgAyADKQLAAjcDqAIgBCADQaACaikCADcDACADIAMpApgCNwOAAyADQQA2AqgDIANCADcDoAMgAyAIIAtBAnQiC2o2ApwDIAMgDjYCmAMgAyAINgKUAyADIAg2ApADIAMoAoQDIQcgAygCjAMhDCADQfkBaiIKQQNqIQ8DQAJAAkAgByAMRg0AIAMgB0EgaiIFNgKEAyAHLQAYIg5BAkYNACALDQEgBykDACAHKQMQEJstCyADQYADahCnKSADQagCahCmGSEZIABBADYCACAAIBk3AwggA0GIAmoQmiAMCQsgBiAHQQhqKQMAIhs3AwAgA0HQAmogB0EQaikDACIaNwMAIAMgCEEEaiIENgKUAyADIAcpAwAiGTcDwAIgAyAHKAAZNgK4AiADIAdBHGooAAA2ALsCIAgoAgAhByAJIBo3AwAgDSAbNwMAIAogAygCuAI2AAAgDyADKAC7AjYAACADIBk3A+ABIAMgDjoA+AEgA0HYAmogASAHEFYCQAJAAkACQCADKALYAiIODgIBAgALIAAgAykDiAI3AwAgAEEIaiADQZACaikDADcDACADQdgCahCaICADKQPgASADKQPwARCbLSADQYADahCnKSADKAKoAiADKAKsAhDaKQwLCyADIAMpA+ACNwP4AiADQewCaiADQfgCahC9DSADKQP4AhD5GgwBCyADQewCaiADKwPgAhCyAQsgA0GoAmoiCCADKALwAiIHIAMoAvQCEPYdIANBQGsgA0HgAWoQlAwgCCADKAJAIAMoAkQQ9h0gAygC7AIgBxDaKSAOBEAgA0HYAmoQmiALIAMpA+ABIAMpA/ABEJstIAtBBGshCyAEIQggBSEHDAALAAsgAysD+AEhESADKwPoASEQIARBCGsOEBYVFBMSERAPDg0MGRkZGQsZCyAAQQE2AgAgACACKwMYOQMIIAIpAyAQ7SYMAgsgAEEANgIAIAAgAikDEDcDCCACKQMgEO0mDAELIANBOGogAkEIaiIIEJQMAkAgAygCOCADKAI8QeTF3wBBAxCOKgRAIAIoAhggASgCCEYNAQsgA0EwaiAIEJQMAkAgAygCMCADKAI0QbS84ABBCBCOKgRAIAIoAhggASgCCEYNAQsgASgCBCEEIANBIGogASgCACIHKQMAIAdBCGooAgAQwCMgAykDICEZIAMoAighASADIAgpAwAQ/Bo3A/ABIAMgATYC6AEgAyAZNwPgASADQcACaiIFIAQgA0HgAWoQgSQQmiMCQAJAAkAgAygCwAIiBEEERwRAQQIhCyAEQQJJDQEgA0EQaiAHKQMAIAdBCGooAgAQwCMgAygCGCEEIAMpAxAhGyADQYADaiIBIAgQ1hsgAykDgAMhGiADKQOIAyEZIAMgGyAEEMQYNgKgAyADQgA3A5gDIAMgGTcDkAMgAyAaNwOIAyADQQA2AoADIAEQ3xshASAFEJogDAILIABBAjYCACAAIAI2AgQMAgsgAykDyAIhGyADKALEAiEBIAQhCwsgACAbNwMIIAAgATYCBCAAIAs2AgAgAyACNgKAAyADQYADahCmKQsgAykD4AEgAykD8AEQiysMIwsgAEKAgICAgICA+P8ANwMIIABBATYCACAIKQMAEPkaDAELIABCgICAgICAgPz/ADcDCCAAQQE2AgAgCCkDABD5GgsgAigCAEEQayIAQRNLDRxBASAAdEGVqCBxDR4gAEELRg0bDBwLIAAgASACKAIEEFYgAigCAEEQayIAQRNLDRtBASAAdEGVqCBxDR0gAEELRg0aDBsLIAAgAykDiAI3AwAgAEEIaiADQZACaikDADcDACADQZgCahCVFSADQZgBahDoJgsgAigCAEEQayIAQRNLDRlBASAAdEGVqCBxDRsgAEELRw0ZDBgLIAYoAgBBGkYEQCABKAIEIQEgAyAGKQMIIhkgBigCGBDAIyADIBs3A5ADIAMgAygCCDYCiAMgAyADKQMANwOAAyADQeABaiABIANBgANqEIEkEJojAkACQAJAAkAgAygC4AEiAUEDaw4CAAECCyADQeABahCaIAsgACADKQPA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BSAKNwIAIAJB2ANqIgYgCjcCACACIAs3AsADIAIgCzcC0AMgAkEAOgDgAyACQQA2ArgDIAMgBxClIyACQYACaiAFKQIAIg03AwAgAkGQAmogBikCACIMNwMAIAJBsANqIAw3AwAgAiACKQLAAyIMNwP4ASACIAIpAtADIg43A4gCIAJBoANqIA03AwAgAiAONwOoAyACIAw3A5gDIAMgAkGIA2oQ2AsgAkHwA2oiBSACQagDahDYCyACIAJBmANqNgLoAyACQeACaiAKNwMAIAIgCzcD2AIgBCADEMMOIAJB2AJqIAIoAvgBIAJB6AJqEP0hIAIoAtgDQYGAgIB4RwRAIAQgA0EwEPsGGgNAAkAgAkEwaiACQfgBahDcFCACKQMwIgpQDQAgAigCOCEDIAIgCjcD8AIgAiADNgL4AiACQZgDaiACQfACahD0CQRAIAIpA/ACEPkaBSACQdgCaiAKEMAJCwwBCwtCABDtJiACQfgBahC1FAsgAigCkARBgYCAgHhHBEAgAkH4AWogBUEwEPsGGgNAIAJBIGogAkH4AWoQ3BQgAikDICIKUEUEQCACQdgCaiAKEMAJDAELC0IAEO0mIAJB+AFqELUUCyACQYACaiACQeACaikDADcDACACIAIpA9gCNwP4ASACQZgDahDvCiACQcgCaiACQfgBahChByACQbADaiACQdACaikCADcDACACIAIpAsgCNwOoAwJAIAEoAhwiBUUNACACQagDahC2EyEGIAgoAgAiBCkDACAGIAVBAWpBAXYgBSAGKAIMGyAGQRBqEP0hIARBCGohA0J/hUKAgYKEiJCgwIB/gyEKA0AgClBFBEAgBiAEIAp6p0EBdEHwAXFrQRBrKQMAEPwaEMAJIAVBAWshBSAKQgF9IAqDIQoMAQsgBUUNASAEQYABayEEIAMpAwBCf4VCgIGChIiQoMCAf4MhCiADQQhqIQMMAAsACyABKAJMIgMEQCACQagDahC2EyACIAM2AtADIAIgASgCQCIDNgLIAyACIANBCGo2AsADIAIgAyABKAJEakEBajYCxAMgAiADKQMAQn+FQoCBgoSIkKDAgH+DNwO4AyACQbgDahC/DAsgAkEANgLIAyACQcADakHIoOMAKQMANwMAIAJBwKDjACkDADcDuAMgAkHMAWogAkG4AmogAUEwaiACQbgDaiID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IAJBCGogBUEIaigCADYCACACIAUpAgA3AwAgAUEsaiACEKEQIAFBHGogAiACQYABakEsEPsGEKEaCyAEQeAAaiABEOEjDAcLIABBBGogARDXLCAAQQhqIAEQ7iwMBgsgAEEEaiABENcsIABBCGogARDuLAwFCyACQRRqQcig4wApAwAiCDcCACACQQA7AT4gAkEANgI0IAJCgICAgIABNwIsIAJBAToAKCACQQA2AiQgAkKAgICAwAA3AhwgAkEANgIIIAJCgICAgIABNwIAIAJBwKDjACkDACIJNwIMIAIgAS8BPDsBPCACIAEoAjg2AjgCQCAAKAIEIgRBAkYNACAAQQhqIQMgBEEBcUUEQCADIAIQ7ywMAQsgAyACENcsCyACQSxqIQQgAkEcaiEFIABBGGogAhC/JSAAQRxqIAIQvyUgAkGUAWogCDcCACACIAk3AowBIAJBADsBvgEgAiACLwE8OwG8ASACIAIoAjg2ArgBIAJBADYCtAEgAkKAgICAgAE3AqwBIAJBAToAqAEgAkEANgKkASACQoCAgIDAADcCnAEgAkEANgKIASACQoCAgICAATcCgAEgAkGAAWogACgCDBDWICACQawBaiEGAkACQCACKAK0ASIABEAgAkEMaiAAEIQpIAJBxABqIAIoArABIAIoArQBEKEKIAIgAigCRDYCWCACIAIoAkgiADYCUCACIAAgAigCTEEEdCIDaiIHNgJcA0AgA0UNAiACQYABaiAAKQMAIAAoAggQqxEgA0EQayEDIABBEGohAAwACwALIAJB0ABqIgAgAkGAAWpBLBD7BhogBSAAEKEaIAYQjiMMAQsgAiAHNgJUIAJB0ABqEIkXIAItAChFBEAgAiACKAK0ARCWHiACIAIoAqwBNgJYIAIgAigCsAEiADYCUCACIAAgAigCtAFBBHQiA2oiBjYCXANAIAMEQCACIAApAwAgACgCCEEBEJsGIANBEGshAyAAQRBqIQAMAQsLIAIgBjYCVCACQdAAaiIAEIkXIAAgAkGAAWpBLBD7BhogBSAAEKEaDAELIAJB2ABqIAZBCGooAgA2AgAgAiAGKQIANwNQIAQgAkHQAGoiABChECAAIAJBgAFqQSwQ+wYaIAUgABChGgsCQCACKAI0IgAEQCABQQxqIAAQhCkgAkHQAGogAigCMCACKAI0EKEKIAIgAigCUDYCiAEgAiACKAJUIgA2AoABIAIgACACKAJYQQR0IgNqIgU2AowBA0AgA0UNAiACIAApAwAgACgCCBCrESADQRBrIQMgAEEQaiEADAALAAsgAkGAAWoiACACQSwQ+wYaIAFBHGogABChGiAEEI4jDAULIAIgBTYChAEgAkGAAWoQiRcgAS0AKEUEQCABIAIoAjQQlh4gAiACKAIsNgKIASACIAIoAjAiADYCgAEgAiAAIAIoAjRBBHQiA2oiBDYCjAEDQCADBEAgASAAKQMAIAAoAghBARCbBiADQRBrIQMgAEEQaiEADAELCyACIAQ2AoQBIAJBgAFqIgAQiRcgACACQSwQ+wYaIAFBHGogABChGgwFCyACQYgBaiAEQQhqKAIANgIAIAIgBCkCADcDgAEgAUEsaiACQYABaiIAEKEQIAAgAkEsEPsGGiABQRxqIAAQoRoMBAsgAkEUakHIoOMAKQMAIgg3AgAgAkEAOwE+IAJBADYCNCACQoCAgICAATcCLCACQQE6ACggAkEANgIkIAJCgICAgMAANwIcIAJBADYCCCACQoCAgICAATcCACACQcCg4wApAwAiCTcCDCACIAEvATw7ATwgAiABKAI4NgI4IABBBGogAhC5HCAAQQxqIAIQ1ywgAkGUAWogCDcCACACIAk3AowBIAJBADsBvgEgAiACLwE8OwG8ASACIAIoAjg2ArgBIAJBADYCtAEgAkKAgICAgAE3AqwBIAJBAToAqAEgAkEANgKkASACQoCAgIDAADcCnAEgAkEANgKIASACQoCAgICAATcCgAEgAkGAAWogACgCEBDWICACQawBaiEFIAJBLGohBCACQRxqIQYCQAJAIAIoArQBIgAEQCACQQxqIAAQhCkgAkHEAGogAigCsAEgAigCtAEQoQogAiACKAJENgJYIAIgAigCSCIANgJQIAIgACACKAJMQQR0IgNqIgc2AlwDQCADRQ0CIAJBgAFqIAApAwAgACgCCBCrESADQRBrIQMgAEEQaiEADAALAAsgAkHQAGoiACACQYABakEsEPsGGiAGIAAQoRogBRCOIwwBCyACIAc2AlQgAkHQAGoQiRcgAi0AKEUEQCACIAIoArQBEJYeIAIgAigCrAE2AlggAiACKAKwASIANgJQIAIgACACKAK0AUEEdCIDaiIFNgJcA0AgAwRAIAIgACkDACAAKAIIQQEQmwYgA0EQayEDIABBEGohAAwBCwsgAiAFNgJUIAJB0ABqIgAQiRcgACACQYABakEsEPsGGiAGIAAQoRoMAQsgAkHYAGogBUEIaigCADYCACACIAUpAgA3A1AgBCACQdAAaiIAEKEQIAAgAkGAAWpBLBD7BhogBiAAEKEaCwJAIAIoAjQiAARAIAFBDGogABCEKSACQdAAaiACKAIwIAIoAjQQoQogAiACKAJQNgKIASACIAIoAlQiADYCgAEgAiAAIAIoAlhBBHQiA2oiBTYCjAEDQCADRQ0CIAIgACkDACAAKAIIEKsRIANBEGshAyAAQRBqIQAMAAsACyACQYABaiIAIAJBLBD7BhogAUEcaiAAEKEaIAQQjiMMBAsgAiAFNgKEASACQYABahCJFyABLQAoRQRAIAEgAigCNBCWHiACIAIoAiw2AogBIAIgAigCMCIANgKAASACIAAgAigCNEEEdCIDaiIENgKMAQNAIAMEQCABIAApAwAgACgCCEEBEJsGIANBEGshAyAAQRBqIQAMAQsLIAIgBDYChAEgAkGAAWoiABCJFyAAIAJBLBD7BhogAUEcaiAAEKEaDAQLIAJBiAFqIARBCGooAgA2AgAgAiAEKQIANwOAASABQSxqIAJBgAFqIgAQoRAgACACQSwQ+wYaIAFBHGogABChGgwDCyACQRRqQcig4wApAwAiCDcCACACQQA7AT4gAkEANgI0IAJCgICAgIABNwIsIAJBAToAKCACQQA2AiQgAkKAgICAwAA3AhwgAkEANgIIIAJCgICAgIABNwIAIAJBwKDjACkDACIJNwIMIAIgAS8BPDsBPCACIAEoAjg2AjggAEEEaiACELkcIABBDGogAhDXLCACQZQBaiAINwIAIAIgCTcCjAEgAkEAOwG+ASACIAIvATw7AbwBIAIgAigCODYCuAEgAkEANgK0ASACQoCAgICAATcCrAEgAkEBOgCoASACQQA2AqQBIAJCgICAgMAANwKcASACQQA2AogBIAJCgICAgIABNwKAASACQYABaiAAKAIQENYgIAJBrAFqIQUgAkEsaiEEIAJBHGohBgJAAkAgAigCtAEiAARAIAJBDGogABCEKSACQcQAaiACKAKwASACKAK0ARChCiACIAIoAkQ2AlggAiACKAJIIgA2AlAgAiAAIAIoAkxBBHQiA2oiBzYCXANAIANFDQIgAkGAAWogACkDACAAKAIIEKsRIANBEGshAyAAQRBqIQAMAAsACyACQdAAaiIAIAJBgAFqQSwQ+wYaIAYgABChGiAFEI4jDAELIAIgBzYCVCACQdAAahCJFyACLQAoRQRAIAIgAigCtAEQlh4gAiACKAKsATYCWCACIAIoArABIgA2AlAgAiAAIAIoArQBQQR0IgNqIgU2AlwDQCADBEAgAiAAKQMAIAAoAghBARCbBiADQRBrIQMgAEEQaiEADAELCyACIAU2AlQgAkHQAGoiABCJFyAAIAJBgAFqQSwQ+wYaIAYgABChGgwBCyACQdgAaiAFQQhqKAIANgIAIAIgBSkCADcDUCAEIAJB0ABqIgAQoRAgACACQYABakEsEPsGGiAGIAAQoRoLAkAgAigCNCIABEAgAUEMaiAAEIQpIAJB0ABqIAIoAjAgAigCNBChCiACIAIoAlA2AogBIAIgAigCVCIANgKAASACIAAgAigCWEEEdCIDaiIFNgKMAQNAIANFDQIgAiAAKQMAIAAoAggQqxEgA0EQayEDIABBEGohAAwACwALIAJBgAFqIgAgAkEsEPsGGiABQRxqIAAQoRogBBCOIwwDCyACIAU2AoQBIAJBgAFqEIkXIAEtAChFBEAgASACKAI0EJYeIAIgAigCLDYCiAEgAiACKAIwIgA2AoABIAIgACACKAI0QQR0IgNqIgQ2AowBA0AgAwRAIAEgACkDACAAKAIIQQEQmwYgA0EQayEDIABBEGohAAwBCwsgAiAENgKEASACQYABaiIAEIkXIAAgAkEsEPsGGiABQRxqIAAQoRoMAwsgAkGIAWogBEEIaigCADYCACACIAQpAgA3A4ABIAFBLGogAkGAAWoiABChECAAIAJBLBD7BhogAUEcaiAAEKEaDAILIABBCGogARD7AgwBCyAAQQRqIAEQ1ywLIAJBwAFqJAALhSMCF38IfiMAQbACayIDJAACQAJAIAIoAgQiBSACKAIIIgRB//0DEOUYRQ0AQQMgBEGcy9gAEPcgGgJAIARBBE8EQCAFLAADQb9/Sg0BDAMLIARBA0cNAiACQQA2AggMAQsgAkEANgIIIAUgBUEDaiAEQQNrIgQQ2i0aIAIgBDYCCAtBFEEEEKsgIg5CgYCAgBA3AgAgDiACKQIANwIIIA5BEGogAkEIaigCADYCACABIAEoAgAiAkEBajYCACADIAE2AiwCQCACQQBIDQAgASICKAIIIhdBAkYEQCAAKAJQIhggACgCVEEYbGohEyADQbkBaiEVIANB+QFqIRQgAigCFCEPIAIoAhAhEQJAA0AgGCATIgxHIhlFBEAgA0HwAWogESAPEP0TDAILIAxBEGsoAgAhAkEAIQggDwRAIBEtAABBL0YhCAsgDEEUaygCACEEIAxBGGshEyADIAIEfyAELQAAQS9GBUEACzoAzgFBBiEFIANBBjoAuAEgAyACNgK0ASADIAQ2ArABIANBgAQ7AcwBQQAhCkECIQkgDyEEIBEhBgJAA0AgBUH/AXEiDUEGRiIQRQRAIANBpwFqIANB1wBqKAAANgAAIANBoAFqIANB0ABqKQAANwMAIAMgAykASDcDmAELIBQgAykDmAE3AAAgFEEIaiISIANBoAFqKQMANwAAIBRBD2oiFiADQacBaigAADYAACADIAU6APgBIAMgBDYC9AEgAyAGNgLwASADIAg6AI4CIAMgCToAjQIgAyAKOgCMAiADQeAAaiADQfABahCCAyADQfwAaiADQbABahCCAyADLQB8IQICQAJAAkAgAy0AYCILQQpGBEAgAkEKRg0BDAMLIAJBCkcNAQsgA0E/aiICIANB1wBqKAAANgAAIANBOGoiCyADQdAAaikDADcDACADIAMpA0g3AzBBACEHIAhBAkYNAyAQRQRAIANB/wFqIAIoAAA2AAAgA0H4AWogCykDADcDACADIAMpAzA3A/ABCyAVIAMpA/ABNwAAIBVBCGogA0H4AWopAwA3AAAgFUEPaiADQf8BaigAADYAACADIAU6ALgBIAMgBDYCtAEgAyAGNgKwASADIAg6AM4BIAMgCToAzQEgAyAKOgDMAQJAIApBAkcEQCAGIQcMAQsgBEUEQEEAIQQgBiEHDAULAkACQAJAIA1BA08EQCAGIQcDQEEAIQICfwNAQQEgAiAHai0AAEEvRg0BGiAEIAJBAWoiAkcNAAsgBCECQQALIQUCQAJAIAIOAgEABQsgBy0AAEEuRw0ECyACIAVqIgIgBE0EQCACIAdqIQcgBCACayIEDQEMAwsLIAIgBEHMsdgAEK0QAAsgBCAGaiEHA0BBACECAkADQCACIAZqLQAAQS9GDQEgBCAC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QQI2AqABIAMgA0GgAWo2AvABIAMgA0GQAWo2AugBIANB7ABqIANB4AFqEPAkGgwRCyAMDQcgCkEBcUUEQCADQewAaiABEOsPDBELIANBzAA2ApQBIAMgATYChAEgA0EBNgL0ASADQQI2AuQBIANBsODYADYC4AEgA0EBNgLsASADIANBhAFqNgKQASADQQM6ALwBIANBCDYCuAEgA0IgNwKwASADQoCAgIDAADcCqAEgA0ECNgKgASADIANBoAFqNgLwASADIANBkAFqNgLoASADQewAaiADQeABahDwJBoMEAsgDQ0LIANB7ABqIAEQ6w8MDwsgA0HgAWoiASADKAJwIAMoAnRBJ0GW4dgAENAGIANBBTYClAEgA0ECNgKkASADQZjh2AA2AqABCyADQgE3AqwBIAMgATYCkAEgAyADQZABajYCqAEgA0HgAGogA0GgAWoQgBUgAygC4AEgAygC5AEQ2ikgAygCbCADKAJwENopIAItAFBFDQggAygCZCEEIAMoAmghASADQQg2AnggAyABNgL8ASADIAQ2AvgBIANBADYC8AEgAyABIARqNgLsASADIAQ2AugBIANBAjYC4AEgAyADQfgAajYC9AEgA0EQaiADQegBaiIFEOUGIAMgAygCFDYC5AEgAyADKAIQIgY2AuABIAZBAXEEQCADQQhqIAEQ/xQgAygCCCEHIAMoAgwiBiAEIAEQ+wYhBCADIAE2ApgBIAMgBDYClAEgAyAHNgKQASADQbgBaiADQfgBaikCADcDACADQbABaiADQfABaikCADcDACADQagBaiIHIAUpAgA3AwAgAyADKQLgATcDoAEgA0EANgLAAQNAIAMoAqABIQQgA0ECNgKgAQJ/IARBAkcEQCADKAKkAQwBCyADIAcQ5QYgAygCACEEIAMoAgQLIQUgBEUNByADIAMoAsABIghBAWoiBDYCwAECQCAEIAVqIgRFDQAgASAESwRAIAQgBmosAABBv39KDQEMCwsgASAERw0KCyADKAKQASABRgRAIANBkAFqIAFBARDWCiADKAKUASEGCyAEIAZqIgRBAWogBCAFIAhqQX9zIAFqENotGiAEQdwAOgAAIAMgAUEBaiIBNgKYAQwACwALQYCAgIB4IQUgBAwGCyADQeABaiIBEMkeGiABEKIdIQEMCQsgA0EBNgKkASADQeTf2AA2AqABIANCATcCrAEgA0HgATYC5AEgAyABOgCQASADIANB4AFqNgKoASADIANBkAFqNgLgASADQewAaiADQaABahDwJBoMCwsgA0EBNgKkASADQYjf2AA2AqABIANCATcCrAEgA0HgATYC5AEgAyABOgCQASADIANB4AFqNgKoASADIANBkAFqNgLgASADQewAaiADQaABahDwJBoMCgsgA0HsAGogARDrDwwJCyADIAFBgIAEa0EKdkGAsANqNgKMASADIAFB/wdxQYC4A3I2AoQBIANBzAA2ApwBIANBzAA2ApQBIANBAjYC9AEgA0ECNgLkASADQYTh2AA2AuABIAMgA0GEAWo2ApgBIAMgA0GMAWo2ApABIANBAzoA3AEgA0EINgLYASADQqCAgIAQNwLQASADQoCAgIDAADcCyAEgA0ECNgLAASADQQM6ALwBIANBCDYCuAEgA0IgNwKwASADQoCAgIDAADcCqAEgA0ECNgKgASADIANBoAFqNgLwASADQQI2AuwBIAMgA0GQAWo2AugBIANB7ABqIANB4AFqEPAkGgwICyADKAKQASEFIAMoAmQhBCADKAKUAQsiBiABQeC54ABBBEHkueAAQQcQrgsgA0HgAWogAygCpAEiASADKAKoAUHrueAAQQNB7rngAEEGEK4LIAMoAmAgBBDaKSADQegAaiADQegBaigCADYCACADIAMpAuABNwNgIAMoAqABIAEQ2ikgBSAGELYkDAELQbjd2ABBLEHk3dgAEPQXAAsgA0GgAWogAkEAQQAgAygCZCIBIAMoAmgQkw8CQCADLQCgAUEERwRAIAMpA6ABIg5C/wGDQgRSDQELIAMoAmAgARDaKSAAQQQ6AAAMBwsgACAONwIAIAMoAmAgARDaKQwGCyADQQE2AqQBIANBiN/YADYCoAEgA0IBNwKsASADQeABNgLkASADIAE6AJABIAMgA0HgAWo2AqgBIAMgA0GQAWo2AuABIANB7ABqIANBoAFqEPAkGgwDCwJAAkACQAJAIAEEQCABKAIAQSByQeQARg0BCyAJDQEgA0HsAGpB3AAQ6w8MBgsgA0EANgKoASADQoCAgIAQNwKgASADQaABaiIEQdwAEOsPIARB9QAQ6w8gCQ0BDAILIANB7ABqQZDg2ABBAhD2HQwECyADQaABakH7ABDrDwsgA0Gg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BUHI6+AAENQmAAsgA0GUAWogC0HQAGoiBkEIaigCACIENgIAIANBiAFqIAQ2AgAgAyAGKQIAIhw3AowBIAMgHDcDgAEgA0EKNgLAASAIIAEoAgQgBSADQYABaiADQcABahCaDwwDCyADQUBrIAkgCkE6EOwGQQEhBSADKAJAQQFGBEAgA0EgaiAJIAogAygCRCIBQbytxAAQqBUgA0GAAWogAygCICADKAIkELoRIANBGGogCSAKIAFBAWpBzK3EABDJFCADQcABaiADKAIYIAMoAhwQuhEgAzUCiAEgAzUCwAFCIIaEIRwgAykCxAEhHSADKAKEASEHIAMoAoABIQEgA0HgAGoMAgsgA0E4aiAJIApBPRDsBiADKAI4QQFGBEAgA0EwaiAJIAogAygCPCIBQdytxAAQqBUgA0GAAWogAygCMCADKAI0ELoRIANBKGogCSAKIAFBAWpB7K3EABDJFCADQcABaiADKAIoIAMoAiwQuhEgAzUCiAEgAzUCwAFCIIaEIRwgAykCxAEhHSADKAKEASEHIAMoAoABIQFBACEFIANB4ABqDAILIANBwAFqIAkgChC6ESADKQLEASEcIAMoAsABIQdBACEFQYGAgIB4IQEgA0HgAGoMAQsgA0EQaiAJIAogB0GcrcQAEKgVIANBgAFqIAMoAhAgAygCFBC6EUECIQUgA0EIaiAJIAogB0ECakGsrcQAEMkUIANBwAFqIAMoAgggAygCDBC6ESADNQKIASADNQLAAUIghoQhHCADKQLEASEdIAMoAoQBIQcgAygCgAEhASADQeAAagshBiADQaABaiIEIAZBCGooAgAiCTYCACADQawBaiALQdgAaigCADYCACAIIAU6ABwgCCAdNwIUIAggHDcCDCAIIAc2AgggCCABNgIEIAggBikCACIcNwIgIANBuAFqIAk2AgAgAyALKQJQNwKkASAIQShqIAQpAwA3AgAgCEEwaiADQagBaikDADcCACADIBw3A7ABIAMgHDcDmAEgCEEiNgIAIAggE0HQAEY6ADgLIBEgESgCAEEBajYCACADQYACaiQAIAIoAqQCIQEgAkGYAWoiBSACQagCakE4EPsGGiABQSJGDQQgAigC4AIhBiAAQQRqIAVBOBD7BhogACAGNgI8DAULIAJBmANqIAEQ6AogAkGcAmogAkGsA2ooAgA2AgAgAkGQAmogAkEYaigCADYCACACIAIpAqQDNwKUAiACIAIpAxA3A4gCIAJBIDYCmAEgAkGkAmoiBSABKAIEIAEoAgggAkGIAmogAkGYAWoQmg8gACAFQcAAEPsGGgweC0EBIAN0QeubgIABcUUNBgwHCyAELQBlRQRAIAJBmANqIAEQ6AogAkGcAmogAkGsA2ooAgA2AgAgAkGQAmogAkEYaigCADYCACACIAIpAqQDNwKUAiACIAIpAxA3A4gCIAJBIDYCmAEgAkGkAmoiBSABKAIEIAEoAgggAkGIAmogAkGYAWoQmg8gACAFQcAAEPsGGgwdCyACQSBqIQYjAEEgayIFJAACQAJAIAEoAgAiBC0AZQRAIAEQwQxBMEkNASABEMEMQThPDQEgBCkCVCEcIAQoAlAhAwNAIAEQ+AhFDQMgARDBDEEwSQ0DIAEQwQxBN0sNAyAEKAJQIANrQQNJDQALDAILQZioxABBJUHAqMQAEPQXAAtB0KjEAEE6QYypxAAQ9BcACyAEKQJUIR0gBUEIaiABKAIEIAEoAgggAyAEKAJQIgFBnKnEABD2DSAFQRRqIAUoAgggBSgCDEEIEMgEAkACQCAFLQAUQQFHBEAgBSgCGCIEQYCwA3NBgIDEAGtB/4+8f00NASAGQQM6ABwgBiAdNwIUIAYgATYCECAGIBw3AgggBiADNgIEIAYgBDYCACAFQSBqJAAMAgsgBSAFLQAVOgAfQaypxABBEiAFQR9qQbyexABBwKnEABDFDgALQdCpxABBFEHkqcQAELsSAAsgAkEsaiACQRhqKAIANgIAIABCooCAgKCAgICAfzcCACAAQRhqIAJBMGopAgA3AgAgAEEgaiACQThqKQIANwIAIAIgAikDEDcCJCAAIAIpAiA3AgggAEEQaiACQShqKQIANwIADBwLIAJBADYCpAIgAkEMakHQp8QAIAJBpAJqQdSnxAAQ8RoACyACQeAAaiIFIAJBmAFqQTgQ+wYaIAJBhAFqIAJBGGooAgA2AgAgAiACKQMQNwJ8IABBBGogBUE4EPsGGgsgACABNgIADBkLIAJByABqIgMgASkDADcDACACQdAAaiAFKQMAIhw3AwAgAkHYAGogBikDACIdNwMAIAJBzABqIAJBGGooAgA2AgAgAiACKQOYATcDQCAAQYKAgIB4NgIEIABBGGogHDcCACAAQSBqIB03AgAgAiACKQMQNwJEIAAgAikDQDcCCCAAQRBqIAMpAwA3AgALIAAgBDYCAAwXCyAFQdsAa0EESSAFQfsAa0EESXINACAFQTBrQQpJIAVB/wBLciAFQcEAa0EaSSAFQeEAa0EaSXJyRSAFQf0AcUE8R3ENAiAFQTxrDgcPBBAEBAsOAQsgACACKQPwATcCDCAAQQE6ACQgACAFNgIIIABCooCAgKCAgICAfzcCACAAQRxqIAJBgAJqKQMANwIAIABBFGogAkH4AWopAwA3AgAMFQsCQCAFQfIAaw4JCAMGAwkDAwMLAAsgBUHhAGsOBgMLAgICBAELIAAgAikD8AE3AgwgAEECOgAkIAAgBTYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADBMLIAVB7gBGDQQLIAJBCzYCmAEgAkGkAmoiBSABKAIEIAEoAgggAkHwAWogAkGYAWoQmg8gACAFQcAAEPsGGgwRCyAAIAIpA/ABNwIMIABBBjsBJCAAQQc2AgggAEKigICAoICAgIB/NwIAIABBHGogAkGAAmopAwA3AgAgAEEUaiACQfgBaikDADcCAAwQCyAAIAIpA/ABNwIMIABBhgI7ASQgAEEMNgIIIABCooCAgKCAgICAfzcCACAAQRxqIAJBgAJqKQMANwIAIABBFGogAkH4AWopAwA3AgAMDwsgACACKQPwATcCDCAAQYYEOwEkIABBCTYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADA4LIAAgAikD8AE3AgwgAEGGBjsBJCAAQQo2AgggAEKigICAoICAgIB/NwIAIABBHGogAkGAAmopAwA3AgAgAEEUaiACQfgBaikDADcCAAwNCyAAIAIpA/ABNwIMIABBhgg7ASQgAEENNgIIIABCooCAgKCAgICAfzcCACAAQRxqIAJBgAJqKQMANwIAIABBFGogAkH4AWopAwA3AgAMDAsgACACKQPwATcCDCAAQYYKOwEkIABBCzYCCCAAQqKAgICggICAgH83AgAgAEEcaiACQYACaikDADcCACAAQRRqIAJB+AFqKQMANwIADAsLIAAgAikD8AE3AgggAEECOgAgIABCooCAgLCAgICAfzcCACAAQRhqIAJBgAJqKQMANwIAIABBEGogAkH4AWopAwA3AgAMCgsgACACKQPwATcCCCAAQQM6ACAgAEKigICAsICAgIB/NwIAIABBGGogAkGAAmopAwA3AgAgAEEQaiACQfgBaikDADcCAAwJCyACQZgCaiIKIAJBgAJqKQMANwMAIAJBkAJqIgsgAkH4AWopAwA3AwAgAiACKQPwATcDiAJBBCEFIAEoAggiAyAGKAIARg0HIAEQwQxB+wBHDQcgAiABEMEMIgc2AuQCIAdB+wBHDQQgAkHwAmogBkEIaiIHKAIANgIAIAIgBikCADcD6AIgARC3Hg0DIAJBrANqIAcoAgA2AgAgAkGgA2ogAkEYaigCADYCACACIAIpAxA3A5gDIAIgBikCADcCpAMgAkEeNgKYASACQaQCaiABKAIEIAMgAkGYA2ogAkGYAWoQmg8MBgsgACACKQPwATcCCCAAQQU6ACAgAEKigICAsICAgIB/NwIAIABBGGogAkGAAmopAwA3AgAgAEEQaiACQfgBaikDADcCAAwHCyAAIAIpA/ABNwIIIABBCDoAICAAQqKAgICwgICAgH83AgAgAEEYaiACQYACaikDADcCACAAQRBqIAJB+AFqKQMANwIADAYLIAAgAikD8AE3AgggAEEJOgAgIABCooCAgLCAgICAfzcCACAAQRhqIAJBgAJqKQMANwIAIABBEGogAkH4AWopAwA3AgAMBQsgAkGAA2ogBygCADYCACACIAYpAgA3A/gCIAEQwQwiB0EtRiAHQd///wBxQcEAa0EaSXJFBEAgBiACKQPoAjcCACAGQQhqIAJB8AJqKAIANgIADAQLIAIgBEFAa0Hkp8QAEL8dIAIoAgQhBCACKAIAIgdBADYCCANAAkACQAJAAkAgBigCACADRg0AIAEQwQwiCEEtRiAIQd///wBxQcEAa0EaSXINAyAGKAIAIANGDQAgARDBDEH9AEYNAQsgAkGsA2ogBkEIaigCADYCACACQaADaiACQfACaigCADYCACACIAIpA+gCNwOYAyACIAYpAgA3AqQDIAJBHDYCmAEMAQsgAkGQA2ogBkEIaigCADYCACACIAYpAgA3A4gDIAEQ+AgaIAcoAgQiCCAHKAIIIglBobPEAEEFEOsfBEBBBiEHDAULIAggCUGms8QAQQMQ6x8E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QfgCahCaCkUEQCACQcADaiIGIAJBiANqKQMANwMAIAJBuANqIgMgDikDADcDACACIAIpA/gCNwOwAyAFEIElIAVCADcDACAFIAIpA7ADNwMIIAVBEGogAykDADcDACAFQRhqIAYpAwA3AwAMBAsgAikD+AIQ+RoMAwsgAigCtAEgBUEQahD7BRoMAgsgAigCtAEgBUEQahD7BRoMAQsgFiACQZABahCXJAwNCyAFQcgAaiEFIARByABrIQQMAAsACyACQRRqENkXIAJBCGogABDaFyABEIonIAFBCGogAkEQaigCADYCACABIAIpAgg3AgAgAkHwA2okAA8LIAIoAowBIQcgAigCiAEhCgJAAkACQAJAIAIoAmAOAwECAAwLIAIoAmQiBCgCCCEGIARBADYCCCAEKAIEIQMgBEEINgIEIAQoAgAhCCAEQQA2AgAgAkEANgLAASACQoCAgICAATcCuAEgBiEFIAMhBANAIAVFDQMgAkHAAmoiDSAEQTgQ+wYaIAJBsANqIhsgDUE4EPsGGiACIAJBuAFqNgLsAyACIAJBkAFqIhw2AugDIBsgAkHoA2oQyAkgAigC4AMiDQRAIA0gHBD4AgsgAkH4AmoiDSACQbADakE4EPsGGiAFQQFrIQUgBCANQTgQ+wZBOGohBAwACwALIAJBuAFqIgQgDxDZFSACIBkQtRMiAzYC6AMgAyACQZABaiIFENMFIAJBwAJqIAQQ1hsCQCACKAK0ASAEEPsFRQRAIAJBsANqIgggBBDWGyACQegDahC1EyEGIBIgAikDsAM3AgAgEkEIaiACQbgDaikDADcCACASQRBqIAJBwANqKQMANwIAIAItAIQBIQMgAkHYAGoQsAggDCACKQKIAjcCACAMQQhqIAJBkAJqKQIANwIAIAxBEGogAkGYAmopAgA3AgAgDEEYaiACQaACaigCADYCACACQQA2AmggAkERNgJgIAJBCTYCWCACIAM6AIwBIAIgBjYCiAFB0ABBCBCrICEDIAJB+AJqIAQQ2RUgA0IANwMAIANCADcDICADQgA3A0AgA0HIAGpBADoAACADIAIpA/gCNwMIIANBEGogDikDADcDACADQRhqIAJBiANqKQMANwMAIAMgAikDwAI3AyggA0EwaiACQcgCaikDADcDACADQThqIAJB0AJqKQMANwMAIAtCADcDACALQQhqQQA6AAAgAiADNgK4AyACQQE2ArwDIAIgCjYCwAMgAiAHNgLEAyACQoKAgIAQNwOwAyAFIAgQ/RkMAQsgAikDiAEhHSACQbADaiACQbgBahDZFSACQegDahC1EyEGIBEgAikDsAM3AgAgEUEIaiACQbgDaikDADcCACARQRBqIAJBwANqKQMANwIAIAItAIQBIQMgAkHYAGoQsAggCSACKQLQATcCACAJQQhqIAJB2AFqKQIANwIAIAlBEGogAkHgAWopAgA3AgAgCUEYaiACQegBaigCADYCACACQQA2AmAgAkEBNgJYIAIgHTcDiAEgAiADOgCEASACIAY2AoABIAIpA8ACEPkaCyACQegDahCNFiACKQO4ARD5GgwLCyACQcACaiIEIA8Q2RVByABBBBDXIiIDQgA3AjAgA0GAgICAeDYCGCADQgQ3AhAgA0IANwIIIANCgICAgIABNwIAIANBOGpCADcCACADQT5qQgA3AQAgAigCgAEhBiACIAM2AoABIAYgAkGQAWoiBRC4FSACQfgCaiAEENYbIAIoArQBIAQQ+wVFBEAgAkGwA2oiCCAEENYbIBQgAikDsAM3AgAgFEEIaiACQbgDaikDADcCACAUQRBqIAJBwANqKQMANwIAIAItAIQBIQMgAkHYAGoQsAggDCACKQKkAjcCACAMQQhqIAJBrAJqKQIANwIAIAxBEGogAkG0AmopAgA3AgAgDEEYaiACQbwCaigCADYCACACQQE2AmggAkERNgJgIAJBCTYCWCACIAM6AIwBIAIgBjYCiAFB0ABBCBCrICIDQgA3AwAgA0IANwMgIANCADcDQCADIAIpA8ACNwMIIANBEGogAkHIAmopAwA3AwAgA0EYaiACQdACaikDADcDACADIAIpA/gCNwMoIANBMGogDikDADcDACADQThqIAJBiANqKQMANwMAIANByABqQQA6AAAgAiAHNgLEAyACIAo2AsADIAJBATYCvAMgAiADNgK4AyACQoKAgIAQNwOwAyALQQhqQQA6AAAgC0IANwMAIAUgCBD9GQwLCyATIAIpA8ACNwIAIBNBCGogAkHIAmopAwA3AgAgE0EQaiACQdACaikDADcCACACLQCEASEDIAIpA4gBIR0gAkHYAGoQsAggCSACKQLsATcCACAJQQhqIAJB9AFqKQIANwIAIAlBEGogAkH8AWopAgA3AgAgCUEYaiACQYQCaigCADYCACACQQE2AmAgAkEBNgJYIAIgHTcDiAEgAiADOgCEASACIAY2AoABIAIpA/gCEPkaDAoLIAIoAsABBEAgCRDkFiEEIAIgBjYCuAMgAiADNgK0AyACIAg2ArADIAIgBCkCDDcCvAMgAiAEKAIUNgLEAyACIAQvARg7AcgDIAJBsANqIgYQ1xYhAyACQdgAahCwCCACIAM2AmwgAkECNgJoIAJBETYCYCACQQk2AlggBBDtKCAVQQhqIAJBwAFqKAIANgIAIBUgAikCuAE3AgAgC0IANwMAIAtBCGpBADoAACACIAc2AsQDIAIgCjYCwAMgAkECNgKwAyACQZABaiAGEP0ZDAoLIAkQ5BYhBCACIAY2ArgDIAIgAzYCtAMgAiAINgKwAyACIAQpAgw3ArwDIAIgBCgCFDYCxAMgAiAELwEYOwHIAyACQbADahDXFiEDIAJB2ABqELAIIAIgBzYCjAEgAiAKNgKIASACIAM2AmQgAkECNgJgIAJBATYCWCAEEO0oIAJBuAFqEIojDAkLIBcgAkGQAWoQzgQMCAsgAigCtAEgDxD7BRoMBwsgAigCXCACQZABahD4AgwGCyACKAK0ASACKAJcQShqEPsFGgwFCyAPIAJBkAFqEJckDAQLIAIoAlwgAkGQAWoQ+AIMAwsCQAJAIAIoAmBBAWsOAgEEAAsgAkGQAWogDxDTDAwDCyAPIAJBkAFqEOkfDAILIAIoAnANASACKAJkQdAAbCENQQAhBSACKAJgIQQDQAJAIAUgDUcEQAJAAkACQEICIAQgBWoiBykDACIeQgJ9Ih0gHUICWhunQQFrDgIBAgALIAdBCGogAigCtAEQoiMMAwsgAigCtAEgB0EIahD7BRoMAgsCQAJAIAdBIGoiCikDAEICUQRAIAdBCGohCCACAn4gHqdBAXFFBEAgDiAIENYbQgAMAQsgB0EUaigCACEGIAdBEGooAgAhAyAIKQMAEPwaIR4gAiAHQRhqKQMAIh1QBH5CAAUgHRD8Ggs3A5ADIAIgBjYCjAMgAiADNgKIAyACIB43A4ADQgELIh03A/gCIAcoAgANAiACKAK0ASAIEPsFDQIgHVAEQCAIIA4QmgoNAgsgCyACQZADaikDADcDACACQcADaiIGIAJBiANqKQMANwMAIAJBuANqIgMgDikDADcDACACIAIpA/gCNwOwAyAKEIElIApBGGogCykDADcDACAKQRBqIAYpAwA3AwAgCkEIaiADKQMANwMAIAogAikDsAM3AwAMBAsgByACKAK0ARCiIwwDCyACQfgCahCMIAwCCyACQfgCahCMIAwBCyAWIAJBkAFqEJckDAMLIAVB0ABqIQUMAAsACyACQZABaiAXEJoECyACQbADaiIDIAJB2ABqQTgQ+wYaIAJBCGoiBCADEP0ZIAQgAkGQAWoiAxDaFyADENcpDAALAAvYFwIKfwV+IwBBQGoiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAAQQFrDgUAAQIDBQQLIAJBCGoiBSABKAIAQY294ABBiL3gACAALQABIgAbQQRBBSAAGxDyJCAFEOYYIQEMDAsCQAJAAkAgACgCCEEBaw4CAQIAC0EUIQMgACkDECINQpDOAFQEQCANIQwMDQsDQCACQQhqIANqIgBBBGsgDSANQpDOAIAiDEKQzgB+faciBUH//wNxQeQAbiIEQQF0QbSL2ABqLwAAOwAAIABBAmsgBSAEQeQAbGtB//8DcUEBdEG0i9gAai8AADsAACADQQRrIQMgDUL/wdcvViAMIQ0NAAsMDAtBFCEDIAApAxAiDiAOQj+HIgyFIAx9Ig1CkM4AVARAIA0hDAwLCwNAIAJBCGogA2oiAEEEayANIA1CkM4AgCIMQpDOAH59pyIFQf//A3FB5ABuIgRBAXRBtIvYAGovAAA7AAAgAEECayAFIARB5ABsa0H//wNxQQF0QbSL2ABqLwAAOwAAIANBBGshAyANQv/B1y9WIAwhDQ0ACwwKCyAAKQMQIgxC////////////AINC//////////f/AFgEQCAMQv////////8HgyENIAxCNIinIQAgDEIAUw0FIAJBCGohBQwJCyACQQhqIgAgASgCAEHItuAAQQQQ8iQgABDmGCEBDAsLIAEoAgAgACgCCCAAKAIMEJUcIQEMCgsgASAAQQRqEPcKIQEMCQsgASgCABCWHCEBDAgLIAJBCGogASAAKAIMIgEQog0gAi0ADCIKQQNGDQEgAigCCCEJIAAoAgghAyACIAFBACAAKAIEIgAbIgs2AiggAiADNgIkIAIgADYCICACQQA2AhwgAiAAQQBHIgg2AhggAiADNgIUIAIgADYCECACQQA2AgwgAiAINgIIQQAhAANAIAtFDQQgAiALQQFrIgs2AigCQCAIRSAAckUEQCACKAIQIQADQCADBEAgA0EBayEDIAAoApgDIQAMAQUgAkIANwIQIAIgADYCDEEBIQhBACEDDAMLAAsACyAIRQ0ECyACKAIQIQECQANAIAMgAC8BkgNJDQEgACgCiAIiBQRAIAFBAWohASAALwGQAyEDIAUhAAwBCwtB7I3YABDgKQALIANBAWohBwJAIAFFBEAgACEFDAELIAAgB0ECdGpBmANqIQRBACEHQQAhBgNAIAQoAgAiBUGYA2ohBCABIAZBAWoiBkcNAAsLIAIgBzYCFCACQQA2AhAgAiAFNgIMIAJBOGoiBCAJKAIAIApBAUYQgSEgBBDmGCIBDQggCSgCACAAIANBDGxqIgFBkAJqKAIAIAFBlAJqKAIAEJUcIgENCCACQQQ6ADggAkE4ahDmGCIBDQggBCAJKAIAEIsqIAJBOGoQ5hgiAQ0IIAAgA0EYbGogCRBsIgENCCACQQQ6ADhBAiEKIAchAyAFIQAgAkE4ahDmGCIBRQ0ACwwHCyACQQlqIQUgAkEtOgAIQQEhCAwDCyACKAIIIQEMBQtB/I3YABDgKQALIAkoAgAgChCRGCEBDAMLAkACfwJAAkACQAJAAn8CQCAAQf8PcSIARSANUHFFBEAgAEECSSANQgBSciEDIA1CgICAgICAgAiEIA0gABsiDEIChiEOIAxCAYMhEAJAAkAgAEG1CGtBzHcgABsiAEEASARAIAxB0IbXACAAIABBhaJTbEEUdiAAQX9HayIAaiIHQQR0IgRrKQMAQdiG1wAgBGspAwAgACAHQbHZtX9sQRN2a0H8AGogAkEwaiACQThqIAMQjxghDSACKQM4IQwgAikDMCEPIABBAkkNASAOQn8gAK2GQn+Fg1BFIABBP09yDQYMAgsgDCAAQcHoBGxBEnYgAEEDS2siB0EEdCIEQfDb1gBqKQMAIARB+NvWAGopAwAgByAAayAHQc+mygBsQRN2akH9AGogAkEwaiACQThqIAMQjxghDSACKQM4IQwgAikDMCEPIAdBFk8NBUEAIA6nayAOQgWAp0F7bEcEQCAQUA0EIA8gDkIChCAHELoerX0hDwwGCyAOIAcQuh5FDQUMAQsgDyAQfSEPIAMgEFBxIQYLQQEMAgsgBUECakGyr9cALQAAOgAAIAVBsK/XAC8AADsAACAMQj+Ip0EDaiEADAcLIAOtQn+FIA58IAcQuh5FDQFBASEGQQALIQRBACEDQQAhAANAIA9CCoAiDyAMQgqAIg5YDQIgBkEAIAynayAOp0F2bEZxIQYgAEEBaiEAIANB/wFxRSAEcSEEIA2nIA1CCoAiDadBdmxqIQMgDiEMDAALAAtBACEDAn8gD0LkAIAiECAMQuQAgCIOWARAIAwhDiAPIRBBAAwBCyANpyANQuQAgCINp0Gcf2xqQTFLIQNBAgshAANAIBBCCoAiECAOQgqAIgxYDQIgAEEBaiEAIA2nIA1CCoAiDadBdmxqQQRLIQMgDCEODAALAAsgBkEBcUUNAQNAQQAgDKdrIAxCCoAiDqdBdmxHDQIgAEEBaiEAIANB/wFxRSAEcSEEIA2nIA1CCoAiDadBdmxqIQMgDiEMDAALAAsgDSAOUSADcgwBCyAQpyAGQQFzciAMIA1RcUEEQQUgDUIBg1AbIAMgBEEBcRsgAyADQf8BcUEFRhtB/wFxQQRLcgshAwJAIAAgB2oiAEEATiAAAn9BESANIAOtQgGDfCIMQv//g/6m3uERVg0AGkEQIAxC//+Zpuqv4wFWDQAaQQ8gDEL//+iDsd4WVg0AGkEOIAxC/7/K84SjAlYNABpBDSAMQv+flKWNHVYNABpBDCAMQv/P28P0AlYNABpBCyAMQv/Hr6AlVg0AGkEKIAxC/5Pr3ANWDQAaQQkgDEL/wdcvVg0AGkEIIAxC/6ziBFYNABpBByAMQr+EPVYNABpBBiAMQp+NBlYNABpBBSAMQo/OAFYNABpBBCAMQucHVg0AGkEDIAxC4wBWDQAaQQJBASAMQglWGwsiBmoiBEERSHFFBEAgBEEBayIAQRBJDQEgBEEEakEFTwRAIAZBAUYEQCACQQhqIgMgCGogDKdBMGo6AAAgBUHlADoAASAAIAMgCEECciIAahDmCyAAaiEADAQLIAwgBiAIaiIDIAJBCGoiB2oiBEEBahDiBSAHIAhqIAUtAAE6AAAgBUEuOgABIARB5QA6AAEgACAHIANBAmoiAGoQ5gsgAGohAAwDCyACQQhqIAhqQTA6AAAgBUEuOgABIAVBAmohAEECIARrIQUDQCAEBEAgAEEwOgAAIARBAWohBCAAQQFqIQAMAQUgDCAGIAhqIAVqIgAgAkEIamoQ4gUMBAsACwALIAwgBSAGaiIDEOIFIAYgBCAEIAZIGyAGayEAA0AgAARAIANBMDoAACAAQQFrIQAgA0EBaiEDDAEFIAQgCGoiACACQQhqakGu4AA7AAAgAEECaiEADAMLAAsACyAMIAYgCGpBAWoiACACQQhqahDiBSAFIAVBAWogBBDaLSAEakEuOgAACyACQThqIgUgASgCACACQQhqIAAQ8iQgBRDmGCEBDAILIAynIgRB4wBKBEAgA0ECayIDIAJBCGpqIAQgBEHkAG4iBEHkAGxrQQF0QbSL2ABqLwAAOwAACwJAIARBCk4EQCADQQJrIgAgAkEIamogBEEBdEG0i9gAai8AADsAAAwBCyADQQFrIgAgAkEIamogBEEwajoAAAsgDkIAUwRAIABBAWsiACACQQhqakEtOgAACyACQThqIgUgASgCACACQQhqIABqQRQgAGsQ8iQgBRDmGCEBDAELIAynIgBB4wBKBEAgA0ECayIDIAJBCGpqIAAgAEHkAG4iAEHkAGxrQQF0QbSL2ABqLwAAOwAACwJAIABBCk4EQCADQQJrIgMgAkEIamogAEEBdEG0i9gAai8AADsAAAwBCyADQQFrIgMgAkEIamogAEEwajoAAAsgAkE4aiIAIAEoAgAgAkEIaiADakEUIANrEPIkIAAQ5hghAQsgAkFAayQAIAEL2xoBDn8jAEGAAmsiBCQAAkACQAJAAn8CQAJAAkACfwJAAkAgAygCECIHIAMoAhQiBU0EQCADLQAYRQRAIARB0AFqIAMQ4hggBCgC1AEhCSAEKALQASELQQIgBC0A2AFBAUcNCBogBC0A2QEhBiABQdgEaiIIEIIqRQ0GDAcLIARB0AFqIAMQ4hggBCgC1AEhCiAEKALQASEJQQIgBC0A2AFBAUcNAxogBC0A2QEhBiABQdgEaiIIEIIqRQ0BDAILIABBADYCAAwICyAIIAYQ3BVFDQAgBCAGrUIghkIEhDcD6AEMAgsgASAGakHYAGotAAALIgghBgJ/AkACQAJAIAlBAWsOAgABAgsgBkEGaiEGDAELIAEtAFFBAXFFBEAgBCAKrUIghkIChDcD6AEMAwsgASgC+AQoAtQCIApLBEAgCkEGbCAGakEMaiEGDAELIAEQgxQMAQsgAigChAEgAigCiAEgBkH05MMAELcfKAIACyIGQQBOBEAgBEEFNgLoASAEIAY2AuwBDAELIAQgAjYC+AEgBCABNgL0ASAEQegBaiAEQfQBaiAJIAogCBDBAQsgBEHgAGogBEHoAWogBRCpDiAEKAJkIQgCQAJAAkACQAJAAkACQCAEKAJgRQRAIAUgB0YNByACIAVBAWsiBRCmFUF/IAdBA2oiBiAGIAdJGyENIAFB2AJqIQkgAygCCCILQQNrIQ4gAygCDCEKA0ACQAJAAkACQAJAAkACQCAIQf///z9NBEAgAigCeCEDA0AgBSAHSQ0IIAUgDU0gAyAIIAkgBSAOaiIMQQNqLQAAai0AAGpBAnRqKAIAIgZB////P0tyDQUgAyAGIAkgDEECai0AAGotAABqQQJ0aigCACIIQf///z9LDQMgAyAIIAkgDEEBai0AAGotAABqQQJ0aigCACIGQf///z9LDQQgAyAGIAkgDC0AAGotAABqQQJ0aigCACIIQf///z9LDQIgBUEEayEFDAALAAsgAiAFEPogIAUgCkkEQCAEQcgAaiABIAIgCCAFIAtqLQAAEIoOIARBQGsgBCgCSCAEKAJMIAUQnx0gBCgCRCEGIAQoAkBFDQYgAEECNgIAIAAgBjYCBAwVCyAFIApB8ObDABCsEAALIAVBA2shBSAGIQMgCCEGDAMLIAVBAWshBSAGIQMgCCEGDAILIAVBAmshBSAIIQMMAQsgCCEDCyAGQQBODQAgAiAFEPogIARB2ABqIAEgAiADIAUgC2otAAAQig4gBEHQAGogBCgCWCAEKAJcIAUQnx0gBCgCVCEGIAQoAlBFDQAgAEECNgIAIAAgBjYCBAwPCyAGQYCAgIABcSAGQYCAgMAASXJFBEACQCAGQYCAgMAAcUUEQCAGQYCAgIAEcQ0BIAZBgICAgAJxRQ0SIAIgBRDsFSAFIApJBEAgBSALai0AACAFEO0aIQEgAEECNgIAIAAgATYCBAwSCyAFIApBkOfDABCsEAALIAEgAiAGQQAQiw4hASACIAUQ7BUgACAFQQFqNgIIIAAgATYCBCAAQQE2AgAMEAsgAiAFEOwVIABBADYCAAwPCyAGIQgLIAUgB0cEQCAFQQFrIQUMAQsLIAIgBxDsFSAHRQRAIARBKGogASACIAgQqA5BACEHIARBIGogBCgCKCAEKAIsQQAQnx0gBCgCJCEFIAQoAiANAyAFQYCAgMAAcUUNBwwGCyAHQQFrIgYgCkkNASAGIApB0OfDABCsEAALIABBAjYCACAAIAg2AgQMCwsgBEE4aiABIAIgCCAGIAtqLQAAIgMQig4gBEEwaiAEKAI4IAQoAjwgBxCfHSAEKAI0IQUgBCgCMA0AIAVBgICAwABxDQMgBUGAgICAAnFFDQEgAyAGEO0aIQUMAgsgBQ0BC0EAIQcMAgsgAEECNgIAIAAgBTYCBAwHCyAHIQNBASEHIAEgAiAFQQAQiw4hBgsgACADNgIIIAAgBjYCBCAAIAc2AgAMBQsCQAJAAkACQAJAAkAgB0UEQCAEQQhqIAEgAiAIEKgOQQAhByAEIAQoAgggBCgCDEEAEJ8dIAQoAgQhBSAEKAIADQEgBUGAgIDAAHFFDQYMBQsgB0EBayIGIAMoAgwiCk8EQCAGIApB0OfDABCsEAALIARBGGogASACIAggAygCCCAGai0AACIDEIoOIARBEGogBCgCGCAEKAIcIAcQnx0gBCgCFCEFIAQoAhANACAFQYCAgMAAcQ0EIAVBgICAgAJxDQEMAwsgBUUNAgwBCyADIAYQ7RohBQsgAEECNgIAIAAgBTYCBAwHC0EAIQcMAQsgByEDQQEhByABIAIgBUEAEIsOIQYLIAAgAzYCCCAAIAY2AgQgACAHNgIADAQLIAggBhDcFUUNACAEIAatQiCGQgSENwPoAQwCCyABIAZqQdgAai0AAAsiCCEGAn8CQAJAAkAgC0EBaw4CAAECCyAGQQZqIQYMAQsgAS0AUUEBcUUEQCAEIAmtQiCGQgKENwPoAQwDCyABKAL4BCgC1AIgCUsEQCAJQQZsIAZqQQxqIQYMAQsgARCDFAwBCyACKAKEASACKAKIASAGQfTkwwAQtx8oAgALIgZBAE4EQCAEQQU2AugBIAQgBjYC7AEMAQsgBCACNgL4ASAEIAE2AvQBIARB6AFqIARB9AFqIAsgCSAIEMEBCyAEQcgBaiAEQegBaiAFEKkOIAQoAswBIQYCQAJAAkACQAJAAkAgBCgCyAFFBEAgBSAHRg0GIAIgBUEBayIFEKYVQX8gB0EDaiIIIAcgCEsbIRAgAUHYAmohCyADKAIIIgxBA2shESADKAIMIQkCQAJAA0ACQAJAAkACQAJAAkACQAJAIAZB////P00EQCACKAJ4IQMDQCAFIAdJDQggBSAQTSADIAYgCyAFIBFqIg5BA2otAABqLQAAakECdGooAgAiCEH///8/S3INBSADIAggCyAOQQJqLQAAai0AAGpBAnRqKAIAIgZB////P0sNAyADIAYgCyAOQQFqLQAAai0AAGpBAnRqKAIAIghB////P0sNBCADIAggCyAOLQAAai0AAGpBAnRqKAIAIgZB////P0sNAiAFQQRrIQUMAAsACyACIAUQ+iAgBSAJSQRAIARBsAFqIAEgAiAGIAUgDGotAAAQig4gBEGoAWogBCgCsAEgBCgCtAEgBRCfHSAEKAKsASEGIAQoAqgBRQ0GIABBAjYCACAAIAY2AgQMEwsgBSAJQfDmwwAQrBAACyAFQQNrIQUgBiEDIAghBgwDCyAFQQFrIQUgBiEDIAghBgwCCyAFQQJrIQUgCCEDDAELIAghAwsgA0EATgRAIAMhBgwBCyACIAUQ+iAgBEHAAWogASACIAYgBSAMai0AABCKDiAEQbgBaiAEKALAASAEKALEASAFEJ8dIAQoArwBIQYgBCgCuAFFDQAgAEECNgIAIAAgBjYCBAwNCyAGQYCAgIABcSAGQYCAgMAASXINACAGQYCAgMAAcUUEQCAGQYCAgIAEcQ0CIAZBgICAgAJxDQQMDgtBASENIAVBAWohCiABIAIgBkEAEIsOIQ8LIAUgB0YNAyAFQQFrIQUMAQsLIAIgBRDsFQwHCyACIAUQ7BUgBSAJSQRAIAUgDGotAAAgBRDtGiEBIABBAjYCACAAIAE2AgQMCQsgBSAJQZDnwwAQrBAACyACIAcQ7BUgB0UEQCAEQZABaiABIAIgBhCoDkEAIQcgBEGIAWogBCgCkAEgBCgClAFBABCfHSAEKAKMASEFIAQoAogBDQMgBUGAgIDAAHFFDQYMBQsgB0EBayIDIAlJDQEgAyAJQdDnwwAQrBAACyAAQQI2AgAgACAGNgIEDAYLIARBoAFqIAEgAiAGIAMgDGotAAAiBhCKDiAEQZgBaiAEKAKgASAEKAKkASAHEJ8dIAQoApwBIQUgBCgCmAENACAFQYCAgMAAcQ0CIAVBgICAgAJxRQ0DIAYgAxDtGiEFDAELIAVFDQILIABBAjYCACAAIAU2AgQMAwtBASENIAEgAiAFQQAQiw4hDyAHIQoLIAAgCjYCCCAAIA82AgQgACANNgIADAELAkACQAJAAkACQAJAIAdFBEAgBEHwAGogASACIAYQqA5BACEHIARB6ABqIAQoAnAgBCgCdEEAEJ8dIAQoAmwhBSAEKAJoDQEgBUGAgIDAAHFFDQYMBQsgB0EBayIIIAMoAgwiCk8EQCAIIApB0OfDABCsEAALIARBgAFqIAEgAiAGIAMoAgggCGotAAAiAxCKDiAEQfgAaiAEKAKAASAEKAKEASAHEJ8dIAQoAnwhBSAEKAJ4DQAgBUGAgIDAAHENBCAFQYCAgIACcQ0BDAMLIAVFDQIMAQsgAyAIEO0aIQULIABBAjYCACAAIAU2AgQMAwtBACEHDAELIAEgAiAFQQAQiw4hAyAHIQZBASEHCyAAIAY2AgggACADNgIEIAAgBzYCAAsgBEGAAmokAA8LIARBATYC1AEgBEHI5sMANgLQASAEQgA3AtwBIAQgBEH8AWo2AtgBIARB0AFqQYDnwwAQwx0AC9MZAi1/BH4jAEGAAmsiAiQAIAEoAgQhAyACQRBqIAEoAggiGUEIQTgQ+xQgAyAZQThsaiEhIAJB2AFqIRUgAkG4AWohByACQdABaiEWIAJB6ABqIRIgAkHIAGohEyACKAIUIRogAigCECIiIRcDQAJ/AkACfwJAAn8CQAJAIBdFIAMgIUZyRQRAIAMoAgAiG0EJRwRAAkACQAJAAkACQAJAAkACQAJAIBtBAWsOCAECAwQFBgcIAAsgAygCCCELIAMoAhghBCADKAIUIQkgAiADKAIMIgZBCEHIABD7FCAGQcgAbCEMQQAhASACKAIEIQ8gAigCACIIIQoDQCAKRSABIAxGckUEQAJ+AkACQAJAIAEgC2oiBSkDAEIDfSIvp0EBakEAIC9CAlQbQQFrDgIBAgALIAVBOGopAgAhLyAWIAVBIGoQ1hsgAkGwAWogBRC8ICACQSBqIAdBCGopAwA3AwAgAkEoaiAHQRBqKQMANwMAIAJBMGogB0EYaikDADcDACATIBVBCGopAwA3AwAgAiAvNwPoASACQdAAaiAVQRBqKQMANwMAIAIgBUFAay0AADoA8AEgAkHYAGogFUEYaikDADcDACACIAcpAwA3AxggAiAVKQMANwNAIAIpA7ABDAILIAVBCGopAgAhLyAHIAVBEGoQ1hsgAkEgaiAHKQMANwMAIAJBKGogAkHAAWopAwA3AwAgAkEwaiACQcgBaikDADcDACACIC83AxhCAwwBCyAFQQhqKQIAIS8gByAFQRBqENYbIAJBIGogBykDADcDACACQShqIAJBwAFqKQMANwMAIAJBMGogAkHIAWopAwA3AwAgAiAvNwMYQgQLIS8gByACQSBqKQMANwMAIAJBwAFqIhAgAkEoaikDADcDACACQcgBaiINIAJBMGopAwA3AwAgEiATKQMANwMAIAJB8ABqIhQgAkHQAGopAwA3AwAgAkH4AGoiESACQdgAaikDADcDACACIAIpAxg3A7ABIAIgAikDQDcDYCABIA9qIgUgLzcDACAFQQhqIAIpA7ABNwMAIAVBEGogBykDADcDACAFQRhqIBApAwA3AwAgBUEgaiANKQMANwMAIAVBKGogAikDYDcDACAFQTBqIBIpAwA3AwAgBUE4aiAUKQMANwMAIAVBQGsgESkDADcDACAKQQFrIQogAUHIAGohAQwBCwsgAygCEBCbESEFIAMtACAhCyADQRxqEK0OIQwgAy0AISEQDAsLIAMoAjQhCiADKAIwIQ0CQAJAAkACQAJAAkACQAJAAkAgAygCCCIPQQFrDgcBAgMEBQYHAAsgAkGwAWogA0EQahDWGyADLQAsIQEgAiADQShqEP0LNgLIAQwUCyACQbABaiADQRBqENYbIAMtACwhASACIANBKGoQ/gs2AsgBDBMLEO0iIQYgAygCDCIBKAIUIQQgASkCDCEvIAEvARghCSACQbABaiABENEKIAJByAFqIgEgCTsBACAGIAIpArABNwIAIAIgLzcCvAEgBkEIaiAHKQIANwIAIAIgBDYCxAEgBkEQaiACQcABaikCADcCACAGQRhqIAEoAgA2AgAMBQsQ7iIhBiADKAIMIgEtABQhBCABKQIMIS8gAkGwAWogARDRCiAGIAIpArABNwIAIAIgLzcCvAEgBkEIaiAHKQIANwIAIAIgBDoAxAEgBkEQaiACQcABaikCADcCAAwECyADQQxqEJsLIQYMAwsQ7yIhBiADKAIMIgEpAwAhLyABLQAoIQQgByABQQhqENYbIAFBIGoQnw8hCSABQSRqEPcZIQEgAiAEOgDYASACIC83A7ABIAIgATYC1AEgAiAJNgLQASAGIAJBsAFqQTAQ+wYaDAILEO8iIQYgAygCDCIBKQMYIS8g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2AEgARCPKwwBCyAELQCsASECIARB4AFqIANBCGopAwA3AwAgBEHoAWogA0EQaikDADcDACAEQdYBaiAEQa8Bai0AADoAACAEIAQvAK0BOwHUASAEIAMpAwA3A9gBIAQoAowBIQMgASEFCyAAIAM2AgQgACAHNgIAIAAgBCkD2AE3AwggACACOgAkIAAgBTYCICAAIAQvAdQBOwAlIABBEGogBEHgAWopAwA3AwAgAEEYaiAEQegBaikDADcDACAAQSdqIARB1gFqLQAAOgAADA8LIAQoAowBIQEgAEEJNgIAIAAgATYCBAwOCyAEQfABaiABIAQoAiQiASABIANBABCIBCAEKALwASIGQQhHBEAgBEH4AWohAyAEKAKQAiEBAkAgBkUEQCAEQZABaiABQQhqKAIANgIAIARBnAFqIAFBFGooAgA2AgAgBEGoAWogAUEgaigCADYCACAEIAEpAgA3A4gBIAQgASkCDDcClAEgBCABKQIYNwOgASABKQIoIQogASkCMCELIAEoAjghByABLQA8IQggBCgCKCEJQcAAQQQQqyAiAiAEQYgBakEkEPsGIgUgCDoAPCAFIAc2AjggBSALNwIwIAUgCjcCKCAFIAk2AiQgBEHAAWogA0EIaikDADcDACAEQcgBaiADQRBqKQMANwMAIAQgAykDADcDuAEgARCXK0EBIQUMAQsgBC0AlAIhBSAEQcABaiADQQhqKQMANwMAIARByAFqIANBEGopAwA3AwAgBEG2AWogBEGXAmotAAA6AAAgBCAELwCVAjsBtAEgBCADKQMANwO4ASAEKAL0ASEDIAEhAgsgACADNgIEIAAgBjYCACAAIAQpA7gBNwMIIAAgBToAJCAAIAI2AiAgACAELwG0ATsAJSAAQRBqIARBwAFqKQMANwMAIABBGGogBEHIAWopAwA3AwAgAEEnaiAEQbYBai0AADoAAAwOCyAEKAL0ASEBIABBCTYCACAAIAE2AgQMDQsgAhDjDSIDRQRAIAEoAtgCIQEgBEEAOgDwASABIAEgBEHwAWoQgRUhASAAQQk2AgAgACABNgIEDAwLIAMoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBSABKAIsIQEgAEEJNgIAIAAgATYCBAwMCyABKAIoIQMgAUElNgIoIAEgASkDQDcDeCAEQfwB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BWoiChDGCiACQbgFaiACQaILaikBADcDACACQcAFaiACQaoLaikBADcDACACQcUFaiACQa8LaikAADcAACACIAIpAZoLNwOwBSAEEMoNIgVFDQIgBSgCAEECRw0CIAJBsAVqIAUtAAggBUEJai0AABDfCQ0CIAggA0EIaikCADcCACAJIANBEGooAgA2AgAgAigCuAshBSACQSU2ArgLIAIgBTYCiAUgAiACKQPQCzcDiAwgAiADKQIANwKMBSAKEMYKIAQQyg0iA0UNAiADKAIAQQJHDQIgAy0ACEECRw0CQR4MAQsgAkGUBWogA0EIaikCADcCACACQZwFaiADQRBqKAIANgIAIAIoArgLIQUgAkElNgK4CyACIAU2AogFIAIgAikD0As3A4gMIAIgAykCADcCjAUgAkGIBWoQxgogBBDKDSIDRQ0BIAMoAgBBAkcNASADLQAIDQFBCQshBCADLQAJIAJB8AhqEN8QIARHDQEgBxDDICEKIAcQyg0iAwRAIAMoAgBBDUYNAwsgAkH4CGogBxCRECACQdgBaiAHEIUUIAJB2OHfADYC9AggAkE0OgDwCCACKALYASACKALcASACQfAIahCBFSEFIAcQyg0iA0UNByADKAIAQSRHDQcgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0DIAEgASgCzAIQ/wsMBwsgAkHwCGoQ3xALIAcQwyAhAyACQbAFaiABEE0gAigCtAUhBCACAn8gAigCsAUiBUGAgICAeEcEQCACIAIoArgFNgL8CCACIAQ2AvgIIAIgBTYC9AggAiADIAEoApwDIgQgAyAESxs2AoQJIAIgAyAEIAMgBEkbNgKACUEFDAELIAIgBDYC9AhBFAs2AvAIIAJByAFqIAJB8AhqEJYYIAIoAswBIQMgAigCyAEhBQwQCyABKALIAiEDIAFBJTYCyAIgASABKQPgAjcDmAMgAkH8CGogAUHUAmopAgA3AgAgAkGECWogAUHcAmooAgA2AgAgAiABKQLMAjcC9AggAiADNgLwCCABQcwCaiEIIAJB8AhqEMYKAkACQAJAAkACQAJAAkACQAJAIAcQyg0iA0UNACADKAIAQRRHDQAgAy0ABEELRg0BCyAHEMoNIgNFDQEgAygCAEEURw0BIAMtAARBDEcNAQtBAiEJAkAgBxDKDSIDRQ0A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CiAMIAcpAgA3AgAgASgCyAIhCCABQSU2AsgCIAEgASkD4AI3A5gDIAxBCGogB0EIaikCADcCACAMQRBqIAdBEGooAgA2AgAgAiAINgLAAiACQcACahDGCgJAAkAgBBDKDSIIRQ0AIAgoAgBBAkcNACAILQAIQQJHDQAgCC0ACUEMRg0BC0EAIQogAkEAOgDdASACIAEpAaoCNwDDASACIAEpAbICNwDLASACIAEpAboCNwDTASACIAEvAcICOwDbASACIAEvAMUCOwDeASACQfkBaiADQRVqKQAANwAAIAJB9AFqIANBEGopAQA3AgAgAkHsAWogA0EIaikBADcCACACIAMpAQA3AuQBIAQgAkHDAWoQ0gggAiABNgLgASACQcACaiABEJoqIAIoAsQCIQggAigCwAIiBUETRwRAIAJBmAFqIAJByAJqQSgQ+wYaIAJB4AFqEIclDAwLIABBADYCACAAIAg2AgQgAkHgAWoQhyUMCgsgAiAQOgD8ASACIBE6APsBIAJBAToA+gEgAiASOgD5ASACIBM6APgBIAIgFDoA9wEgAiAVOgD2ASACIBY6APUBIAIgFzoA9AEgAiAYOgDzASACIBk6APIBIAIgGjoA8QEgAiAbOgDwASACIBw6AO8BIAIgHToA7gEgAiAeOgDtASACIB86AOwBIAIgIDoA6wEgAiAhOgDqASACICI6AOkBIAIgIzoA6AEgAiAkOgDnASACICU6AOYBIAIgJjoA5QEgAiAnOgDkASACICg6AOMBIAIgKToA4gEgAiAqOgDhASACICs6AOABIAlBFWogA0EVaikAADcAACAJQRBqIANBEGopAQA3AQAgCUEIaiADQQhqKQEANwEAIAkgAykBADcBACAEIAJB4AFqENIIIAIgATYCwAIgAkGEAmogARCCASACKAKIAiEGIAIoAoQCIghFDQYgAkGgAmoiCiAPQQhqKAIANgIAIAIgDykCADcDmAIgAkHAAmoQhyUgAigChAEEQEEwQQgQqyAiBSAGNgIIIAUgCDYCBCAFQQg2AgAgBSACKQOYAjcCDCAFQRRqIAooAgA2AgAgASgCnAMgAkGEAWogBRDSEgUgAkGEAWoQgycgDiACKQOYAjcCACAOQQhqIAooAgA2AgAgAiAGNgKIASACIAg2AoQBCwwACwALIABBADYCACAAIAs2AgQMCwsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0EIAEgASgCzAIQ/wsMCQsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0EIAEgASgCzAIQ/wsMCgtB5ezgAEEoQcie4AAQ9BcACyADKAIEIQEgAygCAEEEQQQQqyAiByADNgIAIAIgBzYC7AEgAkEwNgL0ASACQfie4AA2AvABIAIgBTYC6AEgAiAJNgLkASACQbgBOgDgASABIAJB4AFqEIEVIQEgAEEANgIAIAAgATYCBCACQdAAahCHJSACQcACahCHJQwJCyAAQQA2AgAgACAGNgIEIAJBwAJqEIclDAILQeXs4ABBKEHYnuAAEPQXAAtB5ezgAEEoQeie4AAQ9BcACyACQYQBahCDJyACQcwAahDRBgwDCwJAIAIoAoQBBEAgAkG4AmoiAyACQZQBaigCADYCACACQbACaiIHIAJBjAFqKQIANwMAIAIgAikChAE3A6gCIApFBEBBMEEIEKsgIgQgCDYCBCAEIAU2AgAgBEEIaiACQZgBakEoEPsGGiABKAKcAyACQagCaiAEENISCyACQeQAaiADKAIANgIAIAJBCDYCUCACQdwAaiAHKQMANwIAIAIgAikDqAI3AlQMAQsgAiAINgJUIAIgBTYCUCACQdgAaiACQZgBakEoEPsGGkEAIQkgBUETRg0BCyACQdAAahDhKCEJCyAAIAk2AhAgACALNgIEIAAgAigCSDYCACAAIA0gASgCnAMiASABIA1JGzYCDCAAIA0gASABIA1LGzYCCAwDCyAAQQA2AgAgACADNgIECyACQcgAahDeKAwBCyAAQQA2AgAgACADNgIECyACQfACaiQAC+8VAhR/AX4jAEGAAmsiBiQAIAEoApQNIhMoArwCKAIQQQF0IQggAygCBCEOAkACQAJAAkAgAygCACIPQQFrQQJPBEACQAJAAkACQAJAAkACQAJAIAUgCE0EQCACQZgDaiEQIAFBiAVqIRIgASgCpA0hEyABKAKgDSEUIAEpAwAhGiADLQAYIQ4gAygCDCELIAMoAgghDCADKAIUIQpBACEIIAEtAJwNQQFxIRUgAygCECINIQcCQAJAAkADQAJAIAZB1AFqIhEgFCATIAwgCyAHIAoQsRkgBigC1AFFDQAgBigC2AEhDyAGKALcASEJIAYg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wObfADYC/AggAkE0OgD4CCACKAKgASACKAKkASACQfgIahCBFSEFIAcQ4w0iA0UNGiADKAIAQSRHDRogASABKQNANwN4IAEoAiggAUElNgIoQSRHDQEgASABKAIsEIYMDBoLIAEoAighBCABQSU2AiggASABKQNANwN4IAJBhAlqIAFBNGopAgA3AgAgAkGMCWogAUE8aigCADYCACACIAEpAiw3AvwIIAIgBDYC+AggAkH4CGoiBBDHCiACQQA2AsQEIAJCgICAgIABNwK8BCABQYABaiEdIAFBLGohCyAEQQRyIQogAkGQBWohDSACQYAJaiEZIAJB6AJqQQRyIR4gAkHwAmohHyACQbUMaiEaIAJBjQlqIRsgAkGgDGpBBHIhHCACQdwFaiEOIAJB2AVqIRIgAkGwBmohICACQfQFaiEhIAJBrAZqISIgAkHwBWohIyACQagGaiEkA0ACQCACQfgIaiABQQIQ1ggCQAJAIAItAPgIDQAgAi0A+QhBAUYEQCACKALEBCEJIAIoAsAEIQYMHQsgBxDeIBogBxDeICEGAkAgAS0A+AJBAkcEQCACQQc2AogFDAELIAEtAIIDISUgAkGwBWogARDRAiACQQE6ANsIIAIgASkAgwM3ANwIIAIgASkAiwM3AOQIIAIgASkAkwM3AOwIIAIgASgAmwM2APQIICAgAkHbCGoQyQhBACEFIBIQ3iAhBAJAIBIQ4w0iCUUNACAJKAIAQQdHDQAgCiAOKQIANwIAIApBCGogDkEIaikCADcCACAKQRBqIA5BEGooAgA2AgAgAigC2AUhBSACQSU2AtgFIAIgBTYC+AggAiACKQPwBTcDqAYgAkH4CGoQxwpBASEFIAIoAqwGIRAgAigCqAYhFAsgAkHADGoiCSACQbAFahDTBCACQfgIaiITIAkQlR8gAigC+AghCQJAAkACQCACLQCMCSImQQJHBEAgHCAKKQIANwIAIBogGy8AADsAACAcQQhqIApBCGoiFykCADcCACAaQQJqIBtBAmotAAA6AAAgAiAmOgC0DCACIAk2AqAMAkAgEhDjDSIJRQ0AIAkoAgBBF0cNACAKIA4pAgA3AgAgFyAOQQhqKQIANwIAIApBEGogDkEQaigCADYCACACKALYBSEJIAJBJTYC2AUgAiAJNgL4CCACIAIpA/AFNwOoBiATEMcK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AwAgAkGYCWogCigCADYCACACQZ8JaiALLQAAOgAAIAIgBSAGIAUgBksbNgKECSACIAQ2AoAJIAIgAikDyAI3A4gJIAIgDToAnAkgAiACLwHEAjsAnQkgAiADNgKgCQwCCyACKAL8CCEDCyACIAM2AvwIQRQhBwsgAiAHNgL4CCACQRBqIAJB+AhqEJYYIAIoAhQhAyACKAIQIQUMDAsgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkGECWogAUE0aikCADcCACACQYwJaiABQTxqKAIANgIAIAIgASkCLDcC/AggAiADNgL4CCACQfgIahDHCiABKAJ8IQZB2ABBCBCrICIDIAU6AAxBACEFIANBADYCACADIAQgBiAEIAZLGzYCCCADIAQgBiAEIAZJGzYCBAwLCyAHEN4gIQogAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAcQ4w0iAwRAIAMoAgBBEUYNAQsgAkH4CGogARDGAiACKAL8CCEDIAIoAvgIIgZBB0YNESACQcgFaiACQZAJaikDADcDACACQcAFaiACQYgJaikDADcDACACIAIpA4AJNwO4BSACIAM2ArQFIAIgBjYCsAUgBg4FAgUBAwQBCyAHEN4gIQsgBxDjDSIDRQRAIAEoAtgCIQMgAkEAOgD4CCADIAMgAkH4CGoQgRUhAwwRCyADKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQkgASgCLCEDDBELIAEoAighAyABQSU2AiggASABKQNANwN4IAJBhAlqIAFBNGopAgA3AgAgAkGMCWogAUE8aigCADYCACACIAEpAiw3AvwIIAIgAzYC+AggAkH4CGoiBhDHCiACQQA2AvAEIAJCgICAgMAANwLoBCACQbAFaiINIAFBABDLBCACKAKwBSEDIAItAMgFIglBAkYNDyABQSxqIQQgAkH4AmoiDiACQcQFaigCADYCACACQfACaiIRIAJBvAVqKQIANwMAIAIgAikCtAU3A+gCIAIgAigAyQU2AqAMIAIgAkHMBWooAAA2AKMMQSBBCBCrICIFIAM2AgAgBSAJOgAYIAUgAikD6AI3AgQgBUEMaiARKQMANwIAIAVBFGogDigCADYCACAFIAIoAqAMNgAZIAVBHGogAigAoww2AAAgAkEB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AvACIQUgAikD6AIiJ1ANCCACIAIoAvQCNgKUBSACIAU2ApAFIAIgJzcDiAUgAkGYAmogAUH47t8AQYzF4ABBAhCyByACKAKcAiEDIAIoApgCBEAgJxD5GiADIQUMCQsgASgCfCELIAJBgAlqIAJBiAVqEKUcQQAhBSACQZ8JakEANgAAIAJBADYCnAkgAiADNgKYCSACIAQgCyAEIAtLGzYC/AggAiAEIAsgBCALSRsiAzYC+AggAkGwBWpBBHIgAkH4CGoiBEEEckEmEPsGGiACQd8FaiACQacJai0AADoAACACIAIoAKMJNgDbBSACQQA6ANoFIAIgAzYCsAUCQCAHEOMNIgNFDQAgAygCAEECRw0AIAMtAAgNACADLQAJQQFHDQAgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkGECWogBkEIaikCADcCACACQYwJaiAGQRBqKAIANgIAIAIgBikCADcC/AggAiADNgL4CCAEEMcKIAJBkAJqIAEQlAIgAigClAIhBSACKAKQAg0ICyACIAU2AogFAkACQCAHEOMNIgNFDQAgAygCAEEMRw0AIAEoAighAyABQSU2AiggASABKQNANwN4IAJBhAlqIAZBCGopAgA3AgAgAkGMCWogBkEQaigCADYCACACIAYpAgA3AvwIIAIgAzYC+AggAkH4CGoQxwoCQCAHEOMNIgNFDQAgAygCAEEURw0AIAMtAARBC0YNAgsCQCAHEOMNIgNFDQAgAygCAEEURw0AIAMtAARBDEYNAgtBAyEDIAcQ4w0iBEUNByAEKAIAQRdHDQcgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkGECWogBkEIaikCADcCACACQYwJaiAGQRBqKAIANgIAIAIgBikCADcC/AggAiADNgL4CCACQfgIahDHCkEAIQMMBwsgAkGACWogBxCWCyACQegBaiAHELgUIAJB2OTfADYC/AggAkE0OgD4CCACKALoASACKALsASACQfgIahCBFSEFIAcQ4w0iA0UNByADKAIAQSRHDQcgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQMgASABKAIsEIYMDAcLQQIhAwJAIAcQ4w0iBEUNACAEKAIAQRRHDQBBAUECIAQtAARBC0YbIQMLIAEoAighBCABQSU2AiggASABKQNANwN4IAJBhAlq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IAQgAiACIARLGyICIAsgAiALSRsgAiALIAIgC0sbIA1B2AFqENgZIA0tADchBAwCCyANQaIBOgDYASABIAYgAiANQdgBahDYGSANLQA8IQMLIA1B5AFqIA1BiAFqKAIANgIAIA0gDSkDgAE3AtwBIAVBEHYhEkEHIQggDS0APiETIA0tADshFCANLQA6IRUgDS0APSEWIA0tADkhFyANLQA3IRggDS0AqwEhDyANLQCqASEQIA0tAKkBIREgDS0AqAEhBCANKQOgASEaIA0tADghGSAFQQh2DAELIA1B5AFqIANBCGooAgA2AgAgDSADKQIANwLcASANKAIwIgMgASgCfCIBIAEgA0sbIQkgAyABIAEgA0kbIQxBACEHIA0tAD0hDyANLQA5IRAgDSkCpAEhGiANKAKgASECIA0tADghESAKIQYgBSEOIA0tADohBSANLQA+CyEBIAAgCDYCACAAIA0pAtgBNwIEIAAgGDoASyAAIBM6AEogACAUOgBJIAAgFToASCAAIBY6AEcgACAXOgBGIAAgAzoARSAAIBk6AEQgACAKNgJAIAAgEjsBPiAAIAE6AD0gACAFOgA8IAAgDzoAOyAAIBA6ADogACAROgA5IAAgBDoAOCAAIBo3AzAgACACNgIsIAAgBjYCKCAAIA42AiQgACAHNgIgIAAgDDYCHCAAIAk2AhggACALNgIUIABBDGogDUHgAWopAgA3AgAMAQsgACADKQIANwIwIABBOGogA0EIaigCADYCACANQeQBaiANQYgBaikDADcCACANQewBaiANQZABaikDADcCACANQfQBaiANQZgBaikDADcCACANIA0pA4ABNwLcASABKAJ8IQEgDSgCMCECIA0tADghAyANLQA8IQQgDS0APSEGIA0tAD4hByANLQA3IQggAEEMNgIAIABBBGogDUHYAWpBJBD7BhogACAIOgBIIAAgBzoARyAAIAY6AEYgACAEOgBFIAAgAzoARCAAIAo2AkAgACAFNgI8IAAgAiABIAEgAkkbNgIsIAAgAiABIAEgAksbNgIoCyANQdwAahCjJgsgDUGAAmokAAvpEwINfwF+IwBBgAJrIg0kACANIAQ6ADcgDSACNgIwIA0gBjoAOCANIAg6ADkgDSAJOgA6IA0gCjoAOyANIAs6ADwgDSAMOgA9AkACQAJAAkACQCAFEPkVRQRAIAUoAgBBBUcNAQJAIApFBEAgCw0BDAMLIA1BKGogBRCvEyANKAIsIQIgDSgCKCEEQaS14ABBBxDcGiEaIA1B4QA6AIABIA0gGjcDiAEgASAEIAIgDUGAAWoQxhkgDS0APEEBcUUNAgsgDUEgaiAFEK8TIA0oAiQhAiANKAIgIQRBirfgAEEIENwaIRogDUHhADoAgAEgDSAaNwOIASABIAQgAiANQYABahDGGQwBCyANIAUQrxMgDSgCBCECIA0oAgAgDUHfADoAgAEgAiANQYABahCBFSECAkAgAUEoahDKDSIERQ0AIAQoAgBBJEcNACABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHBEBB5ezgAEEoQaz33wAQ9BcACyABIAEoAswCEP8LCyAAQQ02AgAgACACNgIEDAELIAFBKGohAgJAAkAgAS0AoAJBAkYEQCANLQA5QQFHDQELIA1BADoAPgwBCwJAIAIQyg0iBARAIAQoAgBBCEYNAQsgDUEAOgA+DAELIAEoAsgCIQQgAUElNgLIAiABIAEpA+ACNwOYAyANQYwBaiABQdQCaikCADcCACANQZQBaiABQdwCaigCADYCACANIAEpAswCNwKEASANIAQ2AoABIA1BgAFqEMYKIA1BAToAPgsgDUEYaiABEO0PIA0oAhwhCyANKAIYRQRAIA1BAToARSANQQE6AFEgDSABLQC7AjoAUCANIAEoAaoCNgA/IA0gAS8BrgI7AEMgDSABKQCxAjcARiANIAEvALkCOwBOIA0gASkAvQI3AFIgDSABLwDFAjsAWiANQfUAaiABQb8CaikAADcAACANQfAAaiABQboCaikBADcCACANQegAaiABQbICaikBADcCACANIAEpAaoCNwJgIAIgDUE/ahDSCCANIAE2AlwgDUGIAWogBUEIaikDADcDACANQZABaiAFQRBqKQMANwMAIA1BmAFqIAVBGGopAwA3AwAgDUGoAWogA0EIaigCADYCACANIAc2AqwBIA0gCzYC1AEgDSAFKQMANwOAASANIAMpAgA3A6ABIA0gDUEwajYCsAEgDSANQThqNgK0ASANIA1BO2o2AtABIA0gDUE6ajYCzAEgDSANQTlqNgLIASANIA1BPmo2AsQBIA0gDUE9ajYCwAEgDSANQTxqNgK8ASANIA1BN2o2ArgBQQAhBSACEMoNIgRFDQIgBCgCAEEVRw0CIAQtAAQNAgJAIAIQyg0iBEUEQCABKAKAAiEBIA1BADoA2AEgASABIA1B2AFqEIEVIQUMAQsgBCgCAEEkRgRAIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEYEQCABKALMAiEFDAILQeXs4ABBKEG8998AEPQXAAsgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIA1B5AFqIAFB1AJqKQIANwIAIA1B7AFqIAFB3AJqKAIANgIAIA0gASkCzAI3AtwBIA0gBDYC2AEgDUHYAWoQxgogDUEQaiABELgGIA0oAhQhBSANKAIQRQ0DCyANQaABaiANQdQBaiAAQQ02AgAgACAFNgIEAkAgDSgCgAFBBUYEQCANKQOIARD5GgwBCyANQYABahCfFgsQ+yYQ7iYMAwsgAEENNgIAIAAgCzYCBAsgBRCNISADEO4mDAILAkAgAhDKDSIERQ0AAkACQCAEKAIAQQ5rDgICAAELIAEoAsgCIQIgAUElNgLIAiABIAEpA+ACNwOYAyANQeQBaiABQdQCaikCADcCACANQewBaiABQdwCaigCADYCACANIAEpAswCNwLcASANIAI2AtgBIA1B2AFqEMYKDAELIAIQiCENACANQQhqIAIQhRQgDSgCDCECIA0oAgghBCANQfUAOgDYASABIAQgAiANQdgBahDGGQsgBygCAEUEQAJ/AkACQAJAAkAgDSgCgAFBBUYEQEEDIQRBCCEIIA1BiAFqIQMgDSgClAEhCiANLQA3QQNHDQEMBAsgDSgCMCICIAEoApwDIgMgAiADSRshBiACIAMgAiADSxshAiANLQA8IQMgDSgCnAEhDiANKAKYASEHIA0oApQBIQwgDSgCkAEhCSANKAKMASEKIAVFDQIgA0EBcQ0BDAILIAEoApwDIQIgDSgCMCEEIA1BtQE6ANgBIAEgBCACIAIgBEsbIgIgCiACIApJGyACIAogAiAKSxsgDUHYAWoQxhkgDS0ANyEEDAILIA1BogE6ANgBIAEgBiACIA1B2AFqEMYZIA0tADwhAwsgDUHkAWogDUGIAWooAgA2AgAgDSANKQOAATcC3AEgBUEQdiESQQchCCANLQA+IRMgDS0AOyEUIA0tADohFSANLQA9IRYgDS0AOSEXIA0tADchGCANLQCrASEPIA0tAKoBIRAgDS0AqQEhESANLQCoASEEIA0pA6ABIRogDS0AOCEZIAVBCHYMAQsgDUHkAWogA0EIaigCADYCACANIAMpAgA3AtwBIA0oAjAiAyABKAKcAyIBIAEgA0sbIQkgAyABIAEgA0kbIQxBACEHIA0tAD0hDyANLQA5IRAgDSkCpAEhGiANKAKgASECIA0tADghESAFIQ4gCyEGIA0tADohBSANLQA+CyEBIAAgCDYCACAAIA0pAtgBNwIEIAAgGDoASyAAIBM6AEogACAUOgBJIAAgFToASCAAIBY6AEcgACAXOgBGIAAgAzoARSAAIBk6AEQgACALNgJAIAAgEjsBPiAAIAE6AD0gACAFOgA8IAAgDzoAOyAAIBA6ADogACAROgA5IAAgBDoAOCAAIBo3AzAgACACNgIsIAAgBjYCKCAAIA42AiQgACAHNgIgIAAgDDYCHCAAIAk2AhggACAKNgIUIABBDGogDUHgAWopAgA3AgAMAQsgACADKQIANwIwIABBOGogA0EIaigCADYCACANQeQBaiANQYgBaikDADcCACANQewBaiANQZABaikDADcCACANQfQBaiANQZgBaikDADcCACANIA0pA4ABNwLcASABKAKcAyEBIA0oAjAhAiANLQA4IQMgDS0APCEEIA0tAD0hBiANLQA+IQcgDS0ANyEIIABBDDYCACAAQQRqIA1B2AFqQSQQ+wYaIAAgCDoASCAAIAc6AEcgACAGOgBGIAAgBDoARSAAIAM6AEQgACALNgJAIAAgBTYCPCAAIAIgASABIAJJGzYCLCAAIAIgASABIAJLGzYCKAsgDUHcAGoQhyULIA1BgAJqJAALrxMCBn8BfiMAQfABayICJAACfyAALQAMIgUgASgCACIDQRlGDQAaIAUgA0EjRg0AGiAAQQA6AAxBAAshBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIANBDGsiBiAGQSZPG0EBaw4kAAEdAgMEBQYHCAkKCx0dDA0ODxAdERITHR0UFRYXGBkaGx0cHQsgASgCDEEEdCEEIAEoAgghAwNAIARFDR0gAygCAEECRwRAIANBDGogABClLQsgA0EQaiEDIARBEGshBAwACwALIAFB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QQR0IQYgASEEAkADQCAGBEAgBCgCCEEBRw0CIAQoAgQtAAAgA0HIAGpqQQE6AAAgBkEQayEGIARBEGohBAwBCwsgAy0ASCEEIANBmA9qIgYgA0HJAGpB/wEQ+wYaIARBAkYNACAAIAQ6AAQgAEEFaiAGQf8BEPsGGiAAQYWAgIB4NgIADAELIANBAzYCpAQgA0EAOwCpBCADQQA6AJIEIANBADoAngQgA0EBOgCUBCADQoKAgIAwNwKIBCADQQJBASACQfUDSSIGGyIEOgCsBCADQQM2ApgEIANBAToAqAQgA0EAOgCtBCADQYACOwGgBCADQQE7AZwEIANBATsBkAQgA0HIAGoiBSADQaQEaiABIAIQxAECQAJAAkACQAJAIAMoAkhFBEAgA0HoBmoiASADQeYAai8BADsBACADIAMpAV43A+AGIAMpAkwhCSADKQJUIQogAy8BXCECIANBtA9qIANB6ABqIgdByAIQ+wYaIANBsg9qIAEvAQA7AQAgAyACOwGoDyADIAo3AqAPIAMgCTcCmA8gAyADKQPgBjcBqg8gBkUEQCAFQQJBASADQZgPahCHASADKAJIIgFBgICAgHhHBEAgA0HICWoiAiADQeYAai8BADsBACADIAMpAV43A8AJIAMpAkwhCSADKQJUIQogAy8BXCEGIANB4AZqIgUgB0GoAhD7BhogA0HuCWogAi8BADsBACADIAY7AeQJIAMgCjcC3AkgAyAJNwLUCSADIAE2AtAJIAMgAykDwAk3AeYJIANB8AlqIAVBqAIQ+wYaQez8wwAhBSADQdAJahD8HyEBDAULDAILIANByABqQQBBASADQZgPahB+IAMoAkhFBEAgA0HoBmoiASADQeYAai8BADsBACADIAMpAV43A+AGIAMpAkwhCSADKQJUIQogAy8BXCECIANB0AxqIANB6ABqQcACEPsGGiADQc4MaiABLwEAOwEAIAMgAjsBxAwgAyAKNwK8DCADIAk3ArQMIAMgAykD4AY3AcYMQfD9wwAhBSADQbQMahD9HyEBDAQLDAELIANBiBJqIANB5gBqLwEAOwEAIAMgAykBXjcDgBIgAy0AXSEGIAMtAFwhBCADKAJYIQUgAygCVCEBIAMoAlAhAgwBCyADQYgSaiADQeYAai8BADsBACADIAMpAV43A4ASIAMtAF0hBiADLQBcIQQgAygCWCEFIAMoAlQhASADKAJQIQIgA0GYD2oQ9RcLIAJBA0YNASADQQM6AOEDDAILIAMtAK0EIQYgA0GYD2oQ9RcLIAMgBDoA4AMgAyAFNgLcAyADIAE2AtgDIAMgAy8BgBI7AeIDIAMgBjoA4QMgBkH/AXFBA0YNACAAIAMpAtgDNwIEIABBhoCAgHg2AgAgAEEMaiADQeADaigCADYCAAwBCyADQdgDahDYJCAAQYeAgIB4NgIACyADQZASaiQAC6URAQh/IwBB8ABrIgMkAAJAAkACQAJAAkACQAJAA0ACQAJAAkACQAJAIAIoAgBBAWsOBwEGAAIDCAQACyADQQE6AFQgA0EANgJQIANCgICAgBA3AkggACADQcgAahDwGQwLCyACKAIEIQQgA0EIaiACKAIIIgJBAUEBEPsUIAMoAgghBiADKAIMIAQgAhD7BiEEIANBAToAVCADIAI2AlAgAyAENgJMIAMgBjYCSCADQShqIgIgA0HIAGoQ8BkgASgCCCABLQAQIAIQ/iAgAEEIaiADQTBqKAIANgIAIAAgAykCKDcCAAwKCyADQRxqIAEgAigCDBCXASACKAIEIQYgAigCECIERQRAIAItABQCQCAGBEAgAigCCEEBRg0BCyADQRxqELgXC0EAIQIgA0EANgJQIANCgICAgBA3AkggA0EBOgBUIANBKGogA0HIAGoQ8BlBAXENBQNAIAJBDEYNBiADQRxqIAJqIgQoAgAhBiAEIANBKGogAmoiBCgCADYCACAEIAY2AgAgAkEEaiECDAALAAsgBCABKAIEIgcgBCAHSRshBQJAIAZFDQAgBCACKAIIRw0AIANBAToAVCADQQA2AlAgA0KAgICAEDcCSCADQTxqIANByABqEPAZA0ACQCAFRQ0AIANBPGoiBhD2Dw0AIANBMGogA0HEAGooAgA2AgAgAyADKQI8NwMoIANByABqIgIgA0EcahDMCSAGIAEgA0EoaiACEPYBIAVBAWshBSACENEkDAELCyAEIAdNDQkgA0E8ahC4FwwJCyADQQE6AFQgA0EANgJQIANCgICAgBA3AkggA0E8aiADQcgAahDwGQNAIAVFDQggA0E8aiIEEPYPDQggA0EwaiADQcQAaigCADYCACADIAMpAjw3AyggA0HIAGoiAiADQRxqEMwJIAQgASADQShqIAIQ9gEgBUEBayEFIAIQ0SQMAAsACyACKAIEIQIMAQsLIAIoAgxBHGwhBSABLQAQIQggASgCDCEKIAIoAgghB0EEIQRBACECA0AgBUUgAkGAgICAeEZyRQRAIAMgBjYCMCADIAQ2AiwgAyACNgIoIANByABqIgkgASAHEJcBIANBPGogCiAIIANBKGogCRCGBiAFQRxrIQUgB0EcaiEHIAMoAjwhAiADKAJAIQQgAygCRCEGIAkQ0SQMAQsLIAAgBjYCCCAAIAQ2AgQgACACNgIADAYLIAIoAgQNAiACKAIMIgQgAigCEEEDdCIFaiEIIAEoAgAhBiAEIQICQANAIAUEQCAGIAdJDQIgBUEIayEFIAIoAgQgAigCAGsgB2pBAWohByACQQhqIQIMAQsLIAYgB0kNACADQQA2AiQgA0KAgICAwAA3AhwDQCAEIAhGBEAgASgCCCABLQAQIANBHGoQ/iAgAEEIaiADQSRqKAIANgIAIAAgAykCHDcCAAwIBSAEQQhqIAQoAgQhByAEKAIAIQJBACEFAkADQCAFQQFxIAIgB0tyDQEgA0EANgI4IANBEGogAiADQThqEOQJIAMoAhQhBCADKAIQIANBADYCRCADQoCAgIAQNwI8IANBAzoAaCADQSA2AlggA0EANgJkIANB7LXEADYCYCADQQA2AlAgA0EANgJIIAMgA0E8ajYCXCAEIANByABqEPUqRQRAIANBMGogA0HEAGooAgA2AgAgAyADKQI8NwMoIANBAToANCACQYDAAyACQQFqIAJB/68DRhsgAiAHTyIFGyECIANBHGogA0EoahCGDwwBCwtB/L3gAEE3IANBKGpBhLbEAEGAv+AAEMUOAAshBAwBCwALAAsgAEGAgICAeDYCAAwFCyADQdAAaiADQSRqKAIANgIAIAMgAykCHDcDSCAAIAEoAgwgAS0AECADQcgAaiADQShqIgAQhgYgABDRJAwECyACKAIMIQQgAigCCCEFIAEtABBFBEAgA0EBOgBUIANBADYCUCADQoCAgIAQNwJIIARBHGwhAiADQTxqIANByABqEPAZA0ACQCACRQ0AIANBPGoiBhD2Dw0AIANBMGogA0HEAGooAgA2AgAgAyADKQI8NwMoIANByABqIgQgASAFEJcBIAYgASADQShqIAQQ9gEgAkEcayECIAVBHGohBSAEENEkDAELCyAAIAMpAjw3AgAgAEEIaiADQcQAaigCADYCAAwECyADQQE6AFQgA0EANgJQIANCgICAgBA3AkggBEEcbCECIAVBHGshBCADQTxqIANByABqEPAZA0ACQCACRQ0AIANBPGoiBRD2Dw0AIANBMGogA0HEAGooAgA2AgAgAyADKQI8NwMoIANByABqIgYgASACIARqEJcBIAUgASADQShqIAYQ9gEgAkEcayECIAYQ0SQMAQsLIAAgAykCPDcCACAAQQhqIANBxABqKAIANgIADAMLIAIoAgwiBiACKAIQQQF0IgVqIQggASgCACEEIAYhAgJAAkACQANAIAUEQCAEIAdJDQIgAi0AASIKIAItAAAiCUkNBCACQQJqIQIgBUECayEFIAogCWtB/wFxIAdqQQFqIQcMAQsLIAQgB0kNACADQQA2AjAgA0KAgICAwAA3AigMAQsgAEGAgICAeDYCAAwECwNAIAYgCEYEQCABKAIIIAEtABAgA0EoahD+ICAAQQhqIANBMGooAgA2AgAgACADKQIoNwIADAUFIAYtAAEhBSAGLQAAIQJBACEEA0ACQCAEQQFxDQAgBSACQf8BcSIHSQ0AQQFBARCrICIEIAI6AAAgA0EBOgBUIANBATYCUCADIAQ2AkwgA0EBNgJIIAUgB00hBCACIAUgB0tqIQIgA0EoaiADQcgAahCGDwwBCwsgBkECaiEGDAELAAsAC0Gss8QAEOApAAsgA0E8ahC4FwsgACADKQI8NwIAIABBCGogA0HEAGooAgA2AgAgA0EcahDRJAsgA0HwAGokAAvtEgIMfwF+IwBBsAFrIgIkACACQQA2AkhBASEFIAJBATYCPCACQYiUwAA2AjggAkIENwJAAkAgASgCFCABKAIYIAJBOGoQtSQNACAAKAIEIQMgAiAAKAIIIgw2AjAgAkEANgIsIAIgAzYCJCACIAMgDEEUbGo2AiggAkGEAWohCCAAKALcAiEKIAAoAtgCIQ0gASgCGCEDIAEoAhQhBCAAKALUAiELA0AgAkEYaiACQSRqEJoTIAIoAhwiBkUEQCACQQI2AjwgAkGkpsAANgI4IAJCATcCRCACQRM2ApQBIAIgAEHgAmo2ApABIAIgAkGQAWoiCDYCQEEBIQUgBCADIAJBOGoQtSQNAiACQQI2AjwgAkHApsAANgI4IAJCATcCRCACQRQ2ApQBIAIgACgCPCIBQQBHOgB4IAIgCDYCQCACIAJB+ABqIgo2ApABIAQgAyACQThqELUkDQIgAkECNgI8IAJBqJnDADYCOCACQgE3AkQgAkEVNgKUASACIAw2AnggAiAINgJAIAIgCjYCkAEgBCADIAJBOGoQtSQNAiACQQI2AjwgAkHImcMANgI4IAJCATcCRCACQRU2ApQBIAIgACgCOCIGNgJ4IAIgCDYCQCACIAo2ApABIAQgAyACQThqELUkDQIgAkECNgI8IAJB7KbAADYCOCACQgE3AkQgAkEVNgKUASACIABByAJqNgKQASACIAg2AkAgBCADIAJBOGoQtSQNAiACQQI2AjwgAkGUp8AANgI4IAJCATcCRCACQRU2ApQBIAIgAEHMAmo2ApABIAIgCDYCQCAEIAMgAkE4ahC1JA0CIAJB+KfAADYCOCACQgE3AkQgAkEVNgKUASAAKAJEIQkgACgCFCEHIAAoAiwhCyAAKAIgIQAgAkECNgI8IAIgB0EJbCAMQRRsaiALQQN0aiAJQQAgARtqIAAgBmpBAnRqNgJ4IAIgCDYCQCACIAo2ApABIAQgAyACQThqELUkDQIgAkEANgJIIAJBATYCPCACQfjDwwA2AjggAkIENwJAIAQgAyACQThqELUkIQUMAgsCQAJAAkACQAJAIAIoAhgiAQ4CAQACCyACQQc2AnwgAkEBNgKsASACQQE2AqQBIAJBAjYClAEgAkHopcAANgKQASACQQE2ApwBIAIgAkGsAWo2AnggAkEDOgBUIAJBCDYCUCACQiA3AkggAkKAgICA4AA3AkAgAkECNgI4IAIgAkE4ajYCoAEgAiACQfgAajYCmAEgBCADIAJBkAFqELUkRQ0EDAMLIAJBADYCSCACQQE2AjwgAkG0msMANgI4IAJCBDcCQCAEIAMgAkE4ahC1JEUNAQwCCyABIA1GIAEgCkZyIQUCQCABIAtLBEAgBQ0BIAJBADYCSCACQQE2AjwgAkGcmsMANgI4IAJCBDcCQCAEIAMgAkE4ahC1JEUNAgwDCyAFRQRAIAJBADYCSCACQQE2AjwgAkGomsMANgI4IAJCBDcCQCAEIAMgAkE4ahC1JEUNAgwDCyACQQA2AkggAkEBNgI8IAJBrK7AADYCOCACQgQ3AkAgBCADIAJBOGoQtSRFDQEMAgsgAkEANgJIIAJBATYCPCACQaCuwAA2AjggAkIENwJAIAQgAyACQThqELUkDQELIAIgATYCNCACQQc2AnwgAiAGKAIMNgKsASACQQc2AoQBIAIgAkGsAWo2AoABIAIgAkE0ajYCeCACQQM6AHQgAkEINgJwIAJCoICAgBA3AmggAkKAgICA4AA3AmAgAkECNgJYIAJBAzoAVCACQQg2AlAgAkIgNwJIIAJCgICAgOAANwJAIAJBAjYCOCACQQI2AqQBIAJBAzYClAEgAkGwpcAANgKQASACIAJBOGo2AqABIAJBAjYCnAEgAiACQfgAajYCmAEgBCADIAJBkAFqELUkDQAgAkEQaiAAIAEQpiAgAikDECEOIAJBADYCjAEgAiAONwKEASACQQA2AngDQCACQThqIAgQ5RACQAJAAkACQAJAAkACQCACLQA4QQFGBEAgAigAOiEGIAIxADkhDiACKAJ4DQEgDkIIhiAGrUIghoQgDoQhDgwHCyACKAJ4IAJBADYCeEEBcUUNAyACKAKAASEJIAItAH0hByACLQB8IQUMAQsgAi0AfCEFIAIoAoABIgkgBkYNASACQQE2AnggAi0AfSEHIAIgDkIIhiAGrUIghoQgDoQ3AnwLIAIgAigCjAEiBkEBajYCjAEgBg0CDAMLIAWtQv8BgyAGrUIghiAOQgiGhIQhDgwDCyACQQA2AkggAkEBNgI8IAJBwM7fADYCOCACQgQ3AkAgBCADIAJBOGoQtSQNBCABQQFrIAtPDQUgAkEANgJIIAJBATYCPCACQdylwAA2AjggAkIENwJAIAQgAyACQThqELUkDQQgAkEIaiAAIAEQpyBBACEFIAIoAgwhASACKAIIIgZBLGohCSAGQShqIQYDQCABRQRAIAJBADYCSCACQQE2AjwgAkHAzt8ANgI4IAJCBDcCQCAEIAMgAkE4ahC1JEUNBwwGCyAGKAIAIAkoAgAgAUGogcQAELofIgcoAgQhASAHKAIAIQcgBQRAIAJBADYCSCACQQE2AjwgAkH4xcMANgI4IAJCBDcCQCAEIAMgAkE4ahC1JA0GCyACQQE2AjwgAkGE+OAANgI4IAJCATcCRCACQQc2ApQBIAIgBzYCeCAFQQFrIQUgAiACQZABajYCQCACIAJB+ABqNgKQASAEIAMgAkE4ahC1JEUNAAsMBAsgAkEANgJIIAJBATYCPCACQfjFwwA2AjggAkIENwJAIAQgAyACQThqELUkDQMLIAcgBUH/AXFHBEAgAiAFOgCrASACIAc6ADQgAkEDNgKUASACQbjHwwA2ApABIAJCAzcCnAEgAkEVNgJMIAJBFjYCRCACQRY2AjwgAiAJNgKsASACIAJBOGo2ApgBIAIgAkGsAWo2AkggAiACQTRqNgJAIAIgAkGrAWo2AjggBCADIAJBkAFqELUkRQ0CDAMLIAIgBToANCACQQI2AjwgAkGExsMANgI4IAJCAjcCRCACQRU2ApwBIAJBFjYClAEgAiAJNgKsASACIAJBkAFqNgJAIAIgAkGsAWo2ApgBIAIgAkE0ajYCkAEgBCADIAJBOGoQtSRFDQEMAgsgAiAONwJ8IAJBATYCeAwACwALC0EBIQULIAJBsAFqJAAgBQuwEwECfyMAQUBqIgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEQIAAoAgBBAmsiAyADQSNPG0EBaw4iAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIgALIAIgAEEIajYCDCACQQE2AiwgAkGE+OAANgIoIAJCATcCNCACQdcDNgIcIAIgAkEYajYCMCACIAJBDGo2AhggASgCFCABKAIYIAJBKGoQtSQMIgsgAkEANgI4IAJBATYCLCACQcTz2AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDCELIAJBADYCOCACQQE2AiwgAkHM89gANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwgCyACQQA2AjggAkEBNgIsIAJB1PPYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMHwsgAkEANgI4IAJBATYCLCACQdzz2AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDB4LIAJBADYCOCACQQE2AiwgAkHk89gANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwdCyACQQA2AjggAkEBNgIsIAJB7PPYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMHAsgAkEANgI4IAJBATYCLCACQfTz2AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDBsLIAJBADYCOCACQQE2AiwgAkH889gANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwaCyACQQA2AjggAkEBNgIsIAJBhPTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMGQsgAkEANgI4IAJBATYCLCACQYz02AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDBgLIAJBADYCOCACQQE2AiwgAkGU9NgANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwXCyACQQA2AjggAkEBNgIsIAJBnPTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMFgsgAkEANgI4IAJBATYCLCACQaT02AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDBULIAJBADYCOCACQQE2AiwgAkGs9NgANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwUCyACQQA2AjggAkEBNgIsIAJBtPTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMEwsgAiAAQRBqNgIMIAJBAjYCLCACQcz02AA2AiggAkIBNwI0IAJB2AM2AhwgAiACQRhqNgIwIAIgAkEMajYCGCABKAIUIAEoAhggAkEoahC1JAwSCyACQQA2AjggAkEBNgIsIAJB3PTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMEQsgAkEBNgIsIAJBhPjgADYCKCACQgE3AjQgAkECNgIQIAIgAC0ABEECdCIAQaDm4wBqKAIANgIcIAIgAEH85uMAaigCADYCGCACIAJBDGo2AjAgAiACQRhqNgIMIAEoAhQgASgCGCACQShqELUkDBALIAJBATYCLCACQYT44AA2AiggAkIBNwI0IAJBAjYCECACIAAtAARBAnQiAEHY5+MAaigCADYCHCACIABBmOjjAGooAgA2AhggAiACQQxqNgIwIAIgAkEYajYCDCABKAIUIAEoAhggAkEoahC1JAwPCyACQQA2AjggAkEBNgIsIAJB5PTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMDgsgAkEANgI4IAJBATYCLCACQez02AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDA0LIAJBADYCOCACQQE2AiwgAkH09NgANgIoIAJCBDcCMCABKAIUIAEoAhggAkEoahC1JAwMCyACQQA2AjggAkEBNgIsIAJB/PTYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMCwsgAkEANgI4IAJBATYCLCACQYT12AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDAoLIAIgAEEIajYCFCACIABBEGo2AgwgAkEDNgIsIAJBnPXYADYCKCACQgI3AjQgAkHYAzYCJCACQdgDNgIcIAIgAkEYajYCMCACIAJBDGo2AiAgAiACQRRqNgIYIAEoAhQgASgCGCACQShqELUkDAkLIAIgAEEIajYCFCACIABBEGo2AgwgAkEDNgIsIAJBxPXYADYCKCACQgI3AjQgAkHYAzYCJCACQdgDNgIcIAIgAkEYajYCMCACIAJBDGo2AiAgAiACQRRqNgIYIAEoAhQgASgCGCACQShqELUkDAgLIAIgAEEQajYCFCACIABBCGo2AgwgAkEDNgIsIAJB8PXYADYCKCACQgI3AjQgAkHYAzYCJCACQdkDNgIcIAIgAkEYajYCMCACIAJBDGo2AiAgAiACQRRqNgIYIAEoAhQgASgCGCACQShqELUkDAcLIAIgAEEQajYCFCACIABBCGo2AgwgAkEDNgIsIAJBmPbYADYCKCACQgI3AjQgAkHYAzYCJCACQdoDNgIcIAIgAkEYajYCMCACIAJBDGo2AiAgAiACQRRqNgIYIAEoAhQgASgCGCACQShqELUkDAYLIAIgAEEIajYCDCACQQI2AiwgAkG89tgANgIoIAJCATcCNCACQdgDNgIcIAIgAkEYajYCMCACIAJBDGo2AhggASgCFCABKAIYIAJBKGoQtSQMBQsgAiAAQRBqNgIMIAJBAjYCLCACQdj22AA2AiggAkIBNwI0IAJB2AM2AhwgAiACQRhqNgIwIAIgAkEMajYCGCABKAIUIAEoAhggAkEoahC1JAwECyACQQA2AjggAkEBNgIsIAJB6PbYADYCKCACQgQ3AjAgASgCFCABKAIYIAJBKGoQtSQMAwsgAkEANgI4IAJBATYCLCACQYD32AA2AiggAkIENwIwIAEoAhQgASgCGCACQShqELUkDAILIAJBADYCOCACQQE2AiwgAkGI99gANgIoIAJCBDcCMCAB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CkYNAQsgA0GwBGogBRCWCyADQcjl3wA2AqwEIANBNDoAqAQgA0HAAWogA0GIAWogAygCcEElRiICGygCACIBIANBxAFqIANBjAFqIAIbKAIAIgIgASACSRsgASACIAEgAksbIANBqARqEIEVIQEgBRDjDSICRQ0MIAIoAgBBJEYNAQwMCyADQbQEaiAGQQhqKQIANwIAIANBvARqIAZBEGooAgA2AgAgAygCcCECIANBJTYCcCADIAI2AqgEIAMgAykDiAE3A8ABIAMgBikCADcCrAQgA0GoBGoQxwpBACECAkACQCAFEOMNIgRFDQAgBCgCAEETRw0AIANBEGogA0HIAGpBoODfABDzASADKAIUIQIgAygCEA0BCyADIAI2ApAIIAUQ4w0iBARAIAQoAgBBA0YNBQsgA0GwBGogBRCWCyADQeDy3wA2AqwEIANBNDoAqAQgA0HAAWogA0GIAWogAygCcEElRiICGygCACIBIANBxAFqIANBjAFqIAIbKAIAIgIgASACSRsgASACIAEgAksbIANBqARqEIEVIQEgBRDjDSICRQ0LIAIoAgBBJEcNCyADIAMpA4gBNwPAASADKAJwIANBJTYCcEEkRw0IIANByABqIAMoAnQQhgwMCwsgA0GBgICAeDYCkAQgAyACNgKUBAwMCyADIAMpA4gBNwPAASADKAJwIANBJTYCcEEkRw0HIANByABqIAMoAnQQhgwMCgsgAyAENgKUBCADQYGAgIB4NgKQBAwMCyADIAMpA4gBNwPAASADKAJwIANBJTYCcEEkRw0GIANByABqIAMoAnQQhgwMCgsgA0G0BGogBkEIaikCADcCACADQbwEaiAGQRBqKAIANgIAIAMoAnAhBCADQSU2AnAgAyAENgKoBCADIAMpA4gBNwPAASADIAYpAgA3AqwEIANBqARqEMcKIANBmARqIANB/AdqKAIANgIAIAMgAjYCoAQgAyAHNgKcBCADIAMpAvQHIhQ3A5AEIBSnIgRBgICAgHhrDgIMCwELIANBgYCAgHg2ApAEIAMgBzYClAQMCgsgAykClAQhFCADQagEaiIGIANByABqQagDEPsGGiABEIQQIAEgBkGoAxD7BiEBIAMgDjoA1wcgAyABKQCDAzcA2AcgAyABKQCLAzcA4AcgAyABKQCTAzcA6AcgAyABKACbAzYA8AcgDCADQdcHahDJCCADQQE7ADIgAyABLQCIAzoAMSADIAEoAYIDNgArIAMgAS8BhgM7AC8gAyABKQCLAzcANCADIAEpAJMDNwA8IAMgASgAmwM2AEQgA0HhAGogCkEVaikAADcAACADQdwAaiAKQRBqKQEANwIAIANB1ABqIApBCGopAQA3AgAgAyAKKQEANwJMIAwgA0ErahDJCCADIAE2AkggAyACNgKkCCADIAc2AqAIIAMgFDcClAggAyAENgKQCCADIANBJGo2ApwIIANBCGogAUEBIBSnIBRCIIinEMcZEMEDIAMoAgwhBQJAIAMoAghFBEAgACADKQKQCDcCACAAQQhqIANBmAhqKAIANgIAIAEoAnwhASADKAIkIQQgBhDQFCAAQQE7ASQgACACNgIgIAAgBzYCHCAAIAQgASABIARJGzYCFCAAIAQgASABIARLGzYCECAAIAU2AgwgACADKALABDYCGCAGEOEgDAELIABBgYCAgHg2AgAgACAFNgIEIANBkAhqEIUnIAcQkCsgA0GkCGoQkSgLIANByABqEKMmDAwLAAtB5ezgAEEoQdD03wAQ9BcAC0Hl7OAAQShB4PTfABD0FwALQeXs4ABBKEHw9N8AEPQXAAsgA0GBgICAeDYCkAQgAyABNgKUBCADQZAIahCRKAwBCyADQYGAgIB4NgKQBCADIAE2ApQECyADQfQHahCFJwwBCyADQYGAgIB4NgKQBCADIAE2ApQECyAHEJArCyADQZAEakEEchCdIwsgA0HIAGoQhBALIABBgICAgHg2AgALIANB0AhqJAALtRICEX8BfiMAQcAIayIDJAAgAyACNgIkAkACQAJAAkAgAUEoaiIMEMoNIgJFDQAgAigCAEEURw0AIAItAARBBEYNAQsgDBDKDSICRQ0BIAIoAgBBIUcNAQsgAS0AoAJBAkcNACABLQCqAiEOIANByABqIgIgARCjAyADQQE6AOsDIAMgASkAqwI3AOwDIAMgASkAswI3APQDIAMgASkAuwI3APwDIAMgASgAwwI2AIQEIANB8ABqIgUgA0HrA2oQ0gggA0EYaiACQQBBABCTASADKAIcIQcCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCGEUEQAJAAkACQCAFEMoNIgIEQCACKAIAQQlGDQELIANBqARqIAUQkRAgA0Hw5d8ANgKkBCADQTQ6AKAEIANB4ANqIANBqANqIAMoApADQSVGIgIbKAIAIgEgA0HkA2ogA0GsA2ogAhsoAgAiAiABIAJJGyABIAIgASACSxsgA0GgBGoQgRUhASAFEMoNIgJFDQwgAigCAEEkRg0BDAwLIANBrARqIANBnANqKQIANwIAIANBtARqIANBpANqKAIANgIAIAMoApADIQIgA0ElNgKQAyADIAMpApQDNwKkBCADIAI2AqAEIAMgAykDqAM3A+ADIANBoARqIgIQxgogAiADQcgAahCzASADKAKkBCEEIAMoAqAEIglBgICAgHhHBEAgAUGqAmohCiADQZQDaiEGIAMoAqgEIQIgAyAENgLwByADIAQgAkEGdCIPaiIQNgL8ByADIAk2AvgHIAlBBnQhCyADQdAEaiERQQAhAgNAIAQgCGohDSACIA9GRQRAIANBgAhqIhIgAiAEaiITQcAAEPsGGiADQaAEaiATQcAAEPsGGiAREO4mIA0gEkEoEPsGGiAIQShqIQggAkFAayECDAELCyADIBA2AvQHIAtBKG4hCCADQfAHahCeEiAEIQICQCAJRQ0AIAsgCEEobCIJRg0AIAtFBEBBCCECDAELIAQgC0EIIAkQ+QIiAkUNBgsgAyACNgLoByADIAg2AuQHIAMgDSAEa0EobjYC7AcgA0HwB2oQzxcCQAJAIAUQyg0iAgRAIAIoAgBBCkYNAQsgA0GoBGogBRCRECADQcjl3wA2AqQEIANBNDoAoAQgA0HgA2ogA0GoA2ogAygCkANBJUYiAhsoAgAiASADQeQDaiADQawDaiACGygCACICIAEgAkkbIAEgAiABIAJLGyADQaAEahCBFSEBIAUQyg0iAkUNDCACKAIAQSRGDQEMDAsgA0GsBGogBkEIaikCADcCACADQbQEaiAGQRBqKAIANgIAIAMoApADIQIgA0ElNgKQAyADIAI2AqAEIAMgAykDqAM3A+ADIAMgBikCADcCpAQgA0GgBGoQxgpBACECAkACQCAFEMoNIgRFDQAgBCgCAEETRw0AIANBEGogA0HIAGpBoODfABDxASADKAIUIQIgAygCEA0BCyADIAI2AoAIIAUQyg0iBARAIAQoAgBBA0YNBQsgA0GoBGogBRCRECADQeDy3wA2AqQEIANBNDoAoAQgA0HgA2ogA0GoA2ogAygCkANBJUYiAhsoAgAiASADQeQDaiADQawDaiACGygCACICIAEgAkkbIAEgAiABIAJLGyADQaAEahCBFSEBIAUQyg0iAkUNCyACKAIAQSRHDQsgAyADKQOoAzcD4AMgAygCkAMgA0ElNgKQA0EkRw0IIANByABqIAMoApQDEP8LDAsLIANBgYCAgHg2AogEIAMgAjYCjAQMDAsgAyADKQOoAzcD4AMgAygCkAMgA0ElNgKQA0EkRw0HIANByABqIAMoApQDEP8LDAoLIAMgBDYCjAQgA0GBgICAeDYCiAQMDAsgAyADKQOoAzcD4AMgAygCkAMgA0ElNgKQA0EkRw0GIANByABqIAMoApQDEP8LDAoLIANBrARqIAZBCGopAgA3AgAgA0G0BGogBkEQaigCADYCACADKAKQAyEEIANBJTYCkAMgAyAENgKgBCADIAMpA6gDNwPgAyADIAYpAgA3AqQEIANBoARqEMYKIANBkARqIANB7AdqKAIANgIAIAMgAjYCmAQgAyAHNgKUBCADIAMpAuQHIhQ3A4gEIBSnIgRBgICAgHhrDgIMCwELIANBgYCAgHg2AogEIAMgBzYCjAQMCgsgAykCjAQhFCADQaAEaiIGIANByABqQaADEPsGGiABEN8QIAEgBkGgAxD7BiEBIAMgDjoAxwcgAyABKQCrAjcAyAcgAyABKQCzAjcA0AcgAyABKQC7AjcA2AcgAyABKADDAjYA4AcgDCADQccHahDSCCADQQE7ADIgAyABLQCwAjoAMSADIAEoAaoCNgArIAMgAS8BrgI7AC8gAyABKQCzAjcANCADIAEpALsCNwA8IAMgASgAwwI2AEQgA0HhAGogCkEVaikAADcAACADQdwAaiAKQRBqKQEANwIAIANB1ABqIApBCGopAQA3AgAgAyAKKQEANwJMIAwgA0ErahDSCCADIAE2AkggAyACNgKUCCADIAc2ApAIIAMgFDcChAggAyAENgKACCADIANBJGo2AowIIANBCGogAUEBIBSnIBRCIIinEMcZEMMDIAMoAgwhBQJAIAMoAghFBEAgACADKQKACDcCACAAQQhqIANBiAhqKAIANgIAIAEoApwDIQEgAygCJCEEIAYQ0BQgAEEBOwEkIAAgAjYCICAAIAc2AhwgACAEIAEgASAESRs2AhQgACAEIAEgASAESxs2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OgCAASABIAggBSAEQYABahDGGQsgBEEQaiACEIwDIAQoAhAhASAEQQhqIAYQjAMgBCgCDCEFIAQgBzoAlAEgBCAGNgKIASAEIAI2AoQBIARBEjYCgAEgBCABIAUgASAFSxs2ApABIAQgASAFIAEgBUkbNgKMASAEQYABahDcKCEBIAAgAzoABSAAQQE6AAQgACABNgIADAELIABBADoABCAAIAI2AgALIARBwAFqJAAL9Q4BEn8jAEHQAWsiAyQAAkAgAS0A+gJBAXFFBEAgAEEANgIIIABCgICAgMAANwIADAELIANBADYCTCADQoCAgIDAADcCRCABQSxqIQogA0HcAGohEyADQdAAakEEciEIIANBrAFqIRAgA0HYAGohFCABQShqIgcQ3iAhDEEIIRFBBCESAkACQAJ/A0ACQAJAAkACQAJAAkACQAJAAkACQAJAIAcQ4w0iBARAIAQoAgBBBUYNAQsgDUUNAQJAIAcQ4w0iBEUNACAEKAIAQQJHDQAgBC0ACEECRw0AIAQtAAlBG0YNAwsgBxDjDRoMBgsgBxDeICEOIAcQ4w0iBEUEQCABKALYAiEBIANBADoAUCABIAEgA0HQAGoQgRUhBQwOCyAEKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRGBEAgASgCLCEFDA8LQeXs4ABBKEHs998AEPQXAAsgCCAKKQIANwIAIAEoAighBSABQSU2AiggASABKQNANwN4IAhBCGoiBCAKQQhqIgkpAgA3AgAgCEEQaiIGIApBEGoiDygCADYCACADIAU2AlAgA0HQAGoQxwoCQAJAAkAgBxDjDSIFBEAgBSgCAEEJRg0BCyADQZABaiABQQBBABD9ASADAn8gAy0ApAFBAkcEQCAQIAMpA5ABNwIAIBBBEGogA0GgAWopAwA3AgAgEEEIaiADQZgBaikDADcCACAIIAMpAqgBNwIAIAQgA0GwAWopAgA3AgAgBiADQbgBaikCADcCACAIQRhqIANBwAFqKAIANgIAQRoMAQsgAyADKAKQATYCVEEyCzYCUCADQShqIANB0ABqIgQQlBggAygCLCEFIAMoAigNECADQQU6AFggAyAFNgJQIANBIGogASAEQQBBARA6IAMoAiQhBSADKAIgRQ0BDBALIAggCikCADcCACABKAIoIQUgAUElNgIo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0AJqIgwgBkEDIAQQYyACKALUAiEDIAIoAtACIglBB0YNDCACQbACaiACQfACaikDADcDACACQagCaiACQegCaikDADcDACACQaACaiACQeACaikDADcDACACIAIpA9gCNwOYAiACIAM2ApQCIAIgCTYCkAJBACEKIAlBBEcNACACQf8AOgDQAiAGIAggByAMENgZC0EoQQgQqyAiAyACQZACakEoEPsGGiACQQA2AmggAiAPNgJkIAIgBTYCYCACIAc2AlwgAiAINgJYQQIhBiALQQFLDQ4gBCgCAEEaRw0BIApFDQ0gBCkDCBD5GgwNCyACQRBqIAUQggogBSgCAEEFaw4DAwECBgsgBBDCAgwLCyACQegBaiIGIAVBIGopAwA3AwAgAkHgAWoiByAFQRhqKQMANwMAIAJB2AFqIgggBUEQaikDADcDACACIAUpAwg3A9ABIAJB0AJqIAEoAhRBA0EBIAEoAhgtAABBAUsbIAUoAigQYyACKALUAiEDIAIoAtACIglBB0cEQCACQYgCaiIKIAJB8AJqKQMANwMAIAJBgAJqIgsgAkHoAmopAwA3AwAgAkH4AWoiDCACQeACaikDADcDACACIAIpA9gCNwPwAUEoQQgQqyAiBCADNgIEIAQgCTYCACAEIAIpA/ABNwMIIARBEGogDCkDADcDACAEQRhqIAspAwA3AwAgBEEgaiAKKQMANwMAIAJBuAFqIgMgCCkDADcDACACQcABaiIIIAcpAwA3AwAgAkHIAWoiByAGKQMANwMAIAIgAikD0AE3A7ABIAJBqAFqIAcpAwA3AgAgAkGgAWogCCkDADcCACACQZgBaiADKQMANwIAIAIgAikDsAE3ApABIAJB0ABqQQRyIAJBjAFqQSQQ+wYaIAIgBDYCeEEADAQLIAJB0AFqEOYWQQAhBgwFCyACKAIUIQMgAigCECEEIAJBiANqIAVBIGopAwA3AwAgAkGAA2ogBUEYaikDADcDACACIAUpAxA3A/gCIAUoAighBiACQeAAaiACQfgCahDrGCACIAY2AoABIAIgAzYCXCACIAQ2AlgMAQsgBSkDCCERIAUoAhAhAyAFKAIUIQQgAiAFKQMYNwPgAiACIAQ2AtwCIAIgAzYC2AIgAiARNwPQAiACQeAAaiACQdACahDrGCACQQA2AoABIAIgBDYCXCACIAM2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BAsgAyAEOgB0IANBgICAgHg2AnAMAQsgAygCiAEhBCADKAKEASEFAkACQAJAAkAgBkEBaw4DAgEAAwsgAygCkAEhBiADKAKMASEHAkACQAJAAkACQAJAIAUgBEHgxMcAQQMQ6x9FBEAgBSAEQePExwBBERDrHw0BIAUgBEH0xMcAQRYQ6x8NAiAFIARBisXHAEEOEOsfDQMgBSAEQZjFxwBBChDrHw0EIANBgICAgHg2AnAgA0EAOgB0DAoLIANBqAFqEJgdQfB8IQQDQCAERQ0FIAcgBiAEQdyWygBqKAIAIARB4JbKAGooAgAQ6x8NBiAEQRBqIQQMAAsACyADQRhqQeSszgBBowEgByAGEOEKIANBgAFqIAMoAhggAygCHBDSISADKAKAAUGAgICAeEYEQCADQYCAgIB4NgJwIANBAToAdAwJCyADQfgAaiADQYgBaikCADcDACADIAMpAoABNwNwDAgLIANBIGpBpNbUAEENIAcgBhDhCiADQYABaiADKAIgIAMoAiQQ0iEgAygCgAFBgICAgHhGBEAgA0GAgICAeDYCcCADQQE6AHQMCAsgA0H4AGogA0GIAWopAgA3AwAgAyADKQKAATcDcAwHCyADQShqQfSy1gBBDiAHIAYQ4QogA0GAAWogAygCKCADKAIsENIhIAMoAoABQYCAgIB4RgRAIANBgICAgHg2AnAgA0EBOgB0DAcLIANB+ABqIANBiAFqKQIANwMAIAMgAykCgAE3A3AMBgsgA0EwakG8mdUAQRIgByAGEOEKIANBgAFqIAMoAjAgAygCNBDSISADKAKAAUGAgICAeEYEQCADQYCAgIB4NgJwIANBAToAdAwGCyADQfgAaiADQYgBaikCADcDACADIAMpAoABNwNwDAULIANBgICAgHg2AnAgA0EBOgB0IAMoAqgBIAMoAqwBEOUpDAQLIARBoANqIQVBzJPKACEEA0AgBQRAIANBgAFqIgYgBCgCCCAEKAIMEOIKIANBqAFqIAYQjBggAygCgAEgAygChAEQ5SkgBUEQayEFIARBEGohBAwBBSADQfgAaiADQbABaikCADcDACADIAMpAqgBNwNwDAULAAsACyADQRBqQezizQBBowEgBSAEEOEKIANBgAFqIAMoAhAgAygCFBDSISADKAKAAUGAgICAeEYEQCADQYCAgIB4NgJw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Ba1CEIaENwE2IAMgAToANAJAIAFB/wFxQYABRgRAQYABIQADQAJ/IABB/wFxQYABRwRAIARB/wFxIgEgB0H/AXFPDQQgASACai0AACEBIARBAWoMAQsgAkIANwIAQQAhByALQQA2AgBBACEAIAUhAUEAIQVBAAshBCAKIAEgCCgCEBECAEUNAAsMBAsgBEH/AXEiBCAHQf8BcSIBTw0AIAQgASABIARJGyEAIAgoAhAhAQNAIAogAiAEai0AACABEQIADQQgACAEQQFqIgRHDQALCyAGIAlHDQALC0EAIQEMAQtBASEBCyADQeAAaiQAIAELnw4CC38DfiMAQYABayICJAAgAUEoaiIDEN4gIQgCQCADEOMNIgRFBEAgASgC2AIhASACQQA6ADggASABIAJBOGoQgRUhASAAQQQ6ADQgACABNgIADAELAkACQAJAAkACQAJAAkACQCAEKAIAQSRGBEAgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQEgASgCLCEBIABBBDoANCAAIAE2AgAMCQsgASgCKCEEIAFBJTYCKCABIAEpA0A3A3ggAkHEAGogAUE0aikCADcCACACQcwAaiABQTxqKAIANgIAIAIgASkCLDcCPCACIAQ2AjggAkE4ahDHCgJAAkAgAxDjDSIEBEAgBCgCAEEJRg0BCyACQUBrIAMQlgsgAiADELgUIAJB8OXfADYCPCACQTQ6ADggAigCACACKAIEIAJBOGoQgRUhBCADEOMNIgNFDQkgAygCAEEkRg0BDAkLIAEoAighBSABQSU2AiggASABKQNANwN4IAJBxABqIAFBLGoiBEEIaikCADcCACACQcwAaiAEQRBqKAIANgIAIAIgBCkCADcCPCACIAU2AjggAkE4aiIGEMcKQQAhBSACIAMQ4w0iBwR/IAUFIAEoAtgCIQUgAkEAOgA4IAUgBSAGEIEVIQdBAQs2AjggAiAHNgI8IAJBOGoiBhCQJCACQRhqIAMQuBQgAigCHCEHIAIoAhghCSADEOMNIgVFBEAgASgC2AIhASACQQA6ADggASABIAYQgRUhASAAQQQ6ADQgACABNgIADAoLAn4CQCAFKAIAIgVBG0cEQCAFQSRHDQEgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQUgASgCLCEBIABBBDoANCAAIAE2AgAMDAsgASABKQNANwN4IAEoAiggAUElNgIoQRtGBEAgASkDMCENIAEpAzgMAgtB5ezgAEEoQbDl3wAQ9BcACyABKAIoIQUgAUElNgIoIAEgASkDQDcDeCACQcQAaiAEQQhqKQIANwIAIAJBzABqIARBEGooAgA2AgAgAiAEKQIANwI8IAIgBTYCOCACQThqIgUQxwogAkGRAToAOCABIAkgByAFENgZQQFBABDcGiENQcDl3wBBAhDcGgshDgJAAkAgAxDjDSIFRQ0AIAUoAgBBCkcNACABKAIoIQUgAUElNgIoIAEgASkDQDcDeCACQcQAaiILIARBCGopAgA3AgAgAkHMAGoiDCAEQRBqKAIANgIAIAIgBCkCADcCPCACIAU2AjggAkE4aiIKEMcKQQMhBQJAIAMQ4w0iBkUNACAGKAIAQQZHDQAgASgCKCEFIAFBJTYCKCABIAEpA0A3A3ggCyIGIARBCGopAgA3AgAgDCAEQRBqKAIANgIAIAIgBCkCADcCPCACIAU2AjggChDHCiAKIAFBABDVAiACKAI4IQQgAi0ATCIFQQNGDQcgAkEsaiAGKQIANwIAIAJBN2ogAkHPAGotAAA6AAAgAiACKQI8NwIkIAIgAi8ATTsANSACIAQ2AiALIAIgBToANEEAIQQCQCADEOMNIgNFDQAgAygCAEEURw0AIAMtAARBBEcNACACQdEAaiABQZcDaikAADcAACACQcwAaiABQZIDaikBADcCACACQcQAaiABQYoDaiIDKQEANwIAIAJBADoAcCACIAEtAI4DOgBvIAIgAS0AngM6AH8gAiABKQGCAyIPNwBjIAIgAygBADYAayACIAEpA5ADNwBxIAIgASgCmAM2AHkgAiABLwGcAzsAfSACIA83AjwgAUGAAWogAkHjAGoQyQggAiABNgI4IAJBEGogARDwASACKAIUIQQgAigCEA0CIAJBOGoQoyYLIAAgDjcDGCAAIAc2AhQgACAJNgIQIAAgDTcDCCAAIAIpAyA3AyAgACAENgI4IABBKGogAkEoaikDADcDACAAQTBqIAJBMGopAwA3AwAgACAIIAEoAnwiASABIAhJGzYCBCAAIAggASABIAhLGzYCAAwLCyACQUBrIAMQlgsgAkEIaiADELgUIAJByOXfADYCPCACQTQ6ADggAigCCCACKAIMIAJBOGoQgRUh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AkEYahC1JAwaCyACQQA2AiggAkEBNgIcIAJBmLvWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMGQsgAkEANgIoIAJBATYCHCACQby71gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDBgLIAJBADYCKCACQQE2AhwgAkGEvNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwXCyACQQA2AiggAkEBNgIcIAJBqLzWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMFgsgAkEANgIoIAJBATYCHCACQdC81gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDBULIAJBADYCKCACQQE2AhwgAkHovNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwUCyACQQA2AiggAkEBNgIcIAJBkL3WADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMEwsgAkEANgIoIAJBATYCHCACQby91gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDBILIAJBADYCKCACQQE2AhwgAkHYvdYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwRCyACQQA2AiggAkEBNgIcIAJB/L3WADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMEAsgAkEANgIoIAJBATYCHCACQZy+1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDA8LIAJBADYCKCACQQE2AhwgAkHEvtYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwOCyACQQA2AiggAkEBNgIcIAJB6L7WADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMDQsgAkEANgIoIAJBATYCHCACQYC/1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDAwLIAJBADYCKCACQQE2AhwgAkGYv9YANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwLCyACIAAoAgQ2AgwgAkECNgIcIAJB3L/WADYCGCACQgE3AiQgAkEHNgIUIAIgAkEQajYCICACIAJBDGo2AhAgASgCFCABKAIYIAJBGGoQtSQMCgsgAkEANgIoIAJBATYCHCACQajA1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDAkLIAJBADYCKCACQQE2AhwgAkHgwNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwICyACQQA2AiggAkEBNgIcIAJBhMHWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMBwsgAkEANgIoIAJBATYCHCACQbTB1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDAYLIAJBADYCKCACQQE2AhwgAkGQwtYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwFCyACQQA2AiggAkEBNgIcIAJB/MLWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMBAsgAkEANgIoIAJBATYCHCACQYjE1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkDAMLIAJBADYCKCACQQE2AhwgAkGwxNYANgIYIAJCBDcCICABKAIUIAEoAhggAkEYahC1JAwCCyACQQA2AiggAkEBNgIcIAJB2MTWADYCGCACQgQ3AiAgASgCFCABKAIYIAJBGGoQtSQMAQsgAkEANgIoIAJBATYCHCACQaTF1gA2AhggAkIENwIgIAEoAhQgASgCGCACQRhqELUkCyACQTBqJAALmg4BDn8jAEGwAWsiAyQAIAFBKGoiBRDDICELAkAgBRDKDSIERQRAIAEoAoACIQEgA0EAOgBoIAEgASADQegAahCBFSEBIABBgICAgHg2AgAgACABNgIEDAELAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAIAQSRGBEAgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRg0BQeXs4ABBKEHAlOAAEPQXAAsgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIANB9ABqIgYgAUHUAmopAgA3AgAgA0H8AGoiCCABQdwCaigCADYCACADIAEpAswCNwJsIAMgBDYCaCADQegAaiIKEMYKIANBADYCPCADQoCAgIDAADcCNCAKIAEgAhDKBCADKAJoIQQgAy0AgAEiB0ECRg0FIAFBzAJqIQkgA0HYAGoiDCAIKAIANgIAIANB0ABqIgggBikCADcDACADIAMpAmw3A0ggAyADKACBATYCQCADIANBhAFqKAAANgBDQSBBCBCrICIGIAQ2AgAgBiAHOgAYIAYgAykDSDcCBCAGQQxqIAgpAwA3AgAgBkEUaiAMKAIANgIAIAYgAygCQDYAGSAGQRxqIAMoAEM2AAAgA0EBNgJkIAMgBjYCYCADQQE2AlwgCkEEciEGIANBqQFqIQwgA0GQAWpBBHIhCCADQYEBaiEKA0AgB0EBcUUEQAJAIAUQyg0iBARAIAQoAgBBFkYNAQsgA0HwAGogBRCRECADQRBqIAUQhRQgA0HA798ANgJsIANBNDoAaCADKAIQIAMoAhQgA0HoAGoQgRUhBCAFEMoNIgJFDQcgAigCAEEkRw0HIAEgASkD4AI3A5gDIAEoAsgCIAFBJTYCyAJBJEcNCyABIAEoAswCEP8LDAcLIAYgCSkCADcCACABKALIAiEEIAFBJTYCyAIgASABKQPgAjcDmAMgBkEIaiINIAlBCGoiBykCADcCACAGQRBqIg4gCUEQaiIQKAIANgIAIAMgBDYCaCADQegAaiIPEMYKIA8gAUEBENESIANBIGogAygCaBCOBiADKAIkIQQgAygCIA0FIANBNGogBBDVGyAPEIclAkAgBRDKDSIEBEAgBCgCAEEORg0BCyADQfAAaiAFEJEQIANBGGogBRCFFCADQbDh3wA2AmwgA0E0OgBoIAMoAhggAygCHCADQegAahCBFSEEIAUQyg0iAkUNByACKAIAQSRHDQcgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0KIAEgASgCzAIQ/wsMBwsgBiAJKQIANwIAIAEoAsgCIQQgAUElNgLIAiABIAEpA+ACNwOYAyANIAcpAgA3AgAgDiAQKAIANgIAIAMgBDYCaCADQegAaiIEEMYKIAQgASACEMoEIAMoAmghBCADLQCAASIHQQJGDQYgCCAGKQIANwIAIAwgCigAADYAACAIQRBqIA4oAgA2AgAgCEEIaiANKQIANwIAIAxBA2ogCkEDaigAADYAACADIAc6AKgBIAMgBDYCkAEgA0HcAGogA0GQAWoQvxAMAQsLIANBMGoiAiADQeQAaigCADYCACADIAMpAlw3AyggAygCOCEEIAMoAjQiBkGAgICAeEYNBiADKAI8IQcgA0GYAWogAigCADYCACADIAMpAyg3A5ABIAMgBzYCUCADIAQ2AkwgAyAGNgJIIAUQyg0iAgRAIAIoAgBBEUYNAgsgA0HwAGogBRCRECADQQhqIAUQhRQgA0Hg6d8ANgJsIANBNDoAaCADKAIIIAMoAgwgA0HoAGoQgRUhAiAFEMoNIgVFDQogBSgCAEEkRg0CDAoLIAEoAswCIQEgAEGAgICAeDYCACAAIAE2AgQMCgsgASgCyAIhAiABQSU2AsgCIAEgASkD4AI3A5gDIANB9ABqIAlBCGopAgA3AgAgA0H8AGoiBSAJQRBqKAIANgIAIAMgCSkCADcCbCADIAI2AmggA0HoAGoQxgogASgCnAMhASADQfAAaiICIANB0ABqKAIANgIAIAUgA0GYAWooAgA2AgAgACADKQJINwIAIAAgCyABIAEgC0kbNgIcIAAgCyABIAEgC0sbNgIYIAMgAykDkAE3AnQgAEEIaiACKQMANwIAIABBEGogA0H4AGopAwA3AgAMCQsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0GIAEgASgCzAIQ/wsMBwsgA0HoAGoQhyULIANB3ABqEPsiCyADQTRqEOgmCyAAQYCAgIB4NgIAIAAgBDYCBAwEC0Hl7OAAQShBmI7gABD0FwALQeXs4ABBKEGojuAAEPQXAAtB5ezgAEEoQdCU4AAQ9BcACyAAQYCAgIB4NgIAIAAgAjYCBCADQZABahD7IiADQcgAahDoJgsgA0GwAWokAAvxDQEOfyMAQbABayIDJAAgAUEoaiIFEN4gIQsCQCAFEOMNIgRFBEAgASgC2AIhASADQQA6AGggASABIANB6ABqEIEVIQEgAEGAgICAeDYCACAAIAE2AgQMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEYNAUHl7OAAQShBwJTgABD0FwALIAEoAighBCABQSU2AiggASABKQNANwN4IANB9ABqIgYgAUE0aikCADcCACADQfwAaiIIIAFBPGooAgA2AgAgAyABKQIsNwJsIAMgBDYCaCADQegAaiIKEMcKIANBADYCPCADQoCAgIDAADcCNCAKIAEgAhDLBCADKAJoIQQgAy0AgAEiB0ECRg0FIAFBLGohCSADQdgAaiIMIAgoAgA2AgAgA0HQAGoiCCAGKQIANwMAIAMgAykCbDcDSCADIAMoAIEBNgJAIAMgA0GEAWooAAA2AENBIEEIEKsgIgYgBDYCACAGIAc6ABggBiADKQNINwIEIAZBDGogCCkDADcCACAGQRRqIAwoAgA2AgAgBiADKAJANgAZIAZBHGogAygAQzYAACADQQE2AmQgAyAGNgJgIANBATYCXCAKQQRyIQYgA0GpAWohDCADQZABakEEciEIIANBgQFqIQoDQCAHQQFxRQRAAkAgBRDjDSIEBEAgBCgCAEEWRg0BCyADQfAAaiAFEJYLIANBEGogBRC4FCADQcDv3wA2AmwgA0E0OgBoIAMoAhAgAygCFCADQegAahCBFSEEIAUQ4w0iAkUNByACKAIAQSRHDQcgASABKQNANwN4IAEoAiggAUElNgIoQSRHDQsgASABKAIsEIYMDAcLIAYgCSkCADcCACABKAIoIQQgAUElNgIoIAEgASkDQDcDeCAGQQhqIg0gCUEIaiIHKQIANwIAIAZBEGoiDiAJQRBqIhAoAgA2AgAgAyAENgJoIANB6ABqIg8QxwogDyABQQEQ4hIgA0EgaiADKAJoEJEGIAMoAiQhBCADKAIgDQUgA0E0aiAEENUbIA8QoyYCQCAFEOMNIgQEQCAEKAIAQQ5GDQELIANB8ABqIAUQlgsgA0EYaiAFELgUIANBsOHfADYCbCADQTQ6AGggAygCGCADKAIcIANB6ABqEIEVIQQgBRDjDSICRQ0HIAIoAgBBJEcNByABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNCiABIAEoAiwQhgwMBwsgBiAJKQIANwIAIAEoAighBCABQSU2AiggASABKQNANwN4IA0gBykCADcCACAOIBAoAgA2AgAgAyAENgJoIANB6ABqIgQQxwogBCABIAIQywQgAygCaCEEIAMtAIABIgdBAkYNBiAIIAYpAgA3AgAgDCAKKAAANgAAIAhBEGogDigCADYCACAIQQhqIA0pAgA3AgAgDEEDaiAKQQNqKAAANgAAIAMgBzoAqAEgAyAENgKQASADQdwAaiADQZABahC/EAwBCwsgA0EwaiICIANB5ABqKAIANgIAIAMgAykCXDcDKCADKAI4IQQgAygCNCIGQYCAgIB4Rg0GIAMoAjwhByADQZgBaiACKAIANgIAIAMgAykDKDcDkAEgAyAHNgJQIAMgBDYCTCADIAY2AkggBRDjDSICBEAgAigCAEERRg0CCyADQfAAaiAFEJYLIANBCGogBRC4FCADQeDp3wA2AmwgA0E0OgBoIAMoAgggAygCDCADQegAahCBFSECIAUQ4w0iBUUNCiAFKAIAQSRGDQIMCgsgASgCLCEBIABBgICAgHg2AgAgACABNgIEDAoLIAEoAighAiABQSU2AiggASABKQNANwN4IANB9ABqIAlBCGopAgA3AgAgA0H8AGoiBSAJQRBqKAIANgIAIAMgCSkCADcCbCADIAI2AmggA0HoAGoQxwogASgCfCEBIANB8ABqIgIgA0HQAGooAgA2AgAgBSADQZgBaigCADYCACAAIAMpAkg3AgAgACALIAEgASALSRs2AhwgACALIAEgASALSxs2AhggAyADKQOQATcCdCAAQQhqIAIpAwA3AgAgAEEQaiADQfgAaikDADcCAAwJCyABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNBiABIAEoAiwQhgwMBwsgA0HoAGoQoyYLIANB3ABqEPsiCyADQTRqEOgmCyAAQYCAgIB4NgIAIAAgBDYCBAwEC0Hl7OAAQShBmI7gABD0FwALQeXs4ABBKEGojuAAEPQXAAtB5ezgAEEoQdCU4AAQ9BcACyAAQYCAgIB4NgIAIAAgAjYCBCADQZABahD7IiADQcgAahDoJgsgA0GwAWokAAuBDAENfyMAQTBrIgskACACQQRrIRMCQAJAA0ACQAJAAkACQCABQSFPBEAgBA0BIAAgASACIANBASAGEJkCDAcLIAFBAkkNBiABQRBqIANLDQMgAUEBdiEDIAFBD0sNASABQQdLBEAgACACEMEKIAAgA0ECdCIEaiACIARqEMEKQQQhDgwGCyACIAAoAgA2AgAgAiADQQJ0IgRqIAAgBGooAgA2AgBBASEODAULIAAgAUEDdiINQRxsaiEHIAAgDUEEdGohCCAEQQFrIQQgCwJ/IAFBwABPBEAgACAIIAcgDRCRDQwBCyAAIAcgCCAAKAIAIg0gCCgCACIISSIKIAggBygCACIHSXMbIAogByANS3MbCyIOKAIAIgc2AhQgDiAAa0ECdiENIAUEQCAFKAIAIAdPDQILIAEgA0sNAiACIAFBAnQiD2ohCUEAIQggACEHIA0hCgNAIAAgCkEDayIMQQAgCiAMTxtBAnRqIRADQCAHIBBPRQRAIAhBAnQgAiAJQQRrIAcoAgAiESAOKAIAIgxJIhIbaiARNgIAIAggEmoiCEECdCACIAlBCGsgBygCBCIRIAxJIhIbaiARNgIAIAggEmoiCEECdCACIAlBDGsgBygCCCIRIAxJIhIbaiARNgIAIAggEmoiCEECdCACIAlBEGsiCSAMIAcoAgwiDEsiERtqIAw2AgAgCCARaiEIIAdBEGohBwwBCwsgACAKQQJ0aiEMA0AgByAMTwRAIAEgCkcEQCAJQQRrIgkgCEECdGogBygCADYCACAHQQRqIQcgASEKDAMLIA8gE2ohCSAAIAIgCCIHQQJ0IgoQ+wYgCmoiDCEKA0AgASAHRkUEQCAKIAkoAgA2AgAgB0EBaiEHIAlBBGshCSAKQQRqIQoMAQsLIAhFDQQgASAISQRAIAtBADYCKCALQQE2AhwgC0G83OAANgIYIAtCBDcCICALQRhqQcTc4AAQwx0ACyAMIAEgCGsgAiADIAQgC0EUaiAGENMBIAghAQwGBSAIQQJ0IAIgCUEEayIJIAcoAgAiECAOKAIASSIRG2ogEDYCACAHQQRqIQcgCCARaiEIDAELAAsACwALIAAgAiACIAFBAnRqIgQQ7x8gACADQQJ0IgVqIAIgBWogBEEgahDvH0EIIQ4MAwsgASADSw0AIAIgAUECdCIKaiEJQQAhCCAAIQcDQCAAIA1BA2siBUEAIAUgDU0bQQJ0aiEMA0AgByAMT0UEQCAIQQJ0IAIgCUEEayAOKAIAIgUgBygCACIPTyIQG2ogDzYCACAIIBBqIghBAnQgAiAJQQhrIAUgBygCBCIPTyIQG2ogDzYCACAIIBBqIghBAnQgAiAJQQxrIAUgBygCCCIPTyIQG2ogDzYCACAIIBBqIghBAnQgAiAJQRBrIgkgBSAHKAIMIg9PIgUbaiAPNgIAIAUgCGohCCAHQRBqIQcMAQsLIAAgDUECdGohBQNAIAUgB00EQCABIA1HBEAgAiAIQQJ0aiAHKAIANgIAIAdBBGohByAIQQFqIQggCUEEayEJIAEhDQwDCyABIAhrIQcgCiATaiEJIAAgAiAIQQJ0IgAQ+wYiBSAAaiEKA0AgBwRAIAogCSgCADYCACAHQQFrIQcgCUEEayEJIApBBGohCgwBCwsgC0EIaiAIIAUgARDxGyALKAIMIQEgCygCCCEAQQAhBQwEBSAIQQJ0IAIgCUEEayIJIAcoAgAiDCAOKAIATSIPG2ogDDYCACAHQQRqIQcgCCAPaiEIDAELAAsACwALCwALIAtCgICAgCA3AyAgCyADrUIghjcDGEEAIA5rIQUgASADayEGIAAgDkECdCIEaiENIAIgBGohCgNAIAsgC0EYahCPFiALKAIARQRAIAIgASAAEM4HDAILIAUgBiADIAsoAgQiBBsiByAOIAcgDksbaiEJIA0gBEECdCIEaiEIIAQgCmohByACIARqIQQDQCAJRQ0BIAcgCCgCADYCACAEIAcQ7hQgCUEBayEJIAhBBGohCCAHQQRqIQcMAAsACwALIAtBMGokAAvsDAIJfwR+IwBB8AVrIgMkACADIAI2AhwCQCABKAIAQQFxRQRAIANB4AFqQgA3AwAgA0HYAWpCADcDACADQdABakIANwMAIANCADcDyAEMAQsgA0HgAWogAUEgaikDADcDACADQdgBaiABQRhqKQMANwMAIANB0AFqIAFBEGopAwA3AwAgAyABKQMINwPIAQsCQAJ/AkAgAi8AsQJBswZxRQ0AAkACQCABLQBTQQFxRQRAQYABIQQDQCAEQf8BcUEBaiIFQf8BcSAFRw0CIANByAFqIAQQ+ykgBSEERQ0ACwwCCyADQf8BOgDuASADQYCAAjsB7AEDQCADQRhqIANB7AFqEOoSIAMtABhFDQMgA0HIAWogAy0AGRC5EgwACwALIANByAFqQf8BEPspRQ0BCyAAQbEBNgIQIABB7PDDADYCDEEsIQVBCAwBCyADQcgAaiADQdQBaikCACINNwMAIANB0ABqIANB3AFqKQIAIgw3AwAgA0HYAGogA0HkAWooAgAiBDYCACADQSxqIA03AgAgA0E0aiAMNwIAIANBPGogBDYCACADIAMpAswBIgw3A0AgAyADKALIASIKNgIgIAMgDDcCJAJAIAEtAFIiBEECRiAEQQFxckUEQCADQfABakEAQYACEI0LGiADQf8BOgBiIANBADsBYANAIANBEGogA0HgAGoQ6hIgAy0AEEUNAiADLQARIgQgA0HwAWpqIAQ6AAAMAAsACyADQfgAaiACQaACaikDADcDACADQfAAaiACQZgCaikDADcDACADQegAaiACQZACaikDADcDACADIAIpA4gCNwNgAkAgA0EgahCCKg0AQQAhBANAQYACIAQgBEGAAk0bIQYDQCAEIAZGDQIgBBDn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ai0AACEgIAFBPmotAAAhIQJAIAFBHGotAABBAkcEQCACQZACaiALELsjDAELIAFBEGopAgAhIiALEPgZIQsgAUEMahD5HCEBIAJBAjoApAIgAiAiNwOYAiACIAE2ApQCIAIgCzYCkAILIAcgAikDkAI3AwAgDyACKQOAAjcDACAHQRhqIAJBqAJqKQMANwMAIAdBEGogAkGgAmopAwA3AwAgB0EIaiACQZgCaikDADcDACAPQQhqIAJBiAJqKAIANgIAIAIgHTYC7AEgAiAeNgLoASACICE6AP4BIAIgHzoA/QEgAiAgOgD8ASACQQc2AsABDAELIAJBwAFqIAEQjx8LIAQgCGogAkHAAWpBwAAQ2i0aIAVBAWshBSAEQUBrIQQMAQsLIAIgBjYCsAEgAiAINgKsASACIBw2AqgBIBMgA0EgahC+ICACIBc2ArQBIAIgGDYCpAEgAiAZNgKgASACIAMvAVA7AbgBIAJBEGogAkHoAGpB2AAQ+wYaDAgLIAMpAighIiACQegAaiIBIANBCGoQyw4gAiADQTBqEP4LNgKQASACICI3A4gBIAIgAy0AOToAmQEgAiADLQA0OgCUASACIAMoADU2AJUBIAogAUE4EPsGGiACQQU2AhAMBwsgAykCGCEiIAJB6ABqIgEgA0EIahDVISACIANBIGoQ/gs2AoABIAIgIjcDeCACIAMtACY6AIYBIAIgAy0AKToAiQEgAiADLwAnOwCHASACIAMvACQ7AYQBIAogAUEoEPsGGiACQQY2AhAMBgsgAykCKCEiIAJB6ABqIgYgA0EIahDLDiADQTxqEPckIQEgA0FAaxCbHCEEIAMtAEQhBSAQIANBMGoQywsgAiAFOgCkASACIAQ2AqABIAIgATYCnAEgAiAiNwOIASACIAMtAEs6AKsBIAIgAy8ASTsAqQEgAiADKABFNgClASAKIAZByAAQ+wYaIAJBBzYCEAwFCyADKQIYISIgAygCICEBIAJB6ABqIgggA0EIahDVISADQSRqEPckIQQgA0EoahCbHCEFIAMtADkhBiAUIANBLGoQywsgAiAGOgCZASACIAU2AogBIAIgBDYChAEgAiABNgKAASACICI3A3ggAiADKAE6NgGaASACIAMtADg6AJgBIAogCEE4EPsGGiACQQg2AhAMBAsgCSADQQRqEL8eIAJBCTYC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IAdBEGooAgA2AgAgAiAHKQIANwJcIAIgAzYCWCACQdgAahDHCiACQSBqIAJByAFqIgNBCGopAwA3AwAgAkEoaiADQRBqKQMANwMAIAJBMGogA0EYaikDADcDACACIAMpAwA3AxggAigCxAEhBgsgAkHQAGoiAyACQTBqKQMANwMAIAJByABqIgUgAkEoaikDADcDACACQUBrIgcgAkEgaikDADcDACACIAIpAxg3AzggAkHAAWogAUEAEJcGIAJB6ABqIAcpAwA3AwAgAkHwAGogBSkDADcDACACQfgAaiADKQMANwMAIAIgBDYChAEgAiAGNgJcIAIgCDYCWCACIAIpAzg3A2AgAigCwAEgAiACQRRqNgKAAUGAgICAeEcEQCACQaABaiADKQMANwMAIAJBmAFqIAUpAwA3AwAgAkGQAWogBykDADcDACACQbABaiACQcgBaikCADcDACACQbgBaiACQdABaikCADcDACACIAIpAzg3A4gBIAIgAikCwAE3A6gBIAogASgCfCIDIAMgCksbIQEgCiADIAMgCkkbIQQMBAsgAigCxAEhBiACQdgAahCoJgsgAEEJNgIAIAAgBjYCBAwDC0Hl7OAAQShB2KPgABD0FwALQQghCAsgACAGNgIEIAAgCDYCACAAQQhqIAJBiAFqQTgQ+wYaIAAgBDYCRCAAIAE2AkALIAJBkAJqJAALpwwBDX8jAEGQAmsiAiQAIAIgAUEoaiIEEMMgIgo2AhQCQAJAAkAgBBDKDSIDRQ0AIAMoAgBBAkcNACADLQAIQQJHDQAgAy0ACUEDRw0AIAEoAsgCIQMgAUElNgLIAiABIAEpA+ACNwOYAyACQeQAaiABQdQCaikCADcCACACQewAaiABQdwCaigCADYCACACIAEpAswCNwJcIAIgAzYCWCACQdgAahDGCgJAAkACQAJAIAQQyg0iAwRAIAMoAgBBCUYNAQtBByEIDAELIAEoAsgCIQMgAUElNgLIAiABIAEpA+ACNwOYAyACQeQAaiIFIAFBzAJqIgdBCGopAgA3AgAgAkHsAGoiCSAHQRBqKAIANgIAIAIgBykCADcCXCACIAM2AlggAkHYAGoiDBDGCiAMIAFBABBRIAIoAlwhBiACKAJYIghBB0YNASACQeABaiINIAJB+ABqKQMANwMAIAJB2AFqIg4gAkHwAGop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AGogAxDxHiACKAJUIQEgAiADBH8gASADaiACKAJQIAFBHGxqIQEDQCACQeQAaiAFEOoBIAFBGGogAkH8AGooAgA2AgAgAUEQaiACQfQAaikCADcCACABQQhqIAJB7ABqKQIANwIAIAEgAikCZDcCACABQRxqIQEgBUEcaiEFIANBAWsiAw0ACwUgAQs2AlQgACACQcwAahCrAQwDCyABKAIIIQUgAkEgaiABKAIMIgNBHBDBFCACQQA2AmAgAiACKQMgNwJYIAJB2ABqIAMQ8R4gAigCYCEBIAIgAwR/IAEgA2ogAigCXCABQRxsaiEBA0AgAkHkAGogBRDqASABQRhqIAJB/ABqKAIANgIAIAFBEGogAkH0AGopAgA3AgAgAUEIaiACQewAaikCADcCACABIAIpAmQ3AgAgAUEcaiEBIAVBHGohBSADQQFrIgMNAAsFIAELNgJgIAAgAkHYAGoQWQwCCyAECyEBAkACQAJAAkAgBQ4CAAECCyABRSAGcg0BIAAQyiggAxCwIwwCCyABRSAGQQFHcg0AIAAgAykCADcCACAAQRhqIANBGGooAgA2AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCAAwBCyAAIAJBLGoQ9QY2AhggAEEENgIAIAAgAikCLDcCBCAAQRRqIAJBPGooAgA2AgAgAEEMaiACQTRqKQIANwIADAELIAMQ8SoLIAJBgAFqJAAL/AoBB38CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgJBDGsiBCAEQSZPG0EBaw4kAAECFBUDBAUGBwgJFhMTFgoLDA0TFBQOExMPEBcUFBcRFxMSEwsgACgCDEEEdCEDIAAoAgghAANAIANFDRMgACgCAEECRwRAIABBDGogARCHLQsgAEEQaiEAIANBEGshAwwACwALIABBBGogARCFCg8LIAAoAiAgARCjEA8LIABBBGogARCHLSAAQQhqIAEQhy0PCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwECAwQFBgcICQsKAAsgACkDCCAAKAIYIAEQwRwMCgsgAEEIaiABEKYfDAkLIABBCGogARCVIgwICyAAQQRqIAEQhy0MBwsgAEEEaiABEIcZDAYLIABB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ADYCACADIAEpAiw3AmwgAyACNgJoIANB6ABqIgIQxwpBASEFIAQQ4w0NASABKALYAiEBIANBADoAaCABIAEgAhCBFSECDAILQeXs4ABBKEGg9N8AEPQXAAsgA0H9AGogAUGXA2opAAA3AAAgA0H4AGogAUGSA2opAAA3AwAgA0HwAGogAUGKA2opAAA3AwAgAyABKQCCAzcDaAJAIAQQ4w0iAkUNACACKAIAQQJHDQAgA0HoAGogAi0ACCACQQlqLQAAEN8JDQAgBBDhEiICRQ0AIAIoAgBBAkcNACACLQAIDQAgAi0ACUEORw0AIAQQviFBAXMhBgsgBSAGckUEQCADQRBqIAFBACAHEIQHIAMoAhQhAiADKAIQIQgMAgsgA0GYAWoiCiABENMEIAMoAqABIQIgAykDmAEiC1ANACADIAMoAqQBNgKUASADIAI2ApABIAMgCzcDiAFBACECAkACQCAGBEAgBBDjDSICRQRAIAEoAtgCIQEgA0EAOgCYASABIAEgChCBFSECDAMLIAIoAgBBJEYEQCABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAiABKAIsIQIMAwsgASgCKCECIAFBJTYCKCABIAEpA0A3A3ggA0GkAWogAUE0aikCADcCACADQawBaiABQTxqKAIANgIAIAMgASkCLDcCnAEgAyACNgKYASADQZgBahDHCiADQQhqIAFBACAEEN4gEIQHIAMoAgwhAiADKAIIDQILIAEoAnwhBiADQbgBaiADQYgBahClHCADQawBaiADQcgBaikDADcCACADQaQBaiADQcABaikDADcCACADIAMpA7gBNwKcAUHYAEEIEKsgIgRBEjYCACAEIAU6ACwgBCACNgIoIAQgCSAGIAYgCUkbNgIkIAQgCSAGIAYgCUsbNgIgIAQgAykCmAE3AgQgBEEMaiADQaABaikCADcCACAEQRRqIANBqAFqKQIANwIAIARBHGogA0GwAWooAgA2AgAgASgCfCEBQQxBBBCrICICIAQ2AgAgAiAHIAEgASAHSRs2AgggAiAHIAEgASAHSxs2AgQMAwtB5ezgAEEoQcD03wAQ9BcACyALEPkaC0EBIQgLIANBJGoQoyYgACACNgIEIAAgCDYCACADQdABaiQAC68KAhF/An4jAEGQA2siCCQAIAGtIhdC//////////8/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QRhqQcig4wApAwAiBDcDACACQQhqIAQ3AwAgAkE0aiABQTRqKAIANgIAIAJBAToAKCACIAE2AiAgAiADNgIkIAJBwKDjACkDACIENwMQIAIgBDcDACACIAEpAiw3AiwgAiABLQA8OgA8IAIgAS8BOjsBOiABLQA4IQMgAiABLQA9OgA9IAIgAzoAOCACQQA6ADkgACACEM8jIAJBAToAOSACKAIkIABBPGoQmSEgAiAAQShqEKoLIAIQgSkLIABB4ABqIgAoAgBBgICAgHhGDQggASAAEL0LDAgLIABBBGogARDeKyAAQQhqIAEQ4ywMBwsgAEEEaiABEN4rIABBCGogARDjLAwGCyABKAIwEL4RIQMgAkEYakHIoOMAKQMAIgQ3AwAgAkEIaiAENwMAIAJBNGogAUE0aigCADYCACACQQA6ACggAiABNgIgIAIgAzYCJCACQcCg4wApAwAiBDcDECACIAQ3AwAgAiABKQIsNwIsIAIgAS0APDoAPCACIAEvATo7ATogAS0AOCEDIAIgAS0APToAPSACIAM6ADggAkEAOgA5AkAgACgCBCIDQQJGDQAgAEEIaiEBIANBAXFFBEAgASACEOQsDAELIAEgAhDeKwsgAkEBOgA5IABBGGogAhCsJSACQQE6ADkgAEEcaiACEKwlIAIgACgCDBDTCgwCCyABKAIwEL4RIQMgAkE0aiABQTRqKAIANgIAIAJBADoAKCACQRhqQcig4wApAwAiBDcDACACQQhqIAQ3AwAgAiABNgIgIAIgAzYCJCACQQE6ADkgAiABKQIsNwIsIAIgAS0APDoAPCACIAEvATo7ATogAkHAoOMAKQMAIgQ3AxAgAiAENwMAIAEtADghAyACIAEtAD06AD0gAiADOgA4IABBBGogAhDeGyAAQQxqIAIQ3isgAiAAKAIQENMKDAELIAEoAjAQvhEhAyACQTRqIAFBNGooAgA2AgAgAkEAOgAoIAJBGGpByKDjACkDACIENwMAIAJBCGogBDcDACACIAE2AiAgAiADNgIkIAJBAToAOSACIAEpAiw3AiwgAiABLQA8OgA8IAIgAS8BOjsBOiACQcCg4wApAwAiBDcDECACIAQ3AwAgAS0AOCEDIAIgAS0APToAPSACIAM6ADggAEEEaiACEN4bIABBDGogAhDeKyACIAAoAhAQ0woLIAIQ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DSIBRQRAIAMoAsAFIQEgA0EAOgCIByADIAEgASADQYgHahCBFTYChAcgA0EBNgKABwwBCyADQQA2AoAHIAMgATYChAcgASgCAEEjRw0AIAMgAykDoAY3A9gGIAMoAogGIANBJTYCiAZBI0cNASADKQOQBiELCyADQYAHahDCIyADQYgHaiADQcADakEBQQFBABCIAwJAIAMoAogHIgdBgICAgHhHBEAgAiADKALcBiIBIAEgAksbIQEgAygCkAchCSADKAKMByEKDAELIAMoAowHIQEgCxDtJkGAgICAeCEHCyADQeAGaiIIIAMoAsQFEPsQIAMoAuQGIQQgA0GUAWogAygC6AYiAhCSHyADKAKYASADKAKcASIFQQJ0aiAEIAJBAnQQ+wYaIANBADYC6AYgAyACIAVqNgKcASAIEIwjIAMoAswDIAMoAtADEMoeIAMoAsgDIAMoAswDEPApIAMoAtQDIAMoAtgDEIgXIAMoAugDBEAgA0HsA2oQjycgA0HwA2oQsicLIANB/ANqEMQgIAMoAsQFEO0YIAMoAsgFEO0YIAMoAswFENAXIAMoAtAFEO4YIANBiAZqEK4JIANBsAZqEK4JAkAgB0GAgICAeEcEQCADQfAAaiEIIANBEGohBCADQQRqIQUgCUEwbCECIAohAQNAIAJFDQIgAkEwayECIAEQjAQgAUEwaiEBDAALAAsgAyABNgLgBiADQQE2AsQDIANBzN3aADYCwAMgA0IBNwLMAyADQYwFNgKkASADIANBoAFqNgLIAyADIANB4AZqNgKgASADQcADakHU3doAEMMdAAsgCxDtJiAAIAk2AgggACAKNgIEIAAgBzYCACAGIAYoAgAiAEEBazYCACAAQQFGBEAgA0GEAWoQ1gsLIAMoAmggAygCbBDHFyADKAJkIAMoAmgQ3ykgCBCKCSADKAJYIQAgAygCXCIBKAIAIgIEQCAAIAIRAQALIAEoAgQiAgRAIAAgAiABKAIIENURCyADKAJQIAMoAlQQyBcgAygCTCADKAJQEPIpAkAgAygCACIAQQtGDQACQAJAQQYgAEECayIAIABBCU8bQQJrDgUCAgICAQALIAUhBAsgBCgCACAEQQRqKAIAENopCyADKAKYASIAIAMoApwBEJQfIAMoApQBIAAQ3ykgA0GgB2okAA8LQeXs4ABBKEGc/d8A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AgAgACAGNgIEIARBJGoQhScMBAsgBEHcAWogBEGwAWooAgA2AgAgBCAKNgLQASAEIAc2AswBIAQgCDYCyAEgBCAJNgLEASAEIAI2AsABIAQgBjYCvAEgBCAFNgK4ASAEIAQpA6gBNwLUASAEQSRqIARBuAFqEIAaAkAgAS0AhQNBAXFFDQAgBCgCLEEobCEGIAQoAighBQNAIAZFDQEgASAFEI4IIAZBKGshBiAFQShqIQUMAAsACyAAIAQpAiQ3AgAgAEEIaiAEQSxqKAIANgIADAMLIARBEGogBEEwahDPESAEKAIUIQggBCgCECELIARB9wA6ALgBIAEgCyAIIARBuAFqENgZIAcEQCAJELgpBSAEQTBqELISCwwACwALIAIQhiMLIARB4AFqJAALkQoCC38DfiMAQeABayICJAACQCABLQAUQQJHBEAgASgCGCEEIAJBNGpByKDjACkDACINNwIAIAJBwKDjACkDACIONwIsIAJBADsBXiACQQA2AlQgAkKAgICAgAE3AkwgAkEAOgBIIAJBADYCRCACQoCAgIDAADcCPCACQQA2AiggAkKAgICAgAE3AiAgAiAALwE8OwFcIAIgACgCODYCWCACQRBqIAEpAwAiDyABKAIQIggQwCMgAkEgaiACKQMQIAIoAhhBARCbBiACQfQAaiANNwIAIAJBADYClAEgAkKAgICAgAE3AowBIAJBADoAiAEgAkEANgKEASACQoCAgIDAADcCfCACQQA2AmggAiAONwJsIAJBADsBngEgAiACLwFcOwGcASACIAIoAlg2ApgBIAJCgICAgIABNwJgIARBGGohCSAEQQxqIAQoAghBBnQhASACQYwBaiEGIAJBzABqIQUgAkE8aiEHIAJBLGohCyAEKAIEIQMCQANAIAFFDQEgAygCACEMIAFBQGohASADQUBrIQMCQCAMQQJrDgMAAQABCwsgAiAPIAgQwCMgAkHgAGogAikDACACKAIIEKsRCyACQeAAaiIBEJ8aIAQgARCpGiABIAkQ5yMCQAJAIAIoApQBIgEEQCALIAEQhCkgAkGkAWogAigCkAEgAigClAEQoQogAiACKAKkATYCuAEgAiACKAKoASIBNgKwASACIAEgAigCrAFBBHQiA2oiBDYCvAEDQCADRQ0CIAJB4ABqIAEpAwAgASgCCBCrESADQRBrIQMgAUEQaiEBDAALAAsgAkGwAWoiASACQeAAakEsEPsGGiAHIAEQoRogBhCOIwwBCyACIAQ2ArQBIAJBsAFqEIkXIAItAEhFBEAgAkEgaiACKAKUARCWHiACIAIoAowBNgK4ASACIAIoApABIgE2ArABIAIgASACKAKUAUEEdCIDaiIENgK8AQNAIAMEQCACQSBqIAEpAwAgASgCCEEBEJsGIANBEGshAyABQRBqIQEMAQsLIAIgBDYCtAEgAkGwAWoiARCJFyABIAJB4ABqQSwQ+wYaIAcgARChGgwBCyACQbgBaiAGQQhqKAIANgIAIAIgBikCADcDsAEgBSACQbABaiIBEKEQIAEgAkHgAGpBLBD7BhogByABEKEaCwJAIAIoAlQiAQRAIABBDGogARCEKSACQbABaiACKAJQIAIoAlQQoQogAiACKAKwATYCaCACIAIoArQBIgE2AmAgAiABIAIoArgBQQR0IgNqIgQ2AmwDQCADRQ0CIAJBIGogASkDACABKAIIEKsRIANBEGshAyABQRBqIQEMAAsACyACQeAAaiIBIAJBIGpBLBD7BhogAEEcaiABEKEaIAUQjiMMAgsgAiAENgJkIAJB4ABqEIkXIAAtAChFBEAgACACKAJUEJYeIAIgAigCTDYCaCACIAIoAlAiATYCYCACIAEgAigCVEEEdCIDaiIENgJsA0AgAwRAIAAgASkDACABKAIIQQEQmwYgA0EQayEDIAFBEGohAQwBCwsgAiAENgJkIAJB4ABqIgEQiRcgASACQSBqQSwQ+wYaIABBHGogARChGgwCCyACQegAaiAFQQhqKAIANgIAIAIgBSkCADcDYCAAQSxqIAJB4ABqIgEQoRAgASACQSBqQSwQ+wYaIABBHGogARChGgwBCyABQRhqIAAQ/iwLIAJB4AFqJAALhAoCC38DfiMAQYABayICJAAgAkEIaiABEEUCQCACKAIIQSVGBEAgAEElNgIADAELIAJBMGogAkEIakEoEPsGGgJAAkACQAJAAkAgASgCoAIiBSgCCEUEQCAFQX82AgggBUEMaiEGIAIoAkghCwNAAkAgBSgCFCIDBEAgBSgCECADQQFrIgNBKGxqIgQoAhggC08NAQtBAyEBAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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CCAEIAUQmQYgBigCLCEIIAYoAighBwwKCyAGQRhqIAEgAiADIAQgBRCZBiAGKAIcIQggBigCGCEHDAkLQeXs4ABBKEGojcMAEPQXAAtByIzDABDgKQALQeXs4ABBKEH4jMMAEPQXAAtBmIzDABDgKQALIAZB2ABqIAEgAiADEKsEDAMLQeXs4ABBKEH4jMMAEPQXAAtBmIzDABDgKQALQfCGwwBBE0GEh8MAELsSAAsgBigCWARAQQEhByAGKAJkIghBAXQiAUEBciECIAYpAlwhECABIAVJBEAgBCABQQJ0aiAQp0EBajYCAAsgAiAFTw0BIAQgAkECdGogEEIgiKdBAWo2AgAMAQtBACEHCyAAIAg2AgQgACAHNgIAIAZBwAFqJAALmAoCCn8DfiMAQbABayICJAAgAUEoaiIEEN4gIQggAkHVAGogAUGXA2opAAA3AAAgAkHQAGogAUGSA2opAQAiDDcCACACQcgAaiABQYoDaikBACINNwIAIAJBADoAgwEgAiABLQCcAzoAggEgAiABLQCeAzoAhAEgAiABKQGCAyIONwBoIAIgDTcAcCACIAw3AHggAiABLwGaAzsAgAEgAiAONwJAIAFBgAFqIgcgAkHoAGoQyQggAiABNgI8IAJBMGogARDaASACKAI0IQUCQAJAAkACQAJAAkAgAigCMARAIAUhAwwBCyAEELshDQQgBBDjDSIDRQ0EIAMoAgBBAkcNBCADLQAIQQJHDQQgAy0ACUEaRw0EIAEoAighAyABQSU2AiggASABKQNANwN4IAJB9ABqIgYgAUE0aikCADcCACACQfwAaiIJIAFBPGooAgA2AgAgAiABKQIsNwJsIAIgAzYCaCACQegAaiILEMcKIAIgBTYCYCACQYEBaiABQYIDaiIDQRVqKQAANwAAIAkgA0EQaikBADcCACAGIANBCGopAQA3AgAgAkEBOgCrASACIAEtAJwDOgCqASACIAEtAJ4DOgCsASACIAEpAYIDNwCQASACIAEpAYoDNwCYASACIAEpAZIDNwCgASACIAEvAZoDOwCoASACIAMpAQA3AmwgByACQZABahDJCCACIAE2AmggAkEoaiABENoBIAIoAiwhAwJAIAIoAihFBEAgAiADNgJkIAsQoyYCQAJAIAQQ4w0iBwRAIAcoAgBBF0YNAQsgAkHwAGogBBCW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EQsgAiAAQQRqNgIIIAJBATYCFCACQYT44AA2AhAgAkIBNwIcIAJB/QE2AiwgAiACQShqNgIYIAIgAkEIajYCKCABKAIUIAEoAhggAkEQahC1JAwQCyACIABBBGo2AgggAkEBNgIUIAJBpJjYADYCECACQgE3AhwgAkH+ATYCLCACIAJBKGo2AhggAiACQQhqNgIoIAEoAhQgASgCGCACQRBqELUkDA8LIAJBADYCICACQQE2AhQgAkHMmNgANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahC1JAwOCyACQQA2AiAgAkEBNgIUIAJB/JjYADYCECACQgQ3AhggASgCFCABKAIYIAJBEGoQtSQMDQsgAkEANgIgIAJBATYCFCACQaSZ2AA2AhAgAkIENwIYIAEoAhQgASgCGCACQRBqELUkDAwLIAIgACgCBDYCCCACQQI2AhQgAkHMmdgANgIQIAJCATcCHCACQQc2AiwgAiACQShqNgIYIAIgAkEIajYCKCABKAIUIAEoAhggAkEQahC1JAwLCyACIAAoAgQ2AgggAkEBNgIUIAJB+JnYADYCECACQgE3AhwgAkEHNgIsIAIgAkEoajYCGCACIAJBCGo2AiggASgCFCABKAIYIAJBEGoQtSQMCgsgAiAAKAIENgIIIAJBATYCFCACQZia2AA2AhAgAkIBNwIcIAJBBzYCLCACIAJBKGo2AhggAiACQQhqNgIoIAEoAhQgASgCGCACQRBqELUkDAkLIAJBADYCICACQQE2AhQgAkHMmtgANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahC1JAwICyACQQA2AiAgAkEBNgIUIAJB9JrYADYCECACQgQ3AhggASgCFCABKAIYIAJBEGoQtSQMBwsgAiAANgIIIAJBATYCFCACQaSb2AA2AhAgAkIBNwIcIAJBDTYCLCACIAJBKGo2AhggAiACQQhqNgIoIAEoAhQgASgCGCACQRBqELUkDAYLIAJBADYCICACQQE2AhQgAkHQm9gANgIQIAJCBDcCGCABKAIUIAEoAhggAkEQahC1JAwFCyACQQA2AiAgAkEBNgIUIAJB/JvYADYCECACQgQ3AhggASgCFCABKAIYIAJBEGoQtSQMBAsgAkEANgIgIAJBATYCFCACQaSc2AA2AhAgAkIENwIYIAEoAhQgASgCGCAC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BCABEM8CIAMoAjwiBCADKAI4IglBgICAgHhGDQIaIAMoAkAMAQtBAAs2AjAgAyAENgIsIAMgCTYCKAJAIAcQ4w0iBEUNACAEKAIAQQJHDQAgBC0ACEECRw0AIAQtAAlBGkcNACADIAcQuBQgAygCBCEEIAMoAgAhBiADQZUBOgA4IAEgBiAEIANBOGoiBhDYGSABQSxqIQQgBkEEciEGA0AgBxDjDSIIBEAgA0EANgJgIAMgCDYCZCADQeAAahCQJCAHEOMNIggEQCAIKAIAQQ1GDQMLIAYgBCkCADcCACABKAIoIQggAUElNgIoIAEgASkDQDcDeCAGQQhqIARBCGopAgA3AgAgBkEQaiAEQRBqKAIANgIAIAMgCDYCOCADQThqEMcKDAELCyABKALYAiEEIANBADoAOCADIAQgBCADQThqEIEVNgJkIANBATYCYCADQeAAahCQJAsgBxDeICEGIANBOGoiBCABENsVIANB4ABqIgogAygCOBBLIAMoAmQhByADKAJgIghBgICAgHhHBEAgAygCaCEJIAQQoyYgASgCfCEBIANB6ABqIANBIGopAwA3AwAgAyADKQMYNwNgIAQgChClHEHIAEEIEKsgIgQgAiABIAEgAkkbNgIEIAQgAiABIAEgAksbNgIAIAQgBiABIAEgBkkbNgI0IAQgBiABIAEgBksbNgIwIAQgCTYCLCAEIAc2AiggBCAINgIkIAQgBTYCICAEQQA6AEQgBCADKQM4NwMIIARBEGogA0FAaykDADcDACAEQRhqIANByABqKQMANwMAIAQgAykDKDcDOCAEQUBrIANBMGooAgA2AgBBAAwECyADQThqEKMmIANBKGoQ7yYgBwshBCAFEN0oCyADKQMYEPkaC0EBCyEBIAAgBDYCBCAAIAE2AgAgA0HwAGokAAvlCQIIfwN+IwBBgAJrIgIkAAJAAkACQAJAAkACQCAAKAIAIgNBCUcEQAJAAkACQAJAIANBAWsOCAECCQgHBgUKAAsgAEEcaiABEP4jDAkLIABBCGogARCGAgJAAkACQCAAKAIIQQJrDgYACwsLAQILCyAAKAIMIQUgAkEANgLAASACQoCAgICAATcCuAEgBSgCCEE4bCEDIAUoAgQhBANAIAMEQCADQThrIQMgBCACQbgBahCgCiAEQThqIQQMAQsLIAIoArgBIQMgAigCvAEhBSACKALAASEEIAJBCGogASkDECABKAIYENYVIAIpAwghCiACKAIQIQYgAUEwaiIIIARBAWpBAXYgBCABKAI8GyABQUBrEKIiIAJB3AFqQgA3AgAgAkIANwLUASACIAY2AtABIAIgCjcDyAEgAiAFIARBBHRqIgE2AsQBIAIgAzYCwAEgAiAFNgK8ASACIAU2ArgBIApCA4MhDCAKp0EIayEHIAUhAwNAIAQEQAJ/IAEgA0YEQEIAIQsgAQwBCyADKAIIIQAgAykDACELIANBEGoiBQshAyACQegBaiAIIAsgACAKUAR+QgAFIAxQBEAgByAHKAIAIglBAWo2AgAgCUEASA0HCyAKCyAGEOcGIAIpA+gBUEUEQCACKQPwARDtJgsgBEEBayEEDAELCyACIAU2ArwBIAJBuAFqEIkXIAoQ7SYMCgsgAkEoaiAAKAIMIgApAwAgAEEQaigCABDAIyACKAIwIQAgAikDKCEKIAJBGGogASkDECABKAIYENYVIAJBuAFqIAFBMGogCiAAIAIpAxggAigCIBDnBiACKQO4ASACKQPAARDWJwwJCyACQcgAaiAAKAIMEJAVIAIoAlAhACACKQNIIQogAkE4aiABKQMQIAEoAhgQ1hUgAkG4AWogAUEwaiAKIAAgAikDOCACKAJAEOcGIAIpA7gBIAIpA8ABENYnDAgLIAFBMGohBSAAKAIMQdAAbCEEIAAoAgghAwNAAkAgBARAIAMpAwAiCkICWiAKp0EBcXINASACQegAaiADKQMIIANBGGooAgAQwCMgAigCcCEGIAIpA2ghCiACQdgAaiABKQMQIAEoAhgQ1hUgAkG4AWogBSAKIAYgAikDWCACKAJgEOcGIAIpA7gBIAIpA8ABENYnDAELIABBHGogARD+IwwJCyADQdAAaiEDIARB0ABrIQQMAAsACwALIABBCGogARCYBQwFCyAAQQRqIAEQhi0MBAsgACgCBCIALQBAQQFHDQMgAkGoAWogACkDKCAAQThqKAIAEMAjIAIoArABIQAgAikDqAEhCiACQZgBaiABKQMQIAEoAhgQ1hUgAkG4AWogAUEwaiAKIAAgAikDmAEgAigCoAEQ5wYgAikDuAEgAikDwAEQ1icMAwsgAEEQaiABEP4jDAILIABBBGogARCGLSAAKAIEIgAoAgBBGkcNASACQYgBaiAAKQMIIABBGGooAgAQwCMgAigCkAEhACACKQOIASEKIAJB+ABqIAEpAxAgASgCGBDWFSACQbgBaiABQTBqIAogACACKQN4IAIoAoABEOcGIAIpA7gBIAIpA8ABENYnDAELAkACQCAAKAIIQQFrDgIBAgALIABBEGogARCMLQwBCyAAQRBqIAEQiy0LIAJBgAJqJAAL2wgBA38jAEEQayIBJABBoJfkACgCACIABEAgAUEIaiAAQQRqEIsbIAEoAgwhAgJ/QQEgASgCCCIALQAADQAaQQEgAC0AAQ0AGkEBIAAtAAINABpBASAALQADDQAaQQEgAC0ABA0AGkEBIAAtAAUNABpBASAALQAGDQAaQQEgAC0ABw0AGkEBIAAtAAgNABpBASAALQAJDQAaQQEgAC0ACg0AGkEBIAAtAAsNABpBASAALQAMDQAaQQEgAC0ADQ0AGkEBIAAtAA4NABpBASAALQAPDQAaQQEgAC0AEA0AGkEBIAAtABENABpBASAALQASDQAaQQEgAC0AEw0AGkEBIAAtABQNABpBASAALQAVDQAaQQEgAC0AFg0AGkEBIAAtABcNABpBASAALQAYDQAaQQEgAC0AGQ0AGkEBIAAtABoNABpBASAALQAbDQAaQQEgAC0AHA0AGkEBIAAtAB0NABpBASAALQAeDQAaQQEgAC0AHw0AGkEBIAAtACANABpBASAALQAhDQAaQQEgAC0AIg0AGkEBIAAtACMNABpBASAALQAkDQAaQQEgAC0AJQ0AGkEBIAAtACYNABpBASAALQAnDQAaQQEgAC0AKA0AGkEBIAAtACkNABpBASAALQAqDQAaQQEgAC0AKw0AGkEBIAAtACwNABpBASAALQAtDQAaQQEgAC0ALg0AGkEBIAAtAC8NABpBASAALQAwDQAaQQEgAC0AMQ0AGkEBIAAtADINABpBASAALQAzDQAaQQEgAC0ANA0AGkEBIAAtADUNABpBASAALQA2DQAaQQEgAC0ANw0AGkEBIAAtADgNABpBASAALQA5DQAaQQEgAC0AOg0AGkEBIAAtADsNABpBASAALQA8DQAaQQEgAC0APQ0AGkEBIAAtAD4NABpBASAALQA/DQAaQQEgAC0AQA0AGkEBIAAtAEENABpBASAALQBCDQAaQQEgAC0AQw0AGkEBIAAtAEQNABpBASAALQBFDQAaQQEgAC0ARg0AGkEBIAAtAEcNABpBASAALQBIDQAaQQEgAC0ASQ0AGkEBIAAtAEoNABpBASAALQBLDQAaQQEgAC0ATA0AGkEBIAAtAE0NABpBASAALQBODQAaQQEgAC0ATw0AGkEBIAAtAFANABpBASAALQBRDQAaQQEgAC0AUg0AGkEBIAAtAFMNABpBASAALQBUDQAaQQEgAC0AVQ0AGkEBIAAtAFYNABpBASAALQBXDQAaQQEgAC0AWA0AGkEBIAAtAFkNABpBASAALQBaDQAaQQEgAC0AWw0AGkEBIAAtAFwNABpBASAALQBdDQAaQQEgAC0AXg0AGkEBIAAtAF8NABpBASAALQBgDQAaQQEgAC0AYQ0AGkEBIAAtAGINABpBASAALQBjDQAaQQEgAC0AZA0AGkEBIAAtAGUNABogAC0AZgsgAiACKAIAQQFrNgIAIAFBEGokAEEBcQ8LQczJ4ABByAAQhCsAC50KAgR/AX4jAEFAaiICJAACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMEBQYHAAsgASAAQQhqQQAQ0xUgACgCICABEJIaIAEoAjAQvhEhAyACQRhqQcig4wApAwAiBjcDACACQQhqIAY3AwAgAkE0aiABQTRqKAIANgIAIAJBAToAKCACIAE2AiAgAiADNgIkIAJBwKDjACkDACIGNwMQIAIgBjcDACACIAEpAiw3AiwgAiABLQA8OgA8IAIgAS8BOjsBOiABLQA4IQMgAiABLQA9OgA9IAIgAzoAOCACQQE6ADkgAEEgaiACEMsBDAcLIAAoAiBBDGogARCSGiABKAIwEL4RIQMgAkEYakHIoOMAKQMAIgY3AwAgAkEIaiAGNwMAIAJBNGogAUE0aigCADYCACACQQE6ACggAiABNgIgIAIgAzYCJCACQQE6ADkgAkHAoOMAKQMAIgY3AxAgAiAGNwMAIAIgASkCLDcCLCACIAEtADw6ADwgAiABLwE6OwE6IAEtADghAyACIAEtAD06AD0gAiADOgA4IABBIGogAhDcAwwGCyABIAAoAgQQrB0MBgsgASAAKAIEEJohDAULIABBBGogARDFCAwECyABLQA6IQMgAUEBOgA6IAEgACgCBCIAQQhqQQQQ0xUgAS0ANEEBRgRAIAEoAjAQvhEhBCACQRhqQcig4wApAwAiBjcDACACQQhqIAY3AwAgAkE0aiABQTRqKAIANgIAIAJBAToAKCACIAE2AiAgAiAENgIkIAJBAToAOSACQcCg4wApAwAiBjcDECACIAY3AwAgAiABKQIsNwIsIAIgAS8AOzsAOyABLQA4IQQgAiABLQA9OgA9IAIgBDoAOCACQQE6ADogAEEgaiACELwNIABBJGogAhDhKyACEIEpCyABIAM6ADoMAwsgASAAKAIEIgBBABDTFSABKAIwEL4RIQMgAkEYakHIoOMAKQMAIgY3AwAgAkEIaiAGNwMAIAJBNGogAUE0aigCADYCACACQQA6ACggAiABNgIgIAIgAzYCJCACQQE6ADkgAkHAoOMAKQMAIgY3AxAgAiAGNwMAIAIgASkCLDcCLCACIAEtADw6ADwgAiABLwE6OwE6IAEtADghAyACIAEtAD06AD0gAiADOgA4IAAoAiQhBCAAKAIoIQMgAkEAIAJBEGoQ+CECQCADBEAgBCEBIAMhAANAIAEoAgBFBEAgAUEIaikDACIGQgODUARAIAanQQhrIgUgBSgCACIFQQFqNgIAIAVBAEgNBAsgAiAGQQAQ1QgLIAFBMGohASAAQQFrIgANAAsLIANBMGwhACAEQShqIQEDQCAARQ0DIAEoAgAEQCABIAIQ3isLIABBMGshACABQTBqIQEMAAsACwALIAAoAgQiACgCAEUEQCABIABBCGpBABDTFQsgASgCMBC+ESEDIAJBNGogAUE0aigCADYCACACQQA6ACggAkEYakHIoOMAKQMAIgY3AwAgAkEIaiAGNwMAIAIgATYCICACIAM2AiQgAkEBOgA5IAIgASkCLDcCLCACIAEvATo7ATogAkHAoOMAKQMAIgY3AxAgAiAGNwMAIAEtADghAyACIAEtAD06AD0gAiADOgA4IAJBAToAPCAALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAIAIgABDJBQUgAiAAQQhqQQAQ0xUgACgCICEADAELCwsgAhCBKQsgAkFAayQAC7IKAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiACgCACIBQQxrIgIgAkEmTxtBAWsOJAABAgMEBQYHCAkKCwwN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CyADQRhqIAIgBSAEIAEoAjwgBhCjBCADLQAYQQRGDQAgAykDGCIHQv8Bg0IEUQ0AIAAgBzcCAAwICwJAIAItAE0NACADQRhqIAIQ0BEgAy0AGEEERg0AIAMpAxgiB0L/AYNCBFINBwsgASgCNCEEIANBKGogAiABKAIwIgVBABDVAQJAAkACQCADLQAoQQRHBEAgAykDKCIHQv8Bg0IEUg0BCyADQQA2AhggA0EoaiACIANBGGpBorXgAEEBELITIAMtAChBBEcEQCADKQMoIgdC/wGDQgRSDQELIANBKGogAiAFIAQgASgCKCABKAIsEFogAy0AKEEERwRAIAMpAygiB0L/AYNCBFINAQsgA0EoaiACIANBGGpBo7XgAEEBELITIAMtAChBBEYNASADKQMoIgdC/wGDQgRRDQELIAdC/wGDQgRSDQELIABBBDoAAAwICyAAIAc3AgAMBwsgACAHNwIADAYLIAAgBzcCAAwFCyAAIAc3AgAMBAsgACAHNwIADAMLIAAgBzcCAAwCCyAAIAc3AgAMAQsgACAHNwIACyADQTBqJAALtwgCCX8BfiMAQaABayIBJAAgAUIANwIoIAFCgICAgMAANwIgIAFCCDcCGCABQgA3AhAgAUKAgICAwAA3AggCQAJAAkADQCACQQFxBEAgAUGIAWogASgCDCABKAIQEOgHIAEoAogBIgNBhICAgHhGBEAgAUEIahC2ICEDIABBhICAgHg2AgAgACADNgIEDAULIAAgASkCjAE3AgQgAEEMaiABQZQBaigCADYCACAAIAM2AgAMAwsgAUGIAWoiBCACEOMcAkACfwJAIAEoAogBRQRAIAEoAowBIQMgAUEANgJAIAFCgICAgBA3AzggAUIANwMwIAQgAUEwahDZECABKAKIAQ0BQYKAgIB4DAILIAAgASkDkAE3AwggACADNgIEIABBgICAgHg2AgAMBQsgASgCkAFFDQFBg4CAgHgLIQQgACADNgIEIAAgBDYCAAwDCyABQQhqIAMQowUgAUHYAGogAUFAaygCADYCACABQdAAaiABQThqKQMANwMAIAEgASkDMDcDSCADQQN0IQkDQCABQeAAaiABQcgAahDZECABKAJgRQRAQQEhAgwCCwJAAkACQAJAAkACQCABKAJkIgRB/v///wdNBEAgASgCbCEGIAEoAmghAiABKAIMIAEoAhAiBSADEMofIgcoAgRBAmoiCEH+////B0sNAiAHIAg2AgQgAkUNBCABIAIgBhDHDiABIAEoAgQiBTYCdCABIAEoAgAiAjYCcCABKAIYIgYgASgCHCIHIAMQyx8gAkEIaiIIIAUQiwcNASAGIAcgAxDMHyACIAIoAgAiB0EBajYCACAHQQBIDQUgAiABKAJ0IgcgBBDgByABKAIkIgIgASgCKCIGIANBpJzDABC8HyABKAJwIAcQ4BggASABKAIsIAVBAXRqQRRqNgIsIAEoAhAhBQwGCyAAIAM2AgQgAEGBgICAeDYCACAAIAStNwMIDAkLIAFBiAFqIAggBRCRESABIAM2ApQBIAEoAogBIQIgASgCjAEhBCABKQOQASEKIAFB8ABqEPkeIAJBhICAgHhGDQUMAQsgBK0hCkGBgICAeCECIAMhBAsgACAKNwMIIAAgBDYCBCAAIAI2AgAMBgsgASgCJCICIAEoAigiBiADQbScwwAQvB9BACABEOAYIAEgASgCLEEIajYCLAwBCwALIAEgBEEBaiIENgJ4IAMgBU8EQCABQQA2AnwMAwsgASABKAIMIAlqIgUoAgQgBSgCAGtBAXZBAWoiBTYCfCAEIAVHDQIgASAENgKAASABIAIgBiADEM0fKAIIIgI2AoQBIAIgBEYNAAsLIAFBADYCiAFBACABQYABaiABQYQBaiABQYgBakHknMMAENYaAAsgAUEANgKIAUEAIAFB+ABqIAFB/ABqIAFBiAFqQcScwwAQ1hoACyABQQhqEOgZCyABQaABaiQAC+AHAg9/AX4jAEHwAGsiAyQAIAFBKGoiCBDDICEJIANB2ABqIgYgARDRBCADKAJgIQUCQCADKQNYIhJQRQRAIANBIGoiBCAFNgIAIAMgAygCZDYCJCADQRBqIAQpAwA3AwAgAyASNwMYIAMgEjcDCCADIANBCGoQlAwgAygCACADKAIEQY+w4ABBBBCOKgRAIAgQwyAhBSABKAKcAyEEIANB9QA6AFggASAFIAQgBCAFSxsgBSAEIAQgBUkbIAYQxhkLIANB2ABqIgQgA0EYahClHCADQThqIhAgA0HkAGopAgA3AwAgA0EuaiIRIANB7wBqLQAAOgAAIAMgAykCXDcDMCADIAMvAG07ASwgAUHMAmohCiADKAJYIQYgAy0AbCEFIARBBHIhCyADQdUAaiEMIANBQGtBBHIhDQNAAkAgCBDKDSIEBEAgBCgCAEEGRg0BCyAAIAMpAzA3AgQgACADLwEsOwAVIAAgBToAFCAAIAY2AgAgAEEMaiADQThqKQMANwIAIABBF2ogA0Euai0AADoAAAwDCyALIAopAgA3AgAgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIAtBCGogCkEIaikCADcCACALQRBqIApBEGooAgA2AgAgAyAENgJYIANB2ABqEMYKIAgQwyAhBAJAIAgQyg0iBwRAIAcoAgBBBEYNAQsgCBDKDSIHBEAgBygCAEECRg0BCyADQfQAOgBYIAEgBCAEIANB2ABqEMYZIABBDGogA0E4aikDADcCACAAIAMpAzA3AgQgACADLwEsOwAVIABBF2ogA0Euai0AADoAACAAIAU6ABQgACAGNgIADAMLIA0gAykDMDcCACAMIAMvASw7AAAgDUEIaiAQKQMANwIAIAxBAmogES0AADoAACADIAY2AkAgAyAFOgBUAkACfyACRQRAIANB2ABqIAFBAEEAEPwBIAMoAlgiBSADLQBsQQJGDQEaIAMoAmQhDiADKAJgIQQgAygCXCEPDAILIANB2ABqIAEQ0QQgAygCYCEEIAMpA1giElBFBEAgEkIgiKchDyADKAJkIQ4gEqchBQwCCyAECyEFIABBAzoAFCAAIAU2AgAgA0FAaxDXGwwDCyABKAKcAyEHQTBBCBCrICIGIA42AgwgBiAENgIIIAYgCSAHIAcgCUkbNgIUIAYgCSAHIAcgCUsbNgIQIAYgBa0gD61CIIaENwMAIAYgAykDQDcDGCAGQSBqIANByABqKQMANwMAIAZBKGogA0HQAGopAwA3AwBBAiEFDAALAAsgAEEDOgAUIAAgBTYCAAsgA0HwAGokAAvZBwIPfwF+IwBB8ABrIgMkACABQShqIggQ3iAhCSADQdgAaiIGIAEQ0wQgAygCYCEFAkAgAykDWCISUEUEQCADQSBqIgQgBTYCACADIAMoAmQ2AiQgA0EQaiAEKQMANwMAIAMgEjcDGCADIBI3AwggAyADQQhqEJQMIAMoAgAgAygCBEGPsOAAQQQQjioEQCAIEN4gIQUgASgCfCEEIANB9QA6AFggASAFIAQgBCAFSxsgBSAEIAQgBUkbIAYQ2BkLIANB2ABqIgQgA0EYahClHCADQThqIhAgA0HkAGopAgA3AwAgA0EuaiIRIANB7wBqLQAAOgAAIAMgAykCXDcDMCADIAMvAG07ASwgAUEsaiEKIAMoAlghBiADLQBsIQUgBEEEciELIANB1QBqIQwgA0FAa0EEciENA0ACQCAIEOMNIgQEQCAEKAIAQQZGDQELIAAgAykDMDcCBCAAIAMvASw7ABUgACAFOgAUIAAgBjYCACAAQQxqIANBOGopAwA3AgAgAEEXaiADQS5qLQAAOgAADAMLIAsgCikCADcCACABKAIoIQQgAUElNgIoIAEgASkDQDcDeCALQQhqIApBCGopAgA3AgAgC0EQaiAKQRBqKAIANgIAIAMgBDYCWCADQdgAahDHCiAIEN4gIQQCQCAIEOMNIgcEQCAHKAIAQQRGDQELIAgQ4w0iBwRAIAcoAgBBAkYNAQsgA0H0ADoAWCABIAQgBCADQdgAahDYGSAAQQxqIANBOGopAwA3AgAgACADKQMwNwIEIAAgAy8BLDsAFSAAQRdqIANBLmotAAA6AAAgACAFOgAUIAAgBjYCAAwDCyANIAMpAzA3AgAgDCADLwEsOwAAIA1BCGogECkDADcCACAMQQJqIBEtAAA6AAAgAyAGNgJAIAMgBToAVAJAAn8gAkUEQCADQdgAaiABQQBBABD9ASADKAJYIgUgAy0AbEECRg0BGiADKAJkIQ4gAygCYCEEIAMoAlwhDwwCCyADQdgAaiABENMEIAMoAmAhBCADKQNYIhJQRQRAIBJCIIinIQ8gAygCZCEOIBKnIQUMAgsgBAshBSAAQQM6ABQgACAFNgIAIANBQGsQ1xsMAwsgASgCfCEHQTBBCBCrICIGIA42AgwgBiAENgIIIAYgCSAHIAcgCUkbNgIUIAYgCSAHIAcgCUsbNgIQIAYgBa0gD61CIIaENwMAIAYgAykDQDcDGCAGQSBqIANByABqKQMANwMAIAZBKGogA0HQAGopAwA3AwBBAiEFDAALAAsgAEEDOgAUIAAgBTYCAAsgA0HwAGokAAvfBgEYfyMAQRBrIg0kAAJAIAEtACUNACABLQAkRQRAIAFBAToAJCANQQhqIAEQ1gIgDSgCCCIHRSANKAIMIgNFckUEQCAHIQIMAgsgAS0AJUEBRg0BCyABKAIEIgsgASgCDCIOaiIQQQNqQXxxIBBrIQ8gAUEUaiETIAtBAWshFCALQQhrIRUgAS0AGCIKQQFrIREgASAKakETaiEWIAEoAhAhAiABKAIIIRIgCkEFSSEXA0ACQAJAAkACQAJ/IAIgDkkgAiASS3JFBEAgAiAOayIJIAkgD2tBB3FBACAJIA9PGyIDayEHIAMgCUsNAiAWLQAAIQgCQAJAAkAgA0UNAAJ/IANBAWsgCCACIAtqIgZBAWsiBC0AAEYNABogBCAHIBBqIgRGDQEgA0ECayAIIAZBAmsiBS0AAEYNABogBCAFRg0BIANBA2sgCCAGQQNrIgUtAABGDQAaIAQgBUYNASADQQRrIAggBkEEayIFLQAARg0AGiAEIAVGDQEgA0EFayAIIAZBBWsiBS0AAEYNABogBCAFRg0BIANBBmsgCCAGQQZrIgUtAABGDQAaIAQgBUYNASADQQdrIAggBkEHayIGLQAARg0AGiAEIAZGDQEgA0F4cgsgB2ohAgwBCyAPIAkgCSAPSxshGCAIQYGChAhsIQUgFCACIANrIgJqIQYgAiAVaiEEA0ACQCAGIQMgByICIBhNDQAgBCgCACEMIARBBGohGSADQQhrIQYgBEEIayEEIAJBCGshB0GAgoQIIAUgDHMiDGsgDHJBgIKECCAZKAIAIAVzIgxrIAxycUGAgYKEeHFBgIGChHhGDQELCyACIAlLDQUDQCACRQ0CIAJBAWshAiADLQAAIANBAWshAyAIRw0ACwsgAiAOaiICIBFJDQYgAiARayIDIApqIgQgA0kgBCASS3INBiAXRQ0FIAMgC2ogCiATIAoQ6x9FDQYgASADNgIQIAEoAiAgASADNgIgIARrDAILIAEgDjYCEAsgAUEBOgAlIAEoAiAgASgCHCIEawshAyAEIAtqIQIMBQsgByAJQfz1wAAQrRAACyACIAlBjPbAABCuEAALIApBBEGU2t8AEK4QAAsgASACNgIQDAALAAsgACADNgIEIAAgAjYCACANQRBqJAAL3wcCAX8BfiMAQSBrIgMkACADQRBqIAEgAigCAEEAENUBAkACQAJAAkAgAy0AEEEERwRAIAMpAxAiBEL/AYNCBFINAQsgAi0AKkUNAiADQQA2AhAgA0EIaiABIANBEGpBgbDgAEEFELITIAMtAAhBBEcEQCADKQMIIgRC/wGDQgRSDQILIANBEGogARDQESADLQAQQQRGDQIgAykDECIEQv8Bg0IEUQ0CIAAgBDcCAAwDCyAAIAQ3AgAMAgsgACAENwIADAELAkAgAi0AKEUNACADQQA2AhAgA0EIaiABIANBEGpBjMXgAEECELITAkAgAy0ACEEERwRAIAMpAwgiBEL/AYNCBFINAQsgA0EQaiABENARIAMtABBBBEYNASADKQMQIgRC/wGDQgRRDQEgACAENwIADAILIAAgBDcCAAwBCwJAIAItAClFDQAgA0EANgIQIANBCGogASADQRBqQfq14ABBAxCyEwJAIAMtAAhBBEcEQCADKQMIIgRC/wGDQgRSDQELIANBEGogARDQESADLQAQQQRGDQEgAykDECIEQv8Bg0IEUQ0BIAAgBDcCAAwCCyAAIAQ3AgAMAQsgA0EQaiACQQhqIAEQ5BICQAJAAkAgAy0AEEEERwRAIAMpAxAiBEL/AYNCBFINAQsgAigCIA0BDAILIAAgBDcCAAwCCyADQRBqIAEQ0BECQAJAAkAgAy0AEEEERwRAIAMpAxAiBEL/AYNCBFINAQsgA0EANgIQIANBCGogASADQRBqQdy14ABBBxCyEyADLQAIQQRHBEAgAykDCCIEQv8Bg0IEUg0CCyADQRBqIAEQ0BEgAy0AEEEERwRAIAMpAxAiBEL/AYNCBFINAwsgA0EQaiACQSBqIAEQNyADLQAQQQRGDQMgAykDECIEQv8Bg0IEUQ0DIAAgBDcCAAwECyAAIAQ3AgAMAwsgACAENwIADAILIAAgBDcCAAwBCwJAAkACQAJAAkAgAigCJEUNAAJAIAEtAE0NACADQRBqIAEQ0BEgAy0AEEEERg0AIAMpAxAiBEL/AYNCBFINBAsgA0EANgIQIANBCGogASADQRBqQZmw4ABBARCyEyADLQAIQQRHBEAgAykDCCIEQv8Bg0IEUg0FCwJAIAEtAE0NACADQRBqIAEQ0BEgAy0AEEEERg0AIAMpAxAiBEL/AYNCBFINAgsgA0EQaiACQSRqIAEQNyADLQAQQQRGDQAgAykDECIEQv8Bg0IEUg0CCyAAQQQ6AAAMBAsgACAENwIADAMLIAAgBDcCAAwCCyAAIAQ3AgAMAQsgACAENwIACyADQSBqJAALvwgCCH8BfiMAQdAAayIDJAAgAUEoaiIFEMMgIQYCQAJAAkACQAJAAkACQAJAAkACQAJAIAJFBEACQCAFEMoNIgRFDQAgBCgCAEECRw0AIAQtAAgNACAELQAJDQAgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIANBNGogAUHUAmopAgA3AgAgA0E8aiABQdwCaigCADYCACADIAEpAswCNwIsIAMgBDYCKCADQShqEMYKQQEhBwsCQAJAIAUQyg0iBEUNACAEKAIAQQJHDQAgBC0ACEECRw0AIAQtAAlBFkYNAQsgA0EwaiAFEJEQIANBIGogBRCFFCADQdDu3wA2AiwgA0E0OgAoIAMoAiAgAygCJCADQShqEIEVIQQgBRDKDSICRQ0LIAIoAgBBJEYNAgwLCyABKALIAiEEIAFBJTYCyAIgASABKQPgAjcDmAMgA0E0aiABQdQCaikCADcCACADQTxqIAFB3AJqKAIANgIAIAMgASkCzAI3AiwgAyAENgIoIANBKGoQxgoLIANBGGogAUEAQQEQzA4gAygCHCEIIAMoAhgNASAFEMoNIgQEQCAEKAIAQQlGDQMLIANBMGogBRCRECADQQhqIAUQhRQgA0Hw5d8ANgIsIANBNDoAKCADKAIIIAMoAgwgA0EoahCBFSEEIAUQyg0iAkUNByACKAIAQSRGDQMMBwsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0DIAEgASgCzAIQ/wsMCAsgAEGBgICAeDYCACAAIAg2AgQMCAsgASgCyAIhBCABQSU2AsgCIAEgASkD4AI3A5gDIANBNGogAUHUAmopAgA3AgAgA0E8aiABQdwCaigCADYCACADIAEpAswCNwIsIAMgBDYCKCADQShqIgQQxgogBCABEK8CIAMoAiwhBCADKAIoIglBgICAgHhHBEAgAyADKAIwIgo2AkggAyAENgJEIAMgCTYCQCADQRBqIAFB4PLfABDxASADKAIUIQUgAygCEA0DIAYgASgCnAMiASABIAZLGyEEIAYgASABIAZJGyEBAn4gAkUEQCAEIQIgASEEIAghASADKQJEDAELQYCAgIB4IQkgBSECIAghByAKIQUgAykDQAshCyAAIAc2AhwgACABNgIYIAAgBDYCFCAAIAI2AhAgACAFNgIMIAAgCzcCBCAAIAk2AgAMCAsgAEGBgICAeDYCACAAIAQ2AgQMBQsgASABKQPgAjcDmAMgASgCyAIgAUElNgLIAkEkRw0CIAEgASgCzAIQ/wsMAwtB5ezgAEEoQdDy3wAQ9BcACyAAQYGAgIB4NgIAIAAgBTYCBCADQUBrEPAmDAILQeXs4ABBKEH48t8AEPQXAAsgAEGBgICAeDYCACAAIAQ2AgQLIAgQ3SgMAQsgAEGBgICAeDYCACAAIAQ2AgQLIANB0ABqJAALvwcBCH8jAEGAAWsiAiQAAkAgAUGAsANzQYCAxABrQf+PvH9NBEAgAkEANgJEIAJBADYCJCACIAFB//8DcSIDNgJIIAIgAzYCTAJAIAFBgPgDcUGAuANHBEAgAkEkaiIDQdwAEJAOIANB9QAQkA4gAkEBNgJkIAJBhPjgADYCYCACQgE3AmwgAkHhATYCfCACIAJB+ABqIgQ2AmggAiACQcgAajYCeCACQdQAaiIFIAJB4ABqIgYQgBUgAyACKAJYIgEgASACKAJcahCpBSACKAJUIAEQ2ikgA0HcABCQDiADQfUAEJAOIAJBATYCZCACQYT44AA2AmAgAkIBNwJsIAJB4QE2AnwgAiAENgJoIAIgAkHMAGo2AnggBSAGEIAVIAMgAigCWCIBIAEgAigCXGoQqQUMAQsgAiADIANBCnRqQYC4/xprNgJQIAJBJGoiAUHcABCQDiABQfUAEJAOIAJBATYCZCACQYT44AA2AmAgAkIBNwJsIAJB4QE2AnwgAiACQfgAajYCaCACIAJB0ABqNgJ4IAJB1ABqIAJB4ABqEIAVIAEgAigCWCIBIAEgAigCXGoQqQULIAIoAlQgARDaKSACIAJBJGpBJBD7BhoMAQsgAkEANgIkIAJBADYCRCACQSRqIgMgARCQDiACIANBJBD7BhoLIABBABD7HiACQQRqIQUgAkEgaiEGIAJBJGoiAUEDciEHIAFBAnIhCCABQQFyIQkDQAJAAkAgAigCICIBQQhPBEAgAigCBARAIAIoAgQhASACKAIIIQMgBSEEDAMLIAFBCEkNASABIAIoAghBBEEEENQiDAELIAUhAyAGIQQgAQ0BCyACQYABaiQADwsgAQRAIAQgAUEBazYCACADKAIAIQQgAyADQQRqIAFBAnRBBGsQ2i0aIARBgAFPBEAgAkEANgIkAn8gBEGAEE8EQCAEQYCABE8EQCACIARBEnZB8AFyOgAkIAIgBEEGdkE/cUGAAXI6ACYgAiAEQQx2QT9xQYABcjoAJSAHIQNBBAwCCyACIARBDHZB4AFyOgAkIAIgBEEGdkE/cUGAAXI6ACUgCCEDQQMMAQsgAiAEQQZ2QcABcjoAJCAJIQNBAgshASADIARBP3FBgAFyOgAAIAAgARD7HiAAKAIIIgMgACgCBGogAkEkaiABEPsGGiAAIAEgA2o2AggMAgsgACgCCCIBIAAoAgBGBEAgABD3FwsgACABQQFqNgIIIAAoAgQgAWogBDoAAAwBCwtBsPHYAEEdQdDx2AAQ9BcAC58IAgh/AX4jAEHQAGsiAyQAIAFBKGoiBRDeICEGAkACQAJAAkACQAJAAkACQAJAAkACQCACRQRAAkAgBRDjDSIERQ0AIAQoAgBBAkcNACAELQAIDQAgBC0ACQ0AIAEoAighBCABQSU2AiggASABKQNANwN4IANBNGogAUE0aikCADcCACADQTxqIAFBPGooAgA2AgAgAyABKQIsNwIsIAMgBDYCKCADQShqEMcKQQEhBwsCQAJAIAUQ4w0iBEUNACAEKAIAQQJHDQAgBC0ACEECRw0AIAQtAAlBFkYNAQsgA0EwaiAFEJYLIANBIGogBRC4FCADQdDu3wA2AiwgA0E0OgAoIAMoAiAgAygCJCADQShqEIEVIQQgBRDjDSICRQ0LIAIoAgBBJEYNAgwLCyABKAIoIQQgAUElNgIoIAEgASkDQDcDeCADQTRqIAFBNGopAgA3AgAgA0E8aiABQTxqKAIANgIAIAMgASkCLDcCLCADIAQ2AiggA0EoahDHCgsgA0EYaiABQQBBARDQDiADKAIcIQggAygCGA0BIAUQ4w0iBARAIAQoAgBBCUYNAwsgA0EwaiAFEJYLIANBCGogBRC4FCADQfDl3wA2AiwgA0E0OgAoIAMoAgggAygCDCADQShqEIEVIQQgBRDjDSICRQ0HIAIoAgBBJEYNAwwHCyABIAEpA0A3A3ggASgCKCABQSU2AihBJEcNAyABIAEoAiwQhgwMCAsgAEGBgICAeDYCACAAIAg2AgQMCAsgASgCKCEEIAFBJTYCKCABIAEpA0A3A3ggA0E0aiABQTRqKQIANwIAIANBPGogAUE8aigCADYCACADIAEpAiw3AiwgAyAENgIoIANBKGoiBBDHCiAEIAEQsAIgAygCLCEEIAMoAigiCUGAgICAeEcEQCADIAMoAjAiCjYCSCADIAQ2AkQgAyAJNgJAIANBEGogAUHg8t8AEPMBIAMoAhQhBSADKAIQDQMgBiABKAJ8IgEgASAGSxshBCAGIAEgASAGSRshAQJ+IAJFBEAgBCECIAEhBCAIIQEgAykCRAwBC0GAgICAeCEJIAUhAiAIIQcgCiEFIAMpA0ALIQsgACAHNgIcIAAgATYCGCAAIAQ2AhQgACACNgIQIAAgBTYCDCAAIAs3AgQgACAJNgIADAgLIABBgYCAgHg2AgAgACAENgIEDAULIAEgASkDQDcDeCABKAIoIAFBJTYCKEEkRw0CIAEgASgCLBCGDAwDC0Hl7OAAQShB0PLfABD0FwALIABBgYCAgHg2AgAgACAFNgIEIANBQGsQ8CYMAgtB5ezgAEEoQfjy3wAQ9BcACyAAQYGAgIB4NgIAIAAgBDYCBAsgCBDdKAwBCyAAQYGAgIB4NgIAIAAgBDYCBAsgA0HQAGokAAuBCAIUfwJ+IwBB8ABrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCAEEBa0ECTwRAIAJB2AFqIQ4gAkEYaiERIAFBoA1qIRIgASgCrBIhEyABKAKoEiEUIAEpAwAhGCABLQCcDSEPIAEpA6ANIRkgAy0AGCEQIAMoAgwhCyADKAIIIQwgAygCFCEIIAEtALwSQQFxIRUgAygCECINIQcDQCAEQcQAaiIJIBQgEyAMIAsgByAIELEZIAQoAkRFDQIgBCgCSCIKIAZJDQMgBCgCTCAEIBA6AFwgBCAINgJYIAQgDTYCVCAEIAs2AlAgBCAMNgJMIARBATYCRCAEQQxqIhcgCSANIAoQ/wkgFQ0EIBlCAlENBiACKALIAUECRg0FIARBKGogEiARIBcgBRCrAiAEKAIsIQUgBCgCKCIJQQJGBEAgBUEBcUUNBAwPCwJAIAlBAUcEQCAHIAhPDQQgCkF/Rw0BQfiJwwAQ4CkACyAEKAIwIQcgBCAQOgBcIAQgCDYCWCAEIA02AlQgBCALNgJQIAQgDDYCTCAEIAU2AkggBEECNgJEIARBKGoiBiAEQcQAaiIJIAcgCBD/CSAPQQFxDQgCQCAYQgJSBEAgAigCyARBAkYNCyAEQeAAaiABIA4gBhDtAiAEKAJgIgZBAkYNESAGDQEgCSAFIAcgBCgCaBDzEiAEKQJIIRggAEEBNgIAIAAgGEIgiTcCBAwSCyAEQQE2AkggBEHgisMANgJEIARCADcCUCAEIARB7ABqNgJMIARBxABqQeiKwwAQwx0ACyAKQX9GDQogBCgCZCEGCyAKQQFqIQchBQwACwALIAEtAJwNQQFGDQggASkDAEICUQ0MIAIoAsgEQQJGDQkgBEHEAGoiBSABIAJB2AFqIAMQ9wkgBEEoaiAFEIAYIAQoAihBAkYNDCAAIAQpAig3AgAgAEEIaiAEQTBqKAIANgIADA0LIABBADYCAAwMCyAPQQFxDQggGEICUQ0KIAIoAsgEQQJGDQkgBEHEAGoiBSABIA4gAxD3CSAEQShqIAUQgBggBCgCKEECRg0KIAAgBCkCKDcCACAAQQhqIARBMGooAgA2AgAMCwtB5ezgAEEoQeiNwwAQ9BcAC0HYjcMAEOApAAsgBEEBNgJIIARB4IrDADYCRCAEQgA3AlAgBCAEQewAajYCTCAEQcQAakH4isMAEMMdAAtB5ezgAEEoQZiNwwAQ9BcAC0G4jMMAEOApAAtBiIrDABDgKQALQeXs4ABBKEGIjcMAEPQXAAtBqIzDABDgKQALQeXs4ABBKEGIjcMAEPQXAAtBqIzDABDgKQALIAAgASACIAMQohULIARB8ABqJAAL0wgBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECAwQFBgcICQoLDA0ODxAREhMiFBUWFyIYGRobHB0eHyAhIgsgAEEEahDFFyAAKAIEIABBCGooAgAQ7SkMIQsgAEEEahDkJgwgCyAAQQhqEJElDB8LIABBBGoQ3AIMHgsgAEEMahDcAgwdCyAAQQRqENwCIABBCGoQ3AIMHAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4MAAECAwQFBgcICQsKCwsgAEEIahCQJwwKCyAAQQhqEK8cDAkLIABBCGoQjyEMCAsgAEEEahDcAgwHCyAAQQRqEO8YDAYLIABBBGoQ7igMBQsgAEEEahDuKAwECyAAQQRqENwCDAMLIABBBGoQ7igMAgsgAEEEahCeKgwBCwJAAkAgACgCBA4CAAECCyAAQQhqEOUhDAELIABBCGoQ5iELIABBOGoQ3AIMGwsgAEEIahCvHAwaCyAAQQhqEI8hDBkLIABBBGoQ3AIgAEEIahDcAiAAQQxqENwCDBgLIAAtABhBBUYEQCAAQRBqENwCCyAAQQRqEOYmIAAoAigQ2SgMFwsgAEEQahDcAiAAKAIEQYCAgIB4RwRAIABBBGoQ5iYLIAAoAiAQ2SgMFgsgAEEEahDoJgwVCyAAKQMIEPkaDBQLAkACQAJAAkACQCAAKAIIDgYBGBgCAwQACyAAKQMQEPkaIAApAxgQ+RoMFwsgACkDECAAQSBqKQMAEIwrDBYLIAApAyAQ7SYMFQsgAEEYaikDACAAQSBqKAIAEMAgDBQLIAApAxAQ+RogACkDGBD5GgwTCyAAQQRqENMoDBILIABBBGoQ3AIgACgCGBDZKCAAKAIIIgEQ0yggAUEgQQQQ1REMEQsgAEEEahCdHCAAKAIEIABBCGooAgAQkCoCQCAAKAIQIgEoAgBBgICAgHhHBEAgARDpJgwBCyABQQRqENwCCyAAKAIQQRhBBBDVESAAKAIgEMIeIABBJGoQkScMEAsgAEEIahDMIwwPCyAAQQxqEJInDA4LIABBBGoQ3AIMDQsgAEEEahDcAgwMCyAAQQhqEJ4cDAsLIAApAwggAEEYaikDABCLKwwKCyAAKAIEIgFBQGsQxhcgAUH8AGoQ5wsgASgCfCABQYABaigCABCTKiABKAJ4ENkoIAFBkAFqEOwmIAEtADxBBkcEQCABQRBqEMYXCyABQaABQQgQ1REMCQsgAEEEahDsJgwICyAAQQRqEO4oDAcLIABBBGoQ3AIMBgsgAEEEahDcAgwFCyAAQQRqEO4oDAQLIABBBGoQnioMAwsgAEEEahDuKAwCCyAAKQMIEPkaDAELIABBBGoQ7xgLIABBwABBCBDVEQvTCAECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAUEMayICIAJBJk8bQQFrDiQAAQIDBAUGBwgJCgsMDQ4PEBESEyIUFRYXIhgZGhscHR4fICEiCyAAQQRqEMUXIAAoAgQgAEEIaigCABDtKQwhCyAAQQRqEOQmDCALIABBCGoQyyUMHwsgAEEEahDdAgweCyAAQQxqEN0CDB0LIABBBGoQ3QIgAEEIahDdAgwcCwJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDgwAAQIDBAUGBwgJCwoLCyAAQQhqEMcnDAoLIABBCGoQuhwMCQsgAEEIahCiIQwICyAAQQRqEN0CDAcLIABBBGoQ/xgMBgsgAEEEahCHKQwFCyAAQQRqEIcpDAQLIABBBGoQ3QIMAwsgAEEEahCHKQwCCyAAQQRqEKgqDAELAkACQCAAKAIEDgIAAQILIABBCGoQgiIMAQsgAEEIahCDIgsgAEE4ahDdAgwbCyAAQQhqELocDBoLIABBCGoQoiEMGQsgAEEEahDdAiAAQQhqEN0CIABBDGoQ3QIMGAsgAC0AGEEFRgRAIABBEGoQ3QILIABBBGoQ5iYgACgCKBDZKAwXCyAAQRBqEN0CIAAoAgRBgICAgHhHBEAgAEEEahDmJgsgACgCIBDZKAwWCyAAQQRqEOgmDBULIAApAwgQ+RoMFAsCQAJAAkACQAJAIAAoAggOBgEYGAIDBAALIAApAxAQ+RogACkDGBD5GgwXCyAAKQMQIABBIGopAwAQjCsMFgsgACkDIBDtJgwVCyAAQRhqKQMAIABBIGooAgAQwCAMFAsgACkDEBD5GiAAKQMYEPkaDBMLIABBBGoQ0ygMEgsgAEEEahDdAiAAKAIYENkoIAAoAggiARDTKCABQSBBBBDVEQwRCyAAQQRqEJ0cIAAoAgQgAEEIaigCABCQKgJAIAAoAhAiASgCAEGAgICAeEcEQCABEOkmDAELIAFBBGoQ3QILIAAoAhBBGEEEENURIAAoAiAQwh4gAEEkahDIJwwQCyAAQQhqEOYjDA8LIABBDGoQxicMDgsgAEEEahDdAgwNCyAAQQRqEN0CDAwLIABBCGoQnhwMCwsgACkDCCAAQRhqKQMAEIsrDAoLIAAoAgQiAUFAaxDGFyABQfwAahDnCyABKAJ8IAFBgAFqKAIAEJMqIAEoAngQ2SggAUGQAWoQ7CYgAS0APEEGRwRAIAFBEGoQxhcLIAFBoAFBCBDVEQwJCyAAQQRqEOwmDAgLIABBBGoQhykMBwsgAEEEahDdAgwGCyAAQQRqEN0CDAULIABBBGoQhykMBAsgAEEEahCoKgwDCyAAQQRqEIcpDAILIAApAwgQ+RoMAQsgAEEEahD/GAsgAEHAAEEIENURC9MIAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiACgCACIBQQxrIgIgAkEmTxtBAWsOJAABAgMEBQYHCAkKCwwNDg8QERITIhQVFhciGBkaGxwdHh8gISILIABBBGoQxRcgACgCBCAAQQhqKAIAEO0pDCELIABBBGoQ5CYMIAsgAEEIahDpJQwfCyAAQQRqEN4CDB4LIABBDGoQ3gIMHQsgAEEEahDeAiAAQQhqEN4CDBwLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEODAABAgMEBQYHCAkLCgsLIABBCGoQ2icMCgsgAEEIahDEHAwJCyAAQQhqEKshDAgLIABBBGoQ3gIMBwsgAEEEahCLGQwGCyAAQQRqEJcpDAULIABBBGoQlykMBAsgAEEEahDeAgwDCyAAQQRqEJcpDAILIABBBGoQrSoMAQsCQAJAIAAoAgQOAgABAgsgAEEIahCdIgwBCyAAQQhqEJ4iCyAAQThqEN4CDBsLIABBCGoQxBwMGgsgAEEIahCrIQwZCyAAQQRqEN4CIABBCGoQ3gIgAEEMahDeAgwYCyAALQAYQQVGBEAgAEEQahDeAgsgAEEEahDmJiAAKAIoENkoDBcLIABBEGoQ3gIgACgCBEGAgICAeEcEQCAAQQRqEOYmCyAAKAIgENkoDBYLIABBBGoQ6CYMFQsgACkDCBD5GgwUCwJAAkACQAJAAkAgACgCCA4GARgYAgMEAAsgACkDEBD5GiAAKQMYEPkaDBcLIAApAxAgAEEgaikDABCMKwwWCyAAKQMgEO0mDBULIABBGGopAwAgAEEgaigCABDAIAwUCyAAKQMQEPkaIAApAxgQ+RoMEwsgAEEEahDTKAwSCyAAQQRqEN4CIAAoAhgQ2SggACgCCCIBENMoIAFBIEEEENURDBELIABBBGoQnRwgACgCBCAAQQhqKAIAEJAqAkAgACgCECIBKAIAQYCAgIB4RwRAIAEQ6SYMAQsgAUEEahDeAgsgACgCEEEYQQQQ1REgACgCIBDCHiAAQSRqENsnDBALIABBCGoQ+SMMDwsgAEEMahDYJwwOCyAAQQRqEN4CDA0LIABBBGoQ3gIMDAsgAEEIahCeHAwLCyAAKQMIIABBGGopAwAQiysMCgsgACgCBCIBQUBrEMYXIAFB/ABqEOcLIAEoAnwgAUGAAWooAgAQkyogASgCeBDZKCABQZABahDsJiABLQA8QQZHBEAgAUEQahDGFwsgAUGgAUEIENURDAkLIABBBGoQ7CYMCAsgAEEEahCXKQwHCyAAQQRqEN4CDAYLIABBBGoQ3gIMBQsgAEEEahCXKQwECyAAQQRqEK0qDAMLIABBBGoQlykMAgsgACkDCBD5GgwBCyAAQQRqEIsZCyAAQcAAQQgQ1REL0wgBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECAwQFBgcICQoLDA0ODxAREhMiFBUWFyIYGRobHB0eHyAhIgsgAEEEahDFFyAAKAIEIABBCGooAgAQ7SkMIQsgAEEEahDkJgwgCyAAQQhqEP8lDB8LIABBBGoQ3wIMHgsgAEEMahDfAgwdCyAAQQRqEN8CIABBCGoQ3wIMHAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4MAAECAwQFBgcICQsKCwsgAEEIahD0JwwKCyAAQQhqEMwcDAkLIABBCGoQsCEMCAsgAEEEahDfAgwHCyAAQQRqEJAZDAYLIABBBGoQoykMBQsgAEEEahCjKQwECyAAQQRqEN8CDAMLIABBBGoQoykMAgsgAEEEahCyKgwBCwJAAkAgACgCBA4CAAECCyAAQQhqEK0iDAELIABBCGoQriILIABBOGoQ3wIMGwsgAEEIahDMHAwaCyAAQQhqELAhDBkLIABBBGoQ3wIgAEEIahDfAiAAQQxqEN8CDBgLIAAtABhBBUYEQCAAQRBqEN8CCyAAQQRqEOYmIAAoAigQ2SgMFwsgAEEQahDfAiAAKAIEQYCAgIB4RwRAIABBBGoQ5iYLIAAoAiAQ2SgMFgsgAEEEahDoJgwVCyAAKQMIEPkaDBQLAkACQAJAAkACQCAAKAIIDgYBGBgCAwQACyAAKQMQEPkaIAApAxgQ+RoMFwsgACkDECAAQSBqKQMAEIwrDBYLIAApAyAQ7SYMFQsgAEEYaikDACAAQSBqKAIAEMAgDBQLIAApAxAQ+RogACkDGBD5GgwTCyAAQQRqENMoDBILIABBBGoQ3wIgACgCGBDZKCAAKAIIIgEQ0yggAUEgQQQQ1REMEQsgAEEEahCdHCAAKAIEIABBCGooAgAQkCoCQCAAKAIQIgEoAgBBgICAgHhHBEAgARDpJgwBCyABQQRqEN8CCyAAKAIQQRhBBBDVESAAKAIgEMIeIABBJGoQ8icMEAsgAEEIahCAJAwPCyAAQQxqEPEnDA4LIABBBGoQ3wIMDQsgAEEEahDfAgwMCyAAQQhqEJ4cDAsLIAApAwggAEEYaikDABCLKwwKCyAAKAIEIgFBQGsQxhcgAUH8AGoQ5wsgASgCfCABQYABaigCABCTKiABKAJ4ENkoIAFBkAFqEOwmIAEtADxBBkcEQCABQRBqEMYXCyABQaABQQgQ1REMCQsgAEEEahDsJgwICyAAQQRqEKMpDAcLIABBBGoQ3wIMBgsgAEEEahDfAgwFCyAAQQRqEKMpDAQLIABBBGoQsioMAwsgAEEEahCjKQwCCyAAKQMIEPkaDAELIABBBGoQkBkLIABBwABBCBDVEQvTCAECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAUEMayICIAJBJk8bQQFrDiQAAQIDBAUGBwgJCgsMDQ4PEBESEyIUFRYXIhgZGhscHR4fICEiCyAAQQRqEMUXIAAoAgQgAEEIaigCABDtKQwhCyAAQQRqEOQmDCALIABBCGoQxyYMHwsgAEEEahDgAgweCyAAQQxqEOACDB0LIABBBGoQ4AIgAEEIahDgAgwcCwJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDgwAAQIDBAUGBwgJCwoLCyAAQQhqEKcoDAoLIABBCGoQ4RwMCQsgAEEIahDDIQwICyAAQQRqEOACDAcLIABBBGoQoBkMBgsgAEEEahDYKQwFCyAAQQRqENgpDAQLIABBBGoQ4AIMAwsgAEEEahDYKQwCCyAAQQRqEMoqDAELAkACQCAAKAIEDgIAAQILIABBCGoQ0CIMAQsgAEEIahDRIgsgAEE4ahDgAgwbCyAAQQhqEOEcDBoLIABBCGoQwyEMGQsgAEEEahDgAiAAQQhqEOACIABBDGoQ4AIMGAsgAC0AGEEFRgRAIABBEGoQ4AILIABBBGoQ5iYgACgCKBDZKAwXCyAAQRBqEOACIAAoAgRBgICAgHhHBEAgAEEEahDmJgsgACgCIBDZKAwWCyAAQQRqEOgmDBULIAApAwgQ+RoMFAsCQAJAAkACQAJAIAAoAggOBgEYGAIDBAALIAApAxAQ+RogACkDGBD5GgwXCyAAKQMQIABBIGopAwAQjCsMFgsgACkDIBDtJgwVCyAAQRhqKQMAIABBIGooAgAQwCAMFAsgACkDEBD5GiAAKQMYEPkaDBMLIABBBGoQ0ygMEgsgAEEEahDgAiAAKAIYENkoIAAoAggiARDTKCABQSBBBBDVEQwRCyAAQQRqEJ0cIAAoAgQgAEEIaigCABCQKgJAIAAoAhAiASgCAEGAgICAeEcEQCABEOkmDAELIAFBBGoQ4AILIAAoAhBBGEEEENURIAAoAiAQwh4gAEEkahClKAwQCyAAQQhqEKckDA8LIABBDGoQpCgMDgsgAEEEahDgAgwNCyAAQQRqEOACDAwLIABBCGoQnhwMCwsgACkDCCAAQRhqKQMAEIsrDAoLIAAoAgQiAUFAaxDGFyABQfwAahDnCyABKAJ8IAFBgAFqKAIAEJMqIAEoAngQ2SggAUGQAWoQ7CYgAS0APEEGRwRAIAFBEGoQxhcLIAFBoAFBCBDVEQwJCyAAQQRqEOwmDAgLIABBBGoQ2CkMBwsgAEEEahDgAgwGCyAAQQRqEOACDAULIABBBGoQ2CkMBAsgAEEEahDKKgwDCyAAQQRqENgpDAILIAApAwgQ+RoMAQsgAEEEahCgGQsgAEHAAEEIENURC70HAQl/IwBBEGsiBSQAAkAgACgCCCIERQ0AIABBADYCCCAFIAQ2AgwgBSAANgIAIAAoAgQhAwJAA0AgAyECIAEgBEYEQCAEIQEMAgsgAkE4aiEDIAFBAWohASACEJ0bDQALIAIQiwhBASEHCyABQThsIQIDQAJAIAEgBEcEQCAAKAIEIgYgAmoiAxCdG0UEQCADEIsIIAdBAWohBwwCCyAGIAIgB0FIbGpqIANBOBD7BhoMAQsgBSAENgIEIAUgBzYCCCAFEK4SIAAoAgghAQwCCyACQThqIQIgAUEBaiEBDAALAAsgACgCBCIHIAFBOGxqIQkDQAJAAkACQAJAAkACQAJAAkACQCAJIAciAUcEQCABQThqIQcgASgCACIAQQlGDQECQCAAQQFrDggJCAcGBQsEAwALIAEoAgwiBEUNCUEAIQAgAUEANgIMIAUgBDYCDCAFIAFBBGo2AgAgASgCCEHIAGshA0EAIQICQANAIAIgBEYEQCAEIQIMAgsgAkEBaiECIAMiBkHIAGoiAykDAEICVg0AIAZBiAFqLQAAQQFxRQ0ACyADEOgXQQEhAAsgAkHIAGwhAwNAAkAgAiAERwRAAkAgASgCCCIIIANqIgYpAwBCAlYNACAGQUBrLQAAQQFxRQ0AIAYQ6BcgAEEBaiEADAILIAggAyAAQbh/bGpqIAZByAAQ+wYaDAELIAUgBDYCBCAFIAA2AgggBRCtEgwLCyADQcgAaiEDIAJBAWohAgwACwALIAVBEGokAA8LIAFBCGoQ0gQMCAsgAUEAOgAkDAcLIAFBBGoQ/S0MBgsgAUEQahCIJgwFCyABQQRqEP0tDAQLIAFBEGohACABKAIIRQRAIAAQqiEMBAsgABCpIQwDCwJAIAEoAgwiBEUNAEEAIQAgAUEANgIMIAUgBDYCDCAFIAFBBGo2AgAgASgCCEHQAGshA0EAIQICQANAIAIgBEYEQCAEIQIMAgsgAkEBaiECIAMiBkHQAGoiAykDAEIBVg0AIAZBmAFqLQAAQQFxRQ0ACyADEOcXQQEhAAsgAkHQAGwhAwNAAkAgAiAERwRAAkAgASgCCCIIIANqIgYpAwBCAVYNACAGQcgAai0AAEEBcUUNACAGEOcXIABBAWohAAwCCyAIIAMgAEGwf2xqaiAGQdAAEPsGGgwBCyAFIAQ2AgQgBSAANgIIIAUQrxIMAgsgA0HQAGohAyACQQFqIQIMAAsACyABQRxqEIgmDAILIAFBCGoQvQoMAQsgAUEcahCIJgwACwAL+wcCA38BfiMAQaACayIFJAAgASgCUCEGIAVB4ABqIgcQ1BEgBSAGNgJYIAUgBDoAXCAFIAUtAJ0BOgBdIAUgBS8BngE7AV4gBUEgaiAHQSwQ+wYaIAVB1ABqIAVBlAFqKAIANgIAIAUgBSkCjAE3AkwgA0E4bCEEIAVBzABqA0AgBARAIARBOGshBCACIAVBIGoQywIgAkE4aiECDAELCyAFQeAAaiICIAVBIGpBLBD7BhoQjiMgAhC2CCAFQagBakHIoOMAKQMANwMAIAVBwKDjACkDADcDoAEgBUEANgK0ASAFIAFBIGo2ArgBAkAgASgCHEUNACAFQbQBahC2EyEGIAEoAhAiAikDACAGIAEoAhwiA0EBakEBdiADIAYoAgwbIAZBEGoQ/SEgAkEIaiEEQn+FQoCBgoSIkKDAgH+DIQgDQCAIUEUEQCAGIAIgCHqnQQF0QfABcWtBEGspAwAQ/BoQwAkgA0EBayEDIAhCAX0gCIMhCAwBCyADRQ0BIAJBgAFrIQIgBCkDAEJ/hUKAgYKEiJCgwIB/gyEIIARBCGohBAwACwALIAEoAkwEQCAFQbQBahC2EyAFIAEoAkw2AjggBSABKAJAIgI2AjAgBSACQQhqNgIoIAUgAiABKAJEakEBajYCLCAFIAIpAwBCf4VCgIGChIiQoMCAf4M3AyAgBUEgahC/DAsgBUEANgIwIAVBKGpByKDjACkDADcDACAFQcCg4wApAwA3AyAgBUHgAGogBUGgAWogAUEwaiAFQSBqIgIgAUEQaiAFQbQBaiAFKAK4ASAFKAK0ARsQrwEgAhDLCAJAAkAgASgCAEUNACABIAUoAqwBEMQpIAUoAqABIgIpAwAhCCAFKAKkASEDIAUgBSgCrAE2AjggBSACNgIwIAUgAiADakEBajYCLCAFIAJBCGo2AiggBSAIQn+FQoCBgoSIkKDAgH+DNwMgA0AgBUEYaiAFQSBqELoVIAUoAhgiAkUNASAFIAUoAhwiAzYCxAEgBUEIaiACKQMAIAJBCGooAgAQwCMgBUHIAWoiBCABIAUpAwggBSgCEBD6BiAFKQPIAVANAiAEIAMpAwAQ/BoQ4AsMAAsACyAAIAUpA6ABNwIAIABBCGogBUGoAWopAwA3AgAgBUG0AWoQnSggBUHgAGoQ6B8gBUGgAmokAA8LIAUoAtABIQAgBUEDNgLwASAFQazI4AA2AuwBIAVCAzcC+AEgBUHYAzYCmAIgBUHYAzYCkAIgBUHEAjYCiAIgBSACNgKEAiAFIABBCGs2ApwCIAUgBUGEAmo2AvQBIAUgBUHEAWo2ApQCIAUgBUGcAmo2AowCIAVB7AFqQbzJ4AAQwx0AC/oHAgN/AX4jAEGgAmsiBSQAIAEoAlAhBiAFQeAAaiIHENQRIAUgBjYCWCAFIAQ6AFwgBSAFLQCdAToAXSAFIAUvAZ4BOwFeIAVBIGogB0EsEPsGGiAFQdQAaiAFQZQBaigCADYCACAFIAUpAowBNwJMIANBMGwhBCAFQcwAagNAIAQEQCAEQTBrIQQgAiAFQSBqEF4gAkEwaiECDAELCyAFQeAAaiICIAVBIGpBLBD7BhoQjiMgAhC2CCAFQagBakHIoOMAKQMANwMAIAVBwKDjACkDADcDoAEgBUEANgK0ASAFIAFBIGo2ArgBAkAgASgCHEUNACAFQbQBahC2EyEGIAEoAhAiAikDACAGIAEoAhwiA0EBakEBdiADIAYoAgwbIAZBEGoQ/SEgAkEIaiEEQn+FQoCBgoSIkKDAgH+DIQgDQCAIUEUEQCAGIAIgCHqnQQF0QfABcWtBEGspAwAQ/BoQwAkgA0EBayEDIAhCAX0gCIMhCAwBCyADRQ0BIAJBgAFrIQIgBCkDAEJ/hUKAgYKEiJCgwIB/gyEIIARBCGohBAwACwALIAEoAkwEQCAFQbQBahC2EyAFIAEoAkw2AjggBSABKAJAIgI2AjAgBSACQQhqNgIoIAUgAiABKAJEakEBajYCLCAFIAIpAwBCf4VCgIGChIiQoMCAf4M3AyAgBUEgahC/DAsgBUEANgIwIAVBKGpByKDjACkDADcDACAFQcCg4wApAwA3AyAgBUHgAGogBUGgAWogAUEwaiAFQSBqIgIgAUEQaiAFQbQBaiAFKAK4ASAFKAK0ARsQrwEgAhDLCAJAAkAgASgCAEUNACABIAUoAqwBEMQpIAUoAqABIgIpAwAhCCAFKAKkASEDIAUgBSgCrAE2AjggBSACNgIwIAUgAiADakEBajYCLCAFIAJBCGo2AiggBSAIQn+FQoCBgoSIkKDAgH+DNwMgA0AgBUEYaiAFQSBqELoVIAUoAhgiAkUNASAFIAUoAhwiAzYCxAEgBUEIaiACKQMAIAJBCGooAgAQwCMgBUHIAWoiBCABIAUpAwggBSgCEBD6BiAFKQPIAVANAiAEIAMpAwAQ/BoQ4AsMAAsACyAAIAUpA6ABNwIAIABBCGogBUGoAWopAwA3AgAgBUG0AWoQnSggBUHgAGoQ6B8gBUGgAmokAA8LIAUoAtABIQAgBUEDNgLwASAFQazI4AA2AuwBIAVCAzcC+AEgBUHYAzYCmAIgBUHYAzYCkAIgBUHEAjYCiAIgBSACNgKEAiAFIABBCGs2ApwCIAUgBUGEAmo2AvQBIAUgBUHEAWo2ApQCIAUgBUGcAmo2AowCIAVB7AFqQbzJ4AAQwx0AC+gHAQZ/IwBBEGsiBSQAIAAsAAkhBCAALQAAIQcCQAJAAkACQAJAIAAQtxsiCEUEQCABQbi2wgBBAiACKAIMEQMADQELIAAtAAEiBkEERyIDBEAgBSAAKAABNgIIIAVBCGogASACEPwHDQELIAAtAAVBBEcEQCAFIAAoAAU2AgwgBkEERwRAIAFB+a/gAEEBIAIoAgwRAwANAgsgBUEMaiABIAIQ5QcNAQsgBEEARyAHckEBcQ0BDAILQQEhAwwDCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgB0EBcUUEQCAERQ0bIARBAXENASAEQQJxDQMMCgsgBkEERw0BIAIoAgwhAAwDCyACKAIMIQAgBkEERw0DDAQLQQEhAyABQfmv4ABBASACKAIMIgARAwBFDQEMGgsgAigCDCEAIAZBBEcNBAwFC0EBIQMgAUG6tsIAQQEgABEDAA0YIARFDRYgBEEBcUUNAgtBASEDIAFB+a/gAEEBIAARAwANFwtBASEDIAFBu7bCAEEBIAARAwANFiAEQQJxRQ0DDAELIARBAnFFDQILQQEhAyABQfmv4ABBASAAEQMADRQLQQEhAyABQby2wgBBASAAEQMADRMgBEEEcQ0BIARBCHENAwwECyAEQQRxRQRAIARBCHFFDQUgAigCDCEAIAMNAwwGCyACKAIMIQAgA0UNAQtBASEDIAFB+a/gAEEBIAARAwANEQtBASEDIAFBvbbCAEEBIAARAwANECAEQQhxRQ0BC0EBIQMgAUH5r+AAQQEgABEDAEUNAgwPCwsgBEEQcUUEQCAEQSBxRQ0HIAIoAgwhACADDQUMCAsgAigCDCEAIAMNAQwDC0EBIQMgAUG+tsIAQQEgABEDAA0MIARBEHFFDQELQQEhAyABQfmv4ABBASAAEQMARQ0BDAsLIARBIHENAQwCC0EBIQMgAUG/tsIAQQEgABEDAA0JIARBIHFFDQELQQEhAyABQfmv4ABBASAAEQMARQ0CDAgLCyAEQcAAcUUNAyACKAIMIQAgAw0BDAILQQEhAyABQcC2wgBBASAAEQMADQUgBEHAAHFFDQILQQEhAyABQfmv4ABBASAAEQMADQQLQQEhAyABQcG2wgBBASAAEQMADQMLIARBAE4NAAJAIANFBEAgAigCDCEADAELQQEhAyABQfmv4ABBASACKAIMIgARAwANAwsgCCABQcK2wgBBASAAEQMAIgNyRQ0BDAILIAgEQEEAIQMMAgsgAigCDCEACyABQe/IyABBASAAEQMAIQMLIAVBEGokACADC7gIAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQEEHIAAoAgAiACgCACIBQQxrIgIgAkEmTxtBAWsOJAABAgMEBQYHCAkKCwwNDg8QERITIhQVFhciGBkaGxwdHh8gISILIABBBGoQxRcgACgCBCAAQQhqKAIAEO0pDCELIABBBGoQ5CYMIAsgAEEIahCjKgwfCyAAQQRqEOUCDB4LIABBDGoQ5QIMHQsgAEEEahDlAiAAQQhqEOUCDBwLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEODAABAgMEBQYHCAkLCgsLIABBCGoQ+igMCgsgAEEIahCIGwwJCyAAQQhqEM8gDAgLIABBBGoQ5QIMBwsgAEEEahDzGAwGCyAAQQRqEPsoDAULIABBBGoQ+ygMBAsgAEEEahDlAgwDCyAAQQRqEPsoDAILIABBBGoQpCoMAQsCQAJAIAAoAgQOAgABAgsgAEEIahDtIQwBCyAAQQhqEO4hCyAAQThqEOUCDBsLIABBCGoQiBsMGgsgAEEIahDPIAwZCyAAQQRqEOUCIABBCGoQ5QIgAEEMahDlAgwYCyAALQAYQQVGBEAgAEEQahDlAgsgAEEEahDmJiAAKAIoENkoDBcLIABBEGoQ5QIgACgCBEGAgICAeEcEQCAAQQRqEOYmCyAAKAIgENkoDBYLIABBBGoQ6CYMFQsgAEEIahDLGQwUCwJAAkACQAJAAkAgACgCCA4GARgYAgMEAAsgAEEQahDLGSAAQRhqEMsZDBcLIABBEGoQ8ygMFgsgAEEgahCdJQwVCyAAQRBqEM8eDBQLIABBEGoQyxkgAEEYahDLGQwTCyAAQQRqENMoDBILIABBBGoQ5QIgACgCGBDZKCAAKAIIIgEQ0yggAUEgQQQQ1REMEQsgAEEEahCdHCAAKAIEIABBCGooAgAQkCoCQCAAKAIQIgEoAgBBgICAgHhHBEAgARDpJgwBCyABQQRqEOUCCyAAKAIQQRhBBBDVESAAKAIgEMIeIABBJGoQrycMEAsgAEEIahD8KAwPCyAAQQxqELAnDA4LIABBBGoQ5QIMDQsgAEEEahDlAgwMCyAAQQhqEIQbDAsLIABBCGoQ9SgMCgsgACgCBCIBQUBrEMwZIAFB/ABqEOcLIAEoAnwgAUGAAWooAgAQkyogASgCeBDZKCABQZABahDsJiABLQA8QQZHBEAgAUEQahDMGQsgAUGgAUEIENURDAkLIABBBGoQ7CYMCAsgAEEEahD7KAwHCyAAQQRqEOUCDAYLIABBBGoQ5QIMBQsgAEEEahD7KAwECyAAQQRqEKQqDAMLIABBBGoQ+ygMAgsgAEEIahDLGQwBCyAAQQRqEPMYCyAAQcAAQQgQ1REL2gcBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECGwMEBQYHCAkKCwwNDg8QERIaGxsTFBoVFh0bGx0XHRgZGgsgAEEEahDFFyAAKAIEIAAoAggQ7SkPCyAAQQRqEL4JIAAoAgQgACgCCBDiKQ8LIAApAwggAC0AHBC+IyAAKAIgEM0YDwsgAEEMahCcJg8LIABBBGoQnCYgAEEIahCcJg8LAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEODAABAgMEBQYHCAkLCgsLIABBCGoQiSgMCgsgAEEIahDQHAwJCyAAQQhqELchDAgLIABBBGoQnCYMBwsgAEEEahCWGQwGCyAAQQRqELApDAULIABBBGoQsCkMBAsgAEEEahCcJgwDCyAAQQRqELApDAILIABBBGoQuyoMAQsCQAJAIAAoAgQOAgABAgsgAEEIahC4IgwBCyAAQQhqELkiCyAAQThqEJwmDwsgAEEIahDQHA8LIABBCGoQtyEPCyAAQQRqEJwmIABBCGoQnCYgAEEMahCcJg8LIAAtABhBBUYEQCAAQRBqEJwmCyAAQQRqEOYmIAAoAigQ2SgPCyAAQRBqEJwmIAAoAgRBgICAgHhHBEAgAEEEahDmJgsgACgCIBDZKA8LIABBBGoQ6CYPCyAAKQMIEPkaDwsCQAJAAkACQCAAKAIIDgYAEBABAgMSCyAAKQMQIAApAyAQjCsPCyAAKQMgEO0mDwsgACkDGCAAKAIgEMAgDwsMDgsgAEEEahDTKA8LIABBBGoQnCYgACgCGBDZKCAAKAIIIgAQ0yggAEEgQQQQ1REPCyAAQQRqEJ0cIAAoAgQgACgCCBCQKgJAIAAoAhAiASgCAEGAgICAeEcEQCABEOkmDAELIAFBBGoQnCYLIAFBGEEEENURIAAoAiAQwh4gAEEkahCKKA8LIAApAwggAC0AHBC+IyAAQSBqEIwWDwsgAEEMahCIKA8LIABBCGoQnhwPCyAAKQMIIAApAxgQiysPCyAAKAIEIgBBQGsQxhcgAEH8AGoQ5wsgACgCfCAAQYABaigCABCTKiAAKAJ4ENkoIABBkAFqEOwmIAAtADxBBkcEQCAAQRBqEMYXCyAAQaABQQgQ1REPCyAAQQRqEOwmDwsgAEEEahC7Kg8LIAApAwgQ+RoPCyAAQQRqEJYZCw8LIABBBGoQnCYPCyAAKQMQEPkaIAApAxgQ+RoPCyAAQQRqELApC/IHAQp/IwBBsAJrIgIkAAJAAkAgACgCACIBQYiAxABHBEACQAJAQQIgAUGAgMQAayIBIAFBCE8bQQZrDgIBAAQLIAAoAgxFDQMMAgsgACgCBCgCAEGAgMQARw0BDAILIAAoAgQoAgBBgIDEAEcNACAAKAIIKAIAQYCAxABGDQELQdgAEOkgIQMgAkHEAWoiBCAAQdgAEPsGGiAAQgA3AgQgAEGAgMQANgIAIABBDGpCADcCACAAQRRqQgA3AgAgAyAEQdgAEPsGIQAgAkEBNgIUIAIgADYCECACQQE2AgwgAkHwAGohCkEAIQBBASEBA0ACQCABBEAgAiABQQFrIgU2AhQgAyAFQdgAbGoiBCgCACEBIAIoAgwhByACQRhqIARBBGpB1AAQ+wYaIAFBiYDEAEcNASAFIQALIAMhAQNAIAAEQCAAQQFrIQAgARDMHSABQdgAaiEBDAELCyACKAIMIANBBEHYABDUIgwCCyACIAE2AmwgCiACQRhqQdQAEPsGIQgCQAJAAkAgAUGIgMQARwRAQQIgAUGAgMQAayIBIAFBCE8bQQZrDgIBAgMLIAJBxAFqIgMgAigCcCIBQdgAEPsGGiABQgA3AgQgAUGAgMQANgIAIAFBDGpCADcCACABQRRqQgA3AgAgAkEMaiIEIAMQ8xkgAyACKAJ0IgFB2AAQ+wYaIAFCADcCBCABQYCAxAA2AgAgAUEMakIANwIAIAFBFGpCADcCACAEIAMQ8xkMAgsgAkHEAWoiAyACKAJwIgFB2AAQ+wYaIAFCADcCBCABQYCAxAA2AgAgAUEMakIANwIAIAFBFGpCADcCACACQQxqIAMQ8xkMAQsgAigCeCEGIAJBADYCeCACKAJ0IgEgBkHYAGwiCWohBCAGIAcgBWtLBEAgAkEMaiAFIAZBBEHYABC3FyACKAIUIQUgAigCECEDCyACQQA2AqwCIAIgCDYCpAIgAiAENgKgAiADIAVB2ABsaiEDIAIgBjYCqAIgAiABNgKcAiABQdgAaiEGA0ACQCAJBEAgASgCACIHQYiAxABHDQEgBiEECyACIAU2AhQgAigCoAIhAyACQoSAgIDAADcCnAIgAyAEa0HYAG4hAQJAIAMgBEYNAANAIAFFDQEgAUEBayEBIAQQzBUgBEHYAGohBAwACwALIAJBnAJqEMoSDAILIAJBxAFqIgggAUEEakHUABD7BhogAyAHNgIAIANBBGogCEHUABD7BhogA0HYAGohAyAJQdgAayEJIAZB2ABqIQYgBUEBaiEFIAFB2ABqIQEMAAsACyACQewAahCXESACKAIQIQMgAigCFCEBDAALAAsgAkGwAmokAAuICAIIfwJ+IwBBQGoiAiQAIAFBLGohBSAAKAIIQThsIQggAkEsaiEGIAJBEGohByAAKAIEIQlBACEAA0ACQAJAIAAgCEcEQCABLQA0QQFHDQICQAJAAkACQAJAAkACQEEEIAAgCWoiAygCAEEEayIEIARBB08bQQFrDgYBAgMEBQYACyABKAIwEL4RIQQgB0EIakHIoOMAKQMAIgo3AgAgB0HAoOMAKQMAIgs3AgAgAkEIaiAKNwMAIAYgBSkCADcCACAGQQhqIAVBCGooAgA2AgAgAkEBOgAoIAIgATYCICACIAQ2AiQgAkEBOgA5IAIgCzcDACACIAEvADs7ADsgAS0AOCEEIAIgAS0APToAPSACIAQ6ADggAkEBOgA6IANBHGogAhC8DSADQQRqIAIQlBogA0EYaiACEKolIAIQgSkMCAsgASgCMBC+ESEEIAdBCGpByKDjACkDACIKNwIAIAdBwKDjACkDACILNwIAIAJBCGogCjcDACAGIAUpAgA3AgAgBkEIaiAFQQhqKAIANgIAIAJBAToAKCACIAE2AiAgAiAENgIkIAJBAToAOSACIAs3AwAgAiABLwA7OwA7IAEtADghBCACIAEtAD06AD0gAiAEOgA4IAJBAToAOiADQRxqIAIQvA0gA0EEaiACEJQaIANBGGogAhCqJSACEIEpDAcLIANBFWotAABFDQUgA0EQaiABEN4rDAULIANBFGotAABBAUYEQCADQQRqIAEQ3isLIANBEGogARCqJQwFCyADQTRqLQAAQQFGBEAgA0EwaiABEN4rCyABIAMQtRUMBAsgASgCMBC+ESEEIAdBCGpByKDjACkDACIKNwIAIAdBwKDjACkDACILNwIAIAJBCGogCjcDACAGIAUpAgA3AgAgBkEIaiAFQQhqKAIANgIAIAJBAToAKCACIAE2AiAgAiAENgIkIAJBAToAOSACIAs3AwAgAiABLwA7OwA7IAEtADghBCACIAEtAD06AD0gAiAEOgA4IAJBAToAOiADQSBqIAIQvA0gA0Ekai0AAEEBRgRAIANBEGogAhDeKwsgA0EEaiACEJQaIANBHGogAhCqJSACEIEpDAMLIAEgA0EEahC0FQwCCyACQUBrJAAPCyABKAIwEL4RIQQgB0EIakHIoOMAKQMAIgo3AgAgB0HAoOMAKQMAIgs3AgAgAkEIaiAKNwMAIAYgBSkCADcCACAGQQhqIAVBCGooAgA2AgAgAkEBOgAoIAIgATYCICACIAQ2AiQgAkEBOgA5IAIgCzcDACACIAEvADs7ADsgAS0AOCEEIAIgAS0APToAPSACIAQ6ADggAkEBOgA6IANBDGogAhCqJSACEIEpCyAAQThqIQAMAAsAC94HAQZ/IwBBgAJrIgQkACAEIAM2AjQCQCABQShqIggQyg0iBUUNACAFKAIAQRVHDQACQAJAAkACQAJAAkACQAJAAkACQCAFLQAEIgkEQAJAIARBNGogAS0ArQJBAXEQnA4NACAEQShqIAMQjQMgBCgCLCEFIAQoAighByABLQCgAkECRwRAIARBwAA6AMABIAEgByAFIARBwAFqEMYZDAELIARBqgE6AMABIAEgByAFIARBwAFqEMYZCyABLQCgAkECRw0EIAMoAgBBGkcNBCADQQhqEKocDQEMBAsgBEHoAGogAUECIAMQZCAEKAJsIQMgBCgCaCIFQQdGDQkgBEGw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ADcCSCADQQI2AkAgA0EDOgA8IANBCDYCOCADQiA3AjAgA0KAgICA4AA3AiggA0ECNgIgIAMgA0EgajYClAEgA0ECNgKQASADIANBCGo2AowBIAEgAiADQYQBahC1JA0EIARBAWohBAwACwALIAMgBzYCBAJAIAQgC0cEQCAEIApHBEAgA0EgNgKAAQwCCyADQT42AoABDAELIANB3gA2AoABCyAHQRRqIQcgA0G+ATYCmAEgA0EVNgKQASADQeQANgKIASADIANBBGo2ApQBIAMgA0GcAWo2AowBIAMgA0GAAWo2AoQBIAMgBDYCnAEgA0EDOgB8IANBADYCeCADQqCAgIAgNwJwIANCgoCAgOAANwJoIANBAjYCYCADQQM6AFwgA0EINgJYIANCoICAgBA3AlAgA0KAgICA4AA3AkggA0ECNgJAIANBAzoAPCADQQA2AjggA0IgNwIwIANCgoCAgOAANwIoIANBAjYCICADQQM2AhwgA0EENgIMIANBsMTDADYCCCADIANBIGo2AhggA0EDNgIUIAZBFGshBiAEQQFqIQQgAyADQYQBajYCECABIAIgA0EIahC1JEUNAQwDCwsgA0EANgIwIANBATYCJCADQcDO3wA2AiAgA0IENwIoIAEgAiADQSBqELUkDQAgA0ECNgIkIANB5MPDADYCICADQgE3AiwgA0G/ATYCiAEgAyAINgKEASADIANBhAFqNgIoQQEhBSABIAIgA0EgahC1JA0BIANBADYCMCADQQE2AiQgA0H4w8MANgIgIANCBDcCKCABIAIgA0EgahC1JCEFDAELQQEhBQsgA0GgAWokACAFC88GAgZ/AX4jAEFAaiIDJABBASECAkACQAJAAkACQAJAAkACQAJAIAEoAgAOCgQIAQgCCAMICAAICyABKAIIQRFHDQcgASgCEEEHRw0HIAEoAhQtAEVBA0YNByABENUZDAULIAEtACBFDQMMBQtBAiECIAEoAgQiASgCAEEaRgRAIAAoAgggA0EIaiABKQMIIAFBGGooAgAQwCMgAyADKAIQNgI4IAMgAykDCCIINwMwIANBMGoQ1h4gCBD5GkEBcyECCyACQQJGIAJyIQIMBQsgASgCBCIBLQBBDQMgAS0AQA0EIAAoAgQgA0EYaiABKQMoIAFBOGooAgAQwCMgAyADKAIgNgI4IAMgAykD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IAEgAjoAzAIgASAENgLIAiABIAYgBSAFIAZLGyICIAcgAiAHSxs2AuQCIAEgAiAHIAIgB0kbNgLgAiADQThqEP0IIANBEGoQ/QgLIAAgCjYCACAAIAk2AgQgA0HgAGokAAuTBgEEfwJAAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAiACgCAEECaw4SAAECAwcEBwcPBQYHBwgJCwwNDgsgACgCBEGAgICAeEYEQCABIABBCGoQyxogASAAQSBqEJ4kIABBFGogARDCLQ8LIAEgAEEEahDLGiABIABBHGoQniQgAEEQaiABEMItDwsgAEEQaiABKAIkENkeIAEgAEEoahCdJA8LIABB0ABqIQMgAEEQaiECAkAgAC0AREEERgRAIAIgASgCJBDZHgwBCyACIAEQ2h4LIAEgAxCdJA8LIAAoAgxBOGwhAyAAKAIIIQRBACEAA0AgACADRg0LAkACQAJAAkACQAJAAkACQEEEIAAgBGoiAigCAEEEayIFIAVBB08bQQFrDgYBAgMEBQYACyABIAJBBGoQyxogASACQRhqELwmIAEgAkEcahCeJAwGCyABIAJBBGoQyxogASACQRhqELwmIAEgAkEcahCeJAwFCyACQRBqKAIAIAEQmC4gASACQQxqELwmDAQLIAJBBGooAgAgARCYLiABIAJBEGoQvCYMAwsgAkEwaigCACABEJguIAIgARDXCAwCCyACQRBqKAIAIAEQmC4gASACQQRqEMsaIAEgAkEcahC8JiABIAJBIGoQniQMAQsgAkEEaiABELkmCyAAQThqIQAMAAsACyAAKAIMQThsIQIgACgCCCEAA0AgAkUNCiAAKAIAQQdHBEAgACABEI0RCyAAQTBqIAEQvQMgAkE4ayECIABBOGohAAwACwALIABBBGogARC9AyAAQQhqIAEQvQMgAEEMaiABEL0DIABBEGohAAwECyAAQRBqIAEQ2x4PCyAAQQRqIQAMAgsgAEEEaiABEL0DIABBCGohAAwBCwsgAEEQaiABENseIAEgAEFAaxC9JiABIABBxABqEL0mDwsgACgCCEGEgICAeEgNAgwDCyAALQAcQQJHBEAgASgCJCAAQQhqEPsFGgsgASAAQShqELwmDwsgAEEIaiABENoeCw8LIABBCGogARDKGgu1BgILfwJ+IwBB0ABr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DAcLIABBgAQ7AQogAEIANwECIABB3OQBOwEADAYLIABBgAQ7AQogAEIANwECIABB3NwBOwEADAULIABBgAQ7AQogAEIANwECIABB3MQAOwEADAQLIABBgAQ7AQogAEIANwECIABB3M4AOwEADAMLIAFB3ABGDQELAkAgAUH/BU0NACABEMoFRQ0AIAJBADoACiACQQA7AQggAiABQRR2QYue4wBqLQAAOgALIAIgAUEEdkEPcUGLnuMAai0AADoADyACIAFBCHZBD3FBi57jAGotAAA6AA4gAiABQQx2QQ9xQYue4wBqLQAAOgANIAIgAUEQdkEPcUGLnuMAai0AADoADCABQQFyZ0ECdiIDIAJBCGoiBWoiBEH7ADoAACAEQQFrQfUAOgAAIAUgA0ECayIDakHcADoAACACQRBqIgQgAUEPcUGLnuMAai0AADoAACAAQQo6AAsgACADOgAKIAAgAikCCDcCACACQf0AOgARIABBCGogBC8BADsBAAwCCyABELAKRQRAIAJBADoAFiACQQA7ARQgAiABQRR2QYue4wBqLQAAOgAXIAIgAUEEdkEPcUGLnuMAai0AADoAGyACIAFBCHZBD3FBi57jAGotAAA6ABogAiABQQx2QQ9xQYue4wBqLQAAOgAZIAIgAUEQdkEPcUGLnuMAai0AADoAGCABQQFyZ0ECdiIDIAJBFGoiBWoiBEH7ADoAACAEQQFrQfUAOgAAIAUgA0ECayIDakHcADoAACACQRxqIgQgAUEPcUGLnuMAai0AADoAACAAQQo6AAsgACADOgAKIAAgAikCFDcCACACQf0AOgAdIABBCGogBC8BADsBAAwCCyAAIAE2AgQgAEGAAToAAAwBCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAsgAkEgaiQAC+QFAQR/AkACQAJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIAKAIAQQJrDhIAAQIDBwQHBw8FBgcHCAkLDA0OCyAAKAIEQYCAgIB4RgRAIABBCGogARC3GiABIABBIGoQ+yMgAEEUaiABEJQtDwsgAEEEaiABELcaIAEgAEEcahD7IyAAQRBqIAEQlC0PCyAAQRBqENUgIAEgAEEoahDiJQ8LIABB0ABqIQMgAEEQaiECAkAgAC0AREEERgRAIAIQ1SAMAQsgAiABEOEfCyABIAMQ4iUPCyAAKAIMQThsIQMgACgCCCEEQQAhAANAIAAgA0YNCwJAAkACQAJAAkACQAJAAkBBBCAAIARqIgIoAgBBBGsiBSAFQQdPG0EBaw4GAQIDBAUGAAsgAkEEaiABELcaIAEgAkEYahDsJSABIAJBHGoQ+yMMBgsgAkEEaiABELcaIAEgAkEYahDsJSABIAJBHGoQ+yMMBQsgAkEQaiABEIctIAEgAkEMahDsJQwECyACQQRqIAEQhy0gASACQRBqEOwlDAMLIAJBMGogARCHLSACIAEQlBcMAgsgAkEQaiABEIctIAJBBGogARC3GiABIAJBHGoQ7CUgASACQSBqEPsjDAELIAJBBGogARDhJQsgAEE4aiEADAALAAsgACgCDEE4bCECIAAoAgghAANAIAJFDQogACgCAEEHRwRAIAAgARCuEQsgAEEwaiABENMDIAJBOGshAiAAQThqIQAMAAsACyAAQQRqIAEQ0wMgAEEIaiABENMDIABBDGogARDTAyAAQRBqIQAMBAsgAEEQaiABEJkjDwsgAEEEaiEADAILIABBBGogARDTAyAAQQhqIQAMAQsLIABBEGogARCZIyABIABBQGsQ7SUgASAAQcQAahDtJQ8LIAAoAghBhICAgHhIDQIMAwsgASAAQShqEOwlDwsgAEEIaiABEOEfCw8LIABBCGogARCxGgvEBQIIfwF+IwBBMGsiAyQAIAIoAhAhByADQSBqIAEgAigCDCIIQQAQ1QECQAJAAkACQAJAAkAgAy0AIEEERwRAIAMpAyAiC0L/AYNCBFINAQsgA0EANgIIIANBIGogASADQQhqQcqw4ABBARCyEwJAIAMtACBBBEcEQCADKQMgIgtC/wGDQgRSDQELIAIoAgQhBCADQSBqIAggAigCCCIFQZDSASAFEO4XIAMtACBBBUcEQCADKQMgIQsMBAsgAygCJBogBUUNAiADQQE6ABYgA0EAOgAXIAUhAgNAIAJFBEAgA0EgaiABIAggB0GQ0gEgBiALQiCIpxDYASADLQAgQQRGDQQgAykDICILQv8Bg0IEUg0FDAQLIAMgCzcCJCADIAY2AiAgA0EYaiABIAdBkNIBIANBIGogBCgCACIGIARBBGoiCSgCACIKIANBF2ogA0EWahCRBCADLQAYQQRHBEAgAykDGCILQv8Bg0IEUg0FCyADQSBqIAEgBBDXAiADLQAgQQRHBEAgAykDICILQv8Bg0IEUg0FCwJAIAMtABZFBEAgA0EBOgAWDAELIAEoAkRFDQAgA0EgaiABIAkoAgBBABDsAiADLQAgQQRGDQAgAykDICILQv8Bg0IEUg0FCyADLQAXBEAgASABKAIsQQFrNgIsIANBADoAFwsgAkEBayECIARBMGohBCAGrSAKrUIghoQhC0EBIQYMAAsACyAAIAs3AgAMBQsgACALNwIADAQLIANBIGogASAHIAVFQZDSARCtDyADLQAgQQRGDQEgAykDICILQv8Bg0IEUQ0BCyALQv8Bg0IEUg0BCyADQSBqIAEgA0EIakHNsOAAQQEQshMCQCADLQAgQQRHBEAgAykDICILQv8Bg0IEUg0BCyAAQQQ6AAAMAgsgACALNwIADAELIAAgCzcCAAsgA0EwaiQAC84FAgZ/An4CQCACRQ0AIAJBB2siA0EAIAIgA08bIQcgAUEDakF8cSABayEIQQAhAwNAAkACQAJAIAEgA2otAAAiBcAiBkEATgRAIAggA2tBA3ENASADIAdPDQIDQCABIANqIgQoAgQgBCgCAHJBgIGChHhxDQMgA0EIaiIDIAdJDQALDAILQoCAgICAICEKQoCAgIAQIQkCQAJAAn4CQAJAAkACQAJAAkACQAJAAkAgBUH/5dgAai0AAEECaw4DAAECCgsgA0EBaiIEIAJJDQJCACEKQgAhCQwJC0IAIQogA0EBaiIEIAJJDQJCACEJDAgLQgAhCiADQQFqIgQgAkkNAkIAIQkMBwsgASAEaiwAAEG/f0oNBgwHCyABIARqLAAAIQQCQAJAIAVB4AFrIgUEQCAFQQ1GBEAMAgUMAwsACyAEQWBxQaB/Rg0EDAMLIARBn39KDQIMAwsgBkEfakH/AXFBDE8EQCAGQX5xQW5HDQIgBEFASA0DDAILIARBQEgNAgwBCyABIARqLAAAIQQCQAJAAkACQCAFQfABaw4FAQAAAAIACyAGQQ9qQf8BcUECSyAEQUBOcg0DDAILIARB8ABqQf8BcUEwTw0CDAELIARBj39KDQELIAIgA0ECaiIETQRAQgAhCQwFCyABIARqLAAAQb9/Sg0CQgAhCSADQQNqIgQgAk8NBCABIARqLAAAQb9/TA0FQoCAgICA4AAMAwtCgICAgIAgDAILQgAhCSADQQJqIgQgAk8NAiABIARqLAAAQb9/TA0DC0KAgICAgMAACyEKQoCAgIAQIQkLIAAgCiADrYQgCYQ3AgQgAEEBNgIADwsgBEEBaiEDDAILIANBAWohAwwBCyACIANNDQADQCABIANqLAAAQQBIDQEgAiADQQFqIgNHDQALDAILIAIgA0sNAAsLIAAgAjYCCCAAIAE2AgQgAEEANgIAC/QEAQd/IAEgACAAQQNqQXxxIgVrIgNqIghBA3EhBEEAIQEgACAFRwRAIANBfE0EQANAIAEgACAGaiIHLAAAQb9/SmogB0EBaiwAAEG/f0pqIAdBAmosAABBv39KaiAHQQNqLAAAQb9/SmohASAGQQRqIgYNAAsLA0AgASAALAAAQb9/SmohASAAQQFqIQAgA0EBaiIDDQALCwJAIARFDQAgBSAIQXxxaiIALAAAQb9/SiECIARBAUYNACACIAAsAAFBv39KaiECIARBAkYNACACIAAsAAJBv39KaiECCyAIQQJ2IQMgASACaiEEAkADQCAFIQIgA0UNAUHAASADIANBwAFPGyIGQQNxIQcgBkECdCEFQQAhASADQQRPBEAgAiAFQfAHcWohCCACIQADQCABIAAoAgAiAUF/c0EHdiABQQZ2ckGBgoQIcWogACgCBCIBQX9zQQd2IAFBBnZyQYGChAhxaiAAKAIIIgFBf3NBB3YgAUEGdnJBgYKECHFqIAAoAgwiAUF/c0EHdiABQQZ2ckGBgoQIcWohASAAQRBqIgAgCEcNAAsLIAMgBmshAyACIAVqIQUgAUEIdkH/gfwHcSABQf+B/AdxakGBgARsQRB2IARqIQQgB0UNAAsCfyACIAZB/AFxQQJ0aiIBKAIAIgBBf3NBB3YgAEEGdnJBgYKECHEiACAHQQFGDQAaIAAgASgCBCIAQX9zQQd2IABBBnZyQYGChAhxaiIAIAdBAkYNABogACABKAIIIgBBf3NBB3YgAEEGdnJBgYKECHFqCyIAQQh2Qf+BHHEgAEH/gfwHcWpBgYAEbEEQdiAEaiEECyAEC6sGAgJ/AX4CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIAKAIADhIBERECAwQFBgcICQoLDA0ODxAACyAAQQRqEIkpDBALIABBBGoQ6SYMDwsgAEEEahCJKSAAQQhqENcDDA4LIABBDGoQzicMDQsgACkDEBD5GiAAQShqENcDDAwLIAApAxAgAEEkai0AABC+IwwLCyAAKQMQIABBJGotAAAQviMMCgsgAEEEahCJKSAAQQhqENcDIAAoAhRFDQkgAEEUahDXAwwJCyAAQRBqEIkpIABBBGoQwBkgACgCBCAAQQhqKAIAEPIpDAgLIABBBGoQiSkMBwsgACgCBCIBQcgAahDpJgJAAkACQCABKAIAQQdrDgIBAgALIAEQgxELIAFBKGoQ6SYLIAFB4ABqEPskIAFBgAFBCBDVEQwGCyAAQQRqEIkpIABBCGoQ1wMMBQsgAEEEahCJKSAAQQhqENcDDAQLAkAgACgCBCICQQJGDQAgAEEIaiEBIAJFBEAgASgCABDtKAwBCyABEIkpCyAAQRhqEM4nIABBHGoQzicgAEEMahDXAwwDCyAAQQRqEK8dIABBDGoQiSkgAEEQahDXAwwCCyAAQQRqEK8dIABBDGoQiSkgAEEQahDXAwwBCwJAAkACQAJAAkACQAJAAkAgACgCCEEBaw4HAgMEBQYHAAELIAAoAgwiASkDCCEDAkAgASgCAEUEQCADEPkaDAELIAMgAUEYaikDABCMKwsgAS0ARUEDRwRAIAFBIGoQ+RkLIAFB2ABBCBDVEQwHCyAAKQMQEPkaIABBKGoQgxYMBgsgACkDEBD5GiAAKAIoEMEYDAULIAAoAgwQ7SgMBAsgACgCDBDgKAwDCyAAKAIMIgEpAwgQ+RogASgCIBDCHiABQThqEO8mIAFBJGoQ8SYgAUHIAEEIENURDAILIAAoAgwiASkDCBD5GiABKAIgEMIeIAFBJGoQjAUgAUEwQQgQ1REMAQsgACgCDCIBKQMAEPkaIAFBIGoQnBIgASgCICABQSRqKAIAEJIqIAFBMEEIENURCyAAEJkrC4EGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQYiR5AAoAgBGBEAgAigCBEEDcUEDRw0BQYCR5AAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxDPBgsCQAJAAkACQAJAIAIoAgQiA0ECcUUEQCACQYyR5AAoAgBGDQIgAkGIkeQAKAIARg0DIAIgA0F4cSICEM8GIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQYiR5AAoAgBHDQFBgJHkACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQIgASAAEMUHQQAhAUGgkeQAQaCR5AAoAgBBAWsiADYCACAADQRB6I7kACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0GgkeQAQf8fIAEgAUH/H00bNgIADwtBjJHkACABNgIAQYSR5ABBhJHkACgCACAAaiIANgIAIAEgAEEBcjYCBEGIkeQAKAIAIAFGBEBBgJHkAEEANgIAQYiR5ABBADYCAAsgAEGYkeQAKAIAIgNNDQNBjJHkACgCACICRQ0DQQAhAEGEkeQAKAIAIgRBKUkNAkHgjuQAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQYiR5AAgATYCAEGAkeQAQYCR5AAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsgAEH4AXFB8I7kAGohAgJ/QfiQ5AAoAgAiA0EBIABBA3Z0IgBxRQRAQfiQ5AAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwtB6I7kACgCACIBBEADQCAAQQFqIQAgASgCCCIBDQALC0GgkeQAQf8fIAAgAEH/H00bNgIAIAMgBE8NAEGYkeQAQX82AgALC+MFAQp/IwBBgAFrIgMkAEHw++MAKAIAQQJHBEAgA0Go++MANgIcIANBqPvjADYCbCADIANB+ABqNgIwIAMgA0HsAGo2AiwgAyADQRxqNgIoQfD74wAgA0EoakH049gAEO4ECyADQgE3AigCQAJAAkBB6PvjACgCACIEIAJLDQAgA0EQakGo++MAIANBKGoiBSABIAJB5PvjACgCACAEQdj74wAoAgARCwAgAygCEEEBcUUNACADQQA2AiQgA0KAgICAEDcCHCAFIAEgAkGU4tgAQQIQ3gEgA0EwaiEJA0ACQCADKAIoRQRAQQAhCgJAIAMtADYNACADKAJcIQcgAygCWCELIAMtADQhBSADKAIsIQQCQANAIAMgBUF/c0EBcToANCADQQhqIAQgCyAHEKcTIAMoAggiBkUNCCADKAIMIQwgAyAGNgJ4IAMgBiAMajYCfCADIANB+ABqEIAKIAMoAgBFBEAgAyAENgIsIAVBAXENAiADQQE6ADYMAwsgBUEBcUUEQAJ/QQEgAygCBCIFQYABSQ0AGkEDQQQgBUGAgARJGyAFQYAQTw0AGkECCyEGIAMtADRBAXEhBSAEIAZqIQQMAQsLIAMgBDYCLAsgAyAENgJ0IAMgBDYCcEEBIQoLIAMgCjYCbAwBCyADKAJkIQQgAygCYCEFIAMoAlwhByADKAJYIQYgAygCTEF/RwRAIANB7ABqIAkgBiAHIAUgBEEAELAFDAELIANB7ABqIAkgBiAHIAUgBEEBELAFCyADKAJsQQFGBEAgAygCcCAIayEEIAEgCGohBSADKAJ0IQggA0EcaiIGIAUgBBD2HSAGQZbi2ABBARD2HQwBCwsgA0EcaiABIAhqIAIgCGsQ9h0gAEEIaiADQSRqKAIANgIAIAAgAykCHDcCAAwBCyAAIAI2AgggACABNgIEIABBgICAgHg2AgALIANBgAFqJAAPCyALIAcgBCAHQcjr4AAQ1CYAC7cFARF/IwBBMGsiAiQAIAAtAAxFBEAgACgCCCIOIQgDQCALIA5GBEAgABCIBSAAQQE6AAwFAkAgACgCBCIMIAggC0GUvccAELofIgMoAgAiBSADKAIEIgkQuQtFDQBBgIDEACEBQYCAxAAgCSAJQYCwA3NBgIDEAGtBgJC8f0kiDxshEEEAIQZBACENA0AgBSAJSw0BAkACQANAIAUgCUYNASAFQYCwA3MgBUEBaiEFQYCAxABrQYCQvH9JDQALIAVBAWshAwwBC0EBIQ0gCSEFIBAhAyAPDQILAkAgAUGAgMQARyABIANPcUUEQEEEIQoCf0EAIAZBvhZPDQAaAkACQCADIAZBDGxB0KzFAGoiASgCAEcEQEG+FiEEQQAhAQNAIARBAU0EQCABQQxsIgdB0KzFAGooAgAiBCADRw0DIAEgBksNBEGExMcAQR9BpMTHABD0FwAFIAEgBEEBdiIHIAFqIgEgAUEMbEHQrMUAaigCACADSxshASAEIAdrIQQMAQsACwALIAZBAWohBiABKAIEIQogASgCCAwCCyABIAMgBEtqIQZBAAwBCyABQQFqIQYgB0HUrMUAaigCACEKIAdB2KzFAGooAgALQQJ0IQQgCEEDdCEBA0AgBEUNAiAKKAIAIQcgCkEEaiEKIAAoAgAgCEYEQCAAEPkWIAAoAgQhDAsgASAMaiIRIAc2AgAgACAIQQFqIgg2AgggEUEEaiAHNgIAIARBBGshBCABQQhqIQEMAAsACyACIAM2AiggAkECNgIEIAJB/MLHADYCACACQgI3AgwgAkHMADYCJCACQcwANgIcIAIgATYCLCACIAJBGGo2AgggAiACQSxqNgIgIAIgAkEoajYCGCACQfTDxwAQwx0ACyADIQEgDUUNAAsLIAtBAWohCwwBCwsLIAJBMGokAAvfBQIEfwJ+IwBBwAFrIgUkACAFIAM2AgQgBSACNgIAQQAgARCKBCEBQZW34ABBBxDcGiEJENsYIAVBADoAnAEgBSABNgKYASAFQgA3A5ABIAUgCTcDiAEgBUEaNgKAASAFQYABaiIDENwoIQdBEEEEEKsgIQEgBUEBNgKEASAFQfTd2gA2AoABIAVCATcCjAEgBUECNgJcIAUgBUHYAGoiBjYCiAEgBSAFNgJYIAVBCGoiAiADEIoVIAIQphkhCSAFQaABakIANwMAIAVCADcDmAEgBSAJNwOQASAFQQA2AogBIAVBGzYCgAEgASADENwoNgIMIAFBADYCACAFQQE2AowBIAUgATYCiAEgBUEBNgKEASAFQgA3AiAgBUEDOgAcIAVBADYCGCAFQgA3AhAgBUIANwIoIAVCgICAgMAANwIIIAVBFGoQsSUgAhDmJhD5GkEAIAQQigQhBEE4QQgQqyAhASAFQQE2AgwgBUGcyd8ANgIIIAVCATcCFCAFQQI2AlwgBSAGNgIQIAUgBTYCWCAFQfQAaiIIIAIQihUgCBCmGSEJIAUgBDYCaCAFQgA3A2AgBUEAOgBsIAUgCTcDWCACIAYQ6xggBUFAayAFQRBqKQMANwIAIAVByABqIAVBGGopAwA3AgAgBUHQAGogBUEgaikDADcCACAFQaQBakIANwIAIAUgBSkDCDcCOCAFQgA3ApwBIAVBBToAmAEgBSAHNgKQASAFQRc2AoABIAVBgAFqENwoIQQgAUEANgIAIAFBBGogBUE0akEkEPsGGiABQQA6ADQgASAENgIwIAFCADcDKCAFQRpqQgA3AQAgBUEBNgIQIAUgATYCDCAFQQE2AgggBUGSAWpCADcBACAFQgA3AhQgBUIANwKMASAFQoCAgICAATcCgAEgBUEANgKIASAAIAIQ1xY2AgwgAEECNgIIIABBETYCACADEMEZQQBBCBCRKiAFQcABaiQAC6sFAgh/AX4jAEGQAWsiAiQAIAEoAiQgACgCACIFQThqEJkhIAVBPGogARC8DSABQQE6ADkgBUEMaiABEJIaIAUoAgghCSACIAUoAgQiBzYCSCACQQA2AjggAkEANgIoIAIgByAJQQZ0ajYCTCACQRhqIAJBKGoiABCXCQJ/IAIpAxgiClAEQCAAEP8oQQgMAQsgAigCICEAIAJB3ABqIgYgAkEoaiIIEMIQIAJBEGpBBCACKAJcQQFqIgNBfyADGyIDIANBBE0bQQhBEBD7FCACKAIQIQMgAigCFCIEIAA2AgggBCAKNwMAIAJBATYCWCACIAQ2AlQgAiADNgJQIAYgCEEoEPsGGkEYIQBBASEDA0AgAiACQdwAaiIGEJcJIAIpAwAiClBFBEAgAigCCCEIIAIoAlAgA0YEQCACQYQBaiAGEMIQIAJB0ABqIAIoAoQBQQFqIgRBfyAEGxCbHyACKAJUIQQLIAAgBGoiBiAINgIAIAZBCGsgCjcDACACIANBAWoiAzYCWCAAQRBqIQAMAQsLQgAQ7SYgAkHcAGoQ/yggAigCUCEEIAIoAlQLIQAgAiAENgJkIAIgADYCXCACIAAgA0EEdCIDaiIENgJoA0AgAwRAIAEgACkDAEEBENUIIANBEGshAyAAQRBqIQAMAQUCQCACIAQ2AmAgAkHcAGoQiRcgAUEAOgA5IAlBBnQhAANAIABFDQEgASAHEIoXIABBQGohACAHQUBrIQcMAAsACwsLIAVBQGsgARCqJSABQQE6ADkgBSgCGEGAgICAeEcEQCABKAIkIAVBLGoQmSEgAS0APSIARQRAIAEgBSgCIAR/IAUoAhwiAygCACADQQRqKAIAEM4UBUEACzoAPQsgASAFQRhqEKoLIAEgADoAPQsgAkGQAWokAAvRAwEDfwJAAkACQAJAIAAtAARBAUcNAAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCACICQRprDgMNAAECCyABKAIIQQVGDQwMAQsgASgCDEUNACAAQQA6AAQMCQtBByACQQxrIgIgAkEmTxtBAWsOJQcGCgoKCgoKBQoKCgoIBAMKCgoKCgoLAggIAQALCgoLCwsKCgoJCyABQQRqIAAQ0A8PCyABKAIEIAAQxQsPCyABQQhqEPUhDwsgASgCDEECdCECIAEoAgghAQNAIAJFDQUgASAAEKYtIAJBBGshAiABQQRqIQEMAAsACyABKAIIIAErAxggABCqHw8LIAEoAghBAUcNAiABQQxqIAAQpi0PCyABQQRqIAAQpAgPCyAAIAEoAgwiBCAAKAIAakECajYCACAEQQR0IQIgASgCCCIDIQEDQCACBEAgASgCAEECRwRAIAFBDGogABCmLQsgAUEQaiEBIAJBEGshAgwBCwsgBEEEdCEBIAAtAAVBAXEhAgNAIAFFDQECQCACDQAgAygCAEECRw0AIABBADoABAsgA0EQaiEDIAFBEGshAQwACwALDwsgAEEAOgAEDwsgAEEAOgAEDwsgAUEEaiAAEKYtC/QFAQF/IwBBEGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAiACgCAEEBaw4TAQIDBAUGBwgJCgsMDQ4PEBESEwALIAIgAEEEajYCDCABQYym2QBBDSACQQxqQbkEEMwKDBMLIAIgAEEEajYCDCABQZmm2QBBCiACQQxqQboEEMwKDBILIAIgAEEEajYCDCABQaOm2QBBFSACQQxqQbsEEMwKDBELIAIgAEEIajYCDCABQbim2QBBCSACQQxqQbwEEMwKDBALIAIgAEEIajYCDCABQcGm2QBBCyACQQxqQb0EEMwKDA8LIAIgAEEEajYCDCABQcym2QBBCSACQQxqQb4EEMwKDA4LIAIgAEEEajYCDCABQdWm2QBBCyACQQxqQb8EEMwKDA0LIAIgAEEEajYCDCABQeCm2QBBCyACQQxqQcAEEMwKDAwLIAIgAEEEajYCDCABQeum2QBBDiACQQxqQcEEEMwKDAsLIAIgAEEEajYCDCABQfmm2QBBCiACQQxqQcIEEMwKDAoLIAIgAEEEajYCDCABQYOn2QBBGSACQQxqQcMEEMwKDAkLIAIgAEEEajYCDCABQZyn2QBBESACQQxqQcQEEMwKDAgLIAIgAEEIajYCDCABQa2n2QBBCyACQQxqQcUEEMwKDAcLIAIgAEEEajYCDCABQbin2QBBEyACQQxqQcYEEMwKDAYLIAIgAEEEajYCDCABQcun2QBBDiACQQxqQccEEMwKDAULIAIgAEEEajYCDCABQdmn2QBBEyACQQxqQcgEEMwKDAQLIAIgAEEIajYCDCABQeyn2QBBDCACQQxqQckEEMwKDAMLIAIgAEEIajYCDCABQfin2QBBCSACQQxqQcoEEMwKDAILIAIgAEEIajYCDCABQYGo2QBBDyACQQxqQcsEEMwKDAELIAIgAEEIajYCDCABQZCo2QBBDCACQQxqQcwEEMwKCyACQRBqJAALtAUCB38BfiMAQbABayIEJAACQCABEMEMQT9GDQAgARDBDEEqRg0AIAEQwQxBK0YNAEGwpcQAQdAAQYCmxAAQ9BcACyAEQRhqIAEoAgAiBUHYAGooAgA2AgAgBCAFKQJQNwMQIARBCGogAhDuFSAFQdAAaiEFAkACQCAEKAIIIgZBDEYEQCAEQZwBaiAFQQhqKAIAIgM2AgAgBEGQAWogAzYCACAEIAUpAgAiCzcClAEgBCALNwOIASAEQRs2AiggACABKAIEIAEoAgggBEGIAWogBEEoahCaDwwBCyAEIAQoAgwiCDYCJCAEIAY2AiAgBkECTwRAQQEhCQJAIAEQ+AhFDQAgARDBDEE/Rw0AIAEQ+AgaQQAhCQsgBEGEAWogBUEIaiIBKAIANgIAIARB+ABqIgogBiAIEN8RIgdBCGooAgA2AgAgBCAFKQIANwJ8IAQgBykCADcDcCAEQTBqIgcgBEEYaigCADYCACAEQTxqIAEoAgA2AgAgBEGQAWogA0EIaigCADYCACAEIAUpAgA3AjQgBEGcAWogBykDADcCACAEQaQBaiAEQThqKQMANwIAIAQgBCkDEDcClAEgBCADKQIANwOIAUEIEOkgIgEgCDYCBCABIAY2AgAgBEHYAGogCikDADcCACAEQeAAaiAEQYABaikDADcCACAEIAQpA3A3AlAgBEEoaiIDIARBiAFqQSQQ+wYaIAQgATYCTCAEIAk6AGggAkEIIAMQhCoQ3RggAEEEaiACQSQQ+wYaIABBIjYCAAwCCyAEQZwBaiAFQQhqKAIAIgM2AgAgBEGQAWogAzYCACAEIAUpAgAiCzcClAEgBCALNwOIASAEQRs2AiggACABKAIEIAEoAgggBEGIAWogBEEoahCaDyAEQSBqEMkJCyACENkmCyAEQbABaiQAC6cFAgR/AX4jAEHgAGsiASQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOCgECAwQFBgcICQoACyABQRhqIgIgAEEgaikDADcDACABQRBqIABBGGoiAykDADcDACABQQhqIABBEGoiBCkDADcDACABIAApAwg3AwAgAhD5JiABQTRqIAMpAgA3AgAgAUEsaiAEKQIANwIAIAEgACkCCDcCJEHAAEEIENciIgBBGjYCACAAIAEpAiA3AgQgAEEMaiABQShqKQIANwIAIABBFGogAUEwaikCADcCACAAQRxqIAFBOGooAgA2AgAMCgsgAUEoaiAAQQhqQSgQ+wYaIAFBFDYCICABQSBqENwoIQAMCQsgAUEoaiAAQQhqQSgQ+wYaIAFBFTYCICABQSBqENwoIQAMCAsgAUEsaiAAQQxqKAIANgIAIAFBIzYCICABIAApAgQ3AiQgAUEgahDcKCEADAcLIAFBLGogAEEMaikCADcCACABQTA2AiAgASAAKQIENwIkIAFBIGoQ3CghAAwGCyABQSxqIABBDGopAgA3AgAgAUEsNgIgIAEgACkCBDcCJCABQSBqENwoIQAMBQsgAUEsaiAAQQxqKQIANwIAIAFBLjYCICABIAApAgQ3AiQgAUEgahDcKCEADAQLIAFBLGogAEEMaigCADYCACABQSs2AiAgASAAKQIENwIkIAFBIGoQ3CghAAwDCyABQSxqIABBDGopAgA3AgAgAUEpNgIgIAEgACkCBDcCJCABQSBqENwoIQAMAgsgAUEsaiAAQQxqKQIANwIAIAFBLTYCICABIAApAgQ3AiQgAUEgahDcKCEADAELIAApAgQhBSABQTE2AiAgASAFNwIkIAFBIGoQ3CghAAsgAUHgAGokACAAC+AFAgJ/AX4CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAOEgEKCgsCAwwMBAUGBwsLCA0NCQALIABBBGoQnCYPCyAAQQRqEOkmDAgLIABBDGoQiCgPCyAAKQMQEPkaIABBKGoQnSYPCyAAQQRqEJwmIABBCGoQnSYgACgCFEUNBSAAQRRqEJ0mDwsgAEEQahCcJiAAQQRqEMAZIAAoAgQgACgCCBDyKQ8LIABBBGoQnCYPCyAAKAIEIgBByABqEOkmAkACQAJAIAAoAgBBB2sOAgECAAsgABCKEQsgAEEoahDpJgsgAEHgAGoQ+yQgAEGAAUEIENURDwsCQCAAKAIEIgJBAkYNACAAQQhqIQEgAkUEQCABKAIAEO0oDAELIAEQnCYLIABBGGoQiCggAEEcahCIKCAAQQxqEJ0mDwsCQAJAAkACQAJAAkACQAJAIAAoAghBAWsOBwIDBAUGBwABCyAAKAIMIgApAwghAwJAIAAoAgBFBEAgAxD5GgwBCyADIABBGGopAwAQjCsLIAAtAEVBA0cEQCAAQSBqEPkZCyAAQdgAQQgQ1REPCyAAKQMQEPkaIABBKGoQjBYPCyAAKQMQEPkaIAAoAigQzRgPCyAAKAIMEO0oDwsgACgCDBDgKA8LIAAoAgwiACkDCBD5GiAAKAIgEMIeIABBOGoQ7yYgAEEkahDxJiAAQcgAQQgQ1REPCyAAKAIMIgApAwgQ+RogACgCIBDCHiAAQSRqEJMFIABBMEEIENURDwsgACgCDCIAKQMAEPkaIABBIGoQnBIgACgCICAAQSRqKAIAEJIqIABBMEEIENURCw8LIABBBGoQnCYgAEEIahCdJg8LIAApAxAgAC0AJBC+Iw8LIABBBGoiAkEEaiEBAkACQAJAAkAgAigCAA4CAQIACyABEJ4mDAILIAEoAgAQ7SgMAQsgASgCABDgKAsgAEEMahCcJiAAQRBqEJ0mC8YFAgp/AX4jAEFAaiICJAAgASgC5AEiCSAJKAIAQQFqIgM2AgAgAwRAIAFBwAFqIQUgASgC0AEhByACQSBqIAlBCGoQ3B0gAigCJCEKIAIoAiAiCEEANgIIQQEhAwNAIAJBGGogASgCwAEiBiABKALEASILEP8cAkACfwJAAkACQCACLQAYBEAgAi0AGSIGEOgRDQEgA0UNAiAGEOcRRQ0CIAUQsBVBACEDDAYLIAYgCxD9HCIGQYCAxABGDQIgBhDoEQ0AIANFDQJBACEDIAYQ5xFFDQILIAUQsBUMBAsgBkHcAEcNACABKALQASEEIAUQsBUCQAJ/AkAgASgCwAEiAyABKALEAUYNACADLQAAQfUARw0AIAEoAtABIQMgAkEIaiAFIAcgBBDRFSAIIAIoAgggAigCDBD2HSAFIAMQ2x0gAkEoaiABEL4EIAIoAiwiAyACKAIoIgdBgICAgHhGDQEaIAIoAjAiBg0CDAULIAJBHDoAKCAEIAQgAkEoahCjKwshA0EBDAILIAMoAgAQ2x8NAiACQRY6ACggASAEIAJBKGoQyyMMAgsgAkEQaiAFIAcgASgC0AEQ0RVBASEDIAIoAhQhBSACKAIQIQcgBEUEQCABKALoAUEIaiAHIAUQhBohDEEADAELIAggByAFEPYdIAEoAugBQQhqIAgoAgQgCCgCCBCEGiEMQQALIQQgCiAKKAIAQQFqNgIAIAkQ0BcgAAJ/IARFBEAgACAMNwMQIAAgAzYCCEECDAELIAAgAzYCBEElCzYCACACQUBrJAAPCyACIAc2AjAgAiADNgIsIAIgAzYCKCACIAMgBkECdGoiBDYCNANAIAMgBEZFBEAgAiADQQRqNgIsIAggAygCABDZAiACKAIsIQMgAigCNCEEDAELCyACQShqEO4pIAEoAtABIQdBASEEQQAhAwwACwALAAuyBAEGfyMAQTBrIgUkAAJAAkAgAkUEQCAAQQA2AgggAEKAgICAEDcCAAwBCyABQQhqIQcgAkEDdCICQQhrIghBA3YgBGwhCSABIQYCQANAIAJFDQEgAkEIayECIAkgBigCBCAJaiIJTSAGQQhqIQYNAAtBjJLYAEE1QYyT2AAQuxIACyAFQRhqIAlBAUEBEKELIAUoAhwhAgJAIAUoAhhBAUcEQCAFQQA2AhQgBSAFKAIgNgIQIAUgAjYCDCABKAIAIQIgBUEMaiABKAIEIgEQ+x4gBSgCECIKIAUoAhQiBmogAiABEPsGGiAJIAEgBmoiAWshBiABIApqIQIgBEEERgRAA0AgCEUNAyAGQQNNDQUgBygCBCEBIAcoAgAhBCACIAMoAAA2AAAgBkEEayIGIAFJDQUgB0EIaiEHIAJBBGoiAiABIAQgARDWHyAIQQhrIQggBiABayEGIAEgAmohAgwACwALA0AgCEUNAiAGQQJNDQQgBygCBCEBIAcoAgAhBCACIAMvAAA7AAAgAkECaiADQQJqLQAAOgAAIAZBA2siBiABSQ0EIAdBCGohByACQQNqIgIgASAEIAEQ1h8gCEEIayEIIAYgAWshBiABIAJqIQIMAAsACyACIAUoAiAQ4SkACyAAIAUpAgw3AgAgAEEIaiAJIAZrNgIACyAFQTBqJAAPCyAFQQA2AiggBUEBNgIcIAVBvNzgADYCGCAFQgQ3AiAgBUEYakGck9gAEMMdAAvVBQICfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADhIBCgoLAgMMDAQFBgcLCwgNDQkACyAAQQRqEKwpDwsgAEEEahDpJgwICyAAQQxqEPwnDwsgACkDEBD5GiAAQShqEIomDwsgAEEEahCsKSAAQQhqEIomIAAoAhRFDQUgAEEUahCKJg8LIABBEGoQrCkgAEEEahDAGSAAKAIEIAAoAggQ8ikPCyAAQQRqEKwpDwsgACgCBCIAQcgAahDpJiAAKAIAQQhHBEAgABDmJSAAQShqEOkmCyAAQeAAahD7JCAAQYABQQgQ1REPCwJAIAAoAgQiAkECRg0AIABBCGohASACRQRAIAEoAgAQ7SgMAQsgARCsKQsgAEEYahD8JyAAQRxqEPwnIABBDGoQiiYPCwJAAkACQAJAAkACQAJAAkAgACgCCEEBaw4HAgMEBQYHAAELIAAoAgwiACkDCCEDAkAgACgCAEUEQCADEPkaDAELIAMgAEEYaikDABCMKwsgAC0ARUEDRwRAIABBIGoQ+RkLIABB2ABBCBDVEQ8LIAApAxAQ+RogAEEoahCKFg8LIAApAxAQ+RogACgCKBDKGA8LIAAoAgwQ7SgPCyAAKAIMEOAoDwsgACgCDCIAKQMIEPkaIAAoAiAQwh4gAEE4ahDvJiAAQSRqEPEmIABByABBCBDVEQ8LIAAoAgwiACkDCBD5GiAAKAIgEMIeIABBJGoQkQUgAEEwQQgQ1REPCyAAKAIMIgApAwAQ+RogAEEgahCcEiAAKAIgIABBJGooAgAQkiogAEEwQQgQ1RELDwsgAEEEahCsKSAAQQhqEIomDwsgACkDECAALQAkEL4jDwsgAEEEaiICQQRqIQECQAJAAkACQCACKAIADgIBAgALIAEQiSYMAgsgASgCABDtKAwBCyABKAIAEOAoCyAAQQxqEKwpIABBEGoQiiYL1QUCAn8BfgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4SAQoKCwIDDAwEBQYHCwsIDQ0JAAsgAEEEahDHAg8LIABBBGoQ6SYMCAsgAEEMahCGKA8LIAApAxAQ+RogAEEoahCYJg8LIABBBGoQxwIgAEEIahCYJiAAKAIURQ0FIABBFGoQmCYPCyAAQRBqEMcCIABBBGoQwBkgACgCBCAAKAIIEPIpDwsgAEEEahDHAg8LIAAoAgQiAEHIAGoQ6SYgACgCAEEIRwRAIAAQliYgAEEoahDpJgsgAEHgAGoQ+yQgAEGAAUEIENURDwsCQCAAKAIEIgJBAkYNACAAQQhqIQEgAkUEQCABKAIAEO0oDAELIAEQxwILIABBGGoQhiggAEEcahCGKCAAQQxqEJgmDwsCQAJAAkACQAJAAkACQAJAIAAoAghBAWsOBwIDBAUGBwABCyAAKAIMIgApAwghAwJAIAAoAgBFBEAgAxD5GgwBCyADIABBGGopAwAQjCsLIAAtAEVBA0cEQCAAQSBqEPkZCyAAQdgAQQgQ1REPCyAAKQMQEPkaIABBKGoQixYPCyAAKQMQEPkaIAAoAigQzBgPCyAAKAIMEO0oDwsgACgCDBDgKA8LIAAoAgwiACkDCBD5GiAAKAIgEMIeIABBOGoQ7yYgAEEkahDxJiAAQcgAQQgQ1REPCyAAKAIMIgApAwgQ+RogACgCIBDCHiAAQSRqEJIFIABBMEEIENURDwsgACgCDCIAKQMAEPkaIABBIGoQnBIgACgCICAAQSRqKAIAEJIqIABBMEEIENURCw8LIABBBGoQxwIgAEEIahCYJg8LIAApAxAgAC0AJBC+Iw8LIABBBGoiAkEEaiEBAkACQAJAAkAgAigCAA4CAQIACyABEJcmDAILIAEoAgAQ7SgMAQsgASgCABDgKAsgAEEMahDHAiAAQRBqEJgmC7IFAgN/BX4jAEGQAmsiBCQAIARB4ABqQcig4wApAwA3AwAgBEHAoOMAKQMANwNYIAIoAhhBMGwhBSACKAIUIQYDQCAFBEAgBUEwayEFIAYgBEHYAGoQ1QQgBkEwaiEGDAELCyAEQTBqIARB4ABqKQMANwMAIAQgBCkDWDcDKEEAIQUgAwRAQQAgARCKBCEGQQEhBQsgBEEAOgCAASAEQegAaiIBQcig4wApAwAiBzcCACAEQfgAaiIDIAc3AgAgBCAGNgJcIAQgBTYCWCAEQcCg4wApAwAiCTcCYCAEIAk3AnAgAkEQaiAEQdgAaiICEMYaIARB6AFqIAEpAgAiCjcDACAEQfgBaiADKQIAIgg3AwAgBEHQAGogCDcDACAEIAQpAmAiCDcD4AEgBCAEKQJwIgs3A/ABIARBQGsgCjcDACAEIAs3A0ggBCAINwM4IAIgBEEoahDYCyAEQZABaiIBIARByABqENgLIAQgBEE4ajYCiAEgBEHIAWogBzcDACAEIAk3A8ABIARB4AFqIgMgAhDDDiAEQcABaiAEKALgASAEQdABahD9ISAEKAJ4QYGAgIB4RwRAIAMgAkEwEPsGGgNAAkAgBEEYaiAEQeABahDcFCAEKQMYIgdQDQAgBCgCICECIAQgBzcD0AEgBCACNgLYASAEQThqIARB0AFqEPQJBEAgBCkD0AEQ+RoMAgUgBEHAAWogBxDACQwCCwALC0IAEO0mIARB4AFqELUUCyAEKAKwAUGBgICAeEcEQCAEQeABaiABQTAQ+wYaA0AgBEEIaiAEQeABahDcFCAEKQMIIgdQRQRAIARBwAFqIAcQwAkMAQsLQgAQ7SYgBEHgAWoQtRQLIAAgBCkDwAE3AgAgAEEIaiAEQcgBaikDADcCACAEQThqEO8KIARBkAJqJAALwgUBBH8jAEEQayIDJAACQCAAKAIAIgIgASgCAEcNAAJAAkACQAJAAkACQAJAAkACQCACQQFrDgcAAQIDBAUGCAsgACgCBCAAKAIIIAEoAgQgASgCCBDrHw0HDAgLIAAoAgQiAiABKAIERw0HIAJFBEAgACgCDCAAKAIQIAEoAgwgASgCEBCOEA0HDAgLIAAoAgwgACgCECABKAIMIAEoAhAQmw8NBgwHCyAAKAIEIAEoAgRGDQUMBgsgACgCECABKAIQRw0FIAEoAgQhAgJAIAAoAgRBAUYEQCACRQ0HIAAoAgggASgCCEYNAQwHCyACDQYLIAAtABQgAS0AFEcNBSAAQQxqIAFBDGoQhyoNBAwFCyAAKAIIIAEoAghHDQQgACgCDCICRSABKAIMIgVFckUEQCACIAAoAhAgBSABKAIQEOsfRQ0FDAMLIAIgBXJFDQIMBAsgAyAAQQRqNgIIIAMgAUEEajYCDCADQQhqIANBDGoQuRANAgwDCyADIABBBGo2AgggAyABQQRqNgIMIANBCGogA0EMahC5EEUNAgwBCyAAQQRqIAFBBGoQhypFDQELIAEoAhgiASgCACECAkAgACgCGCIAKAIAQQFGBEAgAkUNAiAAKAIEIAEoAgRGDQEMAgsgAg0BCyABKAIIIQICQCAAKAIIQQFGBEAgAkUNAiAAKAIMIAEoAgxGDQEMAgsgAg0BCyAAKAIYIAEoAhhHDQAgACgCHCABKAIcRw0AIAAoAiAgASgCIEcNACAAKAIkIAEoAiRHDQAgACgCKCABKAIoRw0AIAAtADAgAS0AMEcNACAAKAIsIAEoAixHDQAgASgCECECAkAgACgCEEEBRgRAIAJFDQIgACgCFCABKAIURg0BDAILIAINAQsgAC0AMSABLQAxRw0AIAAtADIgAS0AMkYhBAsgA0EQaiQAIAQLnwUBCn8jAEHwAGsiAyQAIAMgADoAJyADIAIoAjw2AiggAyADQShqNgIsIAEoAgQhACADIAEoAggiBDYCPCADQQA2AjggAyAANgIwIAMgACAEQRRsajYCNCACQUBrIQgDQCADQRhqIANBMGoQmhMgAygCHCIARQRAIAIgASgC0AIgAygCLCIAKAIAdDYCyAIgAiABKALUAiAAKAIAdDYCzAIgAgJ/IAMtACdFBEAgAiABKALYAiAAKAIAdDYC0AJBAAwBCyACQQA2AtACIAEoAtwCIAAoAgB0CzYC1AIgA0HwAGokAA8LIAMgAygCGCIEIAMoAiwoAgB0NgJAIAAoAggEQCADQRBqIAEgBBCnICACIAMoAkAgAygCECIGQShqKAIAIAZBLGooAgAgAygCFBCRCAsgAyACNgJQIAMgATYCTCADIAA2AkggAyADQSxqNgJYIAMgA0FAazYCVCADIANBJ2o2AkQgA0EIaiABIAQQpiAgAyADKQMINwJcQQAhBUEAIQQDQCADQeQAaiADQdwAahD/DiADLQBkRQRAIANBADoAbCADQf8BNgJoIAMgBDYCZANAIAMgA0HkAGoQ6BIgAygCAEUNAyAFIAggAygCBCIEQf8BcWotAAAiACAHQf8BcUZxQQEhBQ0AIANBxABqIAQgAEEBEKkHIAAhBwwACwALIAQgAy0AZSIJIAQgCUsbIQogAygAZiELA0AgBCIGIApGBEAgBSAIIAlqLQAAIgAgB0H/AXFGcUUEQCADQcQAaiAJIAAgCxCpByAAIQcLIApBAWohBEEBIQUMAgsgBSAIIAZB/wFxai0AACIAIAdB/wFxRnFBASEFIAZBAWohBA0AIANBxABqIAYgAEEBEKkHIAAhBwwACwALAAsAC+oEAQd/IwBBMGsiAyQAAkACf0EBIAJFDQAaAkAgASACTwRAIAJBBGsiAUEAIAEgAk0bIgcgAkEBayIBIAEgB0sbIQYgASEEIANBEGoCfwNAIAYgBCAHTQ0BGiACIARNBEAgBCACQficxAAQrBAACyAAIARqIARBAWshBC0AAEHAAXFBgAFGDQALIARBAWoLIAAgAkGIncQAEJIdQQAhBCADKAIUIghFDQMCQCADKAIQIgksAAAiBUEASARAIAVBQHFBgH9GDQUgCAJ/QQIgBUFgSQ0AGkEDIAVBcEkNABogBUF3Sw0GQQQLIgVJDQUgA0EcaiAJIAUQ1QMgAygCHA0FIAMgAygCICIEIAMoAiRqNgIsIAMgBDYCKCADQShqEN4KQYCAxABGDQELAkACQAJAA0AgASAHTQ0BIAEgAk8NAiAAIAFqIAFBAWshAS0AAEHAAXFBgAFGDQALIAFBAWohBgsgA0EIaiAGIAAgAkGIncQAEJIdQQEgAygCDCICRQ0FGiADKAIIIgYsAAAiAEEATgRAIABB/wFxIQQMBQtBASAAQUBxQYB/Rg0FGgJ/QQIgAEFgSQ0AGkEDIABBcEkNABpBASAAQXdLDQYaQQQLIQFBASABIAJLDQUaIANBHGogBiABENUDIAMoAhwNASADIAMoAiAiACADKAIkajYCLCADIAA2AiggA0EoahDeCiIEQYCAxABHDQRB6JzEABDgKQALIAEgAkH4nMQAEKwQAAtBAQwDC0HonMQAEOApAAsgAiABQeyWxAAQrhAACyAEEN0LQf8BcUEBcwtBAXEhBAsgA0EwaiQAIAQLsQUBDn8jAEGAAWsiAyQAIANBADYCOCADQQE7ATQgAyACNgIwIANBADYCLCADQQE6ACggA0EKNgIkIAMgAjYCICADIAI2AhggAyABNgIUIANBCjYCECAALQAMIQogACgCBCEPIAAoAgghBCAAKAIAIQsgA0EkaiEQA0ACQCAHIg1BAXENACAIIQkgDCEOAn8DQAJAAkAgAiAFTwRAIAEgBWohBwJAIAIgBWsiCEEHTQRAQQAhBgNAIAYgCEYEQCADIAI2AhwMAwsgBiAHai0AAEEKRg0FIAZBAWohBgwACwALIANBCGpBCiAHIAgQtAcgAygCCEEBRg0CCyACIQULQQEhByADQQE6ADUgAiEGIAkMAwsgAygCDCEGCyADIAUgBmoiBkEBaiIFNgIcIAVFIAIgBUlyDQAgASAGakEBIBBBARDrH0UNAAsgAyAFNgIsIA0hByAFCyEIIAMgDkEBaiIMNgI4AkAgCkEBcUUEQCAAQQE6AAwgC0EBcUUEQCAEKAIUQdDH4ABBBCAEKAIYKAIMEQMARQ0CDAMLIAMgDzYCPCADQQc2AlwgAyADQTxqNgJYIANBAToAfCADQQA2AnggA0IgNwJwIANBATYCVCADQQI2AkQgA0GwtNgANgJAIANBATYCTCADQoCAgIDQADcCaCADQQI2AmAgAyADQeAAajYCUCADIANB2ABqNgJIIAQoAhQgBCgCGCADQUBrEJIEDQIMAQsgDkUNACAEKAIUQQogBCgCGCgCEBECAA0BIAtBAXFFBEAgBCgCFEHQx+AAQQQgBCgCGCgCDBEDAEUNAQwCCyAEKAIUQdTEwABBByAEKAIYKAIMEQMADQELQQEhCiAEKAIUIAEgCWogBiAJayAEKAIYKAIMEQMARQ0BCwsgA0GAAWokACANQX9zQQFxC6AEAQZ/IwBBMGsiBSQAAkACQCACRQRAIABBADYCCCAAQoCAgIAQNwIADAELIAFBDGohCCACQQxsIgdBDGsiCUEMbiAEbCECIAEhBgJAA0AgB0UNASAHQQxrIQcgAiAGKAIIIAJqIgJNIAZBDGohBg0AC0GMktgAQTVBjJPYABC7EgALIAVBGGogAkEBQQEQoQsgBSgCHCEGAkAgBSgCGEEBRwRAIAVBADYCFCAFIAUoAiA2AhAgBSAGNgIMIAEoAgQhBiAFQQxqIAEoAggiARD7HiAFKAIQIgogBSgCFCIHaiAGIAEQ+wYaIAIgASAHaiIBayEHIAEgCmohBiAEQQJGBEADQCAJRQ0DIAdBAU0NBSAIKAIIIQEgCCgCBCEEIAYgAy8AADsAACAHQQJrIgcgAUkNBSAIQQxqIQggBkECaiIGIAEgBCABENYfIAlBDGshCSAHIAFrIQcgASAGaiEGDAALAAsDQCAJRQ0CIAdFDQQgCCgCCCEBIAgoAgQhBCAGIAMtAAA6AAAgB0EBayIHIAFJDQQgCEEMaiEIIAZBAWoiBiABIAQgARDWHyAJQQxrIQkgByABayEHIAEgBmohBgwACwALIAYgBSgCIBDhKQALIAAgBSkCDDcCACAAQQhqIAIgB2s2AgALIAVBMGokAA8LIAVBADYCKCAFQQE2AhwgBUG83OAANgIYIAVCBDcCICAFQRhqQZyT2AAQwx0AC40FAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDhIPDwECAw8PBAUGBwgJCgsMDQ4ACyAAQQRqIAEQwxoPCyAAQQRqIAEQuC0gAEEIaiABEM8tDwsgAEEMaiABELAmDwsgAEEoaiABEM8tDwsgAEEEaiABELgtIABBCGoiAyABEM8tIAAoAhQiAgRAIABBFGogARDPLQsgAygCACIAEKQgBEAgASAAEP4OQTsQmxgLIAJFDQogAhCkIEUNCiABIAIQ/g5BOxCbGA8LIABBEGogARC4LSAAKAIMQRhsIQIgACgCCCEAA0AgAkUNCiAAQRRqIAEQsCYgACABEMMaIAJBGGshAiAAQRhqIQAMAAsACyAAQQRqIAEQuC0PCyAAKAIEIgBByABqIAEQwxogACgCAEEIRwRAIAAgARCTJCAAQShqIAEQwxoLIAEgAEHgAGoQoiQPCyAAQQRqIAEQuC0gAEEIaiABEM8tIAAoAggiABCkIEUNBgwHCyAAQQRqIAEQuC0gAEEIaiABEM8tIAAoAggiABCkIEUNBQwGCwJAIAAoAgQiA0ECRg0AIABBCGohAiADQQFxRQRAIAIgARDQLQwBCyACIAEQuC0LIABBGGogARCwJiAAQRxqIAEQsCYgAEEMaiABEM8tIAAoAgwiABCkIEUNBAwFCyAAQQRqIAEQ3xwgAEEMaiABELgtIABBEGogARDPLSAAKAIQIgAQpCBFDQMMBAsgAEEEaiABEN8cIABBDGogARC4LSAAQRBqIAEQzy0gACgCECIAEKQgRQ0CDAMLIAEgAEEIahC+Bw8LIABBBGogARC4LQsPCyABIAAQ/g5BOxCbGAu7BQEIfyMAQaABayICJAACQCABKAIAIgUgASgCBEYEQCAAQSs2AgAMAQsgASAFQQRqNgIAIAJBEGogASgCCCIIQSBqIgZBsLfDABC/HQJAAkACQCACKAIQIgEoAgBBAUcEQCACKAIUIQNBJSEHIAEoAiQiBEH+////B0siCUUEQCABIAQ2AgQgAUEBNgIAIAFBHGpBABCqG0EqIQcLIAMgAygCAEEBajYCACAJDQEgAkHQAGoiCSAIQQBBACACIAUoAgAQwAIgAigCWCEBIAIoAlQhBSACKAJQIgNBKkcNAiACQQhqIAZB4LjDABC/HSACKAIMIQcgAigCCCIDKAIAIANBBGooAgAQzyEhBCACQQk2ApABIAIgBDYClAEgCSADIAJBkAFqEOgIIAIoAlQhAyACKAJQIgRBKkcEQCACQRhqIAJB2ABqQTgQ+wYaCyAHIAcoAgBBAWo2AgAgBEEqRw0DIAJB0ABqIAggASADENkIIAIoAlAiAUEqRgRAIAIgBkHAt8MAEL8dIAIoAgQhCCACKAIAIgEoAgAgAUEEaigCABDPISEGIAFBIGooAgAgAUEkaigCACAGQfzXwwAQtx8gAUEANgIAIAU2AgAgACADNgIIIAAgBTYCBCAAQSo2AgAgCCAIKAIAQQFqNgIADAULIABBBGogAkHQAGpBBHJBPBD7BhogACABNgIADAQLIAJBADYCKCACQQE2AhwgAkHY0sMANgIYIAJCBDcCICACQRhqQezXwwAQwx0ACyAAQf////8HNgIIIABBDGogAkHQAGpBNBD7BhogACAENgIEIAAgBzYCAAwCCyAAQQxqIAJB3ABqQTQQ+wYaIAAgATYCCCAAIAU2AgQgACADNgIADAELIABBCGogAkEYakE4EPsGGiAAIAM2AgQgACAENgIACyACQaABaiQAC5wFAQZ/IwBBQGoiBSQAAkAgBEUNAAJAIAEtADxFDQAgASgCKCEIIAEoAgwhByABKAIIIQkgASgCLCIKIQYDQCAGBEAgCCAJIAcQgg8gBkEBayEGDAEFIAEoAjgEQCABIAEoAjQgByAKbGo2AjQLIAFBADoAPCABKAIAIAFBADYCAEUNAiABIAEoAgQQnAQLCwsgAigCACIKBEAgASACKAIEEJwECyABKAIoIAMgBBCCDwJAIAEoAjhFDQBBACEHIAVBADYCPCAFQQA2AiggBSADNgI0IAUgAyAEajYCOEEAIQgDQAJAIAVBIGogBUEoahC9ECAFKAIkIgZFDQAgBSgCICEJAkACQCAGLQAAQQprDgQAAwMBAwsgCUEBaiEHIAhBAWohCAwCCwJAIAUoAihBAUYEQCAFKAIwIQYMAQsCQCAFKAI0IgYgBSgCOEYEQEEAIQYMAQsgBSAGQQFqNgI0IAUgBSgCPCIHQQFqNgI8CyAFIAY2AjAgBSAHNgIsIAVBATYCKAsgCEEBaiEIAkAgBgRAIAYtAABBCkYNAQsgCUEBaiEHDAILIAlBAmohByAFQRhqIAVBKGoQvRAMAQsLIAEgASgCMCAIajYCMCAFQRBqIAcgAyAEQZy34AAQ5RRBACEGIAVBADsBMCAFIAUoAhAiAzYCKCAFIAMgBSgCFGo2AixBACEDA0ACQCAFAn8gBkH//wNxRQRAIAVBCGogBUEoahCACiAFKAIIBEAgBSgCDCIEQf//A00EQCAFLwEwIQYMBAsgBEH/B3FBgLh/cgwCCyABQQAgASgCNCAIGyADajYCNAwEC0EACyIGOwEwCyADQQFqIQMMAAsACyAKRQ0AIAEgAigCCBCcBAsgAEEEOgAAIAVBQGskAAudBQIEfwV+IwBBgAFrIgQkACABvSEIAn9BAyABmUQAAAAAAADwf2ENABpBAiAIQoCAgICAgID4/wCDIglCgICAgICAgPj/AFENABogCEL/////////B4MiDEKAgICAgICACIQgCEIBhkL+////////D4MgCEI0iKdB/w9xIgUbIgpCAYMhCyAJUARAQQQgDFANARogBUGzCGshBUIBIQkgC1AMAQtCgICAgICAgCAgCkIBhiAKQoCAgICAgIAIUSIHGyEKQgJCASAHGyEJQct3Qcx3IAcbIAVqIQUgC1ALIQYgBCAFOwF4IAQgCTcDcCAEQgE3A2ggBCAKNwNgIAQgBjoAegJ/AkACQAJAIAZBAmsiBQRAQQEhBkGY5OAAQYaw4AAgCEIAUyIHG0GY5OAAQQEgBxsgAhshB0EBIAhCP4inIAIbIQJBAyAFIAVBA08bQQJrDgIDAgELIARBAzYCKCAEQeTF3wA2AiQgBEECOwEgQQEhB0EAIQJBASEGIARBIGoMAwsgBEEDNgIoIARBkO7AADYCJCAEQQI7ASAgBEEgagwCCyAEQSBqIARB4ABqIgUgBEEPaiIGEKIBAkAgBCgCIEUEQCAEQdAAaiAFIAYQRAwBCyAEQdgAaiAEQShqKAIANgIAIAQgBCkCIDcDUAsgBCAEKAJQIAQoAlQgBC8BWCADIARBIGoQiQcgBCgCBCEGIAQoAgAMAQtBAiEGIARBAjsBICADBEAgBEEBNgIwIARBADsBLCAEQQI2AiggBEGX4tgANgIkIARBIGoMAQtBASEGIARBATYCKCAEQbHU1gA2AiQgBEEgagshBSAEIAY2AlwgBCAFNgJYIAQgAjYCVCAEIAc2AlAgACAEQdAAahC3BCAEQYABaiQAC9AFAQF/IwBBEGsiAiQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAIgAoAgBBAWsOEgECAwQFBgcICQoLDA0ODxAREgALIAIgAEEEajYCDCABQfSh2QBBBSACQQxqQYgDEMwKDBILIAIgAEEEajYCDCABQeCd4wBBBSACQQxqQYkDEMwKDBELIAIgAEEEajYCDCABQfmh2QBBCCACQQxqQYoDEMwKDBALIAIgAEEEajYCDCABQYGi2QBBBCACQQxqQYsDEMwKDA8LIAIgAEEEajYCDCABQYWi2QBBBiACQQxqQYwDEMwKDA4LIAIgAEEIajYCDCABQYui2QBBByACQQxqQY0DEMwKDA0LIAIgAEEIajYCDCABQZKi2QBBBSACQQxqQY4DEMwKDAwLIAIgAEEIajYCDCABQZei2QBBCCACQQxqQY8DEMwKDAsLIAIgAEEEajYCDCABQZ+i2QBBAiACQQxqQZADEMwKDAoLIAIgAEEEajYCDCABQaGi2QBBBiACQQxqQZEDEMwKDAkLIAIgAEEEajYCDCABQaei2QBBBSACQQxqQZIDEMwKDAgLIAIgAEEEajYCDCABQayi2QBBAyACQQxqQZMDEMwKDAcLIAIgAEEEajYCDCABQa+i2QBBBSACQQxqQZQDEMwKDAYLIAIgAEEEajYCDCABQbSi2QBBByACQQxqQZUDEMwKDAULIAIgAEEEajYCDCABQbui2QBBAyACQQxqQZYDEMwKDAQLIAIgAEEEajYCDCABQb6i2QBBBSACQQxqQZcDEMwKDAMLIAIgAEEEajYCDCABQcOi2QBBBSACQQxqQZgDEMwKDAILIAIgAEEIajYCDCABQcii2QBBBCACQQxqQZkDEMwKDAELIAIgAEEEajYCDCABQe2u4ABBBCACQQxqQZoDEMwKCyACQRBqJAALwAUBAn8CQAJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIAKAIAQQFrDhMBAgMEBQoGCgoHCAkKCgsMDg8QAAsgAEIANwIEDwsgAEIANwIEDwsgACgCBEGAgICAeEYEQCAAQgA3AxggAEEIahChGyAAQSBqEJAmIABBFGoQji4PCyAAQgA3AhQgAEEEahChGyAAQRxqEJAmIABBEGoQji4PCyAAQgA3AwggAEEQahCeHiAAQShqEIAoDwsgAEIANwMIIABB0ABqIABBEGohAQJAIAAtAERBBEYEQCABEJ4eDAELIAEQtx0LEIAoDwsgAEIANwMQIABBBGoQ0gcPCyAAQgA3AxAgACgCDEE4bCEBIAAoAgghAANAIAFFDQsgAEIANwIoIAAoAgBBB0cEQCAAELASCyAAQTBqEPEDIAFBOGshASAAQThqIQAMAAsACyAAQgA3AhQgAEEIahCgGw8LIABCADcCFCAAQQRqEPEDIABBCGoQ8QMgAEEMahDxAyAAQRBqIQAMBAsgAEIANwMIIABBEGoQmyAPCyAAQgA3AwggAEEEaiEADAILIABCADcCDCAAQQRqEPEDIABBCGohAAwBCwsgAEIANwMIIABBEGoQmyAgAEFAaxCBKCAAQcQAahCBKA8LIABCADcDKAJAAkACQAJAQQQgACgCCEGAgICAeHMiASABQQRPG0EBaw4EAAECAwILIABCADcDGA8LIABCADcCDA8LIABCADcDEA8LIABCADcDICAAQQhqEKAbIAAoAhxBBXQhASAAKAIYIQADQCABRQ0DIABCADcCCCABQSBrIQEgAEEgaiEADAALAAsgAEEIQRAgAC0AHEECRiIBG2pBADYCACAAQgA3AyAgAEEMQRQgARtqQQA2AgAgAEEoahCCKA8LIABBCGoQtx0LC68FAgl/AX4jAEEgayIEJAAgBEEQaiABQcPg2ABBARDyJAJAAkACQAJAAkACQCAELQAQQQRGBEAgAiADaiEMIAIhCQJAAkADQEEAIQYDQCAMIAYgCWoiCkYEQCADIAVGDQggBQRAIAMgBU0NBCACIAVqLAAAQb9/TA0ECyAEQQhqIAEgAiAFaiADIAVrEPIkIAQtAAghBgwHCyAGQQFqIQYgCi0AACILQeiU2ABqLQAAIghFDQALIAUgBSAGaiIKQQFrIgdJBEACQCAFRQ0AIAMgBUsEQCACIAVqLAAAQb9/Sg0BDAwLIAMgBUcNCwsCQCADIAdLBEAgAiAHaiwAAEG/f0wNDAwBCyADIAdHDQsLIARBEGogASACIAVqIAcgBWsQ8iQgBC0AEEEERw0DCwJAIARBEGogAQJ/AkACQAJAAkACQAJAIAhB7gBrDggBDAwMAgwDBAALAkACQAJAIAhB4gBrDgUBDg4OAgALIAhBIkYNBiAIQdwARw0NQZDg2AAMBwtB7t7YAAwGC0Hw3tgADAULQYzg2AAMBAtBjuDYAAwDC0H4ltgADAILIARB3OrBgQM2ABogBCALQQ9xQYue4wBqLQAAOgAfIAQgC0EEdkGLnuMAai0AADoAHiAEQRBqIAEgBEEaakEGEPIkDAILQZTh2AALQQIQ8iQLIAQtABBBBEYEQCAGIAlqIQkgCiEFDAELCyAEIAQpAxAiDTcDCCANpyEGDAQLIAIgAyAFIANB2JTYABDUJgALIAQgBCkDECINNwMIIA2nIQYMAgsgACAEKQMQNwIADAQLQeXs4ABBKEHIlNgAEPQXAAsgBkH/AXFBBEcNAQsgACABQcPg2ABBARDyJAwBCyAAIAQpAwg3AgALIARBIGokAA8LIAIgAyAFIAdB6JbYABDUJgALsgUBA38jAEHgAGsiAyQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIAQQFrDhIQEAABAhAQAwQFBgcICQoLDQwOCyABQQRqIAAQgi0gAUEIaiAAEIMtDA8LIAFBDGogABDWJQwOCyABQShqIAAQgy0MDQsgAUEEaiAAEIItIAFBCGogABCDLSABKAIURQ0MIAFBFGogABCDLQwMCyABQRBqIAAQgi0gASgCDEEYbCECIAEoAgghAQNAIAJFDQwgAUEUaiAAENYlIAAgARDmBiACQRhrIQIgAUEYaiEBDAALAAsgAUEEaiAAEIItDAoLIAAgASgCBCIBQcgAahDmBiABKAIAQQhHBEAgASAAEO4jIAAgAUEoahDmBgsgAUHgAGogABDvIwwJCyABQQRqIAAQgi0gAUEIaiAAEIMtDAgLIAFBBGogABCCLSABQQhqIAAQgy0MBwsCQCABKAIEIgRBAkYNACABQQhqIQIgBEEBcUUEQCACIAAQhC0MAQsgAiAAEIItCyABQRhqIAAQ1iUgAUEcaiAAENYlIAFBDGogABCDLQwGCyABQQRqIAAQvhwgAUEMaiAAEIItIAFBEGogABCDLQwFCyABQQRqIAAQvhwgAUEMaiAAEIItIAFBEGogABCDLQwECyABQQRqIAAQgi0MAwsgAUEIaiAAEKQJDAELIAAgAUEEahDmBiABKAIAQRFHDQELIANBMGoiBCABQQhqIgIQjxUgAyAAIARBABBpAkACQAJAQQIgAygCAEETayIAIABBAk8bQQFrDgIBAgALIANBMGoiACABQTAQ+wYaIAFBADYCCCABQgE3AwAgABDPBQwCCyACEP0JIAIgA0EIakEoEPsGGgwBCyABEM8FIAEgA0EwEPsGGgsgA0HgAGokAAuhBQEOfyMAQRBrIgYkAAJAAkACQAJAIAIEQCAALQD9AkEBcUUNBCAAIAAoArgCQQFqNgK4AgJAIAAoAvQCQQNLDQAgAEHoAmoiAyABLQAAIgQQjxEgAC0A+gJBAUcNACADIAQQ3xkQjxELAkAgAC0AtwJBAUcNACAAKAKwAkEDTQRAIAJB/wFLBEAgAEEAOgC3AgwCCyAAQRBqIQkgAEGQAmohDSABIAJqIQ4gAS0AACIKQYS6xABqLQAAIQwgAC0AtgJBAXEhDyABIQMDQEGAAiAHIAdBgAJNGyEQQQAhBANAIAMgDkYEQCAEDQQgCSAKEJ8YIAAtALYCQQFHDQQgCSAKEN8ZEJ8YDAQLIAcgEEYNBSAJIAMtAAAiC2oiBSAFLQAAIgggB0H/AXEiBSAFIAhJGzoAACAPBEAgCSALEN8ZQf8BcWoiCCAILQAAIgggBSAFIAhJGzoAAAsgB0EBaiEHIANBAWohAyAEQQEhBA0AIA0gCxDcFQ0ACyALQYS6xABqLQAAIgQgDEH/AXEiBSAEIAVJIgQbIQwgCyAKIAQbIQoMAAsACyAAQQA6ALcCCyAAIAAoAgwiA0EBajYCDAJAIANFBEAgBkEEaiACQQBBAUEBEJgKIAYoAgghAyAGKAIEQQFGDQQgBigCDCABIAIQ+wYhBCAAKAIAIAAoAgQQtiQgACACNgIIIAAgBDYCBCAAIAM2AgAMAQsgACgCACAAKAIEELYkIABBgICAgHg2AgALIAAoArwCQYCAgIB4Rg0EIAAtAOUCDQQgAEG8AmohAyAAKALEAkGAAUkNAyAAQQE6AOUCIAMQ7BQMBAsgAEEAOgD9AgwDC0GkmMAAEOApAAsgAyAGKAIMEOEpAAsgAyABIAIQzwkLIAZBEGokAAuDBQELfyAAKAIAIgZBCGooAgBFBEAgBhC8DyEDCwJAAkAgBkEQaiILKAIAIAZBFGoiDCgCACADQZS5xAAQtx8oAgAiBA0AIAEgAmohDSAGQQhqIQkgBkEEaiEKAkADQAJAAkAgASANRgRAQQEhAiAGIAYoAhgiAEEBajYCGCAGQRRqKAIAIgEgA0sNASADIAFBpLnEABCsEAALIAEtAAAhByABQQFqIQEgCigCACAJKAIAIANBtLnEABC8HyICKAIIIgRFBEBBACEEDAILIAIoAgQhBUEAIQIDQCAEQQFNBEACQCAHIAUgAkEDdCIEai0AACIFRwRAIAIgBSAHSWohBAwFCyAKKAIAIAkoAgAgA0HEucQAELwfIgMoAggiByACTQ0AIAsoAgAgDCgCACADKAIEIARqKAIEIgNB5LnEABC3HygCACIERQ0FDAcLBSACIARBAXYiCCACaiICIAUgAkEDdGotAAAgB0sbIQIgBCAIayEEDAELCyACIAdB1LnEABCsEAALIAZBEGooAgAgA0ECdGogADYCAAwECyAGELwPIQIgAyAJKAIAIgVJBEAgCigCACADQQxsaiIFKAIIIgMgBEkNAiAFKAIAIANGBEAgBRD5FgsgBSgCBCAEQQN0aiEIIAMgBEsEQCAIQQhqIAggAyAEa0EDdBDaLRoLIAggAjYCBCAIIAc6AAAgBSADQQFqNgIIIAIhAwwBCwsgAyAFQfS5xAAQrBAACyAEIAMQsBAAC0EAIQIgACgCBC0AAEEBRg0AIAAoAggiACgCCCIBIAAoAgBGBEAgABD+FgsgACgCBCABQQJ0aiAEQQFrNgIAIAAgAUEBajYCCEEADwsgAgvUBQEGfyMAQSBrIgckACAHIAM6AAcgASgCBCIIIAEoAggiBSACQbyIwAAQuB8oAgQEQCAIIAUgAkHMiMAAELgfIQYgASgCHCABKAIgIAYoAgQgASADQf8BcWpByABqLQAAakHciMAAELcfIAQ2AgALAkACQAJAAkACQAJAAkAgCCAFIAJB7IjAABC4HygCACIIRQ0AIANB/wFxIgoiCSABKAIQIgUgASgCFCIGIAhB/IjAABC5Hy0AAEkNACAFIAYgCEGMicAAELkfLQAAIAlGDQEgBSAGIAhBnInAABC5HyEJA0AgCSgABSICRQRAQQAhAgwFCyAKIAUgBiACQayJwAAQuR8tAABLBEAgBSAGIAJBnIrAABC5HyEJIAIhCAwBCwsgA0H/AXEiCSAFIAYgAkG8icAAELkfLQAASQ0DIAUgBiACQcyJwAAQuR8iAS0AACAJRw0CIAUgBiACQeyJwAAQuR8gBDYAAQwECyAHQQhqIAEQiw0gBygCDCEFIAcoAggiBkEDRgRAIAEoAhAgASgCFCAFQbyKwAAQuR8iBiAINgAFIAYgBDYAASAGIAM6AAAgASgCBCABKAIIIAJBzIrAABC4HyAAQQM2AgAgBTYCAAwGCyAAIAcpAxA3AwggAEEQaiAHQRhqKQMANwMAIAAgBTYCBCAAIAY2AgAMBQsgBSAGIAhBrIrAABC5HyAAQQM2AgAgBDYAAQwECyAHQQA2AghBACAHQQdqIAEgB0EIakHcicAAENQaAAsgB0EIaiABEIsNIAcoAgwhBSAHKAIIIgZBA0cNASABKAIQIgYgASgCFCIJIAVB/InAABC5HyIBIAI2AAUgASAENgABIAEgAzoAACAGIAkgCEGMisAAELkfIAU2AAULIABBAzYCAAwBCyAAIAcpAxA3AwggAEEQaiAHQRhqKQMANwMAIAAgBTYCBCAAIAY2AgALIAdBIGokAAuPBQERfyMAQTBrIgUkACAFIAEoAggiBjYCFCAGQcAARgRAAkACQAJAIAEoAhAiCyAEaiIGIANLDQAgBCAGSw0CIAEgAiAEaiALENMOIQkgASgCFCEOIAEoAgQhDyABKAIMIhBBEGohEQJAA0AgDyAJQT9xQQxsaiIBKAIEIgwgASgCCEEDdGohEiACIARqIQYgAyAEayETA0ACQAJAAkAgEiAMIgFGBEAgBCALaiIBIANPDQcgAyAERg0BIAEgAmotAAAgCSAOIAYtAABsa0EBdGohCSAEQQFqIQQMBQsgAUEIaiEMIAEoAgAgCUcNAyAFQQhqIBBBDGooAgAgESgCACABKAIEIhQQ8B0gAyAESQ0BIAUoAgwiByATSw0DIAUoAgghCCAHQQRJDQIgCCAHQQRrIgFqIRUgASAGaiENIAYhAQNAIAEgDUkEQCABKAAAIAgoAABHDQUgCEEEaiEIIAFBBGohAQwBCwsgDSgAACAVKAAARw0DDAULIAMgA0HIuMAAEKwQAAsgBCADQei4wAAQrRAACwJAAkACQCAHQQFrDgMCAQAFCyAGLwAAIAZBAmotAABBEHRyIAgvAAAgCEECai0AAEEQdHJHDQJBAyEHDAQLIAYvAAAgCC8AAEcNAUECIQcMAwsgBi0AACAILQAARw0ACwtBASEHCyAEIAdqIgEgB0kNASAAIBQ2AgwgACABNgIIIAAgBDYCBEEBIQoLIAAgCjYCACAFQTBqJAAPCyAFQQA2AiggBUEBNgIcIAVB6KDDADYCGCAFQgQ3AiAgBUEYakHwoMMAEMMdAAsgBCAGQbi4wAAQrxAACyAFQQA2AhhBAEG0uMAAIAVBFGogBUEYakHYuMAAENYaAAuFBQIQfwF+IwBB0AFrIgIkACABKAIEIQkgAiABKAIIIgdBBEEMEPsUIAdBDGwhCiACQSBqIQsgAkE4aiEMIAJBqAFqIQ0gAkGAAWohDiACQegAaiEFIAIoAgQhCEEAIQEgAigCACIPIQYCQANAIAZFIAEgCkZyRQRAAkAgASAJaiIDKAIABEAgAkEMaiADEPkiDAELQQhB8AAQuCgiEEUNAwJAAkACQAJAAkACQAJAQQQgA0EEaigCACIDKAIAQQVrIgQgBEEGTxtBAWsOBQECAwQFAAsgBSADQQhqENYbIAJBBTYCYAwFCyACQRhqIgQgA0EIahDLDiACIANBKGoQ+Rw2AjggBSAEQSgQ+wYaIAJBBjYCYAwECyADKQMIIRIgCyADQRBqENYbIAIgA0EoahD5HDYCOCACIBI3AxggBSACQRhqQSgQ+wYaIAJBBzYCYAwDCyADKQNAIRIgAkEYaiIRIANBCGoQyw4gA0HIAGoQmxwhBCAMIANBKGoQviAgAiAENgJYIAIgEjcDUCAFIBFByAAQ+wYaIAJBCDYCYAwCCyADKQNgIRIgAkHgAGogAxDLDiAOIANBIGoQvyAgA0HoAGoQ+BkhBCANIANByABqEL4gIAIgBDYCyAEgAiASNwPAAQwBCyACQRhqIgQgA0EIahDLDiACIANBKGoQ/gs2AjggBSAEQSgQ+wYaIAJBCjYCYAsgAiAQIAJB4ABqQfAAEPsGNgIQIAJBADYCDAsgAikCDCESIAEgCGoiA0EIaiACQRRqKAIANgIAIAMgEjcCACAGQQFrIQYgAUEMaiEBDAELCyAAIAc2AgggACAINgIEIAAgDzYCACACQdABaiQADwsAC90EAgR+BX8gAEEIaiEKQQAgACgCACIGayEHIAFBP3GtIQNBgHohAQJAAkACQAJAAkACQANAIAEgB2oiCEGAekYNAyABRQ0BIAAgAWoiCUGIBmoxAAAgAkIKfnwiAiADiEIAUg0CIAhB/3lGDQMgAUECaiEBIAlBiQZqMQAAIAJCCn58IgIgA4hQDQALIAFBgAZqIQEMAwtBgAZBgAZB5MrAABCsEAALIAFBgQZqIQEMAQsgAlANASACIAOIUEUEQCAGIQEMAQsgBiEBA0AgAUEBaiEBIAJCCn4iAiADiFANAAsLIAAgACgCBCABa0EBaiIHNgIEIAdBgXBIBEAgAEEAOgCIBiAAQgA3AgAPC0J/IAOGQn+FIQUCQAJAAkAgASAGSQRAQQAgBmshCCABQQhqIQcgBiABayEGQYAGIAEgAUGABk8bQYAGayEJQQghAQNAIAEgCWpBCEYNAiAAIAdqMQAAIAAgAWogAiADiDwAACACIAWDQgp+fCECIAFBAWohASAIIAdBAWoiB2pBCEcNAAsgAlANAwwCC0EAIQYgAkIAUg0BIABBADYCAAwDCyAHQQhrQYAGQfTKwAAQrBAACwNAIAIiBCAFg0IKfiECIAQgA4inIQECQCAGQYAGTwRAIAFB/wFxRQ0BIABBAToAiAYMAQsgBiAKaiABOgAAIAZBAWohBgsgAkIAUg0ACwsgACAGNgIAIAZBgAZLDQEgBkEHaiEBA0AgACABai0AAA0BIAAgAUEIazYCACABQQFrIgFBB0cNAAsLDwsgBkEBa0GABkHEysAAEKwQAAu4BgIMfwl+IwBB8AJrIgIkACABKALkASEIIAEtAPMBIQkgASkCECEOIAEpAhghDyABKQIgIRAgASkCKCERIAEpAjAhEiABKQI4IRMgASkCQCEUIAEpAkghFSABKQJQIRYgAkGEAmogASgCXCABKAJgEP0TIAJBkAJqIAEoAmggASgCbBD9EyACQZwCaiABKAJ0IAEoAngQ/RMgAiAWNwL8ASACIBU3AvQBIAIgFDcC7AEgAiATNwLkASACIBI3AtwBIAIgETcC1AEgAiAQNwLMASACIA83AsQBIAIgDjcCvAEgAkG8AmogAUGQAWovAQA7AQAgAkHGAmogAUGaAWovAQA7AQAgAkHQAmogAUGkAWovAQA7AQAgAkHaAmogAUGuAWovAQA7AQAgAkHkAmogAUG4AWovAQA7AQAgAiABKQKIATcCtAIgAiABKQGSATcBvgIgAiABKQKcATcCyAIgAiABKQGmATcB0gIgAiABKQKwATcC3AIgAkHuAmogAUHCAWovAQA7AQAgAiABKQG6ATcB5gIgASgCgAEhBCABKAKEASEFIwBBEGsiAyQAIANBCGogBUEBQQoQvhQgAygCCCEGIAMoAgwgBCAFQQpsEPsGIQcgAkGoAmoiBCAFNgIIIAQgBzYCBCAEIAY2AgAgA0EQaiQAIAJBCGogAkG8AWoiA0HsABD7BhogAkH0AGogBEHIABD7BhogAyABQcQBahDmHiABKALcASIDIAMoAgAiBUEBajYCACAFQQBIBEAACyABKAIEIQUgASgCACEEIAEtAPIBIQYgAS0A8QEhByABLQDwASEKIAEoAuwBIQsgASgC6AEhDCACIAEoAgggASgCDBC/KCABKALgASENIAIpAwAhDiAAQdABaiABQdABahDmHiAAIAg2AuQBIAAgCToA8wEgAEEQaiACQQhqQbQBEPsGGiAAIAY6APIBIAAgBzoA8QEgACAKOgDwASAAIAs2AuwBIAAgDDYC6AEgACANNgLgASAAIAM2AtwBIAAgDjcCCCAAIAU2AgQgACAENgIAIABBzAFqIAJBxAFqKAIANgIAIAAgAikCvAE3AsQBIAJB8AJqJAALnQUCAX8BfiMAQSBrIgMkAAJAAkACQAJAIAIoAjxFDQAgAyACQTxqNgIIIANBGGogA0EIaiABEMEpIAMtABhBBEYNACADKQMYIgRC/wGDQgRSDQELIANBADYCDCADQRhqIAEgA0EMakGfteAAQQEQshMgAy0AGEEERg0BIAMpAxgiBEL/AYNCBFENASAAIAQ3AgAMAgsgACAENwIADAELIANBGGogASACKAIwIAIoAjQgAigCBCACKAIIEP4EAkACQAJAAkAgAy0AGEEERwRAIAMpAxgiBEL/AYNCBFINAQsgA0EYaiABIANBDGpB4KHjAEEBELITIAMtABhBBEcEQCADKQMYIgRC/wGDQgRSDQILAkACQAJAAkACQAJAIAIoAkBFDQAgA0EYaiABIANBDGpB5LXgAEEBELITIAMtABhBBEcEQCADKQMYIgRC/wGDQgRSDQkLAkAgAS0ATQ0AIANBGGogARDQESADLQAYQQRGDQAgAykDGCIEQv8Bg0IEUg0CCyADQRhqIAJBQGsgARDeDSADLQAYQQRGDQAgAykDGCIEQv8Bg0IEUg0CCyACKAIYQYCAgIB4Rg0CAkAgAS0ATQ0AIANBGGogARDQESADLQAYQQRGDQAgAykDGCIEQv8Bg0IEUg0JCyADQRhqIAEgAkEYakEBEOcEIAMtABhBBEYNAyADKQMYIgRC/wGDQgRRDQMgACAENwIADAkLIAAgBDcCAAwICyAAIAQ3AgAMBwsgA0EYaiABIANBDGoQ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ACwgA0EgNgIcIANBADYCKCADIAE2AiQgAyAANgIgIANBADYCFCADQQA2AgwCfwJAAkACQCACKAIQIgpFBEAgAigCDCIARQ0BIAIoAggiASAAQQN0aiEEIABBAWtB/////wFxQQFqIQcgAigCACEAA0AgAEEEaigCACIFBEAgAygCICAAKAIAIAUgAygCJCgCDBEDAA0ECyABKAIAIANBDGogASgCBBECAA0DIABBCGohACABQQhqIgEgBEcNAAsMAQsgAigCFCIARQ0AIABBBXQhCyAAQQFrQf///z9xQQFqIQcgAigCCCEFIAIoAgAhAANAIABBBGooAgAiAQRAIAMoAiAgACgCACABIAMoAiQoAgwRAwANAwsgAyAIIApqIgFBEGooAgA2AhwgAyABQRxqLQAAOgAsIAMgAUEYaigCADYCKCABQQxqKAIAIQRBACEJQQAhBgJAAkACQCABQQhqKAIAQQFrDgIAAgELIARBA3QgBWoiDCgCAA0BIAwoAgQhBAtBASEGCyADIAQ2AhAgAyAGNgIMIAFBBGooAgAhBAJAAkACQCABKAIAQQFrDgIAAgELIARBA3QgBWoiBigCAA0BIAYoAgQhBAtBASEJCyADIAQ2AhggAyAJNgIUIAUgAUEUaigCAEEDdGoiASgCACADQQxqIAEoAgQRAgANAiAAQQhqIQAgCyAIQSBqIghHDQALCyAHIAIoAgRPDQEgAygCICACKAIAIAdBA3RqIgAoAgAgACgCBCADKAIkKAIMEQMARQ0BC0EBDAELQQALIANBMGokAAvXBAIMfwJ+IwBB8ABrIgIkACACQQA2AhAgAkKAgICAgAE3AgggASgCBCEDIAFBADYCBCACIAM2AhQgAkEwaiEJIAJBGGpBBHIhByACQSlqIgpBB2ohC0EIIQRBACEBA0ACQAJAAkAgAwRAIAMoAgBBAUYEQCADQQA2AgAgAkHQAGoiDCADQRRqKAIANgIAIAIgAykCDDcDSCACIAMpABk3AzggAiADQSBqKQAANwA/IAMtABghCCADKAIIIQUCQCADQX9GDQAgAyADKAIEQQFrIg02AgQgDQ0AIANBKEEIENURCyAIQQJHDQIgBSEDCyACIAM2AlQgAkHYAGogA0EIahCeESADKAIgIgMEQCADIAMoAgBBAWoiBTYCACAFRQ0DCyACQShqIAJB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ACABNgIIDAQLQeXs4ABBKEH8qOAAEPQXAAtB5ezgAEEoQaCp4AAQ9BcACyACQSBqEJAkIAAgBTcDACAAIAIpAwg3AwggAEEQaiACQRBqKQMANwMAIABBGGogAkEYaikDADcDAAwCCyAAQgI3AwAgACADNgIICyACQSBqEJAkCyACQfAAaiQAC/oEAQJ/IwBBMGsiAyQAAn8CQAJAAkACQAJAAkACQAJAAkBBBiAAKAIAQQJrIgQgBEEJTxtBAWsOCAECAwQFBgcIAAsgA0EBNgIUIANBhPjgADYCECADQgE3AhwgA0GqAjYCDCADIAApAgg3AiggAyADQQhqNgIYIAMgA0EoajYCCCABIAIgA0EQahC1JAwICyADIABBBGo2AgggA0ECNgIUIANB9NHYADYCECADQgE3AhwgA0ENNgIsIAMgA0EoajYCGCADIANBCGo2AiggASACIANBEGoQtSQMBwsgA0EANgIgIANBATYCFCADQZjS2AA2AhAgA0IENwIYIAEgAiADQRBqELUkDAYLIANBADYCICADQQE2AhQgA0Go0tgANgIQIANCBDcCGCABIAIgA0EQahC1JAwFCyADQQA2AiAgA0EBNgIUIANBxNLYADYCECADQgQ3AhggASACIANBEGoQtSQMBAsgA0EANgIgIANBATYCFCADQeTS2AA2AhAgA0IENwIYIAEgAiADQRBqELUkDAMLIAMgADYCCCADQQE2AhQgA0GE+OAANgIQIANCATcCHCADQasCNgIsIAMgA0EoajYCGCADIANBCGo2AiggASACIANBEGoQtSQMAgsgAyAAQQRqNgIIIANBAjYCFCADQezS2AA2AhAgA0IBNwIcIANBDTYCLCADIANBKGo2AhggAyADQQhqNgIoIAEgAiADQRBqELUkDAELIAMgAEEEajYCCCADQQE2AhQgA0GE+OAANgIQIANCATcCHCADQQ02AiwgAyADQShqNgIYIAMgA0EIajYCKCABIAIgA0EQahC1JAsgA0EwaiQAC78EAgN/AX4jAEFAaiIGJAAgBkEwaiACIAVBkAogBRDuFwJAIAYtADBBBUcEQCAAIAYpAzA3AgAMAQsgBigCNBoCQCAFRQ0AIAZBAToAJiAGQQA6ACcgBSEHA0ACQAJAIAdFBEAgBkEwaiABIAIgA0GQCiAIIAlCIIinENgBIAYt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CgwGCyAFEIghDQUgA0FAayAFEJEQIANBCGogBRCFFCADQZDE4AA2AjwgA0E0OgA4IAMoAgggAygCDCADQThqEIEVIQQgBRDKDSICRQ0CIAIoAgBBJEcNAiABIAEpA+ACNwOYAyABKALIAiABQSU2AsgCQSRHDQEgASABKALMAhD/CwwCC0EBIQYMBQtB5ezgAEEoQaDu3wAQ9BcACyADQTRqELsFCyAHEN0oCyAJEPkaDAELIAEoApwDIQEgA0E4aiADQSBqEKUcQTBBCBCrICIEIAIgASABIAJJGzYCBCAEIAIgASABIAJLGzYCAEEAIQYgBEEAOgAoIAQgCDYCJCAEIAc2AiAgBCADKQM4NwMIIARBEGogA0FAaykDADcDACAEQRhqIANByABqKQMANwMACyAAIAQ2AgQgACAGNgIAIANB0ABqJAALzAQBBH8jAEGAAWsiAiQAIAEgABD7ISABKAIoIQEgAkEYakHIoOMAKQMANwIAIAJBwKDjACkDADcCECACQQA7AUIgAkEANgI4IAJCgICAgIABNwIwIAJBADoALCACQQA2AiggAkKAgICAwAA3AiAgAkEANgIMIAJCgICAgIABNwIEIAIgAC8BPDsBQCACIAAoAjg2AjwgAUEMaiACQQRqIgMQnxogASADEKkaIAMgAUEYahDnIyACQTBqIQQCQAJAIAIoAjgiAQRAIABBDGogARCEKSACQcQAaiACKAI0IAIoAjgQoQogAiACKAJENgJYIAIgAigCSCIBNgJQIAIgASACKAJMQQR0IgNqIgU2AlwDQCADRQ0CIAJBBGogASkDACABKAIIEKsRIANBEGshAyABQRBqIQEMAAsACyACQdAAaiIBIAJBBGpBLBD7BhogAEEcaiABEKEaIAQQjiMMAQsgAiAFNgJUIAJB0ABqEIkXIAAtAChFBEAgACACKAI4EJYeIAIgAigCMDYCWCACIAIoAjQiATYCUCACIAEgAigCOEEEdCIDaiIENgJcA0AgAwRAIAAgASkDACABKAIIQQEQmwYgA0EQayEDIAFBEGohAQwBCwsgAiAENgJUIAJB0ABqIgEQiRcgASACQQRqQSwQ+wYaIABBHGogARChGgwBCyACQdgAaiAEQQhqKAIANgIAIAIgBCkCADcDUCAAQSxqIAJB0ABqIgEQoRAgASACQQRqQSwQ+wYa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IAAoAiAQsx0gAEEoaiABEKMtDwsgAEEEaiABEIotIABBCGogARCjLSAAKAIURQ0GIABBFGogARCjLQ8LIABBEGogARCKLSAAKAIMQRhsIQIgACgCCCEAA0AgAkUNBiAAQRRqIAEQiyYgACABELUaIAJBGGshAiAAQRhqIQAMAAsACyAAQQRqIAEQii0PCyAAKAIEIgBByABqIAEQtRogACgCAEEIRwRAIAAgARD2IyAAQShqIAEQtRoLIABB4ABqIAEQ9SMPCwJAIAAoAgQiA0ECRg0AIABBCGohAiADQQFxRQRAIAIgARCkLQwBCyACIAEQii0LIABBGGogARCLJiAAQRxqIAEQiyYgAEEMaiABEKMtDwsgAEEIaiABELgJDwsgAEEEaiABEIotCw8LIABBBGogARCKLSAAQQhqIAEQoy0PCyAAQRBqIgAtABRBAkcEQCABIAApAwAgACgCEBCzHQsPCyAAQQRqIgNBBGohAgJAAkACQAJAIAMoAgBBAWsOAgECAAsgAiABEKQtDAILIAIoAgAgARDzEwwBCyACIAEQjy0LIABBDGogARCKLSAAQRBqIAEQoy0L/gMBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEgoKCwECDAwDBAUGCwsHDQ0ICQALIABBBGogARCiGg8LIABBDGogARC0JQ8LIAEgAEEQahCCCSAAQShqIAEQ3iwPCyAAQQRqIAEQzSwgAEEIaiABEN4sIAAoAhRFDQYgAEEUaiABEN4sDwsgAEEQaiABEM0sIAAoAgxBGGwhAiAAKAIIIQADQCACRQ0GIABBFGogARC0JSAAIAEQohogAkEYayECIABBGGohAAwACwALIABBBGogARDNLA8LIAAoAgQiAEHIAGogARCiGiAAKAIAQQhHBEAgACABENcjIABBKGogARCiGgsgASAAQeAAahDWIw8LAkAgACgCBCIDQQJGDQAgAEEIaiECIANBAXFFBEAgAiABEN8sDAELIAIgARDNLAsgAEEYaiABELQlIABBHGogARC0JSAAQQxqIAEQ3iwPCyAAQQhqIAEQ0QcPCyAAQQRqIAEQzSwLDwsgAEEEaiABEM0sIABBCGogARDeLA8LIABBEGogARDVIw8LIABBBGoiA0EEaiECAkACQAJAAkAgAygCAEEBaw4CAQIACyACIAEQ3ywMAgsgAigCACABEK4IDAELIAIgARDYLAsgAEEMaiABEM0sIABBEGogARDeLAvCBAIFfwJ+IwBBgAFrIgIkACABKAIYQQxqIAAQkhogAEEsaiEDIAFBGGohBAJAIAEtABRBAkcEQCAAKAIwEL4RIQUgAkEYakHIoOMAKQMAIgc3AwAgAkEIaiAHNwMAIAJBNGoiBiADQQhqKAIANgIAIAJBAToAKCACIAA2AiAgAiAFNgIkIAJBAToAOSACQcCg4wApAwAiCDcDECACIAg3AwAgAiADKQIANwIsIAIgAC0APDoAPCACIAAvATo7ATogAC0AOCEDIAIgAC0APToAPSACIAM6ADggAiABQQMQ0xUgAigCMBC+ESEAIAJB2ABqIAc3AwAgAkHIAGogBzcDACACQfQAaiAGKAIANgIAIAJBAToAaCACIAA2AmQgAkEBOgB5IAIgCDcDUCACIAg3A0AgAiACKQIsNwJsIAIgAi0APDoAfCACIAIvATo7AXogAiACNgJgIAItADghACACIAItAD06AH0gAiAAOgB4IAQgAkFAayIAENwDIAAQgSkgAhCBKQwBCyAAKAIwEL4RIQEgAkHYAGpByKDjACkDACIHNwMAIAJByABqIAc3AwAgAkH0AGogA0EIaigCADYCACACQQE6AGggAiAANgJgIAIgATYCZCACQQE6AHkgAkHAoOMAKQMAIgc3A1AgAiAHNwNAIAIgAykCADcCbCACIAAtADw6AHwgAiAALwE6OwF6IAAtADghASACIAAtAD06AH0gAiABOgB4IAQgAkFAayIAENwDIAAQgSkLIAJBgAFqJAALqAQBBH8jAEGAAWsiAiQAIAJBGGpByKDjACkDADcCACACQQA7AUIgAkEANgI4IAJCgICAgIABNwIwIAJBAToALCACQQA2AiggAkKAgICAwAA3AiAgAkEANgIMIAJCgICAgIABNwIEIAJBwKDjACkDADcCECACIAAvATw7AUAgAiAAKAI4NgI8IAEgAkEEahCgGiACQTBqIQQCQAJAIAIoAjgiAQRAIABBDGogARCEKSACQcQAaiACKAI0IAIoAjgQoQogAiACKAJENgJYIAIgAigCSCIBNgJQIAIgASACKAJMQQR0IgNqIgU2AlwDQCADRQ0CIAJBBGogASkDACABKAIIEKsRIANBEGshAyABQRBqIQEMAAsACyACQdAAaiIBIAJBBGpBLBD7BhogAEEcaiABEKEaIAQQjiMMAQsgAiAFNgJUIAJB0ABqEIkXIAAtAChFBEAgACACKAI4EJYeIAIgAigCMDYCWCACIAIoAjQiATYCUCACIAEgAigCOEEEdCIDaiIENgJcA0AgAwRAIAAgASkDACABKAIIQQEQmwYgA0EQayEDIAFBEGohAQwBCwsgAiAENgJUIAJB0ABqIgEQiRcgASACQQRqQSwQ+wYaIABBHGogARChGgwBCyACQdgAaiAEQQhqKAIANgIAIAIgBCkCADcDUCAAQSxqIAJB0ABqIgEQoRAgASACQQRqQSwQ+wYaIABBHGogARChGgsgAkGAAWokAAubBAECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOEgoKCwECCgoDBAUGCwsHDAwICQALIABBBGogARC+Gg8LIABBDGogARCSJg8LIABBKGogARCpLQ8LIABBBGogARClLSAAQQhqIAEQqS0gACgCFEUNBiAAQRRqIAEQqS0PCyAAQRBqIAEQpS0gACgCDEEYbCECIAAoAgghAANAIAJFDQYgAEEUaiABEJImIAAgARC+GiACQRhrIQIgAEEYaiEADAALAAsgAEEEaiABEKUtDwsgACgCBCIAQcgAaiABEL4aIABB4ABqIQICQAJAAkAgACgCAEEHaw4CAQIACyAAIAEQsRILIABBKGogARC+GgsgAigCAEGAgICAeEYNAyACIAEQvhoPCwJAIAAoAgQiA0ECRg0AIABBCGohAiADQQFxRQRAIAIgARCqLQwBCyACIAEQpS0LIABBGGogARCSJiAAQRxqIAEQkiYgAEEMaiABEKktDwsgAEEIaiABEL8NDwsgAS0ADCECIAFBAToADCAAQQRqIAEQpS0gASACOgAMCw8LIABBBGogARClLSAAQQhqIAEQqS0PCyAAQQRqIgNBBGohAgJAAkACQAJAIAMoAgBBAWsOAgECAAsgAiABEKotDAILIAIoAgAgARD0EwwBCyACKAIAIAEQsRILIABBDGogARClLSAAQRBqIAEQqS0LjAQBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQFrDhIKCgsBAgoKAwQFBgsLBwwMCAkACyAAQQRqIAEQ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ESADLQAYQQRGDQAgAykDGCIGQv8Bg0IEUg0ECyADQRhqIAIgA0EIakGdteAAQQIQshMgAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINBQsgA0EYaiACENARIAMtABhBBEcEQCADKQMYIgZC/wGDQgRSDQYLIANBGGogASACEMQNIAMtABhBBEcEQCADKQMYIgZC/wGDQgRSDQcLAkACQCAERQ0AIANBGGogAiAEENQcIAMtABhBBEYNACADKQMYIgZC/wGDQgRSDQELIABBBDoAAAwICyAAIAY3AgAMBwsgACAGNwIADAYLIAAgBjcCAAwFCyAAIAY3AgAMBAsgACAGNwIADAMLIAAgBjcCAAwCCyAAIAY3AgAMAQsgACAGNwIACyADQSBqJAALjAQCCH8BfiMAQSBrIgQkACAAKAIIQQxsIQUgACgCBCEAA0ACQCAFBEAgACgCAARAIAAgARCCLQwCCwJAAkACQAJAAkACQEEEIAAoAgQiAigCAEEFayIDIANBBk8bQQFrDgUAAQIDBAULIAJBCGogARCbIiACQShqIAEQgi0MBAsgAkEoaiABEIItDAMLIAJBCGogARCbIiACQShqIAEQ7yMMAgsgAiABEJsiIAJBIGogARDuIyACQegAaiABEJAtIAJByABqIAEQ7yMMAQsgAkEIaiABEJsiIAIoAiggARCrEgsgASgCAEUNASACKAIAQQVHDQEgASACQQhqIgMQlAoiBkUNASAEQQhqIAMQ2RUgBCkDCCEKIAQoAhQhByAEKAIQIQgCQAJAAkACQAJAAkACQEEEIAIoAgBBBWsiCSAJQQZPGw4FAQIDBAUACyADENsWIAIoAigQhx0MBQsgAykDABD5GgwECyADENsWIAJBKGoQlikMAwsgAikDEBD5GiACQShqEJYpDAILIAMQ2xYgAkHIAGoQ2ScgAkEoahD7JAwBCyACENsWIAJBIGoQ4yUgAkHoAGoQ5CUgAkHIAGoQ+yQLIAIgBjYCKCACIAc2AhwgAiAINgIYIAIgCjcDECACQQA2AgggAkEGNgIADAELIARBIGokAA8LIABBDGohACAFQQxrIQUMAAsAC54EAQF/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCACIAKAIADhMSEgECAwQFBgcICQoLDA0ODxARAAsg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AAQNCQULIAFBBGohAAwKCyACIAEoAjAgAygCFBECAEUNBEEBIQAMCwsgAUEoaiEADAgLIAIgA0EgaigCACABKAIgELwKIQAMCQsgAUEQaiEAQQEgAS0AGEEDayIBIAFB/wFxQQNPG0H/AXFBAWsOAgMGAgsgBUEkRg0EDAcLIAhBC0cEQEEAIQACQAJAAkAgASgCAA4DAAECCgsgBkGgBSABKAIQELwKIQAMCQsgASgCKCEBDAkLIAZBoAUgASgCIBC8CiEADAcLQQAhAAJAAkAgASgCBEEBaw4CAQgACyACIANBIGooAgAgASgCFBC8CiEADAcLIAIgA0EgaigCACABKAIUELwKIQAMBgsgAiADQSBqKAIAIAAoAgAQvAohAAwFCyACIANBIGooAgAgACgCABC8CiEADAQLIAEoAgxFDQMgASgCCCEADAELIAEoAgQiACgCAEEDRwRAIABBIGohAAwBCyAAQRBqIQALIAAoAgAhAQwACwALCyAEQRBqJAAgAAvcAwELfyAAKAIYIABBJGooAgAgACgCACAAQQxqKAIAEM8dIQMgAEHIAEEwIAAoAkggAEHUAGooAgAgACgCMCAAQTxqKAIAEM8dQf8BcUH/AUYiBBtqIQIgAEEwQcgAIAQbaiIEIAAgA0H/AXEiBUH/AUdBGGxqIgMgAiACKAIAIAJBDGooAgAgACAFQf8BRkEYbGoiACgCACAAQQxqKAIAEM8dQf8BcUH/AUYiBxsgBCgCACAEQQxqKAIAIAMoAgAgA0EMaigCABDPHUH/AXFB/wFGIggbIgUoAgAhCSAAIAIgAyAIGyAHGyIGKAIAIQogBUEMaigCACELIAZBDGooAgAhDCABQRBqIAIgACAHGyIAQRBqKQIANwIAIAFBCGogAEEIaikCADcCACABIAApAgA3AgAgASAFIAYgCSALIAogDBDPHUH/AXFB/wFGIgIbIgApAgA3AhggAUEoaiAAQRBqKQIANwIAIAFBIGogAEEIaikCADcCACABQUBrIAYgBSACGyIAQRBqKQIANwIAIAFBOGogAEEIaikCADcCACABIAApAgA3AjAgASADIAQgCBsiACkCADcCSCABQdAAaiAAQQhqKQIANwIAIAFB2ABqIABBEGopAgA3AgALsgMBDH8jAEEQayIFJAACQCABKAIQIgQgASgCDCICSQ0A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IAMgBDYCACABQQE2AhAgASADNgIMIAFBATYCCANAIAEgAUEIahDuFQJAAkACQAJAAkAgASgCACICQQxHBEAgASABKAIEIgA2AhggASACNgIUIAJBCGsOBAECAwQFCyABQQhqENkmDAYLIAAoAiQhABCDFyECIAAoAgQhAyAAIAI2AgQgACgCACECIABBADYCACABQQhqIAIgAxDdGAwDCyAAKAIsIQAQgxchAiAAKAIEIQMgACACNgIEIAAoAgAhAiAAQQA2AgAgAUEIaiACIAMQ3RgMAgsgACgCCCECIABBADYCCCABQQA2AiwgASAANgIkIAEgAjYCKCABIAAoAgQiADYCHCABIAAgAkEDdGo2AiAgAUEIaiABQRxqEM4JDAELIAAoAgghAiAAQQA2AgggAUEANgIsIAEgADYCJCABIAI2AiggASAAKAIEIgA2AhwgASAAIAJBA3RqNgIgIAFBCGogAUEcahDOCQsgAUEUahDqBwwACwALIAFBMGokAAvZAwICfwN+IwBBgAJrIgQkAAJAIAIoAgBFBEAgAi0ARUEDRw0BC0Hl7OAAQShBsLzfABD0FwALIARBGGogAkEQaikDADcDACAEQSBqIAJBGGopAwAiBjcDACAEIAIpAwgiBzcDECACKQNIIQggBCAHIAanEMAjIARBKGoiBSAEKQMAIAQoAgggAkEgahDMBCAEQUBrIARBEGoiAkEAQQAgAUEQaiABKQMQUCIBG0EAIAMbIAEbEOwFQcAAQQgQqyAgBEHQAGoiAyACENYbIARBkAFqIgIgAxCFFiACQcAAEPsGIQEgBEEBNgJYIAQgATYCVCAEQQE2AlAgAiADIAUQowpBEEEEEKsgIgFBCGogBEHIAGopAgA3AgAgASAEKQJANwIAIARBATYCXCAEIAE2AlggBEEBNgJUIAIQ1xUhASAEQfQAakIANwIAIARCADcCbCAEQQU6AGggBCABNgJgIARBFzYCUCAEQgA3AvABIARBAzoA7AEgBEEANgLoASAEQgA3AvgBIARCADcC4AEgBEKAgICAwAA3AtgBIARB5AFqENIlIARB2AFqEOYmIAMQ3CghASAAIAg3AwggACABNgIEIABBEjYCACAEKQMQEPkaIARBgAJqJAALvAMCDX8BfiAFQQFrIQwgBSABKAIQIg1rIQ4gASgCHCEHIAEoAggh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IAMoAmQh7wQgAygCYCHrBCADQc0BakGCBDsAACADQYKEiBA2AMkBIANBCjoAzwEgA0EBOgDIASADQvoBNwLQASADQQM6AMYBIANCgoSIkKDAgIECNwG+ASADQQA6ALwBIANBAzoAuAEgA0ECNgKkASADQQI2ApwBIANBAjYClAEgA0ECNgKMASADQQA2AoQBIAMgBjYCsAQgAyAjNgKsBCADIBg2AqgEIAMgEjoAtAQgEkEDRgRAIANBqARqEMskQQMhEgsgA0HJAWoh3wEgAygCkAEhCCADKAKYASEQIAMoAqABIeMBIAMoAqgBIeABIAMtAL0BIQsgAygCiAEhBSADQawBaiLzBBDLJCADIEA6ANQBIAMgDjoAxgEgAyAPOgDFASADIN0BOgDEASADIB46AMMBIAMgBDoAwgEgAyAJOgDBASADIBk6AMABIANBgQI7Ab4BIAMgEjoAuAEgAyAGNgK0ASADICM2ArABIAMgGDYCrAEgAyA2NgKEASADIN4BIAUgNhs2AogBIAMgBzoAvAEgAyBEIAsgB0EBcRs6AL0BIAMgEzYCpAEgAyDgASAMIBNBAkYbNgKoASADIBY2ApwBIAMg4wEgHSAWQQJGGzYCoAEgAyA3NgKUASADIBAgRSA3QQJGGzYCmAEgAyAXNgKMASADIAggCiAXQQJGGzYCkAEgAyAiOgDVASADIBE2AtABIANBAkEAIBVBAXEbOgDNASADQQFBAiAgQQFxGzoAzgEgA0EBQQIgJkEBcRs6AMoBIANBAUECICtBAXEbOgDJASADICE6AM8BIANBAUECIENBAXEbOgDLASADQQFBAiANQQFxGzoAzAEgA0EBOgDIASADIO8ENgLcASADIOsEQQhqNgLYASADQQA2AugBIANCgICAgMAANwLgASADQQA2AvQBIANCgICAgMAANwLsASADQoCAgIAQNwLICiADIANB4AFqIkM2AsQKIAMgA0HYAWo2AsAKIANB1ARqIS4gA0HYBGohQCADQbQEaiE2IANBsARqITogA0HsBGohJiADQaADaiE3IANBmAJqISsgA0GIAmohIQNAIANB2ABqIANBwApqELYPIAMoAlwiBUUEQCADQoCAgIAQNwLAAyADIEM2ArwDIANBADYC2AMgA0IANwLQAyADIAMoAuQBIgU2AsgDIAMgBSADKALoAUEDdGo2AswDIAMgA0HYAWo2ArgDIANBrARqISEgA0GMAmohHSADQbwEaiERIANBsARqIQwgA0G0CmohBCADQaADaiEJIANBiANqIQogA0H8AWohHgNAIANBMGogA0G4A2oQtg8gA0HkAmohBQJ/QQAgAygCNCIGRQ0AGkEAIAMoAsgDIgsgAygCzANGDQAaIAMoAjAhDSADIAY2AuQCIAMgC0EIajYCyAMgA0HgAmohBSALCyEGIAUgBjYCACADKALkAiIFRQRAQQMhCyADLQDAASEbIAMtAL8BIRwgAy0AvgEhKCADKAL0ASEYIAMoAvABIQUgAy0AuAEiB0EDRwRAIAdBAkcEQCADKAKsASLeASDeASgCACINQQFqNgIAIA1BAEgNBiADKAKwASHjASADKAK0ASHgAQsgByELCyADLQC9ASEuIAMtALwBITIgAy0AxQEhOCADLQDEASE6IAMtAMMBIRMgAygCqAEhFiADKAKkASE2IAMoAqABITcgAygCnAEhFyADLQDCASHfASADLQDBASEZIAMoAogBISIgAygChAEhFSADKAKYASFAIAMoApQBISAgAygCkAEhQyADKAKMASEmIAMtAMYBISsgA0EIaiAYQQQQwRRBACENIANBADYCsAQgAyADKAIMIuwENgKsBCADIAMoAggi6AQ2AqgEAkACQCAYIOgESwRAIANBqARqQQAgGEEEQQQQmxcgAygCsAQhDSADKAKsBCHsBAwBCyAYRQ0BCyANIBhqIOwEIA1BAnRqIRIDQCASIAU2AgAgBUEcaiEFIBJBBGohEiAYQQFrIhgNAAsgAygCrAQh7AQgAygCqAQh6AQhDQtBACEYIANBADYCpAQgA0KAgICAwAA3ApwEIA1BAnQhB0EEISNBACEGA0AgByAYRgRAIAMgAygCoAQiBTYCsARBACESIANBADYCqAQgAyAFIAZBAnRqNgK0BCADQagEahCeEyEHIANBqARqEJ4TIgUEfyAFKAIAKAIAIgUoAhQh3QEgBSgCEAVBAAshOyADKAKoBCEYIAMoArQEISEgAygCsAQhCCADKAKsBCEQQQEhBkEBISNBf0EAIAcbIuQBIeUBQQAhQUEAIR5BACEpA0BBACEHA0AgHiEOA0AgByEeAn8CQAJAAkAgGEEBcUUEQCAIICFGDQIgCCIFQQRqIQgMAQsgECIFRQ0BCyAFKAIAIRQgI0EBcUEAISMEQCAULQAwISMLIBQoAiwCQAJAIDtBAXEiB0UgFCgCECIFRXJFBEAg3QEgFCgCFEcNAQwCCyAHDQAgBUUNAQtBACE7CyASaiEaIAZBAXFBACEGBEAgFC0AMSEGCyAUKAIoIREgFCgCJCEPIBQoAiAhDCAUKAIcIR0gFCgCGCEEIBIgGkshCUEBIQcgKUEBcUUEQCAUKAIADQJBACE8C0EBDAILQTRBBBCrICIFIAZBAXE6ADIgBUEAOgAxIAUgI0EBcToAMCAFIBI2AiwgBSAtNgIoIAUg4QE2AiQgBSDkATYCICAFIOUBNgIcIAUgQTYCGCAFIN0BNgIUIAUgOzYCECAFIEU2AgwgBSAONgIIIAUgRDYCBCAFIDw2AgBB3ABBBBCrICIlICs6AEogJSA4OgBJICUgOjoASCAlIBM6AEcgJSDfAToARiAlIBk6AEUgJSAbOgBEICUgHDoAQyAlICg6AEIgJSAuOgBBICUgMjoAQCAlIAs6ADwgJSDgATYCOCAlIOMBNgI0ICUg3gE2AjAgJSAWNgIsICUgNjYCKCAlIDc2AiQgJSAXNgIgICUgQDYCHCAlICA2AhggJSBDNgIUICUgJjYCECAlICI2AgwgJSAVNgIIICVCgYCAgBA3AgAgJSAFNgJYICVB1ABqIANBpARqKAIANgIAICUgAykCnAQ3AkwgAyAlNgK4AyADQagEaiEkIOwEISEgDSEBQQAhBkEAIQ9BACEdQQAhEEEAIQojAEHQKWsiAiQAAkACQAJAAkACQAJAAkACfwJAAn8CQAJAAkACQAJAAkAgJSIFKAJYLQAcQQFxRQRAQbCRxAAgBUEwaiAFLQA8QQNGGyINLQAMQQJGIgdFBEBBACANIAcbIg0oAgAiByAHKAIAIg9BAWo2AgAgD0EASA0EIAIgBzYCOCACIA0tAAw6AEQgAiANKQIENwI8DAMLIAUtAEQiB0ECRiAHQQFxckUEQCACQQI6AEQMAwsgBS0AQiEPIAJBADoA8AwgAkLkgICAoB83AugMIAJCioCAgKABNwLgDCACQQA2AqAUIAJCgICAgMAANwKYFCABQQJ0IQcCQANAIAYgB0YEQAJAAkAgD0EBcSAPQf8BcUECRnJFBEAgAkGYFGoiBxDlDiAHENAkDAELIAJBmBRqQQEQnQILIAJB8BJqIAJBoBRqKAIAIg42AgAgAiACKQKYFCKLBTcD6BIgiwWnQYCAgIB4RiIHDQVBACACKALsEiINIAcbIQggBS0AQiIHQQJGIAdyIA5BBHQhBgNAIAYEQCAGQRBrIQYgDS0ADCEPIA1BEGohDSAPDQEMBwsLIAUoAlRBAUcNBSAFKAJQKAIAIgcoAiwNBUF/cyAHKAIYQQBHckEBcQ0FIAJB4AxqIgcgCCAOEJYBIAIoAuAMIg1Bh4CAgHhGDQUgAi0A5gwhCyACLQDlDCEQIAItAOQMIQggAkGYFGogB0EHckHJABD7BhogAkHYBmogAkGwDWpBwAIQ+wYaICQCfwJAAkACQAJAAkACQAJAQQQgDUGAgICAeHMiBSAFQQdPG0EBaw4GAQIDBAUGAAsgAkHQIWoQ0wIgAigC0CFBhICAgHhHDQcgAigC1CEhBUEQQQQQqyAiBiAIOgAMIAYgBTYCCCAGQoGAgIAQNwIAQYCFwwAMBgsgAkHQIWoQ0wIgAigC0CFBhICAgHhHDRkgAigC1CEhBUEQQQQQqyAiBiAQOgANIAYgCDoADCAGIAU2AgggBkKBgICAEDcCAEGwgsMADAULIAJB0CFqENMCIAIoAtAhQYSAgIB4Rw0YIAIoAtQhIQVBEEEEEKsgIgYgEEEIdCAIcjsBDCAGIAU2AgggBkKBgICAEDcCACAGQQ5qIAs6AABBrITDAAwECyACQdAhahDTAiACKALQIUGEgICAeEcNFyACKALUISEFQdgAQQgQqyAiBkKBgICAEDcDACAGQQhqIAJBmRRqQcgAEPsGGiAGIAU2AlBB2IPDAAwDCyACQdAhahDTAiACKALQIUGEgICAeEcNFiACKALUISEFQZwDQQQQqyAiBiALOgAOIAYgEDoADSAGIAg6AAwgBiANNgIIIAZCgYCAgBA3AgAgBkEPaiACQZgUakHJABD7BhogBkHYAGogAkHYBmpBwAIQ+wYaIAYgBTYCmANBqIbDAAwCCyACQdAhahDTAiACKALQIUGEgICAeEcNBSACKALUISEFQYwCQQQQqyAiBiALOgAKIAYgEDoACSAGIAg6AAggBkKBgICAEDcCACAGQQtqIAJBmBRqQckAEPsGGiAGQdQAaiACQdgGakG0ARD7BhogBiAFNgKIAkHUhcMADAELIAJB8x5qIAJBoBRqLQAAOgAAIAIgCzoA6h4gAiAQOgDpHiACIAg6AOgeIAIgAikAmBQ3AOseIAJB6B5qEOENIQZBhIPDAAs2AgggJCAGNgIEDBELBSACQdgGaiINIAJB4AxqIAYgIWooAgAQlwEgBkEEaiEGIAJBmBRqIA0Q1wogDRDRJAwBCwsMEAsMDwsgAkECOgBEDAELIAJBADYCiBwgAkGIHGoQwh0CQCABQQFHDQAgBSgCVARAIAUoAlAoAgAiBygCGA0BIAcoAiwNASAHLQAyQQFHDQEgBS0AQiIHQQJHIAdBAXFFcQ0BICEoAgAiBygCAEEHRw0BIAJBADYC4AYgAkKAgICAwAA3AtgGIAcoAggiDyAHKAIMQRxsaiEIQQQhBEEAIQsDQAJAAkAgCCAPRgRAIAtBuBdPDQEgAigC3AYiByALEOUcIAIoAtgGIAcQ4ikMBQsgAkEANgLUBiACQoCAgIAQNwLMBiACIA82AugeAkAgDygCACIHQQFHBEAgB0EGRg0BIAJBATYC5AwgAkHA9MMANgLgDCACQgE3AuwMIAJB7AA2ApwUIAIgAkGYFGo2AugMIAIgAkHoHmo2ApgUIAJB4AxqQcj0wwAQwx0ACyACQcwGaiAPKAIEIA8oAggQ9h0MAgsgDygCDEEcbCENIA8oAgghBgNAIA1FDQIgAiAGNgLQISAGKAIAQQFGBEAgAkHMBmogBigCBCAGKAIIEPYdIA1BHGshDSAGQRxqIQYMAQsLIAJBATYC5AwgAkHc88MANgLgDCACQgE3AuwMIAJB7AA2ApwUIAIgAkGYFGo2AugMIAIgAkHQIWo2ApgUIAJB4AxqQeTzwwAQwx0ACyACKALYBiIHQYCAgIB4Rg0DIAIpAtwGIYsFIAIgBzYCwBMgAiCLBTcCxBMgAkEDNgKkHCACQQA7AKkcIAJBADoAkhwgAkEAOgCeHCACQQE6AJQcIAJCgoCAgDA3AogcIAJBAzYCmBwgAkEBOgCoHCACQQA6AK0cIAJBgAI7AaAcIAJBATsBnBwgAkEBOwGQHCACQQJBASCLBUKAgICA0D5UGzoArBwgAkHYBmoiCCACQaQcahDuBSACLwHmBiEJIAItAOUGIQ0gAi0A5AYhBCACKALgBiELIAIoAtwGIQ8gAigC2AYhBgJAIAIoAvwJIgdBgICAgHhGDQAgAikD6AYhjQUgAkH4DGogAkHwBmpBjAMQ+wYaIAJBiBBqIAJBgApqQeACEPsGGiACIAc2AoQQIAIgjQU3A/AMIAIgCTsB7gwgAiANOgDtDCACIAQ6AOwMIAIgCzYC6AwgAiAPNgLkDCACIAY2AuAMIAJB4AZqQQA6AAAgAkIANwPYBiACQZAQaiIRIAgQ4xUgAkGoEGoiPRC9GyACQZwQaiI+EL4bIAggAkGEEGoiBEEAEI4LAkACQCACKALYBiIGQQNHDQAgCCAEQQAQjgsgAigC2AYiBkEDRw0AIAggBEEAEI4LIAIoAtwGIQ8CQCACKALYBiIGQQNHDQAgAiAPNgLcEiAIIARBABCOCyACKALcBiEPIAIoAtgGIgZBA0cNACACIA82AuASIAggAkHgDGoiBxCnCiACKALYBiIGQQNHDQEgCCAHENsPIAIoAtgGIgZBA0cNASCLBaciHSCLBUIgiKdBDGxqIQogAkHMEGohNCACQYANaiEQIAJBtBBqISoDQAJAAkACQAJAAkACQAJAAkAgCiAdRgRAIAQQsSAgAkHYBmoiDSACQeAMaiIHEKMOIDQgDUGAAhD7BhogDSAHEL8HIAIoAtgGIgZBA0cNCyAHEIENIA0gBxCgBSACKALYBiIGQQNHDQsgDSAHEKQCIAIoAtgGIgZBA0YNAQwLCyACIDU2AqABIAJB2AZqIDUQ4xwgAigC2AZFBEAgAigC3AYhDyAdKAIIIgtB/v///wdLBEBBAiEGDA0LIB0oAgQhCSACIAIoArwQIgY2AqAZIAIgAigCzBIiByALIAcgC0kbNgLMEiACIAIoAtASIg0gCyALIA1JGzYC0BIgBiA1Rw0CICogCxCqGyACKAKAEC0ABQ0DDAgLQQEhBkEAIQRB/v///wchC0EAIQ1BACEJDAsLIAJB4AxqIgcQ9wggBxCEAiACQdgGaiAQEIABIAJBwBBqEMIdIAJByBBqIAJB4AZqKAIANgIAIAIgAikC2AYiigU3A8AQIAJBgAZB+AUgigWnGyAHaigCADYC1BIgERCyICA+ELMgID0QtCAgKhCzICACKQKEECGLBSACKQKMECGNBSACKAKUECEGIAIpA5gQIYoFIAJB0CFqIg0gAkGgEGpByAIQ+wYaIBAQrhkgAkHoHmoiByANQcgCEPsGGiACQbQUaiAHQcgCEPsGGiACIIoFNwKsFCACIAY2AqgUIAIgjQU3AqAUIAIgiwU3ApgUAkACQAJAAkAgAi0ArBwiBEEBaw4DAgMAAQsgAkHgDGoiByACQZgUakHkAhD7BhogAkHoHmogAkGIHGogBxDNCCACKALoHiEPIAIoAuweIQsgAi0A8B4hBAwHCyACQeAMaiIHIAJBmBRqQeQCEPsGGiAHEPsfIQ9BACEEQej7wwAhCwwGCyACQdgGaiACKAKIHCACLQCUHCACQZgUahCHASACKALYBiIGQYCAgIB4RwRAIAIpAtwGIYsFIAIpAuQGIY0FIAIoAuwGIQ0gAikD8AYhigUgAkHQIWoiByACQfgGakGoAhD7BhogAiCKBTcC+AwgAiANNgL0DCACII0FNwLsDCACIIsFNwLkDCACIAY2AuAMIAJBgA1qIAdBqAIQ+wYaQez8wwAhCyACQeAMahD8HyEPDAULIAIvAe4GIQkgAi0A7QYhDSACLQDsBiEEIAIoAugGIQsgAigC5AYhDyACKALgBiEGDAMLIAJB4AxqIAItAKAcIAItAKEcIAJBmBRqEH4gAigC4AxFBEAgAikC5AwhiwUgAikC7AwhjQUgAigC9AwhByACKQP4DCGKBSACQfQGaiACQYANakHAAhD7BhogAiCKBTcC7AYgAiAHNgLoBiACII0FNwLgBiACIIsFNwLYBkHw/cMAIQsgAkHYBmoQ/R8hDwwECyACLwH2DCEJIAItAPUMIQ0gAi0A9AwhBCACKALwDCELIAIoAuwMIQ8gAigC6AwhBgwCCyACQgA3AuQGIAJCgYCAgMAANwLcBiACQbCfwwA2AtgGQQAgAkGgAWogAkGgGWogAkHYBmpBuJ/DABDWGgALIBAgCSALEPQDDAQLIAJBmBRqEPUXDAgLIAItAK0cIQ0gAkGYFGoQ9RcMAQsgAi0ArRwhDQtBAyEGDAULIDVBAWohNSAdQQxqIR0gCSALaiEOQQAhDCACKALcEiEIQQAhJwNAIAkgDkYEQCACQdgGaiAEIAggDxCzCSACKALYBiIGQQNGDQIMBAsgCCELIAwhByAJLQAAIQ0CQCAnQQFxRQRAIAIoAogQIAIoAowQIAhByJ/DABC4HygCCCIGQQBHIScgBkUNASACKAKAEC0ABEEBRg0DDAELQQEhJyACKAKAEC0ABEEBRg0CCyACQeAMaiIGIA0gDRDsHyACKAKAEC0ABgRAIAYgDRDfGSIGIAYQ7B8LIAdBAWohDCAJQQFqIQkCQAJ/IAIoAogQIAIoAowQIAtBuIHEABC4HygCBCIGBEAgAigCoBAgAigCpBAgBiANIDRqLQAAahDGHygCAAwBCyACQTBqIAQgCxCmICACIAIpAzA3AnQDQCACQdgGaiACQfQAahD/DiACLQDYBkUNAiACLQDZBiIGIA1JDQALIAYgDUcNASACKADaBgsiCEEBRw0BCyACQdgGaiIrIAQgBxCOCyACKALcBiEIIAIoAtgGIgZBA0YEQCArIAQgCyANIAgQ9gMgAigC2AYiBkEDRw0EIAIoAoAQLQAGRQ0BICsgBCALIA0Q3xkgCBD2AyACKALYBiIGQQNHDQQMAQsLCyACLwHmBiEJIAItAOUGIQ0gAi0A5AYhBCACKALgBiELIAghDwwCCyACLwHmBiEJIAItAOUGIQ0gAi0A5AYhBCACKALgBiELDAELIAIvAeYGIQkgAi0A5QYhDSACLQDkBiEEIAIoAuAGIQsgAigC3AYhDwsgAkHgDGoQ0iQLIAZBA0YgDUH/AXFBA0dxRQRAIAJBwBNqENYiDAQLIAIgCTsBuhkgAiANOgC5GSACIAQ6ALgZIAIgCzYCtBkgAiAPNgKwGSACQbAZahDhDSEFIAJBwBNqENYiICRBhIPDADYCCCAkIAU2AgQMDwsgAigC2AYgC0YEQCACQdgGahDuFiACKALcBiEECyAPQRxqIQ8gAkHUBmooAgAhDSAEIAtBDGxqIgcgAikCzAY3AgAgB0EIaiANNgIAIAIgC0EBaiILNgLgBgwACwALQQBBAEGM88MAEKwQAAsgAkGEg8MANgJcIAJBADYCWCACQdgAahDCHQJAIAIoAugSQYCAgIB4RgRAIAJBAjoARAwBCyACQThqIAIoAuwSIAIoAvASENQNCyACQegSahDvHgsgBSAFKAIAIgdBAWo2AgAgB0EASA0AIAIgAi0ARCILQQJGBH9BAgUgAigCOCIPIA8oAgAiB0EBajYCACAHQQBIDQEgAiACKAJAIj02AlAgAiACKAI8Ij42AkwgAiAPNgJIIAsLOgBUIAIgBTYCsAEgBS0ASiEEIAUtAEMhCSAFKAIUIQggBSgCECEOIAUtAEAhBiAFLQBBIQcgAkHgDGoiDRDmByACIARBACAEQQNHGzoApRQgAiAHQQogBhsiKzoAoRQgAkECOwCjFCACQYCAgAUgCCAOQQJGIgcbIhE2ApwUIAJBAToAoBQgAkEBIA4gBxsi5gE2ApgUIAIgCSAJQQJGckEBcSKEAjoAohQgAkHYBmogDSACQZgUahCUCyImICEgARA/AkACQAJAAkACQAJAAn8CQAJ/AkACQAJAIAIoAtgGIgRBKkYEQCACIAIoAtwGIg02ArgkICYQ+QtBAiEGIAtBAkcEQCAPIA8oAgAiB0EBajYCACALIQYgB0EASA0OCyACQQM6AOwMIAIgBS0AQiIHQQJGIAdyQQFxIgk6APAMIAJB4AxqIg4Q0yQgAkHoDGoiCCA9NgIAIAIgBjoA7AwgAkHYIWoiByAIKQIANwMAIAIgPjYC5AwgAiAPNgLgDCACIAIpAuAMNwPQISAOEOYHIAJBAjoA4A4gAkEDOgDcDiACQdAOaiEGAkAgAi0A3CFBA0YEQCACQdgGaiAGELUgIAJB0CFqENMkDAELIAJB4AZqIAcpAwA3AwAgAiACKQPQITcD2AYLIAYQ0yQgBkEIaiACQeAGaiInKQMANwIAIAYgAikD2AY3AgAgAiAJOgDgDiANIA0oAgAiB0EBajYCACAHQQBIDQ0gAkHYBmogBhC1ICACQegGaiIHIAk6AAAgAkGgFGoiBCAnKQIANwMAIAJBqBRqIgwgBygCADYCACACIAIpAtgGNwOYFCACQeAMaiIHQfABahDTJCAHENkMIAJB5ABqIAQpAwA3AgAgAkHsAGogDCgCADYCACACIA02AlggAiACKQOYFDcCXCACIAtBAkcEfyAPIA8oAgAiB0EBajYCACAHQQBIDQ4gAiA9NgKYASACID42ApQBIAIgDzYCkAEgCwVBAgs6AJwBAn8CQCAFLQBIIgZBAkcgBkEBcUVxRQRAIAUtAEIiBkECRiAGQQFxcg0BCyACQZABahDvHEECDAELIAJBADYC4AwgAkEDOgD0DCACQegMaiIHEK8ZIAJB8AxqIAJBmAFqKQIAIosFNwIAIAIgAikCkAEijQU3AugMIAIoAuwMIQQgAi0A9AwhBiACQfgMahDmByACQQM6APQMIAJBADYC4AwgAiAGOgDkBiACIIsFpyInNgLgBiACIAQ2AtwGIAIgjQWnIgw2AtgGIAZBA0YEQCACQdgGahCvGUEDIQYLIAIoAuQMITQgBxCvGSANIA0oAgAiB0EBajYCACACIAY6APQMIAIgJzYC8AwgAiAENgLsDCACIAw2AugMIAIgNDYC5AwgAkEANgLgDCAHQQBIDQ4gBkH+AXFBAkcEQCAMIAwoAgAiB0EBajYCACAHQQBIDQ8LIAJB4AxqIgdBCGoQ0yQgB0EYahDZDEEACyEHIAIgDTYCjAEgAiAGOgCIASACICc2AoQBIAIgBDYCgAEgAiAMNgJ8IAIgBzYCdEEDIQQgBS0ARyIGQQJHIAZBAXFFcQ0FIAUoAlgiBigCLEUEQCAGLwAZQbMGcUUNBgsgBS0AQiEKIAUtAEkhDiAFKAIcIQcgBSgCGCEIIAJB3CFqIjUQ5gcgAkEBOgDZISANIA0oAgAiBkEBajYCACACQYCAwAAgByAIQQJGIgUbIgk2AtQhIAIgDiAOQQJGckEBcSIMOgDaISACIAogCkECRnJBAXEiBzoA2CEgAkEBIAggBRsiDjYC0CEgBkEASA0NIAIgDTYC6BICfyAMRQRAQQAhBiACQeAMakEAQYACEI0LGkEAIQUDQCAFQQFxRQRAIAZB/wFxIgUgAkHgDGpqIAY6AABBfyAFQQFqIgUgBSAFQf8BcUciBRshBgwBCwsgAkGYFGogAkHgDGpB/wEQ+wYaIAItAN8ODAELIAJBmBRqIA1BCGpB/wEQ+wYaIA0tAIcCCyEGIA0gDSgCACIFQQFqNgIAIAVBAEgNDSANKALUAiIdQQBOBEAgAkEoaiANKALIAiIIEL8UIAJB6AxqIgVBADYCACACIAIpAyg3AuAMIAJB4AxqIAgQ5g4gAkG4GWoiKiAFKAIANgIAIAIgAikC4Aw3A7AZIA0oAsgCIQUgAkIENwKYHCACQgA3ApAcIAJCgICAgMAANwKIHCAFQQBOBEAgAkGgHGoiCkEANgIAIAJBiBxqIAUQ8B4gAkGUHGogBRDwHiACQeQPaiAKKAIANgIAIAJB3A9qIAJBmBxqKQIANwIAIAJB1A9qIAJBkBxqKQIANwIAIAIgAikCiBw3AswPIAJB7A9qIAJBmBRqIgVB/wEQ+wYaIAJB/v///wc2AogNIAIgDTYChA0gAkIENwL8DCACQgA3AvQMIAJCgICAgIABNwLsDCACIAw6AOoMIAJBAToA6QwgAiAHOgDoDCACIAk2AuQMIAIgDjYC4AwgAkGMDWogBUH/ARD7BhogAkG8D2ogKigCADYCACACQQA2ArAPIAJCgICAgMAANwKoDyACIB1BAXQ2ApgPIAIgBkH/AXFBAWoiBTYClA8gAkEgIAVnazYCkA8gAiAFNgKMDyACIAY6AIsPIAJBADoA7BEgAkEANgLIDyACQoCAgICAATcCwA8gAiAGOgDrESACIAw6AKYPIAJBAToApQ8gAiAHOgCkDyACIAk2AqAPIAIgDjYCnA8gAiACKQOwGTcCtA8gAiACQegSajYC6A8gAkGEDWohDiACQfQMaiE0IAIoAugSIgwoArACIQUCQANAAkAgBQRAIAVBACAFa3EiBkEBayINQR9NQQBBASANdEGLgYKAeHEbIAZBwABGIAZBgAFGcnIgBkGAAkYgBkGABEZyIAZBgAhGIAZBgBBGcnJyIAZBgCBGIAZBgMAARnIgBkGAgAFGIAZBgIACRnJyIAZBgIAERiAGQYCACEZycnINAQtB////ASENIAwoAtQCQf///wFNDQJBACEMQSwhBQwICyAFIAZzIQUgBkGABE0NAAtBLSEFDAYLQS8hBSAMKAK8AhD8F0EgSwRAQS4hDUHgk8MAIQYMBgsgAkGYFGoiCCACQeAMaiINEJkIIAIoApwUIQYgAigCmBQiB0EwRw0EIAIgBjYCiBwgBkUEQCACKALoDygCACIHKALUAiEKIAggDUEAIAIgBygCqAIQrQwgAigCmBQiB0EwRgRAAkACQCACLQClD0EBcUUNAEEAIQ0gAigC6A8oAgAQxh0hB0EAIQYDQCAGIAdGDQEgAigC6A8oAgAiCCgC1AIgBk0NAiACQZgUaiACQeAMakEBIAYgCCgC0AIgDWooAgAQrQwgAigCmBQiHUEwRw0IIAZBAWohBiANQQRqIQ0MAAsACyAKQQF0IRACQANAAkAgAigCsA8iBwRAIAIgB0EBayIHNgKwDyACKAK4DyACKAK8DyACKAKsDyAHQQJ0aigCACIHQZSTwwAQtx8oAgAhKiACQQA2AuQPIAJBADoA7BEgAkGYFGogAkHgDGogB0IAEP0GIAIoApgUIgdBMEYNASACKAKcFCEGIAIpA6AUIYsFIAJB2AZqIAJBqBRqQTAQ+wYaIIsFQiCIpyEMIIsFpyENIAchBQwMCyACQSBqIAIoAvQMIAIoApAPdiINQQQQwRRBACEGIAJBADYCoBQgAiACKQMgNwKYFCACQZgUaiANENweIAIoApwUIj8gAigCoBQiB0ECdGohBQNAIAYgDUcEQCAFIAY2AgAgBUEEaiEFIAZBAWohBgwBCwsgAigC9AwgAigCkA92Ig0EQCAGIAdqISYgAigCmBQhCSANIRACQAJAAkACQAJAA0AgEEEBayEQA0AgDUUNAiACQeAMaiANQQFrIg0QwxQiHRD+H0L///////9+Vg0ACyAQIB1HBEBBACEGIAIoAvQMIjkgHSACKAKQDyIHdCJGayIFQQAgBSA5TRshDiA5IBAgB3QiCmsiBUEAIAUgOU0bIQggB0EfcSEHIAIoAvAMIgUgCkEDdGohDCAFIEZBA3RqIScDQCAGIAd2RQRAIAYgCEYNCCAGIA5GDQcgDCkDACGKBSAMICcpAwA3AwAgJyCKBTcDACAGQQFqIQYgDEEIaiEMICdBCGohJwwBCwsgECAmTw0EIB0gJk8NAyA/IBBBAnRqIgUoAgAhByAFID8gHUECdGoiBSgCADYCACAFIAc2AgALIAIgEDYCiA0gEA0AC0GOlMMAQTRBxJTDABC7EgALQQAhCiACQQA2AqQUIAIgJjYCoBQgAiA/NgKcFCACIAk2ApgUIAJBGGogJkEEEMEUIAIoAhgh4gEgAigCHCA/ICZBAnQQ+wYhDiACKAL0DCACKAKQD3YhECACQaQUaiEIA0AgECAKIgdGBEAgAigC9AwgAigCkA8iBXYhCiAFQR9xISpBACEdIAIoAowPIRADQAJAAkAgCiAdRgRAQQAhBiACKAKADSEHA0AgBiAHRg0CIAJBmBRqIAggAigC/AwgAigCgA0gBkHAmMMAELcfKAIAEMcfIQUgAigC/AwgAigCgA0gBkHQmMMAELcfIAU2AgAgBkEBaiEGDAALAAsgHSAqdCEGIBAhBQNAIAVFDQIgAigC8AwgAigC9AwgBkHgmMMAELofKQMAIYoFIAIoAvAMIAIoAvQMIAZB8JjDABC6HyENIAJBmBRqIAggigVCK4inEMcfIQcgDSANKQMAQv///////wGDIAetQiuGhDcDACAFQQFrIQUgBkEBaiEGDAALAAsg4gEgDhDfKSACKAKYFCACKAKcFBDfKSACKALgDCEHIAIoAuQMIQUgAigC6AwhBiACKQLsDCGLBSACQdgGaiA0QagCEPsGGiCLBUIgiKchDCCLBachDUEADBULIB1BAWohHQwACwALIAdBAWohCiAHIAIoAqQUdCINIA4gJiAHQfDQwwAQtx8oAgAiBkYNAANAIA0gDiAmIAYiBSACKAKkFHZBgNHDABC3HygCACIGRw0ACyACKAKcFCACKAKgFCAHQZDRwwAQtx8gBTYCAAwACwALIB0gJkHg0MMAEKwQAAsgECAmQeDQwwAQrBAACyAGIEZqIDlBsJjDABCsEAALIAYgCmogOUGwmMMAEKwQAAtBoJjDABDgKQALA0AgAigCyA8iB0UNASACIAdBAWsiBjYCyA8gAigC6A8oAgAiDSgCyAIiByACKALEDyAGQQR0aiIMKAIAIgZNDQIgDCkDCCGLBQJAAkACQAJAAkACQAJAAkAgDSgCxAIgBkEUbGoiCCgCAEEBaw4IAwQFBgcACAECCyACQZgUaiACQeAMaiAIKAIEIBAgCCgCECIHTQR+IIsFQv8HgyCLBUIKiKdBASAHIBBrdHKtQgqGhAUgiwULEP0GIAIoApgUIgdBMEYNByACKAKcFCEGIAIpA6AUIYsFIAJB2AZqIAJBqBRqQTAQ+wYaIIsFQiCIpyEMIIsFpyENIAchBQwSCyACLQDsEUUEQCAINQIEIYoFIAJBAToA7BEgAkHgDGogKiCLBUL///////8AgyCKBUIqhoQQyB8MBwtBKyENQaSTwwAhBgwRCyACQZgUaiACQeAMaiAqIAhBBGogiwUQzwcgAigCmBQiB0EwRg0FIAIoApwUIQYgAikDoBQhiwUgAkHYBmogAkGoFGpBMBD7BhogiwVCIIinIQwgiwWnIQ0gByEFDBALIAgoAghBA3QhBiAIKAIEIQ0DQCAGRQ0FIAJBmBRqIAJB4AxqICogDSCLBRDPByACKAKYFCIHQTBGBEAgBkEIayEGIA1BCGohDQwBCwsgAigCnBQhBiACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQUMDwsgCCgCBCIGIAgoAghBAnRqIR1BACENA0AgBiAdRg0EIA0iB0EBaiENIAYoAgAhCCAGQQRqIgohBiAIRQ0AIAIgCK0gjQVCgICAgICAQIMgB0H/AXGtIooFQiCGhCCKBUIohoSEIo0FNwOIHCACQZgUaiACQeAMaiAqIAJBiBxqIIsFEM8HIAIoApgUIgdBMEYNAAsgAigCnBQhBiACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQUMDgsgAkGYFGogAkHgDGogCCgCBCAIKAIIIIsFp3JB/wdxrSCLBUKA+P////8Ag4QQ/QYgAigCmBQiB0EwRg0CIAIoApwUIQYgAikDoBQhiwUgAkHYBmogAkGoFGpBMBD7BhogiwVCIIinIQwgiwWnIQ0gByEFDA0LIAgoAghBAnQhBiAIKAIEQQRrIQ0DQCAGRQ0CIAJBmBRqIAJB4AxqIAYgDWooAgAgiwUQ/QYgAigCmBQiB0EwRgRAIAZBBGshBgwBCwsgAigCnBQhBiACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQUMDAsgCCgCBCENIAJBmBRqIAJB4AxqIAgoAgggiwUQ/QYgAigCmBQiB0EwRwRAIAIoApwUIQYgAikDoBQhiwUgAkHYBmogAkGoFGpBMBD7BhogiwVCIIinIQwgiwWnIQ0gByEFDAwLIAJBmBRqIAJB4AxqIA0giwUQ/QYgAigCmBQiB0EwRg0ACwsgAigCnBQhBiACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQUMCQsgBiAHQZCRxAAQrBAAC0HQk8MAEOApAAsgAigCnBQhBiACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQUMBgsgAkEANgKYFCMAQRBrIgAkACAAIAJBiBxqNgIMIABB1I3gADYCCEEAIABBCGpBjMvDACAAQQxqQYzLwwAgAkGYFGpBhJPDABD3BgALIAJBATYC5AwgAkHUl8QANgLgDCACQgE3AuwMIAJBFTYCxBMgAkGsl8QANgLAEyACIAJBwBNqNgLoDCACQeAMakHMmMQAEMMdAAtB9JLDABDgKQALIAJB/wZqLQAAIREgAkGHB2otAAAhCSACQY8Hai0AACEOIAJBlwdqLQAAIQggAi0AlAchRiACKAKQByE5IAItAIwHIeIBIAIoAogHIT8gAi0AhAchECACKAKAByEqIAItAPwGIT4gAigC+AYhCiACKAL0BiHmASACKALwBiE1IAIoAuwGIR0gAigC6AYhNCACKALkBiEHIAIoAuAGIScgAigC3AYhDCACLwD9BiACLwCFByEGIAIvAI0HIAIvAJUHICYQ+QsgCEEQdHIhDyAOQRB0ciENIBFBEHRyIQsgBiAJQRB0cgwFCyACKAKcFCEGIAIpA6AUIYsFIAJB2AZqIAJBqBRqQTAQ+wYaIIsFQiCIpyEMIIsFpyENIB0hBQwBCyACKQOgFCGLBSACQdgGaiACQagUakEwEPsGGiCLBUIgiKchDCCLBachDSAHIQULIA4Q7B4gAigC7AwgAigC8AwQ8CkgAigC+AwgAigC/AwQ3ylBAQshJyACKAKoDyACKAKsDxDfKSACKAK0DyACKAK4DxDfKSACKALADyACKALED0EIQRAQ1CIgAigCzA8gAigC0A8Q3ykgAigC2A8gAigC3A8Q3ykgAkHoEmoQ7B4gNRDZDCAnRQRAIAJB4AxqIAJB2AZqQagCEPsGGiANrSAMrUIghoQhiwUgByEEDAELIAIgBjYC5AwgAiANrSAMrUIghoQ3A+gMIAIgBTYC4AwgAkHwDGogAkHYBmpBMBD7BhogBUEpSw0AIAJB4AxqEJMRCyACIIsFNwL0HiACIAY2AvAeIAIgBTYC7B4gAiAENgLoHiACQfweaiACQeAMaiIIQagCEPsGGkICIYsFIAIoArABIgUtAEUiBkECRiAGQQFxckUNBCAIEOYHIAJBgAQ2AqQUIAJBAToAoxQgAiCEAjoAohQgAiArOgChFCACQQE6AKAUIAIgETYCnBQgAiDmATYCmBQgAkHYBmogCCACQZgUahCUCyIrICEgARA/IAIoAtgGIgRBKkYEQCACKALcBiGBAiArEPkLQQIhDSAFLQBFIgZBAkYgBkEBcXJFDQUgC0ECRwRAIA8gDygCACINQQFqNgIAIA1BAEgNCSACID02AqgBIAIgPjYCpAEgAiAPNgKgASAFLQBFIQYgCyENCyACIA06AKwBQQIhCyAGQQFxRSAGQf8BcUECR3ENBCACQQI6AJMUIAJBggQ7AJEUIAJBAzoAjBQgAkIANwPAEyACQYIEOwGUFCACQQA2AugTIAJBAjYC+BMgAkECNgLwEyACIAUtAEIiBkECRiAGckEBcToAkBQgDUECRwRAIA8gDygCACIGQQFqNgIAIAZBAEgNCSACIAIpAqQBNwLcBiACIA82AtgGIA0hCwsgAiALOgDkBiACQeAMaiIRIAJBwBNqIAJB2AZqIgkQnxMgAkEBOgCxDSACQegSaiIOIBFBKBD7BhogAkG4E2ogAkGwDWovAQA7AQAgAkGwE2ogAkGoDWopAwA3AwAgAiACKQOgDTcDqBMgAkEAOgC9EyACIAtBAkc6ALwTIAJBAToAuxMgAkKBgICAoAE3A6ATIAJCgYCAgDA3A5gTIAJBATYCkBMgAiACLwG2DTsBvhMgAiAFKAIMQYCAgAEgBSgCCBs2ApQTIAIgBS0ASSIFQQJGIAVyQQFxOgC6EyAREN4YIAkgDhDEByARIAkQhwUhBSACKAK4JCIIIAgoAgAiDUEBajYCACANQQBIDQggAkGoE2ohDSACQZgUaiIGIAUgCBDUASAFENQkIAIpA5gUQgJRDQIgCSAGQYgFEPsGGiACQdAhaiLyBBDeGCACQYgcaiIGIA4QxAcgAkEAOgDYHCACQQI6AKwZIAJBsBlqIgUgBiACQaAZahCfEyACQQA6AIQaIPIEIAUQhwUhBiCBAiCBAigCACIFQQFqNgIAIAVBAEgNCCARIAYggQIQ1AEgBhDUJCACKQPgDCKKBUICUgRAIAJB7wxqLQAAIfQEIAJB9wxqLQAAIfUEIAJB/wxqLQAAIfYEIAJBhw1qLQAAIfcEIAJBjw1qLQAAIfgEIAJBlw1qLQAAIfkEIAJBnw1qLQAAIfoEIAJBpw1qLQAAIfsEIAJBrw1qLQAAIfwEIAJBtw1qLQAAIf0EIAJBvw1qLQAAIf4EIAJBxw1qLQAAIf8EIAJBzw1qLQAAIYAFIAJB1w1qLQAAIYEFIAJB3w1qLQAAIYIFIAJB5w1qLQAAIYMFIAJB7w1qLQAAIYQFIAJB9w1qLQAAIYUFIAJB/w1qLQAAIYYFIAJBhw5qLQAAIYcFIAJBjw5qLQAAIYgFIAJBlw5qLQAAIYkFIAJBnw5qLQAAIe0EIAJBpw5qLQAAIUcgAkGvDmotAAAhSCACQbcOai0AACFJIAJBvw5qLQAAIUogAkHHDmotAAAhSyACQc8Oai0AACFMIAJB1w5qLQAAIU0gAkHfDmotAAAhTiACQecOai0AACFPIAJB7w5qLQAAIVAgAkH3DmotAAAhUSACQf8Oai0AACFSIAJBhw9qLQAAIVMgAkGPD2otAAAhVCACQZcPai0AACFVIAJBnw9qLQAAIVYgAkGnD2otAAAhVyACQa8Pai0AACFYIAJBtw9qLQAAIVkgAkG/D2otAAAhWiACQccPai0AACFbIAJBzw9qLQAAIVwgAkHXD2otAAAhXSACQd8Pai0AACFeIAJB5w9qLQAAIV8gAkHvD2otAAAhYCACQfcPai0AACFhIAJB/w9qLQAAIWIgAkGHEGotAAAhYyACQY8Qai0AACFkIAJBlxBqLQAAIWUgAkGfEGotAAAhZiACQacQai0AACFnIAJBrxBqLQAAIWggAkG3EGotAAAhaSACQb8Qai0AACFqIAJBxxBqLQAAIWsgAkHPEGotAAAhbCACQdcQai0AACFtIAJB3xBqLQAAIW4gAkHnEGotAAAhbyACQe8Qai0AACFwIAJB9xBqLQAAIXEgAkH/EGotAAAhciACQYcRai0AACFzIAJBjxFqLQAAIXQgAkGXEWotAAAhdSACQZ8Rai0AACF2IAJBpxFqLQAAIXcgAkGvEWotAAAheCACQbcRai0AACF5IAJBvxFqLQAAIXogAkHHEWotAAAheyACQc8Rai0AACF8IAJB1xFqLQAAIX0gAkHfEWotAAAhfiACQecRai0AACF/IAItAOQRIbwCIAIoAuARIb0CIAItANwRIb4CIAIoAtgRIb8CIAItANQRIcACIAIoAtARIcECIAItAMwRIcICIAIoAsgRIcMCIAItAMQRIcQCIAIoAsARIcUCIAItALwRIcYCIAIoArgRIccCIAItALQRIcgCIAIoArARIckCIAItAKwRIcoCIAIoAqgRIcsCIAItAKQRIcwCIAIoAqARIc0CIAItAJwRIc4CIAIoApgRIc8CIAItAJQRIdACIAIoApARIdECIAItAIwRIdICIAIoAogRIdMCIAItAIQRIdQCIAIoAoARIdUCIAItAPwQIdYCIAIoAvgQIdcCIAItAPQQIdgCIAIoAvAQIdkCIAItAOwQIdoCIAIoAugQIdsCIAItAOQQIdwCIAIoAuAQId0CIAItANwQId4CIAIoAtgQId8CIAItANQQIeACIAIoAtAQIeECIAItAMwQIeICIAIoAsgQIeMCIAItAMQQIeQCIAIoAsAQIeUCIAItALwQIeYCIAIoArgQIecCIAItALQQIegCIAIoArAQIekCIAItAKwQIeoCIAIoAqgQIesCIAItAKQQIewCIAIoAqAQIe0CIAItAJwQIe4CIAIoApgQIe8CIAItAJQQIfACIAIoApAQIfECIAItAIwQIfICIAIoAogQIfMCIAItAIQQIfQCIAIoAoAQIfUCIAItAPwPIfYCIAIoAvgPIfcCIAItAPQPIfgCIAIoAvAPIfkCIAItAOwPIfoCIAIoAugPIfsCIAItAOQPIfwCIAIoAuAPIf0CIAItANwPIf4CIAIoAtgPIf8CIAItANQPIYADIAIoAtAPIYEDIAItAMwPIYIDIAIoAsgPIYMDIAItAMQPIYQDIAIoAsAPIYUDIAItALwPIYYDIAIoArgPIYcDIAItALQPIYgDIAIoArAPIYkDIAItAKwPIYoDIAIoAqgPIYsDIAItAKQPIYwDIAIoAqAPIY0DIAItAJwPIY4DIAIoApgPIY8DIAItAJQPIZADIAIoApAPIZEDIAItAIwPIZIDIAIoAogPIZMDIAItAIQPIZQDIAIoAoAPIZUDIAItAPwOIZYDIAIoAvgOIZcDIAItAPQOIZgDIAIoAvAOIZkDIAItAOwOIZoDIAIoAugOIZsDIAItAOQOIZwDIAIoAuAOIZ0DIAItANwOIZ4DIAIoAtgOIZ8DIAItANQOIaADIAIoAtAOIaEDIAItAMwOIaIDIAIoAsgOIaMDIAItAMQOIaQDIAIoAsAOIaUDIAItALwOIaYDIAIoArgOIacDIAItALQOIagDIAIoArAOIakDIAItAKwOIaoDIAIoAqgOIasDIAItAKQOIawDIAIoAqAOIa0DIAItAJwOIa4DIAIoApgOIa8DIAItAJQOIbADIAIoApAOIbEDIAItAIwOIbIDIAIoAogOIbMDIAItAIQOIbQDIAIoAoAOIbUDIAItAPwNIbYDIAIoAvgNIbcDIAItAPQNIbgDIAIoAvANIbkDIAItAOwNIboDIAIoAugNIbsDIAItAOQNIbwDIAIoAuANIb0DIAItANwNIb4DIAIoAtgNIb8DIAItANQNIcADIAIoAtANIcEDIAItAMwNIcIDIAIoAsgNIcMDIAItAMQNIcQDIAIoAsANIcUDIAItALwNIcYDIAIoArgNIccDIAItALQNIcgDIAIoArANIckDIAItAKwNIcoDIAIoAqgNIcsDIAItAKQNIcwDIAIoAqANIc0DIAItAJwNIc4DIAIoApgNIc8DIAItAJQNIdADIAIoApANIdEDIAItAIwNIdIDIAIoAogNIdMDIAItAIQNIdQDIAIoAoANIdUDIAItAPwMIdYDIAIoAvgMIdcDIAItAPQMIdgDIAIoAvAMIdkDIAItAOwMIdoDIAIoAugMIdsDIAIvAO0MIAIvAPUMIAIvAP0MIAIvAIUNIAIvAI0NIAIvAJUNIAIvAJ0NIAIvAKUNIAIvAK0NIAIvALUNIAIvAL0NIAIvAMUNIAIvAM0NIAIvANUNIAIvAN0NIAIvAOUNIAIvAO0NIAIvAPUNIAIvAP0NIAIvAIUOIAIvAI0OIAIvAJUOIAIvAJ0OIAIvAKUOIAIvAK0OIAIvALUOIAIvAL0OIAIvAMUOIAIvAM0OIAIvANUOIAIvAN0OIAIvAOUOIAIvAO0OIAIvAPUOIAIvAP0OIAIvAIUPIAIvAI0PIAIvAJUPIAIvAJ0PIAIvAKUPIAIvAK0PIAIvALUPIAIvAL0PIAIvAMUPIAIvAM0PIAIvANUPIAIvAN0PIAIvAOUPIAIvAO0PIAIvAPUPIAIvAP0PIAIvAIUQIAIvAI0QIAIvAJUQIAIvAJ0QIAIvAKUQIAIvAK0QIAIvALUQIAIvAL0QIAIvAMUQIAIvAM0QIAIvANUQIAIvAN0QIAIvAOUQIAIvAO0QIAIvAPUQIAIvAP0QIAIvAIURIAIvAI0RIAIvAJURIAIvAJ0RIAIvAKURIAIvAK0RIAIvALURIAIvAL0RIAIvAMURIAIvAM0RIAIvANURIAIvAN0RIAIvAOURIPIEEN4YIAJBjwdqLQAAIfAEIAJBlwdqLQAAIfEEIAJBnwdqLQAAIUIgAkGnB2otAAAh5wEgAkGvB2otAAAhMSACQbcHai0AACGFAiACQb8Hai0AACHuBCACQccHai0AACESIAJBzwdqLQAAISMgAkHXB2otAAAhLCACQd8Hai0AACEtIAJB5wdqLQAAIS8gAkHvB2otAAAhMyACQfcHai0AACE7IAJB/wdqLQAAIUEgAkGHCGotAAAhPCACQY8Iai0AACFEIAJBlwhqLQAAIUUgAkGfCGotAAAhzwEgAkGnCGotAAAh0AEgAkGvCGotAAAh0QEgAkG3CGotAAAh0gEgAkG/CGotAAAh0wEgAkHHCGotAAAh1AEgAkHPCGotAAAh1QEgAkHXCGotAAAh1gEgAkHfCGotAAAh1wEgAkHnCGotAAAh2AEgAkHvCGotAAAh2QEgAkH3CGotAAAh2gEgAkH/CGotAAAh2wEgAkGHCWotAAAh3QEgAkGPCWotAAAh3gEgAkGXCWotAAAh4QEgAkGfCWotAAAh4wEgAkGnCWotAAAh4AEgAkGvCWotAAAh5AEgAkG3CWotAAAh5QEgAkG/CWotAAAh6AEgAkHHCWotAAAh6QEgAkHPCWotAAAh6gEgAkHXCWotAAAh6wEgAkHfCWotAAAh7AEgAkHnCWotAAAh7QEgAkHvCWotAAAh7gEgAkH3CWotAAAh7wEgAkH/CWotAAAh8AEgAkGHCmotAAAh8QEgAkGPCmotAAAh8gEgAkGXCmotAAAh8wEgAkGfCmotAAAh9AEgAkGnCmotAAAh9QEgAkGvCmotAAAh9gEgAkG3CmotAAAh9wEgAkG/CmotAAAh+AEgAkHHCmotAAAh+QEgAkHPCmotAAAh+gEgAkHXCmotAAAh+wEgAkHfCmotAAAh/AEgAkHnCmotAAAh/QEgAkHvCmotAAAh/gEgAkH3CmotAAAh/wEgAkH/CmotAAAhgAIgAkGHC2otAAAhMCACQY8Lai0AACGCAiACQZcLai0AACGGAiACQZ8Lai0AACGHAiACQacLai0AACGIAiACQa8Lai0AACGJAiACQbcLai0AACGKAiACQb8Lai0AACGLAiACQccLai0AACGMAiACQc8Lai0AACGNAiACQdcLai0AACGOAiACQd8Lai0AACGPAiACLQDcCyHcAyACKALYCyHdAyACLQDUCyHeAyACKALQCyHfAyACLQDMCyHgAyACKALICyHhAyACLQDECyHiAyACKALACyHjAyACLQC8CyHkAyACKAK4CyHlAyACLQC0CyHmAyACKAKwCyHnAyACLQCsCyHoAyACKAKoCyHpAyACLQCkCyHqAyACKAKgCyHrAyACLQCcCyHsAyACKAKYCyHtAyACLQCUCyHuAyACKAKQCyHvAyACLQCMCyHwAyACKAKICyHxAyACLQCECyHyAyACKAKACyHzAyACLQD8CiH0AyACKAL4CiH1AyACLQD0CiH2AyACKALwCiH3AyACLQDsCiH4AyACKALoCiH5AyACLQDkCiH6AyACKALgCiH7AyACLQDcCiH8AyACKALYCiH9AyACLQDUCiH+AyACKALQCiH/AyACLQDMCiGABCACKALICiGBBCACLQDECiGCBCACKALACiGDBCACLQC8CiGEBCACKAK4CiGFBCACLQC0CiGGBCACKAKwCiGHBCACLQCsCiGIBCACKAKoCiGJBCACLQCkCiGKBCACKAKgCiGLBCACLQCcCiGMBCACKAKYCiGNBCACLQCUCiGOBCACKAKQCiGPBCACLQCMCiGQBCACKAKICiGRBCACLQCECiGSBCACKAKACiGTBCACLQD8CSGUBCACKAL4CSGVBCACLQD0CSGWBCACKALwCSGXBCACLQDsCSGYBCACKALoCSGZBCACLQDkCSGaBCACKALgCSGbBCACLQDcCSGcBCACKALYCSGdBCACLQDUCSGeBCACKALQCSGfBCACLQDMCSGgBCACKALICSGhBCACLQDECSGiBCACKALACSGjBCACLQC8CSGkBCACKAK4CSGlBCACLQC0CSGmBCACKAKwCSGnBCACLQCsCSGoBCACKAKoCSGpBCACLQCkCSGqBCACKAKgCSGrBCACLQCcCSGsBCACKAKYCSGtBCACLQCUCSGuBCACKAKQCSGvBCACLQCMCSGwBCACKAKICSGxBCACLQCECSGyBCACKAKACSGzBCACLQD8CCG0BCACKAL4CCG1BCACLQD0CCG2BCACKALwCCG3BCACLQDsCCG4BCACKALoCCG5BCACLQDkCCG6BCACKALgCCG7BCACLQDcCCG8BCACKALYCCG9BCACLQDUCCG+BCACKALQCCG/BCACLQDMCCHABCACKALICCHBBCACLQDECCHCBCACKALACCHDBCACLQC8CCHEBCACKAK4CCHFBCACLQC0CCHGBCACKAKwCCHHBCACLQCsCCHIBCACKAKoCCHJBCACLQCkCCHKBCACKAKgCCHLBCACLQCcCCHMBCACKAKYCCHNBCACLQCUCCHOBCACKAKQCCHPBCACLQCMCCHQBCACKAKICCHRBCACLQCECCHSBCACKAKACCHTBCACLQD8ByHUBCACKAL4ByHVBCACLQD0ByHWBCACKALwByHXBCACLQDsByHYBCACKALoByHZBCACLQDkByHaBCACKALgByHbBCACLQDcByHcBCACKALYByHdBCACLQDUByHeBCACKALQByHfBCACLQDMByHgBCACKALIByHhBCACLQDEByHiBCACKALAByHjBCACLQC8ByHkBCACKAK4ByHlBCACLQC0ByHmBCACKAKwByHnBCACLQCsByHpBCACKAKoByHqBCACLQCkByFGIAIoAqAHITkgAi0AnAch4gEgAigCmAchPyACLQCUByEQIAIoApAHISogAi0AjAchPiACKAKIByEKIAIoAoQHIeYBIAIoAoAHITUgAigC/AYhHSACKAL4BiE0IAIoAvQGIQcgAigC8AYhJyACKALsBiEMIAIoAugGIQQgAigC5AYhhAIgAigC4AYhPSACKQPYBiGLBSACLwCNByGQAiACLwCVByGRAiACLwCdByGSAiACLwClByGTAiACLwCtByGUAiACLwC1ByGVAiACLwC9ByGWAiACLwDFByGXAiACLwDNByGYAiACLwDVByGZAiACLwDdByGaAiACLwDlByGbAiACLwDtByGcAiACLwD1ByGdAiACLwD9ByGeAiACLwCFCCGfAiACLwCNCCGgAiACLwCVCCGhAiACLwCdCCGiAiACLwClCCGjAiACLwCtCCGkAiACLwC1CCGlAiACLwC9CCGmAiACLwDFCCGnAiACLwDNCCGoAiACLwDVCCGpAiACLwDdCCGqAiACLwDlCCGrAiACLwDtCCGsAiACLwD1CCGtAiACLwD9CCGuAiACLwCFCSGvAiACLwCNCSGwAiACLwCVCSGxAiACLwCdCSGyAiACLwClCSGzAiACLwCtCSG0AiACLwC1CSG1AiACLwC9CSG2AiACLwDFCSG3AiACLwDNCSG4AiACLwDVCSG5AiACLwDdCSG6AiACLwDlCSG7AiACLwDtCSEUIAIvAPUJIRogAi8A/QkhGyACLwCFCiEcIAIvAI0KISggAi8AlQohLiACLwCdCiEyIAIvAKUKITggAi8ArQohOiACLwC1CiETIAIvAL0KIRYgAi8AxQohNiACLwDNCiE3IAIvANUKIRcgAi8A3Qoh3wEgAi8A5QohGSACLwDtCiEiIAIvAPUKIRUgAi8A/QohQCACLwCFCyEgIAIvAI0LIUMgAi8AlQshJiACLwCdCyErIAIvAKULIREgAi8ArQshDyACLwC1CyEJIAIvAL0LIQ4gAi8AxQshCCACLwDNCyELIAIvANULIQYgAi8A3QshBSDyBBDUJCANENMkIH9BEHRyIX8gfkEQdHIhfiB9QRB0ciF9IHxBEHRyIXwge0EQdHIheyB6QRB0ciF6IHlBEHRyIXkg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IAEgfDsA/QkgASB7OwD1CSABIHo7AO0JIAEgeTsA5QkgASB4OwDdCSABIHc7ANUJIAEgdjsAzQkgASB1OwDFCSABIHQ7AL0JIAEgczsAtQkgASByOwCtCSABIHE7AKUJIAEgcDsAnQkgASBvOwCVCSABIG47AI0JIAEgbTsAhQkgASBsOwD9CCABIGs7APUIIAEgajsA7QggASBpOwDlCCABIGg7AN0IIAEgZzsA1QggASBmOwDNCCABIGU7AMUIIAEgZDsAvQggASBjOwC1CCABIGI7AK0IIAEgYTsApQggASBgOwCdCCABIF87AJUIIAEgXjsAjQggASBdOwCFCCABIFw7AP0HIAEgWzsA9QcgASBaOwDtByABIFk7AOUHIAEgWDsA3QcgASBXOwDVByABIFY7AM0HIAEgVTsAxQcgASBUOwC9ByABIFM7ALUHIAEgUjsArQcgASBROwClByABIFA7AJ0HIAEgTzsAlQcgASBOOwCNByABIE07AIUHIAEgTDsA/QYgASBLOwD1BiABIEo7AO0GIAEgSTsA5QYgASBIOwDdBiABIEc7ANUGIAEglgE7AM0GIAEglQE7AMUGIAEglAE7AL0GIAEgkwE7ALUGIAEgkgE7AK0GIAEgkQE7AKUGIAEgkAE7AJ0GIAEgjwE7AJUGIAEgjgE7AI0GIAEgjQE7AIUGIAEgjAE7AP0FIAEgiwE7APUFIAEgigE7AO0FIAEgiQE7AOUFIAEgiAE7AN0FIAEghwE7ANUFIAEghgE7AM0FIAEghQE7AMUFIAEghAE7AL0FIAEggwE7ALUFIAEgggE7AK0FIAEggQE7AKUFIAEggAE7AJ0FIAFBADsAlQUgASDcATsAjQUgASCXATsAhQUgASCYATsA/QQgASCZATsA9QQgASCaATsA7QQgASCbATsA5QQgASCcATsA3QQgASCdATsA1QQgASCeATsAzQQgASCfATsAxQQgASCgATsAvQQgASChATsAtQQgASCiATsArQQgASCjATsApQQgASCkATsAnQQgASClATsAlQQgASCmATsAjQQgASCnATsAhQQgASCoATsA/QMgASCpATsA9QMgASCqATsA7QMgASCrATsA5QMgASCsATsA3QMgASCtATsA1QMgASCuATsAzQMgASCvATsAxQMgASCwATsAvQMgASCxATsAtQMgASCyATsArQMgASCzATsApQMgASC0ATsAnQMgASC1ATsAlQMgASC2ATsAjQMgASC3ATsAhQMgASC4ATsA/QIgASC5ATsA9QIgASC6ATsA7QIgASC7ATsA5QIgASC8ATsA3QIgASC9ATsA1QIgASC+ATsAzQIgASC/ATsAxQIgASDAATsAvQIgASDBATsAtQIgASDCATsArQIgASDDATsApQIgASDEATsAnQIgASDFATsAlQIgASDGATsAjQIgASDHATsAhQIgASDIATsA/QEgASDJATsA9QEgASDKATsA7QEgASDLATsA5QEgASDMATsA3QEgASDNATsA1QEgASDOATsAzQEgASDPATsAxQEgASDbATsAvQEgASDaATsAtQEgASDZATsArQEgASDYATsApQEgASDXATsAnQEgASDWATsAlQEgASDVATsAjQEgASDUATsAhQEgASDTATsAfSABINIBOwB1IAEg0QE7AG0gASDQATsAZSABIIACOwBdIAEgDzsAVSABIA07AE0gASAFOwBFIAFBADoApA0gASCBAjYCoA0gASCFAjYCnA0gASAsNgKYDSABIIYCNgKUDSABIIcCNgKQDSABIIgCNgKMDSABIIkCNgKIDSABIIoCNgKEDSABIIsCNgKADSABIIwCNgL8DCABII0CNgL4DCABII4CNgL0DCABII8CNgLwDCABIJACNgLsDCABIJECNgLoDCABIJICNgLkDCABIJMCNgLgDCABIJQCNgLcDCABIJUCNgLYDCABIJYCNgLUDCABIJcCNgLQDCABIJgCNgLMDCABIJkCNgLIDCABIJoCNgLEDCABIJsCNgLADCABIJwCNgK8DCABIJ0CNgK4DCABIJ4CNgK0DCABIJ8CNgKwDCABIKACNgKsDCABIKECNgKoDCABIKICNgKkDCABIKMCNgKgDCABIKQCNgKcDCABIKUCNgKYDCABIKYCNgKUDCABIKcCNgKQDCABIKgCNgKMDCABIKkCNgKIDCABIKoCNgKEDCABIKsCNgKADCABIKwCNgL8CyABIK0CNgL4CyABIK4CNgL0CyABIK8CNgLwCyABILACNgLsCyABILECNgLoCyABILICNgLkCyABILMCNgLgCyABIBE2AtwLIAEgtAI2AtgLIAEg5wE6ANQLIAEgtQI2AtALIAEgtgI6AMwLIAEgtwI2AsgLIAEguAI6AMQLIAEguQI2AsALIAEgugI6ALwLIAEguwI2ArgLIAEgFDoAtAsgASASNgKwCyABICM6AKwLIAEgGjYCqAsgASAtOgCkCyABIDs2AqALIAEgQToAnAsgASBENgKYCyABIEU6AJQLIAEgPDYCkAsgASDdAToAjAsgASDeATYCiAsgASDjAToAhAsgASDgATYCgAsgASDhAToA/AogASDkATYC+AogASDlAToA9AogASAbNgLwCiABIBw6AOwKIAEgKDYC6AogASAuOgDkCiABIDI2AuAKIAEgODoA3AogASA6NgLYCiABIBM6ANQKIAEgFjYC0AogASA2OgDMCiABIDc2AsgKIAEgFzoAxAogASDfATYCwAogASAZOgC8CiABICI2ArgKIAEgFToAtAogASBANgKwCiABIC86AKwKIAEgIDYCqAogASD/AToApAogASBDNgKgCiABICY6AJwKIAEgKzYCmAogASC8AjoAlAogASC9AjYCkAogASC+AjoAjAogASC/AjYCiAogASDAAjoAhAogASDBAjYCgAogASDCAjoA/AkgASDDAjYC+AkgASDEAjoA9AkgASDFAjYC8AkgASDGAjoA7AkgASDHAjYC6AkgASDIAjoA5AkgASDJAjYC4AkgASDKAjoA3AkgASDLAjYC2AkgASDMAjoA1AkgASDNAjYC0AkgASDOAjoAzAkgASDPAjYCyAkgASDQAjoAxAkgASDRAjYCwAkgASDSAjoAvAkgASDTAjYCuAkgASDUAjoAtAkgASDVAjYCsAkgASDWAjoArAkgASDXAjYCqAkgASDYAjoApAkgASDZAjYCoAkgASDaAjoAnAkgASDbAjYCmAkgASDcAjoAlAkgASDdAjYCkAkgASDeAjoAjAkgASDfAjYCiAkgASDgAjoAhAkgASDhAjYCgAkgASDiAjoA/AggASDjAjYC+AggASDkAjoA9AggASDlAjYC8AggASDmAjoA7AggASDnAjYC6AggASDoAjoA5AggASDpAjYC4AggASDqAjoA3AggASDrAjYC2AggASDsAjoA1AggASDtAjYC0AggASDuAjoAzAggASDvAjYCyAggASDwAjoAxAggASDxAjYCwAggASDyAjoAvAggASDzAjYCuAggASD0AjoAtAggASD1AjYCsAggASD2AjoArAggASD3AjYCqAggASD4AjoApAggASD5AjYCoAggASD6AjoAnAggASD7AjYCmAggASD8AjoAlAggASD9AjYCkAggASD+AjoAjAggASD/AjYCiAggASCAAzoAhAggASCBAzYCgAggASCCAzoA/AcgASCDAzYC+AcgASCEAzoA9AcgASCFAzYC8AcgASCGAzoA7AcgASCHAzYC6AcgASCIAzoA5AcgASCJAzYC4AcgASCKAzoA3AcgASCLAzYC2AcgASCMAzoA1AcgASCNAzYC0AcgASCOAzoAzAcgASCPAzYCyAcgASCQAzoAxAcgASCRAzYCwAcgASCSAzoAvAcgASCTAzYCuAcgASCUAzoAtAcgASCVAzYCsAcgASCWAzoArAcgASCXAzYCqAcgASCYAzoApAcgASCZAzYCoAcgASCaAzoAnAcgASCbAzYCmAcgASCcAzoAlAcgASCdAzYCkAcgASCeAzoAjAcgASCfAzYCiAcgASCgAzoAhAcgASChAzYCgAcgASCiAzoA/AYgASCjAzYC+AYgASCkAzoA9AYgASClAzYC8AYgASCmAzoA7AYgASCnAzYC6AYgASCoAzoA5AYgASCpAzYC4AYgASCqAzoA3AYgASCrAzYC2AYgASCsAzoA1AYgASCtAzYC0AYgASCuAzoAzAYgASCvAzYCyAYgASCwAzoAxAYgASCxAzYCwAYgASCyAzoAvAYgASCzAzYCuAYgASC0AzoAtAYgASC1AzYCsAYgASC2AzoArAYgASC3AzYCqAYgASC4AzoApAYgASC5AzYCoAYgASC6AzoAnAYgASC7AzYCmAYgASC8AzoAlAYgASC9AzYCkAYgASC+AzoAjAYgASC/AzYCiAYgASDAAzoAhAYgASDBAzYCgAYgASDCAzoA/AUgASDDAzYC+AUgASDEAzoA9AUgASDFAzYC8AUgASDGAzoA7AUgASDHAzYC6AUgASDIAzoA5AUgASDJAzYC4AUgASDKAzoA3AUgASDLAzYC2AUgASDMAzoA1AUgASDNAzYC0AUgASDOAzoAzAUgASDPAzYCyAUgASDQAzoAxAUgASDRAzYCwAUgASDSAzoAvAUgASDTAzYCuAUgASDUAzoAtAUgASDVAzYCsAUgASDWAzoArAUgASDXAzYCqAUgASDYAzoApAUgASDZAzYCoAUgASDaAzoAnAUgASDbAzYCmAUgAUEAOgCUBSABIIICNgKQBSABINwDOgCMBSABIN0DNgKIBSABIN4DOgCEBSABIN8DNgKABSABIOADOgD8BCABIOEDNgL4BCABIOIDOgD0BCABIOMDNgLwBCABIOQDOgDsBCABIOUDNgLoBCABIOYDOgDkBCABIOcDNgLgBCABIOgDOgDcBCABIOkDNgLYBCABIOoDOgDUBCABIOsDNgLQBCABIOwDOgDMBCABIO0DNgLIBCABIO4DOgDEBCABIO8DNgLABCABIPADOgC8BCABIPEDNgK4BCABIPIDOgC0BCABIPMDNgKwBCABIPQDOgCsBCABIPUDNgKoBCABIPYDOgCkBCABIPcDNgKgBCABIPgDOgCcBCABIPkDNgKYBCABIPoDOgCUBCABIPsDNgKQBCABIPwDOgCMBCABIP0DNgKIBCABIP4DOgCEBCABIP8DNgKABCABIIAEOgD8AyABIIEENgL4AyABIIIEOgD0AyABIIMENgLwAyABIIQEOgDsAyABIIUENgLoAyABIIYEOgDkAyABIIcENgLgAyABIIgEOgDcAyABIIkENgLYAyABIIoEOgDUAyABIIsENgLQAyABIIwEOgDMAyABII0ENgLIAyABII4EOgDEAyABII8ENgLAAyABIJAEOgC8AyABIJEENgK4AyABIJIEOgC0AyABIJMENgKwAyABIJQEOgCsAyABIJUENgKoAyABIJYEOgCkAyABIJcENgKgAyABIJgEOgCcAyABIJkENgKYAyABIJoEOgCUAyABIJsENgKQAyABIJwEOgCMAyABIJ0ENgKIAyABIJ4EOgCEAyABIJ8ENgKAAyABIKAEOgD8AiABIKEENgL4AiABIKIEOgD0AiABIKMENgLwAiABIKQEOgDsAiABIKUENgLoAiABIKYEOgDkAiABIKcENgLgAiABIKgEOgDcAiABIKkENgLYAiABIKoEOgDUAiABIKsENgLQAiABIKwEOgDMAiABIK0ENgLIAiABIK4EOgDEAiABIK8ENgLAAiABILAEOgC8AiABILEENgK4AiABILIEOgC0AiABILMENgKwAiABILQEOgCsAiABILUENgKoAiABILYEOgCkAiABILcENgKgAiABILgEOgCcAiABILkENgKYAiABILoEOgCUAiABILsENgKQAiABILwEOgCMAiABIL0ENgKIAiABIL4EOgCEAiABIL8ENgKAAiABIMAEOgD8ASABIMEENgL4ASABIMIEOgD0ASABIMMENgLwASABIMQEOgDsASABIMUENgLoASABIMYEOgDkASABIMcENgLgASABIMgEOgDcASABIMkENgLYASABIMoEOgDUASABIMsENgLQASABIMwEOgDMASABIM0ENgLIASABIM4EOgDEASABIM8ENgLAASABINAEOgC8ASABINEENgK4ASABINIEOgC0ASABINMENgKwASABINQEOgCsASABINUENgKoASABINYEOgCkASABINcENgKgASABINgEOgCcASABINkENgKYASABINoEOgCUASABINsENgKQASABINwEOgCMASABIN0ENgKIASABIN4EOgCEASABIN8ENgKAASABIOAEOgB8IAEg4QQ2AnggASDiBDoAdCABIOMENgJwIAEg5AQ6AGwgASDlBDYCaCABIOYEOgBkIAEg5wQ2AmAgASDpBDoAXCABIOoENgJYIAEgRjoAVCABIDk2AlAgASDiAToATCABID82AkggASAQOgBEIAEgKjYCQCABIAo2AjggASDmATYCNCABIDU2AjAgASAdNgIsIAEgNDYCKCABIAc2AiQgASAnNgIgIAEgDDYCHCABIAQ2AhggASCEAjYCFCABID02AhAgASCLBTcDCCABQQE2AgQgAUEBNgIAIAFB1wtqIEJBEHY6AAAgAUHPC2og6QFBEHY6AAAgAUHHC2og6gFBEHY6AAAgAUG/C2og6wFBEHY6AAAgAUG3C2og7AFBEHY6AAAgAUGvC2og7QFBEHY6AAAgAUGnC2og7gFBEHY6AAAgAUGfC2og7wFBEHY6AAAgAUGXC2og8AFBEHY6AAAgAUGPC2og8QFBEHY6AAAgAUGHC2og8gFBEHY6AAAgAUH/Cmog8wFBEHY6AAAgAUH3Cmog9AFBEHY6AAAgAUHvCmog9QFBEHY6AAAgAUHnCmog9gFBEHY6AAAgAUHfCmog6AFBEHY6AAAgAUHXCmog9wFBEHY6AAAgAUHPCmog+AFBEHY6AAAgAUHHCmog+QFBEHY6AAAgAUG/Cmog+gFBEHY6AAAgAUG3Cmog+wFBEHY6AAAgAUGvCmog/AFBEHY6AAAgAUGnCmog/QFBEHY6AAAgAUGfCmog/gFBEHY6AAAgAUGXCmogf0EQdjoAACABQY8KaiB+QRB2OgAAIAFBhwpqIH1BEHY6AAAgAUH/CWogfEEQdjoAACABQfcJaiB7QRB2OgAAIAFB7wlqIHpBEHY6AAAgAUHnCWogeUEQdjoAACABQd8JaiB4QRB2OgAAIAFB1wlqIHdBEHY6AAAgAUHPCWogdkEQdjoAACABQccJaiB1QRB2OgAAIAFBvwlqIHRBEHY6AAAgAUG3CWogc0EQdjoAACABQa8JaiByQRB2OgAAIAFBpwlqIHFBEHY6AAAgAUGfCWogcEEQdjoAACABQZcJaiBvQRB2OgAAIAFBjwlqIG5BEHY6AAAgAUGHCWogbUEQdjoAACABQf8IaiBsQRB2OgAAIAFB9whqIGtBEHY6AAAgAUHvCGogakEQdjoAACABQecIaiBpQRB2OgAAIAFB3whqIGhBEHY6AAAgAUHXCGogZ0EQdjoAACABQc8IaiBmQRB2OgAAIAFBxwhqIGVBEHY6AAAgAUG/CGogZEEQdjoAACABQbcIaiBjQRB2OgAAIAFBrwhqIGJBEHY6AAAgAUGnCGogYUEQdjoAACABQZ8IaiBgQRB2OgAAIAFBlwhqIF9BEHY6AAAgAUGPCGogXkEQdjoAACABQYcIaiBdQRB2OgAAIAFB/wdqIFxBEHY6AAAgAUH3B2ogW0EQdjoAACABQe8HaiBaQRB2OgAAIAFB5wdqIFlBEHY6AAAgAUHfB2ogWEEQdjoAACABQdcHaiBXQRB2OgAAIAFBzwdqIFZBEHY6AAAgAUHHB2ogVUEQdjoAACABQb8HaiBUQRB2OgAAIAFBtwdqIFNBEHY6AAAgAUGvB2ogUkEQdjoAACABQacHaiBRQRB2OgAAIAFBnwdqIFBBEHY6AAAgAUGXB2ogT0EQdjoAACABQY8HaiBOQRB2OgAAIAFBhwdqIE1BEHY6AAAgAUH/BmogTEEQdjoAACABQfcGaiBLQRB2OgAAIAFB7wZqIEpBEHY6AAAgAUHnBmogSUEQdjoAACABQd8GaiBIQRB2OgAAIAFB1wZqIEdBEHY6AAAgAUHPBmoglgFBEHY6AAAgAUHHBmoglQFBEHY6AAAgAUG/BmoglAFBEHY6AAAgAUG3BmogkwFBEHY6AAAgAUGvBmogkgFBEHY6AAAgAUGnBmogkQFBEHY6AAAgAUGfBmogkAFBEHY6AAAgAUGXBmogjwFBEHY6AAAgAUGPBmogjgFBEHY6AAAgAUGHBmogjQFBEHY6AAAgAUH/BWogjAFBEHY6AAAgAUH3BWogiwFBEHY6AAAgAUHvBWogigFBEHY6AAAgAUHnBWogiQFBEHY6AAAgAUHfBWogiAFBEHY6AAAgAUHXBWoghwFBEHY6AAAgAUHPBWoghgFBEHY6AAAgAUHHBWoghQFBEHY6AAAgAUG/BWoghAFBEHY6AAAgAUG3BWoggwFBEHY6AAAgAUGvBWogggFBEHY6AAAgAUGnBWoggQFBEHY6AAAgAUGfBWoggAFBEHY6AAAgAUGXBWpBADoAACABQY8FaiDcAUEQdjoAACABQYcFaiCXAUEQdjoAACABQf8EaiCYAUEQdjoAACABQfcEaiCZAUEQdjoAACABQe8EaiCaAUEQdjoAACABQecEaiCbAUEQdjoAACABQd8EaiCcAUEQdjoAACABQdcEaiCdAUEQdjoAACABQc8EaiCeAUEQdjoAACABQccEaiCfAUEQdjoAACABQb8EaiCgAUEQdjoAACABQbcEaiChAUEQdjoAACABQa8EaiCiAUEQdjoAACABQacEaiCjAUEQdjoAACABQZ8EaiCkAUEQdjoAACABQZcEaiClAUEQdjoAACABQY8EaiCmAUEQdjoAACABQYcEaiCnAUEQdjoAACABQf8DaiCoAUEQdjoAACABQfcDaiCpAUEQdjoAACABQe8DaiCqAUEQdjoAACABQecDaiCrAUEQdjoAACABQd8DaiCsAUEQdjoAACABQdcDaiCtAUEQdjoAACABQc8DaiCuAUEQdjoAACABQccDaiCvAUEQdjoAACABQb8DaiCwAUEQdjoAACABQbcDaiCxAUEQdjoAACABQa8DaiCyAUEQdjoAACABQacDaiCzAUEQdjoAACABQZ8DaiC0AUEQdjoAACABQZcDaiC1AUEQdjoAACABQY8DaiC2AUEQdjoAACABQYcDaiC3AUEQdjoAACABQf8CaiC4AUEQdjoAACABQfcCaiC5AUEQdjoAACABQe8CaiC6AUEQdjoAACABQecCaiC7AUEQdjoAACABQd8CaiC8AUEQdjoAACABQdcCaiC9AUEQdjoAACABQc8CaiC+AUEQdjoAACABQccCaiC/AUEQdjoAACABQb8CaiDAAUEQdjoAACABQbcC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BDsA3QsgASBCOwDVCyABIOkBOwDNCyABIOoBOwDFCyABIOsBOwC9CyABIOwBOwC1CyABIO0BOwCtCyABIO4BOwClCyABIO8BOwCdCyABIPABOwCVCyABIPEBOwCNCyABIPIBOwCFCyABIPMBOwD9CiABIPQBOwD1CiABIPUBOwDtCiABIPYBOwDlCiABIOgBOwDdCiABIPcBOwDVCiABIPgBOwDNCiABIPkBOwDFCiABIPoBOwC9CiABIPsBOwC1CiABIPwBOwCtCiABIP0BOwClCiABIP4BOwCdCiABIH87AJUKIAEgfjsAjQogASB9OwCFCiABIHw7AP0JIAEgezsA9QkgASB6OwDtCSABIHk7AOUJIAEgeDsA3QkgASB3OwDVCSABIHY7AM0JIAEgdTsAxQkgASB0OwC9CSABIHM7ALUJIAEgcjsArQkgASBxOwClCSABIHA7AJ0JIAEgbzsAlQkgASBuOwCNCSABIG07AIUJIAEgbDsA/QggASBrOwD1CCABIGo7AO0IIAEgaTsA5QggASBoOwDdCCABIGc7ANUIIAEgZjsAzQggASBlOwDFCCABIGQ7AL0IIAEgYzsAtQggASBiOwCtCCABIGE7AKUIIAEgYDsAnQggASBfOwCVCCABIF47AI0IIAEgXTsAhQggASBcOwD9ByABIFs7APUHIAEgWjsA7QcgASBZOwDlByABIFg7AN0HIAEgVzsA1QcgASBWOwDNByABIFU7AMUHIAEgVDsAvQcgASBTOwC1ByABIFI7AK0HIAEgUTsApQcgASBQOwCdByABIE87AJUHIAEgTjsAjQcgASBNOwCFByABIEw7AP0GIAEgSzsA9QYgASBKOwDtBiABIEk7AOUGIAEgSDsA3QYgASBHOwDVBiABIJYBOwDNBiABIJUBOwDFBiABIJQBOwC9BiABIJMBOwC1BiABIJIBOwCtBiABIJEBOwClBiABIJABOwCdBiABII8BOwCVBiABII4BOwCNBiABII0BOwCFBiABIIwBOwD9BSABIIsBOwD1BSABIIoBOwDtBSABIIkBOwDlBSABIIgBOwDdBSABIIcBOwDVBSABIIYBOwDNBSABIIUBOwDFBSABIIQBOwC9BSABIIMBOwC1BSABIIIBOwCtBSABIIEBOwClBSABIIABOwCdBSABQQA7AJUFIAEg3AE7AI0FIAEglwE7AIUFIAEgmAE7AP0EIAEgmQE7APUEIAEgmgE7AO0EIAEgmwE7AOUEIAEgnAE7AN0EIAEgnQE7ANUEIAEgngE7AM0EIAEgnwE7AMUEIAEgoAE7AL0EIAEgoQE7ALUEIAEgogE7AK0EIAEgowE7AKUEIAEgpAE7AJ0EIAEgpQE7AJUEIAEgpgE7AI0EIAEgpwE7AIUEIAEgqAE7AP0DIAEgqQE7APUDIAEgqgE7AO0DIAEgqwE7AOUDIAEgrAE7AN0DIAEgrQE7ANUDIAEgrgE7AM0DIAEgrwE7AMUDIAEgsAE7AL0DIAEgsQE7ALUDIAEgsgE7AK0DIAEgswE7AKUDIAEgtAE7AJ0DIAEgtQE7AJUDIAEgtgE7AI0DIAEgtwE7AIUDIAEguAE7AP0CIAEguQE7APUCIAEgugE7AO0CIAEguwE7AOUCIAEgvAE7AN0CIAEgvQE7ANUCIAEgvgE7AM0CIAEgvwE7AMUCIAEgwAE7AL0CIAEgwQE7ALUCIAEgwgE7AK0CIAEgwwE7AKUCIAEgxAE7AJ0CIAEgxQE7AJUCIAEgxgE7AI0CIAEgxwE7AIUCIAEgyAE7AP0BIAEgyQE7APUBIAEgygE7AO0BIAEgywE7AOUBIAEgzAE7AN0BIAEgzQE7ANUBIAEgzgE7AM0BIAEgzwE7AMUBIAEg2wE7AL0BIAEg2gE7ALUBIAEg2QE7AK0BIAEg2AE7AKUBIAEg1wE7AJ0BIAEg1gE7AJUBIAEg1QE7AI0BIAEg1AE7AIUBIAEg0wE7AH0gASDSATsAdSABINEBOwBtIAEg0AE7AGUgASCAAjsAXSABIA87AFUgASANOwBNIAEgBTsARSABIIoFNwOwDSABIAs6AKwNIAEgCDYCqA0gAUEANgKkDSABIIECNgKgDSABIIUCNgKcDSABICw2ApgNIAEghgI2AJQNIAEghwI2AJANIAEgiAI2AIwNIAEgiQI2AIgNIAEgigI2AIQNIAEgiwI2AIANIAEgjAI2APwMIAEgjQI2APgMIAEgjgI2APQMIAEgjwI2APAMIAEgkAI2AOwMIAEgkQI2AOgMIAEgkgI2AOQMIAEgkwI2AOAMIAEglAI2ANwMIAEglQI2ANgMIAEglgI2ANQMIAEglwI2ANAMIAEgmAI2AMwMIAEgmQI2AMgMIAEgmgI2AMQMIAEgmwI2AMAMIAEgnAI2ALwMIAEgnQI2ALgMIAEgngI2ALQMIAEgnwI2ALAMIAEgoAI2AKwMIAEgoQI2AKgMIAEgogI2AKQMIAEgowI2AKAMIAEgpAI2AJwMIAEgpQI2AJgMIAEgpgI2AJQMIAEgpwI2AJAMIAEgqAI2AIwMIAEgqQI2AIgMIAEgqgI2AIQMIAEgqwI2AIAMIAEgrAI2APwLIAEgrQI2APgLIAEgrgI2APQLIAEgrwI2APALIAEgsAI2AOwLIAEgsQI2AOgLIAEgsgI2AOQLIAEgswI2AOALIAEgEToA3AsgASC0AjYA2AsgASDnAToA1AsgASC1AjYA0AsgASC2AjoAzAsgASC3AjYAyAsgASC4AjoAxAsgASC5AjYAwAsgASC6AjoAvAsgASC7AjYAuAsgASAUOgC0CyABIBI2ALALIAEgIzoArAsgASAaNgCoCyABIC06AKQLIAEgOzYAoAsgASBBOgCcCyABIEQ2AJgLIAEgRToAlAsgASA8NgCQCyABIN0BOgCMCyABIN4BNgCICyABIOMBOgCECyABIOABNgCACyABIOEBOgD8CiABIOQBNgD4CiABIOUBOgD0CiABIBs2APAKIAEgHDoA7AogASAoNgDoCiABIC46AOQKIAEgMjYA4AogASA4OgDcCiABIDo2ANgKIAEgEzoA1AogASAWNgDQCiABIDY6AMwKIAEgNzYAyAogASAXOgDECiABIN8BNgDACiABIBk6ALwKIAEgIjYAuAogASAVOgC0CiABIEA2ALAKIAEgLzoArAogASAgNgCoCiABIP8BOgCkCiABIEM2AqAKIAEgJjoAnAogASArNgKYCiABILwCOgCUCiABIL0CNgKQCiABIL4COgCMCiABIL8CNgKICiABIMACOgCECiABIMECNgKACiABIMICOgD8CSABIMMCNgL4CSABIMQCOgD0CSABIMUCNgLwCSABIMYCOgDsCSABIMcCNgLoCSABIMgCOgDkCSABIMkCNgLgCSABIMoCOgDcCSABIMsCNgLYCSABIMwCOgDUCSABIM0CNgLQCSABIM4COgDMCSABIM8CNgLICSABINACOgDECSABINECNgLACSABINICOgC8CSABINMCNgK4CSABINQCOgC0CSABINUCNgKwCSABINYCOgCsCSABINcCNgKoCSABINgCOgCkCSABINkCNgKgCSABINoCOgCcCSABINsCNgKYCSABINwCOgCUCSABIN0CNgKQCSABIN4COgCMCSABIN8CNgKICSABIOACOgCECSABIOECNgKACSABIOICOgD8CCABIOMCNgL4CCABIOQCOgD0CCABIOUCNgLwCCABIOYCOgDsCCABIOcCNgLoCCABIOgCOgDkCCABIOkCNgLgCCABIOoCOgDcCCABIOsCNgLYCCABIOwCOgDUCCABIO0CNgLQCCABIO4COgDMCCABIO8CNgLICCABIPACOgDECCABIPECNgLACCABIPICOgC8CCABIPMCNgK4CCABIPQCOgC0CCABIPUCNgKwCCABIPYCOgCsCCABIPcCNgKoCCABIPgCOgCkCCABIPkCNgKgCCABIPoCOgCcCCABIPsCNgKYCCABIPwCOgCUCCABIP0CNgKQCCABIP4COgCMCCABIP8CNgKICCABIIADOgCECCABIIEDNgKACCABIIIDOgD8ByABIIMDNgL4ByABIIQDOgD0ByABIIUDNgLwByABIIYDOgDsByABIIcDNgLoByABIIgDOgDkByABIIkDNgLgByABIIoDOgDcByABIIsDNgLYByABIIwDOgDUByABII0DNgLQByABII4DOgDMByABII8DNgLIByABIJADOgDEByABIJEDNgLAByABIJIDOgC8ByABIJMDNgK4ByABIJQDOgC0ByABIJUDNgKwByABIJYDOgCsByABIJcDNgKoByABIJgDOgCkByABIJkDNgKgByABIJoDOgCcByABIJsDNgKYByABIJwDOgCUByABIJ0DNgKQByABIJ4DOgCMByABIJ8DNgKIByABIKADOgCEByABIKEDNgKAByABIKIDOgD8BiABIKMDNgL4BiABIKQDOgD0BiABIKUDNgLwBiABIKYDOgDsBiABIKcDNgLoBiABIKgDOgDkBiABIKkDNgLgBiABIKoDOgDcBiABIKsDNgLYBiABIKwDOgDUBiABIK0DNgLQBiABIK4DOgDMBiABIK8DNgLIBiABILADOgDEBiABILEDNgLABiABILIDOgC8BiABILMDNgK4BiABILQDOgC0BiABILUDNgKwBiABILYDOgCsBiABILcDNgKoBiABILgDOgCkBiABILkDNgKgBiABILoDOgCcBiABILsDNgKYBiABILwDOgCUBiAB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IAEgqAI2AowMIAEgqQI2AogMIAEgqgI2AoQMIAEgqwI2AoAMIAEgrAI2AvwLIAEgrQI2AvgLIAEgrgI2AvQLIAEgrwI2AvALIAEgsAI2AuwLIAEgsQI2AugLIAEgsgI2AuQLIAEgswI2AuALIAEgETYC3AsgASC0AjYC2AsgASDnAToA1AsgASC1AjYC0AsgASC2AjoAzAsgASC3AjYCyAsgASC4AjoAxAsgASC5AjYCwAsgASC6AjoAvAsgASC7AjYCuAsgASAUOgC0CyABIBI2ArALIAEgIzoArAsgASAaNgKoCyABIC06AKQLIAEgOzYCoAsgASBBOgCcCyABIEQ2ApgLIAEgRToAlAsgASA8NgKQCyABIN0BOgCMCyABIN4BNgKICyABIOMBOgCECyABIOABNgKACyABIOEBOgD8CiABIOQBNgL4CiABIOUBOgD0CiABIBs2AvAKIAEgHDoA7AogASAoNgLoCiABIC46AOQKIAEgMjYC4AogASA4OgDcCiABIDo2AtgKIAEgEzoA1AogASAWNgLQCiABIDY6AMwKIAEgNzYCyAogASAXOgDECiABIN8BNgLACiABIBk6ALwKIAEgIjYCuAogASAVOgC0CiABIEA2ArAKIAEgLzoArAogASAgNgKoCiABIP8BOgCkCiABIEM2AqAKIAEgJjoAnAogASArNgKYCiABILwCOgCUCiABIL0CNgKQCiABIL4COgCMCiABIL8CNgKICiABIMACOgCECiABIMECNgKACiABIMICOgD8CSABIMMCNgL4CSABIMQCOgD0CSABIMUCNgLwCSABIMYCOgDsCSABIMcCNgLoCSABIMgCOgDkCSABIMkCNgLgCSABIMoCOgDcCSABIMsCNgLYCSABIMwCOgDUCSABIM0CNgLQCSABIM4COgDMCSABIM8CNgLICSABINACOgDECSABINECNgLACSABINICOgC8CSABINMCNgK4CSABINQCOgC0CSABINUCNgKwCSABINYCOgCsCSABINcCNgKoCSABINgCOgCkCSABINkCNgKgCSABINoCOgCcCSABINsCNgKYCSABINwCOgCUCSABIN0CNgKQCSABIN4COgCMCSABIN8CNgKICSABIOACOgCECSABIOECNgKACSABIOICOgD8CCABIOMCNgL4CCABIOQCOgD0CCABIOUCNgLwCCABIOYCOgDsCCABIOcCNgLoCCABIOgCOgDkCCABIOkCNgLgCCABIOoCOgDcCCABIOsCNgLYCCABIOwCOgDUCCABIO0CNgLQCCABIO4COgDMCCABIO8CNgLICCABIPACOgDECCABIPECNgLACCABIPICOgC8CCABIPMCNgK4CCABIPQCOgC0CCABIPUCNgKwCCABIPYCOgCsCCABIPcCNgKoCCABIPgCOgCkCCABIPkCNgKgCCABIPoCOgCcCCABIPsCNgKYCCABIPwCOgCUCCABIP0CNgKQCCABIP4COgCMCCABIP8CNgKICCABIIADOgCECCABIIEDNgKACCABIIIDOgD8ByABIIMDNgL4ByABIIQDOgD0ByABIIUDNgLwByABIIYDOgDsByABIIcDNgLoByABIIgDOgDkByABIIkDNgLgByABIIoDOgDcByABIIsDNgLYByABIIwDOgDUByABII0DNgLQByABII4DOgDMByABII8DNgLIByABIJADOgDEByABIJEDNgLAByABIJIDOgC8ByABIJMDNgK4ByABIJQDOgC0ByABIJUDNgKwByABIJYDOgCsByABIJcDNgKoByABIJgDOgCkByABIJkDNgKgByABIJoDOgCcByABIJsDNgKYByABIJwDOgCUByABIJ0DNgKQByABIJ4DOgCMByABIJ8DNgKIByABIKADOgCEByABIKEDNgKAByABIKIDOgD8BiABIKMDNgL4BiABIKQDOgD0BiABIKUDNgLwBiABIKYDOgDsBiABIKcDNgLoBiABIKgDOgDkBiABIKkDNgLgBiABIKoDOgDcBiABIKsDNgLYBiABIKwDOgDUBiABIK0DNgLQBiABIK4DOgDMBiABIK8DNgLIBiABILADOgDEBiABILEDNgLABiABILIDOgC8BiABILMDNgK4BiABILQDOgC0BiABILUDNgKwBiABILYDOgCsBiABILcDNgKoBiABILgDOgCkBiABILkDNgKgBiABILoDOgCcBiABILsDNgKYBiABILwDOgCUBiABIL0DNgKQBiABIL4DOgCMBiABIL8DNgKIBiABIMADOgCEBiABIMEDNgKABiABIMIDOgD8BSABIMMDNgL4BSABIMQDOgD0BSABIMUDNgLwBSABIMYDOgDsBSABIMcDNgLoBSABIMgDOgDkBSABIMkD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QagEahDuEiEGDAULIAMgGDYCqAMLIANBqARqIANBlApqIAYoAgAgBkEEaigCABBCIAMoAqgEIgVBgICAgHhGBEAgAygCnAMiBUEBayEYIAMoApgDIAVBFGxqQRRrIRIDQAJAAkACQAJAIBhBf0YEQEEAIRgMAQsgEkEEaigCACIFQQRHDQELIAMgGDYCnAMgAygClAoiBigCACIHQf////8HTw0BIAYgB0EBajYCACADIAYoAgwiBTYC4AoCQCAFQQFGBEAgBiAHNgIAIANBqARqIAYQlQwgAygCqARBEEcNAUGswMQAEOApAAsgA0EANgKoBCADQeAKakHEntgAIANBqARqQbzAxAAQ4RoACyADQZAEaiADQcAEaigCADYCACADQYgEaiADQbgEaikCADcDACADQYAEaiAMKQIANwMAIAMgAykCqAQ3A/gDIB4gA0H4A2oQmwpBgICAgHghBUEBDAYLIBIoAgAhCyAEIBJBCGopAgA3AgAgBEEIaiASQRBqKAIANgIAIAMgBTYCsAogA0H4A2ogA0GwCmoQ0gsgAygC+ANBBEcEQCADQcgKaiADQYAEaiIFKQIANwMAIAMgGDYCnAMgAyADKQL4AyKMBTcDwAogjAWnQQNHDQcgA0EPNgKoBCADKAKUCiADQagEahChGAwHCyADQagEaiADQZQKaiALKAIAIAtBBGooAgAQQiADKAKoBCIFQYCAgIB4Rg0BIAMgGDYCnAMgHiAhQSQQ+wYaDAQLQZzAxAAQ8BQACyASQRRrIRIgGEEBayEYDAALAAsgHiAhQSQQ+wYaC0EACyADQZQDahD5HyADKAL8ASESBEAgAygClAIhCCADKAKQAiEHIAMoAowCIRAgAygCiAIhCyADKAKEAiEGIAMoAoACIQUgA0H4AmoQrAwgAygC9AEiDiADKALsAUYEQCADQewBahD4FgsgAygC8AEgDkEcbGoiDyAINgIYIA8gBzYCFCAPIBA2AhAgDyALNgIMIA8gBjYCCCAPIAU2AgQgDyASNgIAIAMgDkEBajYC9AEMAwsgA0H4AGogA0HwAmopAgA3AwAgAyADKQLoAjcDcCADKAKcAiEpIAMpApQCIYwFIAMpAowCIY4FIAMoAogCIQYgAygChAIhGCADKAKAAiEjIANB+AJqEKwMQSIhBwwGCyADQcAKahC7GyEGICEg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ADYCACAaIAspAgA3AgggGiAGKQIANwIoIBpBEGogC0EIaikCADcCACAaQRhqIAtBEGopAgA3AgAgGkEgaiALQRhqKQIANwIAIBpBMGogBkEIaikCADcCACAaQThqIAZBEGooAgA2AgAMBQsgFCgCxAIhBSAaQQhqIBRByAJqQTgQ+wYaIBogBTYCQCAaIAc2AgQgGkGIgMQANgIADAQLIBQoAsQCIQUgGkEIaiAUQcgCakE4EPsGGiAaIAU2AkAgGiAHNgIEDAILIBogFCkCrAI3AiggGkFAayAUQcQCaigCADYCACAaQThqIBRBvAJqKQIANwIAIBpBMGogFEG0AmopAgA3AgAgGkEkaiAHKAIANgIAIBpBHGogBikDADcCACAaQRRqIAspAwA3AgAgGiAUKQPIATcCDCAaIBU2AgggGiAFNgIEIBpBiIDEADYCACAUQUBrEOkiDAILIBogFCkCrAI3AiggGkFAayAUQcQCaigCADYCACAaQThqIBRBvAJqKQIANwIAIBpBMGogFEG0AmopAgA3AgAgGkEkaiAUQYACaigCADYCACAaQRxqIBRB+AFqKQMANwIAIBpBFGogFEHwAWopAwA3AgAgGiAUKQPoATcCDCAaIBA2AgggGiAFNgIEIBpBiIDEADYCAAwBCyAaQYiAxAA2AgAgFEEIahDpIgsgFEGAA2okACAbKAKgASEHIBtBMGoiBSAyQcAAEPsGGiAHQYiAxABHBEAgFyAZKQIANwIAIBdBEGogGUEQaigCADYCACAXQQhqIBlBCGopAgA3AgAgGyAHNgK4AiAdIAVBwAAQ+wYaIBtBDGogG0G4AmoQ9g4MAQsLIChBBGogG0EwakHAABD7BhoLIChBiYDEADYCACAbQQxqEN0mDAELIBtBADYCoAEgG0EIakHsosQAIBtBoAFqQcisxAAQ8RoACyAbQZADaiQAIANBgARqIg4gQEEIaikCADcDACADIEApAgA3A/gDIAMoAugEIR4gAygC1AQhKSADKQLMBCGMBSADKQLEBCGOBSADKALABCEGIAMoArwEIRggAygCuAQhIyADKAK0BCESIAMoArAEIQUgAygCrAQhByADKAKoBCIIQYmAxABGDQYgA0G4A2oiECAmQTAQ+wYaIANBgANqIgsgDikDADcDACADIAMpA/gDNwP4AkH0ABDpICIOICk2AiwgDiCMBTcCJCAOII4FNwIcIA4gBjYCGCAOIBg2AhQgDiAjNgIQIA4gEjYCDCAOIAU2AgggDiAHNgIEIA4gCDYCACAOIB42AkAgDiADKQP4AjcCMCAOQThqIAspAwA3AgAgDkHEAGogEEEwEPsGGiADQZQDakEHIA4Q3RgMEAsgA0H4A2oiBSADQZQDakEkEPsGGiADQQM2ArAKIANBqARqIANBoApqIAUgA0GwCmoQ3wMMCQsgA0H4A2oiBSADQZQDakEkEPsGGiADQQQ2ArAKIANBqARqIANBoApqIAUgA0GwCmoQ3wMMCAsgA0H4A2oiBSADQZQDakEkEPsGGiADQQU2ArAKIANBqARqIANBoApqIAUgA0GwCmoQ3wMMBwsgA0H4A2oiDiADQZQDakEkEPsGGiADQagEaiEJQQAhHUEAIegEQQAhOyMAQcACayIMJAACQAJAAkACfwJAAkACQAJAAkACQAJ/AkAgA0GgCmoiBBDBDEH7AEYEQCAMQRhqIAQoAgAiC0HYAGooAgA2AgAgDCALKQJQNwMQIAxBCGogDhDuFSALQdAAaiEKIAwoAggiCEEMRgRAIAxBtAFqIApBCGooAgAiBTYCACAMQagBaiAFNgIAIAwgCikCACKKBTcCrAEgDCCKBTcDoAEgDEEbNgL8ASAJIAQoAgQgBCgCCCAMQaABaiAMQfwBahCaDwwMCyAMIAwoAgwiBjYCJCAMIAg2AiACQCAIQQJPBEAgBBC3Hg0BIAxBtAFqIApBCGooAgA2AgAgDEGoAWogDEEYaigCADYCACAMIAwpAxA3A6ABIAwgCikCADcCrAEgDEEaNgL8ASAJIAQoAgQgBCgCCCAMQaABaiAMQfwBahCaDwwMCyAMQbQBaiAKQQhqKAIAIgU2AgAgDEGoAWogBTYCACAMIAopAgAiigU3AqwBIAwgigU3A6ABIAxBGzYC/AEgCSAEKAIEIAQoAgggDEGgAWogDEH8AWoQmg8MCwsgDEH8AWoiByAEEIEGIAxBGTYChAEgDEEFNgJoIAxBKGogByAMQegAaiAMQYQBahCTCSAKKAIAIgUgBCgCCCIQRwRAAkACQCAEEMEMQSxGBEAgBBC3Hg0BIAxBtAFqIApBCGooAgA2AgAgDEGoAWogDEEYaigCADYCACAMIAwpAxA3A6ABIAwgCikCADcCrAEgDEEaNgL8ASAJIAQoAgQgECAMQaABaiAHEJoPQQEhKUEBIRIMDAsgDCgCLCEPIAwoAigiBUEiRw0BQQEhO0EAIRJBAAwFCyAEEMEMIAwoAighHUH9AEYEQCAMKAIsIQ8gHUEiRgRAQQEhO0EBIegEQQAhEkEADAYLIAlBCGogDEEwakE4EPsGGiAJIA82AgQMCQsCQAJAIB1BIkYiEkUEQCAMQShqIgVBkKbEABD3DkUNASALLQBnDQIgCSAFQcAAEPsGGkEAIRIMCQsgDCgCLCEPDAULIAwoAiwhBSAJQQhqIAxBMGpBOBD7BhogCSAFNgIEDAkLIAwoAkQgDCgCSBDaKUEAIQ8MAwsgCUEIaiAMQTBqQTgQ+wYaIAkgDzYCBCAJIAU2AgAMCAsgDEG0AWogCkEIaigCADYCACAMQagBaiAMQRhqKAIANgIAIAwgDCkDEDcDoAEgDCAKKQIANwKsASAMQRo2AvwBIAkgBCgCBCAFIAxBoAFqIAxB/AFqEJoPQQAhHkEADAkLQaymxABBJEHQpsQAEPQXAAsgDEH8AWoiBSAEEIEGIAxBoAFqIAUgDEHoAGogDEGEAWoQkwkgDCgCpAEhHSAMKAKgASIFQSJHDQFBAiHoBEEBCyEpAkAgECAKKAIARwRAIAQQwQxB/QBGDQELIAxBtAFqIApBCGooAgA2AgAgDEGoAWogDEEYaigCADYCACAMIAwpAxA3A6ABIAwgCikCADcCrAEgDEEaNgL8ASAJIAQoAgQgECAMQaABaiAMQfwBahCaDwwGC0EBIUEgBBC3HkUNAiAEEMEMQT9HDQIgBBD4CBpBACFBDAILIAlBCGogDEGoAWpBOBD7BhogCSAdNgIEIAkgBTYCAAtBASEpDAMLIAxB9AFqIApBCGoiBygCADYCACAMQegBaiIFIAxBGGooAgA2AgAgDCAMKQMQNwPgASAMIAopAgA3AuwBIDsgDyAdTXJFBEAgDEEYNgL8ASAJIAQoAgQgECAMQeABaiAMQfwBahCaDwwDCyAMQbQBaiAHKAIANgIAIAxBkAJqIAUpAwA3AgAgDEGYAmogDEHwAWopAwA3AgAgDEGoAWoiByAIIAYQ3xEiBUEIaigCADYCACAMIAopAgA3AqwBIAwgBSkCADcDoAEgDCAMKQPgATcCiAJBCBDpICIFIAY2AgQgBSAINgIAIAxBrAJqIAcpAwA3AgAgDEG0AmogDEGwAWopAwA3AgAgDCBBOgC8AiAMIB02AoQCIAwgDzYCgAIgDCDoBDYC/AEgDCAFNgKgAiAMIAwpA6ABNwKkAiAOQQggDEH8AWoQhCoQ3RggCUEEaiAOQSQQ+wYaIAlBIjYCAAwGCyAJIB02AgALQQAhKUEAIRILIBJFIR4gKUULIB5yDQAgDCgCKEEiRg0AIAwoAkQgDCgCSBDaKQsgDEEgahDJCQsgDhDZJgsgDEHAAmokAAwGCyA6IANBoApqIgUQ6AogBRD4CBpBhICAgHgMCgsgA0H4A2oiDiADQZQDakEkEPsGGiADQagEaiEGIwBBgANrIgkkACAOIANBoApqIhAoAgAiBykCUDcCGCAOQSBqIAdB2ABqKAIANgIAIAlBIGogB0EQakHMosQAEL8dIAkoAiQhCwJAAkACQCAJKAIgIggoAggiBUUEQCAJQYGAgIB4NgKQAQwBCyAIIAVBAWsiBTYCCCAJQZABaiAIKAIEIAVB8ABsaiIKQfAAEPsGGgJAAkAgCSgCkAFBgICAgHhrDgIAAgELIAlB+ABqIApBFGopAgA3AwAgCUHwAGogCkEMaikCADcDACAJQYgBaiAHQdAAaiIFQQhqKAIANgIAIAkgCikCBDcDaCAJIAUpAgA3A4ABIAlBgAJqIgUgDkEkEPsGGiAJQRhqIAUQ/A0gCUHoAGoiBSAJKAIYIAkoAhwQ3RggCUEQaiAFEOciIAlCooCAgKABNwIoIAkgCSgCFDYCMCAJKAKQAUGCgICAeEgNAiAJQZABahDZJgwCCyAJQYACaiIFIApBJGpByAAQ+wYaIAlB2AJqIApB5ABqKQIANwMAIAlB0AJqIApB3ABqKQIANwMAIAkgCikCVDcDyAIgCUEVNgLkAiAGIBAoAgQgECgCCCAJQcgCaiAJQeQCahCaDyAFEIsYIAlBkAFqENkmIAsgCygCAEEBajYCACAOENkmDAILIAlBgAJqIgUgDkEkEPsGGiAJQQhqIAUQ/A0gCUEiNgIoIAkgCSkDCDcCLAsCQAJAIAgoAggiBUUEQCAJQYGAgIB4NgKQAQwBCyAIIAVBAWsiBTYCCCAJQZABaiAIKAIEIAVB8ABsaiIHQfAAEPsGGgJAAkAgCSgCkAFBgICAgHhrDgIBAgALIAlBgAJqIgUgB0EkakHIABD7BhogCUHYAmogB0HkAGopAgA3AwAgCUHQAmogB0HcAGopAgA3AwAgCSAHKQJUNwPIAiAJQRU2AuQCIAYgECgCBCAQKAIIIAlByAJqIAlB5AJqEJoPIAUQixggCUEsahDJCQwCC0Hl7OAAQShB3KLEABD0FwALIAYgCUEoakHAABD7BhoLIAsgCygCAEEBajYCAAJAAkAgCSgCkAFBgICAgHhrDgIBAgALIAlBkAFqENkmDAELIAlBkAFqELEeCyAJQYADaiQAIAMoArAEIRIgAygCrAQhBSADKAKoBCIHQSJHBEAgA0HoCmogLkEIaikCADcDACADIC4pAgA3A+AKIAMpAsgEIYwFIAMpAsAEIY4FIAMoArwEIQYgAygCuAQhGCADKAK0BCEjIAMoAtAEDAYLIAMgEjYCtAogAyAFNgKwCiADQagEaiEMIANBsApqIg4hB0EAISkjAEHgAWsiESQAIBFCBDcCNCARQgA3AiwgEUKAgICAwAA3AiQgEUEANgJAIBEgA0GgCmo2AjwgEUGoAWohHSARQaQBaiEEIBFB2ABqIQkgEUEwaiEKAkACQANAQdgAIR4CQAJAAn8CQAJAAn8CQAJAAkACQAJAAkACQCAHKAIAQQdrDgUDAAECAgQLQSghHgwCC0EwIR4MAQtBDCEeCyARQaABaiARQTxqIAcoAgQgHmoQ3gkgESgCoAEiBkEiRw0BCwJAAkACQCAHKAIAQQdrDgUABgEHAgoLIAcoAgQiBiAGKAIAQYiAxABGIghBAnRqIR4DQAJAIAhBAXFFBEAgEUGgAWogEUE8agJ/AkACQEECIB4oAgBBgIDEAGsiBiAGQQhPG0EGaw4CAAEECyAeKAIEQdgAagwBCyAeQRBqCxDeCSARKAKgASIPQSJGDQEgESkCrAEhigUgESgCpAEhCCARKAKoAQwHCyARQaABaiARQTxqIB5BCGoQ3gkgESgCoAEiD0EiRg0AIBEpAqwBIYoFIBEoAqQBIQggESgCqAEMBgsgEUGQAWoiBiAIIB4QyAsgESgCkAFBBEcEQCAdIBEpApABNwIAIB1BCGogEUGYAWopAgA3AgAgEUEIaiAGEPUPIBEgHjYCpAEgESAINgKgASARKAIMIR4gESgCCCEIIAogEUGgAWoQ7RIMAQsgEUGgAWogCCAeIBFBPGoQhR8gESgCoAEiD0EiRw0EIBEoAjgiBkEBayEIIBEoAjQgBkEYbGpBGGshHgNAIAhBf0YEQEEAIQgMCwsgHigCACIQQQJGDQogHkEEaigCACELIBFBkAFqIgYgHkEIahCDDyARKAKQAUEERwRAIBEgCDYCOCAdQQhqIBFBmAFqKQIANwIAIB0gESkCkAE3AgAgESAGEPUPIBEgCzYCpAEgESAQNgKgASARKAIEIR4gESgCACEIIAogEUGgAWoQ7RIMAgsgEUGgAWogECALIBFBPGoQhR8gESgCoAEiD0EiRwRAIBEgCDYCOCARKAKkASEIIBEpAqwBIYoFIBEoAqgBDAcFIB5BGGshHiAIQQFrIQgMAQsACwALAAsgBygCBCEIQQEhD0EADAYLIAcoAgQiBkEIaiIQKAIAIgtFDQcgBkEEaiIGKAIAIAtBuMzWABCvIyEIIBFBGGogBigCACAQKAIAQcjM1gAQrRlBAiEPIBEoAhghKSARKAIcDAULIAxBBGogEUGkAWpBPBD7BhogDCAGNgIADAkLIBEpAqwBIYoFIBEoAqQBIQggESgCqAELIQYgEUHkAGoiByARQbQBakEsEPsGGiAMQRRqIAdBLBD7BhogDCCKBTcCDCAMIAY2AgggDCAINgIEIAwgDzYCAAwHCyAHKAIEIQhBACEPQQAMAQsgBygCBCIGQQhqIhAoAgAiC0UNAiAGQQRqIgYoAgAgC0GYzNYAEK8jIQggEUEQaiAGKAIAIBAoAgBBqMzWABCtGUEDIQ8gESgCECEpIBEoAhQLIQYgEUHMAGoiCyAprSAGrUIghoQ3AgAgESAINgJIIBEgDzYCRCARQcQAahC7GyAEIBEpAkQ3AgAgBEEIaiALKQIANwIAIBEgBzYCoAEgEUEkaiARQaABahDuEiEHDAILIBEgCDYCOAsgEUGgAWogEUE8aiAHKAIAEOgiIBEoAqABIgdBIkcNASARKAIsIgdBAWshCCARKAIoIAdBFGxqQRRrIR4DQAJAAkAgCEF/RgRAQQAhCAwBCyAeQQRqKAIAIgdBBEcNAQsgDEEiNgIAIBEgCDYCLAwECyAeKAIAIQYgCSAeQQhqKQIANwIAIAlBCGogHkEQaigCADYCACARIAc2AlQgEUGQAWoiByARQdQAahDSCyARKAKQAUEERwRAIBEgCDYCLCAEQQhqIBFBmAFqKQIANwIAIAQgESkCkAE3AgAgBxC7GyEHIBEgBjYCoAEgEUEkaiARQaABahDuEgwCCyARQaABaiARQTxqIAYoAgAQ6CIgESgCoAEiB0EiRgRAIB5BFGshHiAIQQFrIQgMAQsLCyARIAg2AiwgDEEEaiARQaQBakE8EPsGGiAMIAc2AgAMAQsgDEEEaiARQaQBakE8EPsGGiAMIAc2AgALIBFBJGoQ+R8gEUHgAWokACADKAKoBCIHQSJGDQIgA0HoCmogLkEIaikCADcDACADIC4pAgA3A+AKIAMoAtAEISkgAykCyAQhjAUgAykCwAQhjgUgAygCvAQhBiADKAK4BCEYIAMoArQEISMgAygCsAQhEiADKAKsBCEFIAMoAuQEIR4gDhDJCQwGCyADQegKaiAOKQMANwMAIAMgAykD+AM3A+AKCyADQZQDahDZJiAHQSJHDQQMAQsgA0E4aiADQfgBakGgpcQAEL8dIAMoAjgiBygCBCEYIAMoAjwhCyAHQQQ2AgQgBygCCCEGIAdBADYCCCAHKAIAISMgB0EANgIAIAsgCygCAEEBajYCAAsgGCAGEO4cICMgGBD2KSADQfgBahDDByADKALoASILIAMoAuABRgRAIANB4AFqEPkWCyADKALkASALQQN0aiIGIBI2AgQgBiAFNgIAIAMgC0EBajYC6AEMBwsgAykCyAQhjAUgAykCwAQhjgUgAygCvAQhBiADKAK4BCEYIAMoArQEISMgAygCsAQhEiADKAKsBCEFIAMoAqgEIgdBIkYNAiADQegKaiAuQQhqKQIANwMAIAMgLikCADcD4AogAygC0AQLISkgAygC5AQhHgsgA0H4AGogA0HoCmopAwA3AwAgAyADKQPgCjcDcCADQfgBahDDBwwGCyADIIwFNwKwAyADII4FNwKoAyADIAY2AqQDIAMgGDYCoAMgAyAjNgKcAyADIBI2ApgDIAMgBTYClAMMAgsgA0GDgICAeDYCrARBg4CAgHgLIQYgA0HwA2oiByAuQQhqKQIANwMAIAMgLikCADcD6AMgAykCyAQhjgUgAykCwAQhjAUgAygCvAQhDiADKAK4BCEIIAMoArQEIRAgAygCsAQhCyADQZQDagJ/AkACQAJAAkACQEEEIAZB/v///wdqIgUgBUEETxtBAWsOBAECAwQAC0EgEOkgIhIgjgU3AhggEiCMBTcCECASIA42AgwgEiAINgIIIBIgEDYCBCASIAs2AgBBAgwEC0EcEOkgIhIgjgU+AhggEiCMBTcCECASIA42AgwgEiAINgIIIBIgEDYCBCASIAs2AgBBBAwDC0EYEOkgIhIgjAU3AhAgEiAONgIMIBIgCDYCCCASIBA2AgQgEiALNgIAQQMMAgtBHBDpICISII4FPgIYIBIgjAU3AhAgEiAONgIMIBIgCDYCCCASIBA2AgQgEiALNgIAQQYMAQsgAygC0AQhBUE4EOkgIhIgBTYCJCASII4FNwIcIBIgjAU3AhQgEiAONgIQIBIgCDYCDCASIBA2AgggEiALNgIEIBIgBjYCACASIAMpA+gDNwIoIBJBMGogBykDADcCAEEFCyASEN0YDAALAAsACwALIANB7AFqENgmIANB4AFqENkmIAMg7wQ2AqwEIAMg6wQ2AqgECyADQYADaiIQIANB+ABqKQMANwMAIAMgAykDcDcD+AIg6wQg6wQoAgAiC0EBazYCACALQQFGBEAgA0GoBGoQ+xcLIANB5ARqIBApAwA3AgAgAyApNgLYBCADIIwFNwPQBCADII4FNwPIBCADIAY2AsQEIAMgGDYCwAQgAyAjNgK8BCADIBI2ArgEIAMgBTYCtAQgAyAHNgKwBCADIA02AqwEIAMgAykD+AI3AtwEIAMgHjYC7AQggwJBBGohECADIC02AqgEIANBsARqIQsCQAJAAkACQAJAAkACQAJAAkACQAJAIC1BAXEEQCAHQSdHDQEggwJBgICAgHg2AgQggwIgBTYCCAwLC0EAIQUgA0EANgKoCiADQoCAgIAQNwKgCiADKAKwBCIGQSJHBEBBJCADQdQEaiAtQQFxIggbKAIAIQ1BICADQdAEaiAIGygCACEHAkACQAJAAkAgBkENaw4FAAEDAwIDC0EEIANBtARqIAgbIQUMAgtBBCADQbQEaiAIGyEFDAELQQQgA0G0BGogCBshBQsgAyAFNgKkAyADIAs2ApwDIAMgDTYCmAMgAyAHNgKUAyADQSggA0HYBGogCBs2AqADIANBnANqIQYgA0G4A2ogA0GUA2oiBRCxBiADKAKUAyADKAKYAxD2G0UEQCADQQA2AogCIANBATYC/AEgA0HIyNYANgL4ASADQgQ3AoACIANBoApqIg1BiPvCACADQfgBaiIIELUkDQsgCCAFELEGIANB+ANqIgcgCBDKAyAIEL4TIANBATYC/AEgA0GE+OAANgL4ASADQgE3AoQCIANBBTYC5AogAyADQeAKaiIFNgKAAiADIAc2AuAKAkAgDUGI+8IAIAgQtSQNACADQQE2AvwBIANB2MjWADYC+AEgA0IBNwKEAiADQeoANgLkCiADIAY2AuAKIAMgBTYCgAIgDUGI+8IAIAgQtSQNACADKAL4AyADKAL8AxDaKQwKCyADKAL4AyADKAL8AxDaKQwLCyADQbAKakH+AEHPABC1ECADQQA2AogCIANBATYC/AEgA0HIyNYANgL4ASADQgQ3AoACIANBoApqQYj7wgAgA0H4AWoQtSRFDQUMBgsgA0EANgKkAyADQRAgA0HABGogLUEBcSIFGzYCoAMgA0EoIANB2ARqIAUbNgKcAyADQQwgA0G8BGogBRsoAgA2ApgDIANBCCADQbgEaiAFGygCADYClAMgA0GcA2ohBiADQbgDaiADQZQDaiIFELEGIAMoApQDIAMoApgDEPYbRQRAIANBADYCiAIgA0EBNgL8ASADQcjI1gA2AvgBIANCBDcCgAIgA0GgCmoiDUGI+8IAIANB+AFqIggQtSQNCiAIIAUQsQYgA0H4A2oiByAIEMoDIAgQvhMgA0EBNgL8ASADQYT44AA2AvgBIANCATcChAIgA0EFNgLkCiADIANB4ApqIgU2AoACIAMgBzYC4AoCQCANQYj7wgAgCBC1JA0AIANBATYC/AEgA0HYyNYANgL4ASADQgE3AoQCIANB6wA2AuQKIAMgBjYC4AogAyAFNgKAAiANQYj7wgAgCBC1JA0AIAMoAvgDIAMoAvwDENopDAkLIAMoAvgDIAMoAvwDENopDAoLIANBsApqQf4AQc8AELUQIANBADYCiAIgA0EBNgL8ASADQcjI1gA2AvgBIANCBDcCgAIgA0GgCmpBiPvCACADQfgBahC1JEUNAQwCCyADQQA2AsADIANCgICAgBA3ArgDIANBADYCiAIgA0EBNgL8ASADQbSrwwA2AvgBIANCBDcCgAIgA0G4A2pBiPvCACADQfgBahC1JEUEQCAQIAMpArgDNwIAIBBBCGogA0HAA2ooAgA2AgAMCAsMCwsgA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgA0EFNgL8AyADIANB+ANqIg02AoACIAMgA0GwCmoiBzYC+AMgA0GgCmpBiPvCACADQfgBahC1JA0AIANBwApqIgUgA0G4A2oQygMgA0EBNgL8ASADQYT44AA2AvgBIANCATcChAIgA0EFNgL8AyADIA02AoACIAMgBTYC+AMCQCADQaAKakGI+8IAIANB+AFqELUkDQAgA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgA0EFNgL8AyADIA02AoACIAMgBzYC+AMgA0GgCmpBiPvCACADQfgBahC1JA0AIAMoAswDIgUEQCADQQA2AtgKIANCgICAgMAANwLQCiAFQRhsIRIgAygCyAMiGEEQaiEFA0AgEgRAIANBBTYC/AMgA0HkydYANgL4AyADQgQ3AoQEIANBBzYChAIgA0EHNgL8ASAYKAIUIQcgA0EHNgKUAiADQQc2AowCIAMgBTYCiAIgAyAFQQhrNgKAAiADIAVBDGs2AvgBIAMgB0EBazYC6AIgEkEYayESIBhBGGohGCAFQRhqIQUgAyADQfgBajYCgAQgAyADQegCajYCkAIgA0HgCmoiByADQfgDahDtCyADQdAKaiAHEOIVDAEFIANB+ANqIgUgAygC1AogAygC2ApBwvDgAEEBEOsDIANBBTYC5AogA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgAyAFNgLgCiADIANB4ApqNgKAAiADQaAKakGI+8IAIANB+AFqELUkIAMoAvgDIAMoAvwDENopIANB0ApqEMUVDQMLCwsgA0EBNgL8ASADQdjI1gA2AvgBIANCATcChAIgA0HrADYC/AMgAyAGNgL4AyADIANB+ANqNgKAAiADQaAKakGI+8IAIANB+AFqELUkRQ0CCyADKALACiADKALEChDaKQsgAygCsAogAygCtAoQ2ikMBgsgAygCwAogAygCxAoQ2ikgAygCsAogAygCtAoQ2ikMAwsgA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgA0EFNgL8AyADIANB+ANqIg02AoACIAMgA0GwCmoiBzYC+AMgA0GgCmpBiPvCACADQfgBahC1JA0AIANBwApqIgUgA0G4A2oQygMgA0EBNgL8ASADQYT44AA2AvgBIANCATcChAIgA0EFNgL8AyADIA02AoACIAMgBTYC+AMCQCADQaAKakGI+8IAIANB+AFqELUkDQAgA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgA0EFNgL8AyADIA02AoACIAMgBzYC+AMgA0GgCmpBiPvCACADQfgBahC1JA0AIAMoAswDIgUEQCADQQA2AtgKIANCgICAgMAANwLQCiAFQRhsIRIgAygCyAMiGEEQaiEFA0AgEgRAIANBBTYC/AMgA0HkydYANgL4AyADQgQ3AoQEIANBBzYChAIgA0EHNgL8ASAYKAIUIQcgA0EHNgKUAiADQQc2AowCIAMgBTYCiAIgAyAFQQhrNgKAAiADIAVBDGs2AvgBIAMgB0EBazYC6AIgEkEYayESIBhBGGohGCAFQRhqIQUgAyADQfgBajYCgAQgAyADQegCajYCkAIgA0HgCmoiByADQfgDahDtCyADQdAKaiAHEOIVDAEFIANB+ANqIgUgAygC1AogAygC2ApBwvDgAEEBEOsDIANBBTYC5AogA0ECNgL8ASADQcDN3wA2AvgBIANCATcChAIgAyAFNgLgCiADIANB4ApqNgKAAiADQaAKakGI+8IAIANB+AFqELUkIAMoAvgDIAMoAvwDENopIANB0ApqEMUVDQMLCwsgA0EBNgL8ASADQdjI1gA2AvgBIANCATcChAIgA0HqADYC/AMgAyAGNgL4AyADIANB+ANqNgKAAiADQaAKakGI+8IAIANB+AFqELUkRQ0CCyADKALACiADKALEChDaKQsgAygCsAogAygCtAoQ2ikMAwsgAygCwAogAygCxAoQ2ikgAygCsAogAygCtAoQ2ikLIANBuANqEL4TIBAgAykCoAo3AgAgEEEIaiADQagKaigCADYCAAsgAygCqAQhLQwBCyADQbgDahC+EwwCCwJAAkAgLUUNAAJAIAMoArAEIgVBImtBACAFQSNrQQdJGw4CAQACCyADKAK4BCIFQYSAgIB4SA0BIAUgAygCvAQQ2ikMAQsgC0EEQRwgCygCAEEiRhtqIgUoAgAgBUEEaigCABDaKQsggwJBADYCAAsCQCADLQC4ASIFQQNGIAVBAkZyDQAgAygCrAEiBSAFKAIAIgVBAWs2AgAgBUEBRw0AIPMEELQOCyADQfAKaiQADAELQfy94ABBNyADQfAAakGg+8IAQYC/4AAQxQ4ACyAfKAJIIgUgHygCTBDlHCAfKAJEIAUQ4ikCQCAfLQA0IgVBA0YgBUECRnINACAfKAIoIgUgBSgCACIFQQFrNgIAIAVBAUcNACAfQShqELQOCyAfKAJgRQ0BIAAgHykCYDcCACAAQQhqIB9B6ABqKQIANwIAIB9BwAFqJAAPCyAHIAsoAggQ4SkACyAfQQhqIB9B7ABqKAIANgIAIB8gHykCZDcDAEGc6+AAQSsgH0Go3dgAQdTe2AAQxQ4AC54DAgZ+BH8jAEEgayIKJAACQCACUCABQqp9U3INAEH/DyELIAFCtAJVDQAgCkEQaiABpyIJQQR0QbC3wQBqIgwpAwAgAiACeSIGhiIDEMQOIAopAxAhBSAKQRhqKQMAIgJC/wODQv8DUQRAIAogDCkDCCADEMQOIAIgCkEIaikDACICIAV8IgUgAlStfCECCyAFQn9SIAFCG3xC0wBUckUEQEF/IQsMAQsgAiACQj+IIgdCCXwiCIghAyAHpyAJQeqkDWxBEHUgBqdrakE/aiIJQYJ4TgRAQYAIQf8HIANC/P////////8AgyADIAMgCIYgAlEbIAMgA0IDg0IBURsgAyAFQgJUGyADIAFCBHxCHFQbIgFCAYMgAXwiAUL/////////H1YiDBsgCWoiCUH+D0sNAUIAIAFCAYhC//////////f/AIMgDBshBCAJIQsMAQtBACELIAlBw3dJDQAgA0ECIAlrQT9xrYgiAUIBgyABfCIBQv////////8PViELIAFCAYghBAsgACALNgIIIAAgBDcDACAKQSBqJAALjAQBAn8jAEEwayICJAACfwJAAkACQAJAAkACQAJAIAAoAgAiAC0AAEEBaw4DAAECAwsgAiAAKAIENgIsIAJBATYCGCACQdDNwwA2AhQgAkIBNwIgIAJBBzYCBCACIAI2AhwgAiACQSxqNgIAIAEoAhQgASgCGCACQRRqELUkDAYLIAIgACgCBDYCLCACQQI2AhggAkH4zcMANgIUIAJCATcCICACQQc2AgQgAiACNgIcIAIgAkEsajYCACABKAIUIAEoAhggAkEUahC1JAwFCyAAKAIEQQFrDgICAwELIAAtAAEhAyACIAAoAgQ2AiwgAkECNgIYIAJBpM3DADYCFCACQgI3AiAgAkEHNgIMIAJBpwE2AgQgAiADOgATIAIgAjYCHCACIAJBLGo2AgggAiACQRNqNgIAIAEoAhQgASgCGCACQRRq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AEG4AWogAUEIaiIKLwAAOwAAEMkgIQsQySAhDCAFQYACEP8UIAUpAwAhDUEYQQQQqyAiB0EANgIUIAcgDTcCDCAHQQA2AgggB0KBgICAEDcCACAGEMAVQRxBBBCrICIGQoGAgIAQNwIAIAYgBSkCCDcCCCAGQRBqIAVBEGopAgA3AgAgBkEYaiAFQRhqKAIANgIAIABBrMDgADYC8AEgACAENgLsASAAQgA3AgQgACAEQQBHNgIAIAAgCDYC9AEgACACOgCfAiAAIAMpAgA3AsABIABByAFqIANBCGopAgA3AgAgAEHQAWogCSkCADcCACAAQdgBaiADQRhqKAIANgIAIAAgASkAADcA+AEgAEGAAmogCi8AADsAACAAIAY2AugBIAAgBzYC5AEgACAMNgLgASAAIAs2AtwBIAVBkAFqJAALvwsCC38CfiMAQeAAayIDJAACQCAALQA8RQRAIAAtAChFDQELIANBADsANSADQRhqQcig4wApAwAiDTcDACADQShqIA03AwAgA0HAoOMAKQMAIg03AxAgAyAANgIwIAMgAC0AODoANCADIA03AyAgAyABKAIEIgQgASgCCEE4bGo2AjwgAyAENgI4IAMgA0EQajYCQCADQThqELsNIgQEfyADQQhqQQRBBEEEEPsUIAMoAgghBSADKAIMIgIgBDYCACADQQE2AkwgAyACNgJIIAMgBTYCRCADQdgAaiADQUBrKAIANgIAIAMgAykCODcDUEEEIQRBASEFA0AgA0HQAGoQuw0iBgRAIAMoAkQgBUYEQCADQcQAaiAFQQFBBEEEELcXIAMoAkghAgsgAiAEaiAGNgIAIAMgBUEBaiIFNgJMIARBBGohBAwBCwsgAygCRCECIAMoAkgFQQQLIQQgBUECdCEGQQAhBQNAIAUgBkcEQCAEIAVqKAIAIANBEGoQhwcgBUEEaiEFDAELCyACIARBBEEEENQiIANBEGoQgCkLIwBBQGoiBCQAIABBEGohCyAAQSxqIQggASgCBCIFIAEoAghBOGxqIQwgBEEsaiEJIARBEGohCgNAAkACQCAMIAUiAUcEQCABQThqIQUgASgCACICQQlHBEACQAJAAkACQAJAAkACQAJAAkAgAkEBaw4IAQIDBAUGBwgACyAAQQA6ADkgAC0AOiEHIAAgAS0AIDoAOiABKAIMQcgAbCEG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IAEoAhggAkEYahC1JCEECyACQTBqJAAgBA8LQZqF2ABBDhD+KgAL1wIBDn8gA0EcbCEDIAEtABUhDCABLQAUIQ0gAS0AEyEOIAEtABIhDyABLQARIRAgAS0AECERQQIhBUECIQZBAiEHQQIhCEECIQlBAiEKQQEhCwNAIAMEQCALIQRBACELAkACQAJAAkACQAJAAkACQCACLQAYQQFrDgcBAgMEBQYHAAsgBEEBcSEFDAULIARBAXEhBgwECyAEQQFxIQcMAwsgBEEBcSEIDAILIARBAXEhCQwBCyAEQQFxIQoLIAQhCwsgAkEcaiECIANBHGshAwwBCwsgACAMOgAFIAAgDToABCAAIA46AAMgACAPOgACIAAgEDoAASAAIBE6AAAgASAMIAogCkECRhs6ABUgASANIAkgCUECRhs6ABQgASAOIAggCEECRhs6ABMgASAPIAcgB0ECRhs6ABIgASAQIAYgBkECRhs6ABEgASARIAUgBUECRhs6ABAL7AIBAn8jAEGQAWsiAiQAIAJBADsAEiACIAEtALACOgARIAIgASgBqgI2AAsgAiABLwGuAjsADyACIAEpALMCNwAUIAIgASkAuwI3ABwgAiABKADDAjYAJCACQeUAaiABQb8CaikAADcAACACQeAAaiABQboCaikBADcCACACQdgAaiABQbICaikBADcCACACIAEpAaoCNwJQIAFBKGogAkELahDSCCACIAE2AkwgAkEoaiABQQAQngQgAigCKCEBAkAgAi0APCIDQQJHBEAgAkH8AGogAkE0aikCADcCACACQYwBaiACQcQAaigAADYAACACIAIpAiw3AnQgAiACKQA9NwCFASACIAE2AnAgACACKQNwNwMAIABBCGogAkH4AGopAwA3AwAgAiADOgCEASAAQRBqIAJBgAFqKQMANwMAIAJBiAFqEPkmDAELIABBAjoAFCAAIAE2AgALIAJBzABqEIclIAJBkAFqJAAL7QIBAn8jAEGQAWsiAiQAIAJBADsAEiACIAEtAIgDOgARIAIgASgBggM2AAsgAiABLwGGAzsADyACIAEpAIsDNwAUIAIgASkAkwM3ABwgAiABKACbAzYAJCACQeUAaiABQZcDaikAADcAACACQeAAaiABQZIDaikBADcCACACQdgAaiABQYoDaikBADcCACACIAEpAYIDNwJQIAFBgAFqIAJBC2oQyQggAiABNgJMIAJBKGogAUEAEKAEIAIoAighAQJAIAItADwiA0ECRwRAIAJB/ABqIAJBNGopAgA3AgAgAkGMAWogAkHEAGooAAA2AAAgAiACKQIsNwJ0IAIgAikAPTcAhQEgAiABNgJwIAAgAikDcDcDACAAQQhqIAJB+ABqKQMANwMAIAIgAzoAhAEgAEEQaiACQYABaikDADcDACACQYgBahD5JgwBCyAAQQI6ABQgACABNgIACyACQcwAahCjJiACQZABaiQAC+gCAgF/AX4jAEEgayIDJAAgA0EQaiACIAEQ5SBBABDVAQJAAkAgAy0AEEEERwRAIAMpAxAiBEL/AYNCBFINAQsCQAJAIAEtABRBAkYEQCADQRBqIAIgASgCACIBKAIQQQAQ1QECQCADLQAQQQRHBEAgAykDECIEQv8Bg0IEUg0BCyADQRBqIAFBGGogAhDbBiADLQAQQQRHBEAgAykDECIEQv8Bg0IEUg0BCyADQQA2AhAgA0EIaiACIANBEGpBg7bgAEEBELITIAMtAAhBBEcEQCADKQMIIgRC/wGDQgRSDQELIANBEGogASACEJYTIAMtABBBBEYNAiADKQMQIgRC/wGDQgRRDQILIARC/wGDQgRRDQEgACAENwIADAQLIANBEGogASACEOQSIAMtABBBBEYNACADKQMQIgRC/wGDQgRSDQELIABBBDoAAAwCCyAAIAQ3AgAMAQsgACAENwIACyADQSBqJAAL3AICBn8DfiMAQTBrIgMkAAJAAkAgAgRAIAEoAgghBCABKAIEIQUgAkH//wNLDQEgBEECdCEEIAVBBGshBkEAIQUDQCAERQ0DIANBEGogBUEQdCAEIAZqIgcoAgAiBUEQdnIgAhDrHCADKAIQIQggA0EIaiAFQf//A3EgAygCFEEQdHIgAhDrHCADKAIMIQUgByADKAIIIAhBEHRyNgIAIARBBGshBAwACwALIANBADYCKCADQQE2AhwgA0Hkq8IANgIYIANCBDcCICADQRhqQeyrwgAQwx0ACyAEQQJ0IQQgBUEEayEGIAKtIQlBACEFA0AgBEUNASAEIAZqIgIgAjUCACAFrUIghoQiCiAJgCILPgIAIAogCSALfn2nIQUgBEEEayEEDAALAAsgA0EgaiABQQhqKAIANgIAIAMgASkC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QTBqEIUXDAULIABBCGopAwAQ+RogAEEgahCFFwwECyAAQQhqEJ0WIABBPGoQ6yYgAEFAaxDqJiAAQTBqEO4mDAMLIABBCGopAwAQ+RogAEEkahDrJiAAQShqEOomIABBLGoQ7iYMAgsgAEEEahDUKAwBCyAAQQRqEOkmCyACQQFrIQIgAEHYAGohAAwBCwsLygICBH8BfiMAQUBqIgIkAAJAAkACQCABKAIAIgQgASgCBEYNACABIARBGGo2AgACQCABKAIQIgMgASgCFEYNACABIANBCmo2AhAgAy0AACIFQQJGDQAgAkEoaiADQQlqLQAAOgAAIAIgAykAATcDIAwCCyABIAEoAgwiBTYCFCABIAEoAggiAzYCECADIAVGDQAgASADQQpqNgIQIAJBKGogA0EJai0AADoAACACIAMpAAE3AyAgAy0AACIFQQJHDQELIABBgYCAgHg2AgAMAQsgAkEYaiACQShqLQAAOgAAIAIgAikDICIGNwMQIAJBLGogAigAFzYAACACIAU6ACQgAiAENgIgIAIgBjcAJSACQQhqIAQQ9x8gAkE0aiIBIAIoAgggAigCDBDJISAAIAEgBCgCDCAEKAIQIAJBJGoQtQULIAJBQGskAAvxRQEHfyMAQTBrIgUkAAJAAkACQAJAAkACQCABLQAIQbgBRgRAIAEoAhAhAyABKAIMIQQgASgCHCEGIAEoAhghByAFIAEoAhQiCCgCACACELsHIAAgBSAEIAMgByAGEJ4OIgIpAgA3AgAgAEEIaiACQQhqKAIANgIAIAgQ3CsgAS0ACEG4AUcNAQwFCyABKAIEIQcgASgCACEIIAUgARCuHCAFQRhqIQMgBSEBIwBB0ABrIgQkAAJAAkACfwJAAkACQAJAAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQQFrDroBAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wwQExMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBugEACyADQQ42AgggA0HsvtkANgIEIANBgICAgHg2AgAMwQELIANBGjYCCCADQeG/2QA2AgQgA0GAgICAeDYCAAzAAQsgA0EgNgIIIANB+7/ZADYCBCADQYCAgIB4NgIADL8BCyADQS82AgggA0GbwNkANgIEIANBgICAgHg2AgAMvgELIANB0wA2AgggA0HKwNkANgIEIANBgICAgHg2AgAMvQELIANBKTYCCCADQZ3B2QA2AgQgA0GAgICAeDYCAAy8AQsgA0EmNgIIIANBxsHZADYCBCADQYCAgIB4NgIADLsBCyADQSo2AgggA0HswdkANgIEIANBgICAgHg2AgAMugELIANBETYCCCADQZbC2QA2AgQgA0GAgICAeDYCAAy5AQsgA0EXNgIIIANBp8LZADYCBCADQYCAgIB4NgIADLgBCyADQSw2AgggA0G+wtkANgIEIANBgICAgHg2AgAMtwELIANB4gA2AgggA0HqwtkANgIEIANBgICAgHg2AgAMtgELIANBGjYCCCADQczD2QA2AgQgA0GAgICAeDYCAAy1AQsgA0ElNgIIIANB5sPZADYCBCADQYCAgIB4NgIADLQBCyADQRw2AgggA0GLxNkANgIEIANBgICAgHg2AgAMswELIANBJzYCCCADQafE2QA2AgQgA0GAgICAeDYCAAyyAQsgA0EnNgIIIANBzsTZADYCBCADQYCAgIB4NgIADLEBCyADQSc2AgggA0H1xNkANgIEIANBgICAgHg2AgAMsAELIANBMDYCCCADQZzF2QA2AgQgA0GAgICAeDYCAAyvAQsgA0EpNgIIIANBzMXZADYCBCADQYCAgIB4NgIADK4BCyADQTU2AgggA0H1xdkANgIEIANBgICAgHg2AgAMrQELIANBMzYCCCADQarG2QA2AgQgA0GAgICAeDYCAAysAQsgA0EfNgIIIANB3cbZADYCBCADQYCAgIB4NgIADKsBCyABLQABQQJrIgFBB3QgAUH+AXFBAXZyQf8BcQ4IpAGjAaMBpQGmAaMBowGnAaMBCyADQSg2AgggA0HUx9kANgIEIANBgICAgHg2AgAMqQELIANBJTYCCCADQfzH2QA2AgQgA0GAgICAeDYCAAyoAQsgA0EaNgIIIANBocjZADYCBCADQYCAgIB4NgIADKcBCyADQRw2AgggA0G7yNkANgIEIANBgICAgHg2AgAMpgELIANBFzYCCCADQdfI2QA2AgQgA0GAgICAeDYCAAylAQsgBCABQQhqNgIgIARBATYCPCAEQZzJ2QA2AjggBEIBNwJEIARB2AM2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAykAQsgA0EbNgIIIANBpMnZADYCBCADQYCAgIB4NgIADKMBCyADQRU2AgggA0G/ydkANgIEIANBgICAgHg2AgAMogELIANBHzYCCCADQdTJ2QA2AgQgA0GAgICAeDYCAAyhAQsgBCABQQRqNgIgIARBATYCPCAEQYjK2QA2AjggBEIBNwJEIARB8AQ2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAygAQsgA0EVNgIIIANBkMrZADYCBCADQYCAgIB4NgIADJ8BCyADQRY2AgggA0GlytkANgIEIANBgICAgHg2AgAMngELIAQgAUEEajYCICAEQQE2AjwgBEHkytkANgI4IARCATcCRCAEQQg2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAydAQsgA0EmNgIIIANB7MrZADYCBCADQYCAgIB4NgIADJwBCyADQS02AgggA0GSy9kANgIEIANBgICAgHg2AgAMmwELIAQgAUEIajYCICAEQQI2AjwgBEHwy9kANgI4IARCATcCRCAEQdgDNgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMmgELIANBOzYCCCADQYDM2QA2AgQgA0GAgICAeDYCAAyZAQsgA0HMADYCCCADQbvM2QA2AgQgA0GAgICAeDYCAAyYAQsgA0E6NgIIIANBh83ZADYCBCADQYCAgIB4NgIADJcBCyADQcoANgIIIANBwc3ZADYCBCADQYCAgIB4NgIADJYBCyADQTE2AgggA0GLztkANgIEIANBgICAgHg2AgAMlQELIANBFDYCCCADQbzO2QA2AgQgA0GAgICAeDYCAAyUAQsgA0EfNgIIIANB0M7ZADYCBCADQYCAgIB4NgIADJMBCyADQTI2AgggA0HvztkANgIEIANBgICAgHg2AgAMkgELIAQgAUEMajYCDCAEIAFBBGo2AiAgBEECNgI8IARBwM/ZADYCOCAEQgI3AkQgBEEINgIcIARBDTYCFCAEIARBEGo2AkAgBCAEQSBqNgIYIAQgBEEMajYCECAEQSxqIARBOGoQihUgA0EIaiAEQTRqKAIANgIAIAMgBCkCLDcCAAyRAQsgA0EeNgIIIANBlNDZADYCBCADQYCAgIB4NgIADJABCyADQSU2AgggA0Gy0NkANgIEIANBgICAgHg2AgAMjwELIAQgAUEEajYCDCAEIAFBCGo2AiAgBEEDNgI8IARB7NDZADYCOCAEQgI3AkQgBEENNgIcIARBtgI2AhQgBCAEQRBqNgJAIAQgBEEgajYCGCAEIARBDGo2AhAgBEEsaiAEQThqEIoVIANBCGogBEE0aigCADYCACADIAQpAiw3AgAMjgELIANBGjYCCCADQYTR2QA2AgQgA0GAgICAeDYCAAyNAQsgA0HVADYCCCADQZ7R2QA2AgQgA0GAgICAeDYCAAyMAQsgA0EyNgIIIANB89HZADYCBCADQYCAgIB4NgIADIsBCyADQdIANgIIIANBpdLZADYCBCADQYCAgIB4NgIADIoBCyADQSw2AgggA0H30tkANgIEIANBgICAgHg2AgAMiQELIANBMzYCCCADQaPT2QA2AgQgA0GAgICAeDYCAAyIAQsgA0EiNgIIIANB1tPZADYCBCADQYCAgIB4NgIADIcBCyADQTc2AgggA0H409kANgIEIANBgICAgHg2AgAMhgELIANBKDYCCCADQa/U2QA2AgQgA0GAgICAeDYCAAyFAQsgA0ENNgIIIANB19TZADYCBCADQYCAgIB4NgIADIQBCyADQRE2AgggA0Hk1NkANgIEIANBgICAgHg2AgAMgwELIANBFTYCCCADQfXU2QA2AgQgA0GAgICAeDYCAAyCAQsgA0EZNgIIIANBitXZADYCBCADQYCAgIB4NgIADIEBCyADQQ42AgggA0Gj1dkANgIEIANBgICAgHg2AgAMgAELIANBGjYCCCADQbHV2QA2AgQgA0GAgICAeDYCAAx/CyAEIAFBCGo2AiAgBEECNgI8IARB6NXZADYCOCAEQgE3AkQgBEHYAzYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCKFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADH4LIANBJTYCCCADQfjV2QA2AgQgA0GAgICAeDYCAAx9CyADQS02AgggA0Gd1tkANgIEIANBgICAgHg2AgAMfAsgA0E8NgIIIANBytbZADYCBCADQYCAgIB4NgIADHsLIANBNDYCCCADQYbX2QA2AgQgA0GAgICAeDYCAAx6CyADQSs2AgggA0G619kANgIEIANBgICAgHg2AgAMeQsgA0EtNgIIIANB5dfZADYCBCADQYCAgIB4NgIADHgLIANBJDYCCCADQZLY2QA2AgQgA0GAgICAeDYCAAx3CyADQR02AgggA0G22NkANgIEIANBgICAgHg2AgAMdgsgA0EoNgIIIANB09jZADYCBCADQYCAgIB4NgIADHULIANBLjYCCCADQfvY2QA2AgQgA0GAgICAeDYCAAx0CyADQSo2AgggA0Gp2dkANgIEIANBgICAgHg2AgAMcwsgA0E2NgIIIANB09nZADYCBCADQYCAgIB4NgIADHILIANBPjYCCCADQYna2QA2AgQgA0GAgICAeDYCAAxxCyADQTM2AgggA0HH2tkANgIEIANBgICAgHg2AgAMcAsgA0EpNgIIIANB+trZADYCBCADQYCAgIB4NgIADG8LIANBGTYCCCADQaPb2QA2AgQgA0GAgICAeDYCAAxuCyADQTs2AgggA0G829kANgIEIANBgICAgHg2AgAMbQsgA0E9NgIIIANB99vZADYCBCADQYCAgIB4NgIADGwLIANBLTYCCCADQbTc2QA2AgQgA0GAgICAeDYCAAxrCyAEIAFBCGo2AiAgBEECNgI8IARBkN3ZADYCOCAEQgE3AkQgBEHYAzYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCKFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADGoLIANBOjYCCCADQaDd2QA2AgQgA0GAgICAeDYCAAxpCyADQfAANgIIIANB2t3ZADYCBCADQYCAgIB4NgIADGgLIANBNTYCCCADQcre2QA2AgQgA0GAgICAeDYCAAxnCyADQckANgIIIANB/97ZADYCBCADQYCAgIB4NgIADGYLIANBKTYCCCADQcjf2QA2AgQgA0GAgICAeDYCAAxlCyADQSY2AgggA0Hx39kANgIEIANBgICAgHg2AgAMZAsgA0E7NgIIIANBl+DZADYCBCADQYCAgIB4NgIADGMLIANBODYCCCADQdLg2QA2AgQgA0GAgICAeDYCAAxiCyAEIAFBCGo2AiAgBEECNgI8IARBwOHZADYCOCAEQgE3AkQgBEHYAzYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCKFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADGELIANBJzYCCCADQdDh2QA2AgQgA0GAgICAeDYCAAxgCyADQRs2AgggA0H34dkANgIEIANBgICAgHg2AgAMXwsgA0EhNgIIIANBkuLZADYCBCADQYCAgIB4NgIADF4LIANBJTYCCCADQbPi2QA2AgQgA0GAgICAeDYCAAxdCyADQc4ANgIIIANB2OLZADYCBCADQYCAgIB4NgIADFwLIANBHTYCCCADQabj2QA2AgQgA0GAgICAeDYCAAxbCyADQTk2AgggA0HD49kANgIEIANBgICAgHg2AgAMWgsgA0E5NgIIIANB/OPZADYCBCADQYCAgIB4NgIADFkLIANBOTYCCCADQbXk2QA2AgQgA0GAgICAeDYCAAxYCyADQS42AgggA0Hu5NkANgIEIANBgICAgHg2AgAMVwsgBCABQQhqNgIgIARBAjYCPCAEQcTl2QA2AjggBEIBNwJEIARB2AM2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAxWCyADQT82AgggA0HU5dkANgIEIANBgICAgHg2AgAMVQsgA0E2NgIIIANBk+bZADYCBCADQYCAgIB4NgIADFQLIAQgAUEIajYCICAEQQI2AjwgBEGo59kANgI4IARCATcCRCAEQdgDNgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMUwsgA0HGADYCCCADQbjn2QA2AgQgA0GAgICAeDYCAAxSCyADQSg2AgggA0H+59kANgIEIANBgICAgHg2AgAMUQsgBCABQQRqNgIgIARBAjYCPCAEQczo2QA2AjggBEIBNwJEIARBiQU2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAxQCyADQSE2AgggA0Hc6NkANgIEIANBgICAgHg2AgAMTwsgA0EWNgIIIANB/ejZADYCBCADQYCAgIB4NgIADE4LIANBFDYCCCADQZPp2QA2AgQgA0GAgICAeDYCAAxNCyADQR02AgggA0Gn6dkANgIEIANBgICAgHg2AgAMTAsgA0ExNgIIIANBxOnZADYCBCADQYCAgIB4NgIADEsLIANBMzYCCCADQfXp2QA2AgQgA0GAgICAeDYCAAxKCyAEIAFBCGo2AgwgBCABQRBqNgIgIARBAzYCPCAEQczq2QA2AjggBEICNwJEIARB2AM2AhwgBEHYAzYCFCAEIARBEGo2AkAgBCAEQSBqNgIYIAQgBEEMajYCECAEQSxqIARBOGoQihUgA0EIaiAEQTRqKAIANgIAIAMgBCkCLDcCAAxJCyAEIAFBCGo2AiAgBEECNgI8IARB/OrZADYCOCAEQgE3AkQgBEHYAzYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCKFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADEgLIANBPzYCCCADQYzr2QA2AgQgA0GAgICAeDYCAAxHCyADQcUANgIIIANBy+vZADYCBCADQYCAgIB4NgIADEYLIANBJDYCCCADQZDs2QA2AgQgA0GAgICAeDYCAAxFCyADQSM2AgggA0G07NkANgIEIANBgICAgHg2AgAMRAsgA0ErNgIIIANB1+zZADYCBCADQYCAgIB4NgIADEMLIANBODYCCCADQYLt2QA2AgQgA0GAgICAeDYCAAxCCyADQc4ANgIIIANBuu3ZADYCBCADQYCAgIB4NgIADEELIAQgAUEIajYCICAEQQI2AjwgBEHA7tkANgI4IARCATcCRCAEQdgDNgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMQAsgA0E6NgIIIANB0O7ZADYCBCADQYCAgIB4NgIADD8LIANBMjYCCCADQYrv2QA2AgQgA0GAgICAeDYCAAw+CyADQSM2AgggA0G879kANgIEIANBgICAgHg2AgAMPQsgA0EpNgIIIANB3+/ZADYCBCADQYCAgIB4NgIADDwLIANBOTYCCCADQYjw2QA2AgQgA0GAgICAeDYCAAw7CyADQdYANgIIIANBwfDZADYCBCADQYCAgIB4NgIADDoLIANBPzYCCCADQZfx2QA2AgQgA0GAgICAeDYCAAw5CyADQSo2AgggA0HW8dkANgIEIANBgICAgHg2AgAMOAsgA0ETNgIIIANBgPLZADYCBCADQYCAgIB4NgIADDcLIANBDTYCCCADQZPy2QA2AgQgA0GAgICAeDYCAAw2CyADQQ82AgggA0Gg8tkANgIEIANBgICAgHg2AgAMNQsgA0HTADYCCCADQa/y2QA2AgQgA0GAgICAeDYCAAw0CyADQcYANgIIIANBgvPZADYCBCADQYCAgIB4NgIADDMLIANBKTYCCCADQcjz2QA2AgQgA0GAgICAeDYCAAwyCyADQTI2AgggA0Hx89kANgIEIANBgICAgHg2AgAMMQsgA0EsNgIIIANBo/TZADYCBCADQYCAgIB4NgIADDALIANBMDYCCCADQc/02QA2AgQgA0GAgICAeDYCAAwvCyADQT02AgggA0H/9NkANgIEIANBgICAgHg2AgAMLgsgA0EeNgIIIANBvPXZADYCBCADQYCAgIB4NgIADC0LIANBMjYCCCADQdr12QA2AgQgA0GAgICAeDYCAAwsCyADQSY2AgggA0GM9tkANgIEIANBgICAgHg2AgAMKwsgA0EgNgIIIANBsvbZADYCBCADQYCAgIB4NgIADCoLIANBODYCCCADQdL22QA2AgQgA0GAgICAeDYCAAwpCyADQRw2AgggA0GK99kANgIEIANBgICAgHg2AgAMKAsgA0EiNgIIIANBpvfZADYCBCADQYCAgIB4NgIADCcLIANBOjYCCCADQcj32QA2AgQgA0GAgICAeDYCAAwmCyADQTM2AgggA0GC+NkANgIEIANBgICAgHg2AgAMJQsgA0HEADYCCCADQbX42QA2AgQgA0GAgICAeDYCAAwkCyAEIAFBCGo2AgwgBCABQRBqNgIgIARBAzYCPCAEQZz52QA2AjggBEICNwJEIARB2AM2AhwgBEHYAzYCFCAEIARBEGo2AkAgBCAEQSBqNgIYIAQgBEEMajYCECAEQSxqIARBOGoQihUgA0EIaiAEQTRqKAIANgIAIAMgBCkCLDcCAAwjCyADQTo2AgggA0G0+dkANgIEIANBgICAgHg2AgAMIgsgA0EuNgIIIANB7vnZADYCBCADQYCAgIB4NgIADCELIANBLTYCCCADQZz62QA2AgQgA0GAgICAeDYCAAwgCyAEIAFBCGo2AiAgBEECNgI8IARB+PrZADYCOCAEQgE3AkQgBEHYAzYCMCAEIARBLGo2AkAgBCAEQSBqNgIsIARBEGogBEE4ahCKFSADQQhqIARBGGooAgA2AgAgAyAEKQIQNwIADB8LIAQgAUEIajYCICAEQQI2AjwgBEHc+9kANgI4IARCATcCRCAEQdgDNgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMHgsgBCABQQhqNgIgIARBAjYCPCAEQbz82QA2AjggBEIBNwJEIARB2AM2AjAgBCAEQSxqNgJAIAQgBEEgajYCLCAEQRBqIARBOGoQihUgA0EIaiAEQRhqKAIANgIAIAMgBCkCEDcCAAwdCyADQegANgIIIANBzPzZADYCBCADQYCAgIB4NgIADBwLIANB6AA2AgggA0G0/dkANgIEIANBgICAgHg2AgAMGwsgA0HEADYCCCADQZz+2QA2AgQgA0GAgICAeDYCAAwaCyADQdMANgIIIANB4P7ZADYCBCADQYCAgIB4NgIADBkLIANB1wA2AgggA0Gz/9kANgIEIANBgICAgHg2AgAMGAsgA0HaADYCCCADQYqA2gA2AgQgA0GAgICAeDYCAAwXCyADQRI2AgggA0HkgNoANgIEIANBgICAgHg2AgAMFgsgA0EZNgIIIANB9oDaADYCBCADQYCAgIB4NgIADBULIANBKTYCCCADQY+B2gA2AgQgA0GAgICAeDYCAAwUCyADQckANgIIIANBuIHaADYCBCADQYCAgIB4NgIADBMLIANBzgA2AgggA0GBgtoANgIEIANBgICAgHg2AgAMEgsgA0HXADYCCCADQc+C2gA2AgQgA0GAgICAeDYCAAwRCyADQT42AgggA0Gmg9oANgIEIANBgICAgHg2AgAMEAsgA0HqADYCCCADQeSD2gA2AgQgA0GAgICAeDYCAAwPCyADQeEANgIIIANBzoTaADYCBCADQYCAgIB4NgIADA4LIANBwwA2AgggA0GvhdoANgIEIANBgICAgHg2AgAMDQsgA0E1NgIIIANB8oXaADYCBCADQYCAgIB4NgIADAwLIAQgAUEIajYCICAEQQI2AjwgBEHkhtoANgI4IARCATcCRCAEQdgDNgIwIAQgBEEsajYCQCAEIARBIGo2AiwgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMCwsgASgCDCgCAEEIaiEBDAELCyADQeEANgIIIANB9IbaADYCBCADQYCAgIB4NgIADAgLIANB7gA2AgggA0HVh9oANgIEIANBgICAgHg2AgAMBwtB5ezgAEEoQcTH2QAQ9BcACyAEQfzG2QA2AixBCAwDCyAEQYTH2QA2AixBCAwCCyAEQYzH2QA2AixBCQwBCyAEQZXH2QA2AixBDQshASAEQQI2AiQgBCABNgIwIARBAjYCPCAEQbTH2QA2AjggBEIBNwJEIAQgBEEsajYCICAEIARBIGo2AkAgBEEQaiAEQThqEIoVIANBCGogBEEYaigCADYCACADIAQpAhA3AgAMAQsCQCABKAIMIgZBA08EQCAEQSxqIgkgASgCCCIBIAZBAWsiBkHQz9kAQQMQ4wMgBEEBNgI8IARB2M/ZADYCOCAEQgE3AkQgBEECNgIkIAQgASAGQQN0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AEHIABCEKwAL1QIBCn8jAEEwayICJAAgASgCgAYhBSACQRBqIAFBpANqIgQgASgC/AUiB0EAIAIQvRUgASgCuAMhCCABKAK0AyEJIAIoAhQhBiACKAIQIQoDQCACQQhqIAQgBSADIAsQvRUgAigCCCEDAkACQAJAAkAgCkUEQCADDQEgAkEYaiAEIAcgBRDKByACKAIYIgRBA0cNAiABKAKoAyABKAKsAyAFQcSSwAAQuB9BADYCDAwDCyADQQFGDQMLQeXs4ABBKEH0ksAAEPQXAAsgACACKQIcNwIEIABBFGogAkEsaigCADYCACAAQQxqIAJBJGopAgA3AgALIAAgBDYCACACQTBqJAAPCyACKAIMIQsgCSAIIAZB1JLAABC5HygAASEDIAkgCCALQeSSwAAQuR8gAzYAAUEBIQMgAiAEIAdBASAGEL0VIAIoAgQhBiACKAIAIQoMAAsAC8sCAQN/IwBBQGoiAiQAIAJBADYCOCACQQE2AiwgAkGgs8MANgIoIAJCBDcCMAJ/QQEgASgCFCIEIAEoAhgiASACQShqELUkDQAaIAJB/wE6ABIgAkEAOwEQA0AgAkEIaiACQRBqEOoSIAItAAhFBEAgAkEANgI4IAJBATYCLCACQZz02AA2AiggAkIENwIwIAQgASACQShqELUkDAILAkAgAi0ACSIDBEAgAkEANgI4IAJBATYCLCACQfjFwwA2AiggAkIENwIwIAQgASACQShqELUkDQELIAIgACADai0AADoAEyACQQI2AiwgAkGExsMANgIoIAJCAjcCNCACQbQBNgIgIAJBpwE2AhggAiADOgAnIAIgAkEUajYCMCACIAJBE2o2AhwgAiACQSdqNgIUIAQgASACQShqELUkRQ0BCwtBAQsgAkFAayQAC/4CAQF/IwBBkAFrIgIkACACQeDO4AA2AogBIAJBwN/DADYCgAEgAkHA38MANgJ4IAJBwN/DADYCcCACQfDfwwA2AmggAkHw38MANgJgIAJBwN/DADYCWCACQcDfwwA2AlAgAkGA4MMANgJIIAJB8N/DADYCQCACQfDfwwA2AjggAkHg38MANgIwIAJB0N/DADYCKCACQcDfwwA2AiAgAkHA38MANgIYIAJBsN/DADYCECACIAA2AkQgAiAAQcEAajYCfCACIABBQGs2AnQgAiAAQT9qNgJs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ACgCACICQQlHBEACQAJAAkACQAJAAkACQAJAAkAgAkEBaw4IAQIDBAUGBwgACyAAKAIMQcgAbCEEIAAoAgghAgNAIAQEQAJAAkACQAJAIAIpAwBCA30iB6dBAWpBACAHQgJUG0EBaw4CAQIACyABIAJBIGoQggkgAiABEOojDAILIAEgAkEQahCCCQwBCyABIAJBEGoQggkLIAJByABqIQIgBEHIAGshBAwBCwsgAEEcaiABEOgjDAkLIABBCGogARDRBwwICyAAKAIMQdAAbCEEIAAoAgghAgNAIAQEQAJAAkACQAJAQgIgAikDAEICfSIHIAdCAlobp0EBaw4CAQIACyACQQhqIAEQ6yMMAgsgASACQQhqEIIJDAELIAIgARDrIyACQSBqIAEQ6iMLIAJB0ABqIQIgBEHQAGshBAwBCwsgAEEcaiABEOgjDAcLAkACQCAAKAIIQQFrDgIBCAALIABBEGogARDBJwwHCyABIABBEGoQqhEMBgsgAEEEaiABEM0sDAULIABBEGogARDoIwwECyABIAAoAgRBKGoQggkMAwsgAEEEaiABEM0sDAILIAEgAEEQahCCCQUgAEEIaiABENcECwwACwALBSABIAJBCGoQggkgAigCICECDAELCwsgBUEQaiQAC7UCAQR/IAAoAghBOGwhAiAAKAIEIQMDQAJAIAEgAkcEQAJAAkACQAJAAkACQAJAQQQgASADaiIAKAIAQQRrIgQgBEEHTxtBAWsOBgECAwQFBgALIABBEGpCADcCACAAQQRqEKEbIABBGGoQgiggAEEcahCQJgwHCyAAQRBqQgA3AgAgAEEEahChGyAAQRhqEIIoIABBHGoQkCYMBgsgAEEEakIANwIAIABBEGoQjC4gAEEMahCCKAwFCyAAQQhqQgA3AgAgAEEEahCMLiAAQRBqEIIoDAQLIABBKGpCADcCACAAQTBqEIwuIAAQ1xkMAwsgAEEUakIANwIAIABBEGoQjC4gAEEEahChGyAAQRxqEIIoIABBIGoQkCYMAgsgAEEEahCFJAwBCw8LIAFBOGohAQwACwALvwIBA38jAEEgayICJAAgAAJ/AkACQAJAAkAgAUEoaiIDEOMNIgRFDQAgBCgCAEECRw0AIAQtAAhBAkcNACAELQAJQRdGDQELIAJBEGogAxCWCyACIAMQuBQgAkHo7d8ANgIMIAJBNDoACCACKAIAIAIoAgQgAkEIahCBFSEEIAMQ4w0iA0UNAiADKAIAQSRGDQEMAgsgASgCKCEDIAFBJTYCKCABIAEpA0A3A3ggAkEUaiABQTRqKQIANwIAIAJBHGogAUE8aigCADYCACACIAEpAiw3AgwgAiADNgIIIAJBCGoQxwogACABKQN4NwIEQQAMAgsgASABKQNANwN4IAEoAiggAUElNgIoQSRHBEBB5ezgAEEoQYDu3wAQ9BcACyABIAEoAiwQhgwLIAAgBDYCBEEBCzYCACACQSBqJAALowIBA38jAEEQayICJAAgAkEANgIMAn8gAUGAAU8EQCABQYAQTwRAIAFBgIAETwRAIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBAwDCyACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAILIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAToADEEBCyEBIAAgACgCBCIDIAFrNgIEIAAgACgCACABIANLciIENgIAQQEhAyAERQRAIAAoAggiACgCFCACQQxqIAEgACgCGCgCDBEDACEDCyACQRBqJAAgAwvPAgECfyMAQUBqIgIkAAJAAkAgASgCAEUEQAJAIAEoAgxBAUcNACABKAIIIgEoAgAiAyABKAIERw0AIAJBADYCCCACIAMgAkEIahDkCSACKAIEIQEgAigCACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQayvxAA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEPUqDQMgACACKQIMNwIAIABBCGogAkEUaigCADYCAAwCCyAAQYCAgIB4NgIADAELAkAgASgCDEEBRw0AIAEoAggiAS0AACIDIAEtAAFHDQBBAUEBEKsgIQEgAEEBNgIIIAAgATYCBCAAQQE2AgAgASADOgAADAELIABBgICAgHg2AgALIAJBQGskAA8LQfy94ABBNyACQT9qQcSvxABBgL/gABDFDgAL2AIBAn8jAEEQayICJAACfwJAAkACQAJAAkACQAJAAkACQCAAKAIAIgNBB2tB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CHFqIA86AAAgDCAGQXRsaiIGIAAoAgAgCkF0bGpBDGsiCikAADcAACAGQQhqIApBCGooAAA2AAAgAkEBayECIBBCAX0gEIMhEAwACwALIAAgAUEQakHKARC2BAtBAAsaIAFBQGskAAwBCxCxGwALCyAFIAVBFGo2AhggBSAANgIcIAUgACgCACAAKAIEIBEgBUEYakHJARCnCCAAKAIAIQEgBSgCBCECAkAgBSgCAEUEQCABIAJBdGxqQQRrIAM2AgAgBUEMahD5HgwBCyABIAJqIgQtAAAhByAFKQIMIRAgBCARp0EZdiIEOgAAIAEgACgCBCACQQhrcWpBCGogBDoAACAAIAAoAgggB0EBcWs2AgggACAAKAIMQQFqNgIMIAEgAkF0bGoiAEEEayADNgIAIABBDGsgEDcCAAsgBUEgaiQAC8QCAQF/IwBBEGsiAiQAAn8CQAJAAkACQAJAAkACQAJAIAAoAgAiACgCAEEBaw4HAQIDBAUGBwALIAIgAEEIajYCDCABQYi73wBBBSACQQxqQYAEEMwKDAcLIAIgAEEIajYCDCABQY273wBBAiACQQxqQYEEEMwKDAYLIAIgAEEEajYCDCABQY+73wBBAyACQQxqQfADEMwKDAULIAIgAEEEajYCDCABQZK73wBBBSACQQxqQfEDEMwKDAQLIAIgAEEEajYCDCABQZe73wBBCyACQQxqQYIEEMwKDAMLIAIgAEEEajYCDCABQaK73wBBCyACQQxqQYMEEMwKDAILIAIgAEEEajYCDCABQa273wBBBiACQQxqQYQEEMwKDAELIAIgAEEEajYCDCABQbO73wBBCCACQQxqQYUEEMwKCyACQRBqJAALqQICA38BfiMAQYABayICJAAgAAJ/IAEtABRBAkYEQCACQQhqIAEoAgAiAUEgaikDADcDACACQRBqIAFBKGopAwA3AwAgAkEgaiIEIAFBCGopAwA3AwAgAiABKQMYNwMAIAIgASkDADcDGCABKQMQIQUgAkEoaiIDIAIQ4wdBwABBCBCrICADQcAAEPsGIQMgAkH4AGogBCkDADcCACAAQQA2AgggACADNgIoIAAgBTcDICACIAIpAxg3AnAgACACKQJsNwIMIABBFGogAkH0AGopAgA3AgAgAEEcaiACQfwAaigCADYCACABEJkrQRQMAQsgACABKQMA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QfADEMwKDAULIAIgAEEEajYCDCABQZK73wBBBSACQQxqQfEDEMwKDAQLIAIgAEEEajYCDCABQZe73wBBCyACQQxqQYIEEMwKDAMLIAIgAEEEajYCDCABQaK73wBBCyACQQxqQYMEEMwKDAILIAIgAEEEajYCDCABQa273wBBBiACQQxqQYQEEMwKDAELIAIgAEEEajYCDCABQbO73wBBCCACQQxqQYUEEMwKCyACQRBqJAALvgICCH8EfiMAQeAAayIDJAAgASgCDCIIIAEoAgQiBGtBBHYiAiAAKAIAIAAoAggiBWtLBEAgACAFIAJBCEHYABCbFwsgACgCBCAAKAIIIgZB2ABsaiECIANBMGohBwNAIAQgCEcEQCABIARBEGoiBTYCBCAEKQMAIQogA0EIaiIEEOQXIAMpAjwhCyADKQJEIQwgAykDKCENIANB2ABqIgkgB0EIaigCADYCACADIAcpAwA3A1AgBBDcFiACQShqIA03AgAgAkEYakIANwIAIAJBEGogCjcCACACQQhqQQA2AgAgAkEHNgIAIAJBMGogAykDUDcCACACQThqIAkoAgA2AgAgAkHEAGogDDcCACACQTxqIAs3AgAgAkHYAGohAiAGQQFqIQYgBSEEDAELCyAAIAY2AgggA0HgAGokAAujAgIEfwF+IwBBMGsiAiQAAkACQCABQShqEOMNIgMEQCADKAIAQQRGDQELIAJBEGogARCtASACKAIQQQVHBEAgACACKQMQNwMAIABBGGogAkEoaikDADcDACAAQRBqIAJBIGopAwA3AwAgAEEIaiACQRhqKQMANwMADAILIAAgAigCFDYCBCAAQQY2AgAMAQsgAkEQaiIFIAEQqgUgAikDECIGUEUEQCACIAIoAhwiAzYCDCACIAIoAhgiBDYCCCACIAY3AwAgAkG9vOAAQQsQ0hsEQCACQeAAOgAQIAEgBCADIAUQ2BkLIAAgAzYCFCAAIAQ2AhAgACAGNwMIIABBBTYCAAwBCyACKAIYIQEgAEEGNgIAIAAgATYCBAsgAkEwaiQAC7QCAQZ/IwBB0ABrIgIkACABKAIEIQMgASgCDCEGIAEoAhQhBQJAAkACQAJAAkADQCADIAZGDQQgAkEQaiIEIANBKBD7BhogASADQShqIgM2AgQgAigCEEEHRwRAIAJBCGogBBCQDCACKAIM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Ba1CIIaEQQIQviMMAQsgACADOgAkIAAgBzYCICAAQQI6ABQgACACIAEoAnwiASABIAJJGzYCHCAAIAIgASABIAJLGzYCGCAAIAStIAWtQiCGhDcDAAsgBkEgaiQAC7QCAQR/IwBBIGsiAyQAAkACQAJAA0ACQAJAIAEoAgBBAWsOBgMABAAFBQELIAEoAgQhAQwBCwsgAUEIahCqHEUNAiABKAIUIQIgASgCECEBIANBKToACCAAIAEgAiADQQhqENceDAILIAEoAgxBKGwhAiABKAIIIQEDQCACRQ0CIAEoAgBBB0cEQCAAIAEQjggLIAFBKGohASACQShrIQIMAAsACyABKAIMQThsIQIgASgCCCEBA0AgAkUNAUEoIQQCQAJAAkACQCABKAIAQQFrDgICAAELQQQhBAsgACABIARqKAIAEI4IDAELIAFBEGoQqhxFDQAgASgCHCEEIAEoAhghBSADQSk6AAggACAFIAQgA0EIahDXHgsgAUE4aiEBIAJBOGshAgwACwALIANBIGokAAuxAgIBfwF+IwBBIGsiAyQAAkACQAJAAkACQAJAAkACQCACQf8BcUEBaw4DAQIEAAsgA0EANgIQIANBCGogASADQRBqQYS74ABBBhCyEyADLQAIQQRGDQIgAykDCCIEQv8Bg0IEUQ0CIAAgBDcCAAwGCyADQQA2AhAgA0EIaiABIANBEGpBirvgAEEJELITIAMtAAhBBEYNASADKQMIIgRC/wGDQgRRDQEgACAENwIADAULIANBADYCECADQQhqIAEgA0EQakGTu+AAQQcQshMgAy0ACEEERg0AIAMpAwgiBEL/AYNCBFINAgsgA0EQaiABENARIAMtABBBBEYNACADKQMQIgRC/wGDQgRSDQILIABBBDoAAAwCCyAAIAQ3AgAMAQsgACAENwIACyADQSBqJAALpQICA38BfiMAQSBrIgMkACACKAIQIQQgA0EYaiABIAIoAgwiBUEAENUBAkACQAJAAkAgAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINAQsgA0EANgIMIANBGGogASADQQxqQcqw4ABBARCyEyADLQAYQQRHBEAgAykDGCIGQv8Bg0IEUg0CCyADQRhqIAEgBSAEIAIoAgQgAigCCEGQ0gEQnQMgAy0AGEEERwRAIAMpAxgiBkL/AYNCBFINAwsg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AEEIagwPCyAAQRBqDA4LIABBCGoMDQsgAEEQagwMCyAAQQhqDAsLIABBCGoMCgsgAEEUagwJCyAAQRRqDAgLIABBCGoMBwsgAEEIagwGCyAAQQhqDAULIABBDGoMBAsgAEEIagwDCyAAQShqDAILIABBIGoMAQsgAEEIagsoAgALqgIBAn8jAEEQayICJAACfwJAAkACQAJAAkACQAJAQQQgACgCACIAKAIAQQRrIgMgA0EHTxtBAWsOBgECAwQFBgALIAIgAEEEajYCDCABQcyZ2QBBEyACQQxqQfACEMwKDAYLIAIgAEEEajYCDCABQd+Z2QBBGCACQQxqQfECEMwKDAULIAIgAEEEajYCDCABQfeZ2QBBEyACQQxqQfICEMwKDAQLIAIgAEEEajYCDCABQYqa2QBBESACQQxqQfMCEMwKDAMLIAIgADYCDCABQZua2QBBESACQQxqQfQCEMwKDAILIAIgAEEEajYCDCABQaya2QBBESACQQxqQfUCEMwKDAELIAIgAEEEajYCDCABQb2a2QBBECACQQxqQfYCEMwKCyACQRBqJAALlwICAn8BfiMAQSBrIgMkACABQRhqIQQCQAJAAkACQAJAIAEtACxBAkYEQCADQRBqIAQoAgAgAhCdCCADLQAQQQRGDQIgAykDECIFQv8Bg0IEUg0BDAILIANBEGogBCACEOQSIAMtABBBBEYNASADKQMQIgVC/wGDQgRRDQELIAVC/wGDQgRSDQELIANBADYCECADQQhqIAIgA0EQakGDtuAAQQEQshMgAy0ACEEERwRAIAMpAwgiBUL/AYNCBFINAgsgA0EQaiABIAIQlhMCQCADLQAQQQRHBEAgAykDECIFQv8Bg0IEUg0BCyAAQQQ6AAAMAwsgACAFNwIADAILIAAgBTcCAAwBCyAAIAU3AgALIANBIGokAAv/AQEGfyMAQYABayICJAAgAUEEaiEFIAJBOGohBgNAIAJBNGogARDEBQJAAkAgAigCNARAIAAgAikCNDcCACAAQRhqIAJBzABqKAIANgIAIABBEGogAkHEAGopAgA3AgAgAEEIaiACQTxqKQIANwIADAELIAEoAmAiAwRAIAJB5ABqIgQgAyABKAJkIgcoAgwRAAAgAigCZARAIAJBNGogASgCaCAEENACIAIoAjQiBA0DCyADIAcQtBsgAUEA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CyACQQhqIAEQmiIgAigCKCABEKoSCyAAQQxqIQAgA0EMayEDDAELCwuvCAIGfwF+AkACQAJAAkACQAJAAkACQAJAIAAoAgBBAWsOBwECAwQFBgcACyAAQgA3AxAgACgCIBCXBA8LIABCADcDECAAQSBqEI0uDwsgACgCBBC5Kg8LIAAoAgQQuSoPCyAAKAIEEJITDwsgACgCBCIAQgA3AxAgAEIANwMAIABBIGoQkCYgAEEkahDxAw8LIAAoAgQiAEIANwMYIABCADcDCCAAKAIoQTBsIQEgACgCJCEDQQAhAANAIAAgAUYNAiAAIANqIgJBEGpCADcCACACQSBqQgA3AgAgAkEoaiICKAIABEAgAhCMLgsgAEEwaiEADAALAAsgACgCBCIAQgA3A0ggAEIANwMQIAAtAEVBA0YNACAAQSBqIQEDQCABLQAlQQJGBEACQCABQgA3AgwgASgCBCIAIAEoAghBOGxqIQYDQAJAAkACQAJAAkACQAJAIAAgBkcEQCAAQThqIQIgACgCACIBQQlGDQECQAJAAkAgAUEBaw4IAQIKCQgHBgUACyAAQgA3AhQgACgCDEHIAGwhBCAAKAIIIQVBACEBA0AgASAERwRAAkACQAJAAkAgASAFaiIDKQMAQgN9IgenQQFqQQAgB0ICVBtBAWsOAgECAAsgA0EoakIANwIAIANBOGpCADcCACADEIgkDAILIANBGGpCADcCACADQQhqQgA3AgAMAQsgA0EYakIANwIAIANBCGpCADcCAAsgAUHIAGohAQwBCwsgACgCEEIANwMIIABBHGoQkSYgAiEADAoLIABCADcCMCAAQQhqEOUIIAIhAAwJCyAAQgA3AhAgACgCDEHQAGwhBCAAKAIIIQVBACEBA0ACQCABIARHBEACQAJAAkBCAiABIAVqIgMpAwBCAn0iByAHQgJaG6dBAWsOAgECAAsgA0EYakIANwIAIANBKGpCADcCAAwDCyADQRBqQgA3AgAMAgsgA0EQakIANwIAIANBQGtCADcCACADQSBqEIgkDAELIAAoAhgiAQRAIAFCADcCCAsgAEEcahCRJiACIQAMCgsgAUHQAGohAQwACwALDAgLIABBCGoQjAQgAiEADAYLIABCADcCGCAAQgA3AgggAiEADAULIABCADcCCCAAQQRqEIwuIAIhAAwECyAAKAIE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AgAgASAAKALEASADayIDNgIEIABBwAFqA0ACQCACIANPDQAgASgCACACai0AAEECdEGAtdkAaigCACIDRQ0AIAEgAxEFACEDIAEoAgghAiADRQ0AIAEgAiADaiICNgIIIAEoAgQhAwwBCwsgAS0ADCEDIAIQ6yggA0EBRgRAIABBAToAvQELIAFBEGokACAAKALAASIBIAAoAsQBRwR/IAEtAABBO0cgBnEFIAYLQQFxIQkjAEFAaiIBJAACQCAAKAIAQQFHDQAgASAAQcABaiALIAQQ0RUgASgCACECAkAgASgCBCIDQQJrIgYEQCADQQJJDQEgAiAGaiwAAEG/f0wNAQsgAEEEaiEDIAAoAugBQQhqIAIgBhCEGiEMIAEgByAEIAQgB0kbNgIUIAEgByAEIAQgB0sbNgIQIAFBAToAGCABIAw3AwggACgCwAEgACgCxAEQqxwaIAlFBEAgAUEoaiABQRBqKQMANwMAIAFBMGogAUEYaikDADcDACABQQE6ADwgASABKQMINwMgIAEgACgCqAE2AjggAyABQSBqEOAQDAILIAMgAUEIahDVEgwBCyACIANBACAGQdzs2AAQ1CYACyABQUBrJAAMAgsgAEEBOgC9AQwCCyAAKALYASEBIAhBGjoACCAAKALcASAALQCCAiABIAEgCEEIahDDEQsgCEEgaiQADAELIAEQsBUgBEEqRiECDAELCwwACwALrwIBAX8jAEHwAGsiAiQAIAAoAgAhACACQbSv2QA2AmggAkGggNkANgJgIAIgAEE0ajYCXCACQaCA2QA2AlggAiAAQTNqNgJUIAJBoIDZADYCUCACIABBMmo2AkwgAkHYgdkANgJIIAIgAEEwajYCRCACQciB2QA2AkAgAiAAQSRqNgI8IAJBoIDZADYCOCACIABBMWo2AjQgAkG4gdkANgIwIAIgAEEgajYCLCACQbiA2QA2AiggAiAAQRxqNgIkIAJBhIbZADYCICACIAA2AhwgAkGkr9kANgIYIAIgAEEYajYCFCACQbie2gA2AhAgAiAAQRBqNgIMIAIgAEE1ajYCbCACIAJB7ABqNgJkIAFBlYTZAEELQZSG2QBBDCACQQxqQQwQzwggAkHwAGokAAuZAgIIfwF+IwBBIGsiAiQAAkAgASgCBCIDRQRAIABBCGpByKDjACkDADcCACAAQcCg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AkACQAJAAkACQCADIAZqIgIoAgAiBEEEa0EAIARBBWtBCEkbQQFrDggABQECBQUDBAULIAJBCGogARC0IgwECyACQQhqIAEQtCIgAkE8aiABEJImIAJBMGogARDAGgwDCyACQSRqIAEQkiYgAkEsaiABEMAaDAILIAJBBGogARC+GgwBCyACQQhqIgQoAgBBBUcEQCAEIAEQtCILIAJBPGogARCSJiACQTBqIAEQwBoLIANB2ABqIQMMAQsLIABBMGogARCSJgvoAQIFfwF+IAEoAgwgAUEMaygCAEkEQCMAQRBrIgNBCGogAUEIaigCADYCACADIAEpAgA3AwAgAUEkayECIAEpAhAhByABKAIMIQQCfwJAA0AgAiIBQTRqIAFBHGopAgA3AgAgAUEsaiABQRRqKQIANwIAIAFBJGoiBSABQQxqIgYiAikCADcCACAAIAJGDQEgAUEYayECIAQgASgCAEkNAAsgBiECIAUMAQsgAUEMaiECIAFBJGoLIQEgAiADKQMANwIAIAJBCGogA0EIaigCADYCACABQQhrIAc3AgAgAUEMayAENgIACwv+AQEBfyMAQUBqIgYkACAGQRBqIAIgAyAEIAVBqJfAABDsFiAGKAIQIQUgBigCFCECIAZCATcCKAJAAkACQCACIAEoAkAiA08EQCAGQQhqIAEgBkEoaiAFIAIgASgCPCADIAEoAjARCwAgBigCCEEBcQ0BCyAAQQA2AgAgACAGKQIcNwIEIABBDGogBkEkaigCADYCAAwBCyAGKAIMIARqIgEgA2oiAiABSQ0BIABBADYCDCAAIAI2AgggACABNgIEIABBATYCAAsgBkFAayQADwsgBkEANgI4IAZBATYCLCAGQeigwwA2AiggBkIENwIwIAZBKGpB8KDDABDDHQALggIBB38jAEEQayIDJAAgAigCBCEEIAEoAgQhBSACLQAMIQggAS0ADCEJAkACQAJAIAEoAggiBgRAIAIoAggiBw0BCyADQQhqQfyu4AAoAgA2AgAgA0H0ruAAKQIANwMADAELIAdBAUYEQCADQQhqIAFBCGooAgA2AgAgAyABKQIANwMAIAMgBCgCABDMByAEIQUgAiEBDAILIAZBAUYEQCADQQhqIAJBCGooAgA2AgAgAyACKQIANwMAIAMgBSgCABDMBwwCCyADIAUgBiAEIAcQ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aiABEJMjDwsgAEEIaiABEJQjDwsgACgCBCABEOwTDwsgACgCBCABEOwTDwsgASAAKAIEIgApAwAgAEEQaigCABCPGyAAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAQShrKAIARQRAIAEgAEEgaykDACAAQRBrKAIAEI8bCyAAKAIABEAgACABENUsCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIAKAIARQRAIAEgACkDCCAAQRhqKAIAEI8bCyAALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCECIAAoAgQhAANAIAJFDQEgACABEJkHIAJBOGshAiAAQThqIQAMAAsACwUgASAAKQMIIAAoAhgQjxsgACgCICEADAELCwsL1wIBAX8CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcBAgMGBgQFAAsgAEEgaiABEPEFDwsgAEEgaiABEI4tDwsgACgCBCABEPMTDwsgACgCBCABEPMTDwsgASAAKAIEIgApAwAgAEEQaigCABCzHSAAKAIoQTBsIQIgACgCJEEoaiEAA0AgAkUNAiAAQShrKAIARQRAIAEgAEEgaykDACAAQRBrKAIAELMdCyAAKAIABEAgACABEIotCyACQTBrIQIgAEEwaiEADAALAAsgACgCBCIAKAIARQRAIAEgACkDCCAAQRhqKAIAELMdCyAALQBFQQNGDQAgAEEgaiEAA0AgAC0AJUECRgRAAkAgACgCCEE4bCECIAAoAgQhAANAIAJFDQEgACABEKYDIAJBOGshAiAAQThqIQAMAAsACwUgASAAKQMIIAAoAhgQsx0gACgCICEADAELCwsL9wEBA38jAEEgayICJAAgAkEQaiABEIgBIAIoAhQhAwJAAkACQCACKAIQRQRAIAMoAgBBLUYEQCAAIAMpAgQ3AgAgAygCAEEtRg0DIAMQ3gQMAwsgAS0A+AJBAkcNASABQShqEOMNIgRFDQEgBCgCAEEURw0BIAQtAARBBEcNASACIAM2AhwgAkEIaiABEPABIAIoAgwhASACKAIIRQRAIAAgATYCBCAAIAM2AgAMBAsgAEEANgIAIAAgATYCBCACQRxqELgpDAMLIABBADYCACAAIAM2AgQMAgsgAEEANgIEIAAgAzYCAAwBCyADEI0rCyACQSBqJAAL7wEC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NgIIIAAgBzYCBCAAIAk2AgAgBEEQaiQADwsAC+gBAQF/AkACQAJAAkACQAJAIAEoAgBBAWsOBgECAwQFBQALIAAgAUEIahCxDg8LIAEoAgxBKGwhAiABKAIIIQEDQCACRQ0EIAEoAgBBB0cEQCAAIAEQogoLIAFBKGohASACQShrIQIMAAsACyABQQRqIAAQ6S0PCyABKAIMQThsIQIgASgCCCEBA0AgAkUNAgJAAkACQAJAIAEoAgBBAWsOAgECAAsgAUEoaiAAEOIrDAILIAAgAUEQahCxDgwBCyABQQRqIAAQ6S0LIAFBOGohASACQThrIQIMAAsACyABQQRqIAAQ4isLC+oBAQF/IwBB0ABrIgMkACAAQQA2AjggAEIANwIwIABBADYCFCAAQoCAgIDAADcCDCADQcwAakEAOwEAIAAgASkCADcCACAAIAIpAgA3AhggAEEIaiABQQhqKAIANgIAIABBIGogAkEIaikCADcCACAAQShqIAJBEGopAgA3AgAgA0EANgJAIANCADcCOCADQgQ3AhggA0IANwIQIANCgICAgIABNwIIIANCADcCRCADQYCAgIB4NgIgIABBxABqQQA7AQAgAEIANwI8IANBCGoQ/CYgA0EUahDuJiADQSBqEPskIANB0ABqJAAL1wECCH8CfiMAQeAAayIDJAAgASgCECEEIAEoAgwhBSABKAIIIQYCQCABKQMAIgpCA4NQBEAgCqdBCGsiAiACKAIAIgJBAWo2AgAgAkEASA0BCyABLQAUIQcCQCABKAIYIgJFBEBBACEBDAELEPciIQEgAikCBCELEPAiIANBCGoiCSACKAIAEKgBIAlB2AAQ+wYhAiABIAs3AgQgASACNgIACyAAIAE2AhggACAHOgAUIAAgBDYCECAAIAU2AgwgACAGNgIIIAAgCjcDACADQeAAaiQADwsAC9QBAQF/IwBBIGsiBiQAIANBAXFFBEAgAUEoahDeIBoLIAYgASADIAQgBUEAQQAQcEEDIQMgBigCACEEAkAgBi0AFCIFQQNGBEAgACAENgIEDAELIAAgBikCBDcCDCAAIAYvABU7AB0gAEEUaiAGQQxqKQIANwIAIABBH2ogBkEXai0AADoAACAAIAYoAhg2AiAgACAFOgAcIAAgBDYCCCAAIAIgASgCfCIBIAEgAkkbNgIsIAAgAiABIAEgAksbNgIoQQEhAwsgACADNgIAIAZBIGokAAu+AQEGfyAAKAIAIgRBBGogBC8BMiIFQQFqIgcgACgCCCIDIAEQvhUgA0EBaiEAIARBNGohASADQQJqIgggBUECaiIGSQRAIAEgCEECdGogASAAQQJ0aiAFIANrQQJ0ENotGgsgASAAQQJ0aiACNgIAIAQgBzsBMiAGIAAgACAGSRshAiADQQJ0IARqQThqIQEDQCAAIAJGRQRAIAEoAgAiAyAAOwEwIAMgBDYCACABQQRqIQEgAEEBaiEADAELCwvBAQEEfyMAQSBrIgIkACABKAKABiEDIAJBCGoiBCABQaQDaiIFIAEoAvwFQQEQwAYCQCACKAIIIgFBA0YEQCAEIAUgA0EBEMAGIAIoAggiAUEDRgRAQQMhAQwCCyAAIAIpAgw3AgQgAEEUaiACQRxqKAIANgIAIABBDGogAkEUaikCADcCAAwBCyAAIAIpAgw3AgQgAEEUaiACQRxqKAIANgIAIABBDGogAkEUaikCADcCAAsgACABNgIAIAJBIGokAAvQAQEHfyACIAAoAgQgACgCABDhGSEDIABBDEEIIAIgACgCDCAAKAIIEOEZIgQbaiEFIAIgAEEIQQwgBBtqIgYgACADQQFzQQJ0aiIEIAUgAiAFKAIAIAAgA0ECdGoiACgCABDhGSIDGyACIAYoAgAgBCgCABDhGSICGyIHKAIAIAAgBSAEIAIbIAMbIggoAgAQ4RkhCSABIAUgACADGygCADYCACABIAcgCCAJGygCADYCBCABIAggByAJGygCADYCCCABIAQgBiACGygCADYCDAvNAQEIfwJAAkAgACgCACICQYCAgIB4RiABKAIAIgNBgICAgHhGckUEQCAAKAIIIgIgASgCCEcNAiACQQFqIQUgACgCBEEIaiECIAEoAgRBCGohAwNAIAVBAWsiBUUNAiADQQRrIQYgAkEEayADKAIAIQggAigCACEJIAJBDGohAiADQQxqIQMoAgAgCSAGKAIAIAgQ6x8NAAsMAgsgAkGAgICAeEcgA0GAgICAeEdyDQELIAAoAgwgASgCDEYgACgCECABKAIQRnEhBAsgBAv4AQECfyMAQTBrIgIkAAJAIAApAwBC////////////AINCgICAgICAgPj/AFoEQCACQQE2AhQgAkGE+OAANgIQIAJC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QQFrDgIBAgALIAJBCGogARDEIiACQShqIAEQxi0MAwsgAkEwaiABEJwkIAEtAChBAUcNAiADQQhqIAJBEGoQ1hsgASADKQMIIgYgAygCGBCSEiAGEPkaDAILIAJBBGogARCbLgwBCyADQSBqJAAPCyAAQThqIQAMAAsAC7oBAgN/AX4jAEEgayIBJAAgACgCCCIDQf7///8HTQRAAkACQCAAKAIUIgJFDQAgACACQQFrIgI2AhQgACgCECACQQxsaikCACIEp0GAgICAeEYNACABQQA2AhAgASAENwMIDAELIAFBADYCECABQoCAgIDAADcCCAsgACABQQhqEOkVIAFBIGokACADDwsgAUEANgIYIAFBATYCDCABQZSvwwA2AgggAUIENwIQIAFBCGpBnK/DABDDHQALtwEBAX8jAEEgayICJAACQAJAIAEQ5C1FBEAgAkEEaiABENUHIAIoAgRBgICAgHhHBEAgAkEYaiACQQxqKAIANgIAIAIgAikCBDcDECAAIAJBEGoQ4hEMAgtBgICAgHggAigCCBC2JCAAIAEQ6Qc2AhggAEECNgIAIABBFGogAUEQaigCADYCACAAQQxqIAFBCGopAgA3AgAgACABKQIANwIEDAILIAAQuxELIAEQtB4LIAJBIGokAAuuAQICfwF+IwBBMGsiAiQAAkAgAS0AFEECRgRAEO8iIQMgASgCACIBKQMQIQQgAkEIaiABQRhqEMQLIAJBIGogARDVISADIAQ3AxAgA0EIaiACQShqKQMANwMAIAMgAikDIDcDACADIAIpAwg3AxggA0EgaiACQRBqKQMANwMAIANBKGogAkEYaikDADcDACAAQQI6ABQgACADNgIADAELIAAgARDWGwsgAkEwaiQAC8EBAQN/IABBQGsQ1yAgAEGQAWohBCAAKAKEAUHYAGwhAyAAKAKAASECA0ACQCADBEACQAJAAkACQAJAIAIoAgBBAWsOBQECAwYEAAsgAigCCCACQRhqKwMAIAEQqh8MBQsgAkEEaiABELsiDAQLIAJBBGogARCtLQwDCyACQQRqIAEQ0A8MAgsgAUEAOgAEDAELIAQgARDQDyAALQA8QQZHBEAgAEEQahDXIAsPCyACQdgAaiECIANB2ABrIQMMAAsAC6EBAQJ/AkAgAUEDTQRAIABBAWshAANAIAFFIQMgAUUN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QQFrDgIBAgALIAEgAkEIahDwISACQShqIAEQ4CsMAwsgASACQRBqENAZIAJBMGoiAigCAEUNAiACIAEQ3isMAgsgASACQQRqEK8lDAELIABBFGogARDRIw8LIANBOGohAwwACwALmgEBA38gACgCCEE4bCEDIAAoAgQhBEEAIQADQAJAIAAgA0cEQAJAAkACQCAAIARqIgIoAgBBAWsOAgECAAsgAkEIaiABEPshIAJBKGogARDtLAwDCyACQRBqKQMAIAJBIGooAgAgARDZFCACQTBqIgIoAgBFDQIgAiABENcsDAILIAJBBGogARD1LQwBCw8LIABBOGohAAwACwALmAEBA38gACgCCEEMbCEDIAAoAgQhAANAIAMEQAJAIAAoAgAEQCAAIAEQpS0MAQsCQAJAAkBBBCAAKAIEIgIoAgBBBWsiBCAEQQZPG0EBaw4FAAEDAwIDCyACQQhqIAEQtCIgAkEoaiABEKUtDAILIAJBKGogARClLQwBCyACQQhqIAEQtCILIABBDGohACADQQxrIQMMAQsLC5oBAQR/IwBBEGsiAiQAIAIgASgCFCIDEOMcAkAgAigCAEUEQCACKAIEIQQgAUEMaiIFKAIAIANGBEAgBRDpFgsgACAENgIEIABBAzYCACABIANBAWo2AhQgASgCECADQQlsaiIAQgA3AAAgAEEIakEAOgAADAELIAAgAikDCDcDECAAQv7///8HNwMIIABBADYCAAsgAkEQaiQAC4kBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEECdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBIRCBCCABQQRrIQEgA0EEaiEDDAELCyACQQRqEOQcIAJBEGokAAuJAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBDGwhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQTAQgQggAUEMayEBIANBDGohAwwBCwsgAkEEahDkHCACQRBqJAALiQEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGwv+AAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQxsIQEDQCABBEAgAiADNgIMIAJBBGogAkEMakExEIEIIAFBDGshASADQQxqIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC4kBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEECdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBLxCBCCABQQRrIQEgA0EEaiEDDAELCyACQQRqEOQcIAJBEGokAAuHAQEFfyMAQYABayIEJABB/wAhAgNAIAQgAiIDaiIFIABBD3EiAkEwciACQTdqIAJBCkkbOgAAIANBAWshAiAAQf8BcSIGQQR2IQAgBkEQTw0ACyADQYEBTwRAIANBgAFB0PTAABCtEAALIAFBAUGoueAAQQIgBUGAASADaxCFBCAEQYABaiQAC4QBAQJ/IANB+P///wFxBEAgACAAIANBA3YiA0EEdCIEaiAAIANBHGwiBWogAxCRDSEAIAEgASAEaiABIAVqIAMQkQ0hASACIAIgBGogAiAFaiADEJENIQILIAAgAiABIAAoAgAiACABKAIAIgFJIgMgASACKAIAIgJJcxsgAyAAIAJJcxsLoAEBAX8jAEFAaiICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IAJBIDYCKCACQQA2AjQgAkHg/8EANgIwIAJBADYCICACQQA2AhggAiACQQxqNgIsIAEgAkEYahCkF0UEQCAAIAIpAgw3AgAgAEEIaiACQRRqKAIANgIAIAJBQGskAA8LQfy94ABBNyACQT9qQfj/wQBBgL/gABDFDgALoAEBAX8jAEFAaiICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IAJBIDYCKCACQQA2AjQgAkGMgcIANgIwIAJBADYCICACQQA2AhggAiACQQxqNgIsIAEgAkEYahCkF0UEQCAAIAIpAgw3AgAgAEEIaiACQRRqKAIANgIAIAJBQGskAA8LQfy94ABBNyACQT9qQaSBwgBBgL/gABDFDgALoAEBAX8jAEFAaiICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IAJBIDYCKCACQQA2AjQgAkHg/8EANgIwIAJBADYCICACQQA2AhggAiACQQxqNgIsIAEgAkEYahCpGUUEQCAAIAIpAgw3AgAgAEEIaiACQRRqKAIANgIAIAJBQGskAA8LQfy94ABBNyACQT9qQfj/wQBBgL/gABDFDgALhgEBAn8gA0H4////AXEEQCAAIAAgA0EDdiIDQeAAbCIEaiAAIANBqAFsIgVqIAMQlQ0hACABIAEgBGogASAFaiADEJUNIQEgAiACIARqIAIgBWogAxCVDSECCyAAIAIgASAAKAIMIgAgASgCDCIBSSIDIAEgAigCDCICSXMbIAMgACACSXMbC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEFdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBoQEQgQggAUEgayEBIANBIGohAwwBCwsgAkEEahDkHCACQRBqJAALigEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGwv+AAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQxsIQEDQCABBEAgAiADNgIMIAJBBGogAkEMakGiARCBCCABQQxrIQEgA0EMaiEDDAELCyACQQRqEOQcIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBAnQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQfsAEIEIIAFBBGshASADQQRqIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEDdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBpAEQgQggAUEIayEBIANBCGohAwwBCwsgAkEEahDkHCACQRBqJAALkwEBA38jAEEQayICJAACQCABQYABTwRAIAJBADYCDCACIAEgAkEMahDkCSACKAIAIQMgACACKAIEIgEQ+x4gACgCCCIEIAAoAgRqIAMgARD7BhogACABIARqNgIIDAELIAAoAggiAyAAKAIARgRAIAAQ+hYLIAAgA0EBajYCCCAAKAIEIANqIAE6AAALIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBA3QhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQeUBEIEIIAFBCGshASADQQhqIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEBdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpB5gEQgQggAUECayEBIANBAmohAwwBCwsgAkEEahDkHCACQRBqJAALoAEBAX8jAEFAaiICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IAJBIDYCKCACQQA2AjQgAkGMyNYANgIwIAJBADYCICACQQA2AhggAiACQQxqNgIsIAEgAkEYahDdKUUEQCAAIAIpAgw3AgAgAEEIaiACQRRqKAIANgIAIAJBQGskAA8LQfy94ABBNyACQT9qQaTI1gBBgL/gABDFDgALjwEBAn8jAEEQayIEJAACfyADKAIEBEAgAygCCCIFRQRAIARBCGogASACELUeIAQoAgghAyAEKAIMDAILIAMoAgAgBSABIAIQ+QIhAyACDAELIAQgASACELUeIAQoAgAhAyAEKAIECyEFIAAgAyABIAMbNgIEIAAgA0U2AgAgACAFIAIgAxs2AgggBEEQaiQAC4sBAQN/IwBBEGsiAyQAIANBBGogASACENQOAkAgAygCBCIBBEAgAygCDCEFIAMoAggiBARAQbCY5AAtAAAaIAQgARDGISEBCyABDQEACxCxGwALIABBADYCDCAAIAJBAWsiBDYCBCAAIAEgBWo2AgAgACAEIAJBA3ZBB2wgBEEISRs2AgggA0EQaiQAC4wBAQV/A0AgASACRwRAIAJBDGwhAyACQQFqIgYhAiAAIANqIgQoAgBBgICAgHhGDQEgBEEEaiIDKAIAIQIgBCgCCCEFA0AgBQRAIAIQ1iIgAkEMaigCACACQRBqKAIAENopIAVBAWshBSACQRhqIQIMAQsLIAQoAgAgAygCAEEEQRgQ1CIgBiECDAELCwuUAQEDfyMAQRBrIgMkACADQQhqIgQgASgCACIFQbC/4ABBARDyJAJAIAQQ5hgiBEUEQCACBEAgAEEBOgAEIAAgATYCAAwCCyADQQhqIgIgBRCKKiACEOYYIgJFBEAgAEEAOgAEIAAgATYCAAwCCyAAQQM6AAQgACACNgIADAELIABBAzoABCAAIAQ2AgALIANBEGokAAuUAQEDfyMAQRBrIgMkACADQQhqIgQgASgCACIFQaK14ABBARDyJAJAIAQQ5hgiBEUEQCACBEAgAEEBOgAEIAAgATYCAAwCCyADQQhqIgIgBRCMKiACEOYYIgJFBEAgAEEAOgAEIAAgATYCAAwCCyAAQQM6AAQgACACNgIADAELIABBAzoABCAAIAQ2AgALIANBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBHQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQZwCEIEIIAFBEGshASADQRBqIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEEDdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpBngIQgQggAUEIayEBIANBCGohAwwBCwsgAkEEahDkHCACQRBqJAALigEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGwv+AAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQxsIQEDQCABBEAgAiADNgIMIAJBBGogAkEMakGfAhCBCCABQQxrIQEgA0EMaiEDDAELCyACQQRqEOQcIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBnQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQaECEIEIIAFBQGohASADQUBrIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC5ABAQZ/IwBBEGsiAiQAIAEoAgQhByACQQhqIAEoAggiBEEEQQQQ+xQgAigCCCIFIARB/////wNxIgEgASAFSxshA0EAIQEgAigCDCEGA0AgAwRAIAEgBmogASAHahD3GTYCACADQQFrIQMgAUEEaiEBDAELCyAAIAQ2AgggACAGNgIEIAAgBTYCACACQRBqJAALkAEBBn8jAEEQayICJAAgASgCBCEHIAJBCGogASgCCCIEQQRBBBD7FCACKAIIIgUgBEH/////A3EiASABIAVLGyEDQQAhASACKAIMIQYDQCADBEAgASAGaiABIAdqEPkcNgIAIANBAWshAyABQQRqIQEMAQsLIAAgBDYCCCAAIAY2AgQgACAFNgIAIAJBEGokAAuoAQECfyABKALAASABKALEARD9HCIDQYCAxABHBEAgAUHAAWoiBBCwFQJ/QQAgA0ENRw0AGkENIQNBACABKALAASABKALEARD9HEEKRw0AGiAEELAVQQFBAiACGyEDQcLw4ABBwPDgACACGwshAiAAIAM2AgggACACNgIEIABBADYCACABIAEoAtABNgKkASABIAEoAqABQQFqNgKgAQ8LQdTo2AAQ4CkAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAEOgAIIAIgATYCBEECdCEBA0AgAQRAIAIgAzYCDCACQQRqIAJBDGpB7gIQgQggAUEEayEBIANBBGohAwwBCwsgAkEEahDkHCACQRBqJAALigEBA38jAEEQayICJAAgACgCBCEDIAAoAgggASgCFEGwv+AAQQEgASgCGCgCDBEDACEEIAJBADoACSACIAQ6AAggAiABNgIEQQR0IQEDQCABBEAgAiADNgIMIAJBBGogAkEMakH6AhCBCCABQRBrIQEgA0EQaiEDDAELCyACQQRqEOQcIAJBEGokAAuKAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCABKAIUQbC/4ABBASABKAIYKAIMEQMAIQQgAkEAOgAJIAIgBDoACCACIAE2AgRBBHQhAQNAIAEEQCACIAM2AgwgAkEEaiACQQxqQYUDEIEIIAFBEGshASADQRBqIQMMAQsLIAJBBGoQ5BwgAkEQaiQAC4oBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIAEoAhRBsL/gAEEBIAEoAhgoAgwRAwAhBCACQQA6AAkgAiAE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KAIEIgAtAEVBA0YNACAAQSBqIQADQCAALQAlQQJGBEACQCAAKAIIQThsIQMgACgCBCEEQQAhAANAAkAgACADRwRAIAAgBGoiAigCACIFQQlHBEACQAJAAkACQAJAAkACQCAFQQFrDggBAgMEBQkGCQALIAJBHGogARCHJAwICyACQQhqIAEQvw0MBwsgAkEcaiABEIckDAYLIAJBCGooAgANBSACQRBqIAEQqC0MBQsgASACQQRqKAIAEJIBDAQLIAJBEGogARCHJAwDCyACQQRqIAEQpS0MAgsgAkEIaiABENoEDAELDAILIABBOGohAAwACwALBSAAKAIgIQAMAQsLCwugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQYDM3wA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEKQXRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtB/L3gAEE3IAJBP2pBmMzfAEGAv+AAEMUOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQYDM3wA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEKkZRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtB/L3gAEE3IAJBP2pBmMzfAEGAv+AAEMUOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQay94AA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEJ8rRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtB/L3gAEE3IAJBP2pBxL3gAEGAv+AAEMUOAAugAQEBfyMAQUBqIgIkACACQQA2AhQgAkKAgICAEDcCDCACQQM6ADggAkEgNgIoIAJBADYCNCACQay94AA2AjAgAkEANgIgIAJBADYCGCACIAJBDGo2AiwgASACQRhqEKUZRQRAIAAgAikCDDcCACAAQQhqIAJBFGooAgA2AgAgAkFAayQADwtB/L3gAEE3IAJBP2pBxL3gAEGA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IwBBIGsiACQAAkBBuJfkACgCAEUEQEGM++MAQYz74wAoAgAiAUEBajYCACABRQ0BQbyX5AAgATYCAEG4l+QAQQE2AgALIABBIGokAEG8l+QADwsgAEEANgIYIABBATYCDCAAQYz6wwA2AgggAEIENwIQIABBCGpBlPrDABDDHQALlgEBAX8jAEFAaiICJAAgAkIANwM4IAJBOGogACgCABAiIAIgAigCPCIANgI0IAIgAigCODYCMCACIAA2AiwgAkEFNgIoIAJBAjYCECACQeSh4wA2AgwgAkIBNwIYIAIgAkEsajYCJCACIAJBJGo2AhQgASgCFCABKAIYIAJBDGoQkgQgAigCLCACKAIwENopIAJBQGskAAuYAQEDfyAALQAIIQECQCAAKAIAIgNFBEAgASECDAELQQEhAgJAIAFBAXFFBEAgA0EBRw0BIAAtAAlFDQEgACgCBCIBLQAcQQRxDQEgASgCFEG+uOAAQQEgASgCGCgCDBEDAEUNAQsgACACOgAIDAELIAAgACgCBCIAKAIUQeCh4wBBASAAKAIYKAIMEQMAIgI6AAgLIAJBAXELkwEBBH8jAEEQayICJABBASEEAkAgASgCFCIDQScgASgCGCIFKAIQIgERAgANACACQQRqIAAoAgBBgQIQwgMCQCACLQAEQYABRgRAIAMgAigCCCABEQIARQ0BDAILIAMgAi0ADiIAIAJBBGpqIAItAA8gAGsgBSgCDBEDAA0BCyADQScgARECACEECyACQRBqJAAgBAuSAQEDfyMAQZADayIDJAAgAyABIAIQlgECQCADKAIAQYeAgIB4RgRAIABBAjoADAwBCwJAIAJFDQAgASgCCCEEIAJBAUYNACABQRhqIQEgAkEBa0H/////AHEhAgNAIAQgASgCACIFIAQgBUsbIQQgAUEQaiEBIAJBAWsiAg0ACwsgACADIAQQ9AYLIANBkANqJAALkAEBAn8jAEEgayIDJAACQCAALQCcDUEBRwRAAkAgACkDAEICUgRAIAEoAsgEQQJGDQMgA0EUaiIEIAAgAUHYAWogAhD3CSADQQhqIAQQgBggAygCCCIEQQJHDQELIAAgASACEKwFIQQLIANBIGokACAEQQFxDwtB5ezgAEEoQYiNwwAQ9BcAC0GojMMAEOApAAuGAQEDfyMAQRBrIgQkAAJAIANBB00E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Sw0BCw8LIAAtACQhAyAAIAI6ACQgASgCCEE4bCECIAEoAgQhAQNAIAIEQCAAIAEQogogAkE4ayECIAFBOGohAQwBCwsgACADOgAkC48BAQN/IAAoAghBOGwhAyAAKAIEIQRBACEAA0ACQCAAIANHBEACQAJAAkAgACAEaiICKAIAQQFrDgIBAgALIAEgAkEIahD2ISACQShqIAEQ2CwMAwsgAkEQaiABEO0tIAJBMGoiAigCAEUNAiACIAEQzSwMAgsgAkEEaiABEPctDAELDwsgAEE4aiEADAALAAuPAQEDfyAAKAIIQThsIQMgACgCBCEEQQAhAANAAkAgACADRwRAAkACQAJAIAAgBGoiAigCAEEBaw4CAQIACyABIAJBCGoQ+SEgAkEoaiABEOcsDAMLIAJBEGogARCDKSACQTBqIgIoAgBFDQIgAiABENUsDAILIAJBBGogARDzLQwBCw8LIABBOGohAAwACwALkwEBA38gACgCCEEobCECIAAoAgQhA0EAIQADQAJAIAAgAkcEQAJAAkACQAJAAkAgACADaiIBKAIAQQFrDgQBAgMEAAsgAUEYakIANwIADAULIAFBBGoQ5B8MBAsgAUEIakIANwIAIAFBBGoQjC4MAwsgAUEEahCSLgwCCyABQQRqENwgDAELDwsgAEEoaiEADAALAAuDAQECfyMAQRBrIgYkACABLQAAIQcgBkEIaiACIAMgBCAFQbSYwAAQ7BYgBiAHIAYoAgggBigCDBCnBkEAIQUgACAGKAIAQQFxBH8gACAEIAYoAgQgBGoiAiABLQABayIBQQAgASACTRsiASABIARJGzYCBEECBSAFCzYCACAGQRBqJAALgAEBAn8gAUH/AXFB1InBAGosAAAiA0H/AHEhAiAAAn9BASADQQBODQAaIAJFBEAgAUHwAXFBBHZBi57jAGotAABBEHQgAUEPcUGLnuMAai0AAEEYdHJB3PABciECQQQMAQsgAkEIdEHcAHIhAkECCzoABSAAQQA6AAQgACACNgAAC30BA38gACgCACEBIAAoAgQiAigCCCEAIAIoAgAiAwRAIAEgAEEBa0F4cWpBCGogAxEBAAsCQCABQX9GDQAgASABKAIEIgNBAWs2AgQgA0EBRw0AQQQgACAAQQRNGyIAIAIoAgRqQQdqQQAgAGtxIgJFDQAgASACIAAQ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CCAEQQI2AhQgBEHwg8AANgIQIARCAjcCHCAEQQE2AjQgBEECNgIsIAQgAzYCPCAEIAI2AjggBCAEQShqNgIYIAQgBEE4ajYCMCAEIARBCGo2AiggBEEQahCiGSAEQUBrJAALcAEBfwJAAkAgAUH/////A00EQCABQf////8DRg0CIAEgAUECdEEHakF4cSICakEIaiIBIAJJDQEgAUH4////B00EQCAAIAI2AgggACABNgIEIABBCDYCAA8LDAILDAELIABBADYCAA8LIABBADYCAAuOAgEGfyMAQRBrIgUkAAJAIAAoAgBBgICAgHhGDQAgACgCCCIBQQJJDQAgACgCBCEDIAFBFU8EQCAFQQ9qIQYjAEGQIGsiAiQAAkAgASIAQQF2IgFBoMIeIAAgAEGgwh5PGyIEIAEgBEsbIgFBgQJPBEAgAkEIaiABQRAQwRQgAkEANgIYIAIgAigCDCIBNgIUIAIgAigCCCIENgIQIAMgACABIAQgAEHBAEkgBhD0ASACQRBqENkiDAELIAMgACACQRBqQYACIABBwQBJIAYQ9AELIAJBkCBqJAAMAQsgAUEEdCEBQRAhAANAIAAgAUYNASADIAAgA2oQhA0gAEEQaiEADAALAAsgBUEQaiQAC3YBBH8gACABENweQQEgASABQQFNGyIEQQFrIQIgACgCBCAAKAIIIgVBAnRqIQMCQANAIAIEQCADQQA2AgAgAkEBayECIANBBGohAwwBBQJAIAQgBWohAiABDQAgAkEBayECDAMLCwsgA0EANgIACyAAIAI2AggLhQEBAn8CQAJAAkACQAJAAkACQCAAKAIAQQFrDgcCAwEEBQYAAQsgAEEEahDYJgsPCyAAKAIEIAAoAggQ2SQPCyAAQQRqELQeDwsgAEEMahDJKA8LIABBBGoCQCAAKAIMIgJFDQAgACgCECIARQ0AIAIgAEEBENURCxDJKA8LIABBBGoQ2CYLggEBAn8jAEEgayIDJABBgICAgHghBCAAIAFBA0cEfyADQgA3AhggA0KAgICAwAA3AhAgA0EQaiACELEjIANBCGogA0EcaigCADYCACADIAMpAhQ3AwAgAygCEAUgBAs2AgAgACADKQMANwIEIABBDGogA0EIaigCADYCACADQSBqJAALeQIBfgN/IAAoAhAhAiAAKAIIIQMgACkDACEBA38g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OwGMAgNAIAFBCGogAUGMAmoQ6hIgAS0ACARAIAEtAAkiAiABQQxqaiACOgAADAEFIAAgAUEMakGAAhD7BhogAUGQAmokAAsLC3oBBH8Cf0GBgICAeCABKAIAIgNFDQAaIANBAnQhBCABKAIEIQUCQCACRQRAQQQhBiAFIARBBBDVEQwBC0EEIAUgBEEEIAJBAnQiAxD5AiIGRQ0BGgsgASACNgIAIAEgBjYCBEGBgICAeAshASAAIAM2AgQgACABNgIAC3YBAn8jAEEwayIBJAAgASAANgIMIAAtAABBAk8EQCABQQE2AhQgAUGQrMMANgIQIAFCATcCHCABQf4ANgIsIAEgAUEoajYCGCABIAFBDGo2AiggAUEQakGErcMAEMMdAAsgACgCBCAAQQxBBBDVESABQTBqJAALagECfyACBH8CQAJAIAEgAkEBayIDSwRAIAAgA2otAABB/JnEAGotAAAhBEEBIQMgASACSw0BDAILIAMgAUHMlsQAEKwQAAsgACACai0AAEH8mcQAai0AAEEBcyEDCyADIARxBUEAC0EBcQtyACAAQRxqIAEgAhC6ESAAQRhqIARBGGooAgA2AgAgAEEQaiAEQRBqKQIANwIAIABBCGogBEEIaikCADcCACAAIAQpAgA3AgAgACADKQIANwIoIABBMGogA0EIaikCADcCACAAQThqIANBEGopAgA3AgALWwECfwJAIAEgA0cNACABQQFqIQEDQCABQQFrIgFFIQQgAUUNASAALQAAIAItAABHDQEgAkEBaiEDIABBAWogAEECaiEAIAJBAmohAi0AACADLQAARg0ACwsgBAtpAQR/IwBBEGsiAiQAIAJBCGogASgCACIDQRBqKAIAIANBFGooAgAgASgCBCIDEKgYIAAgAigCCCIEBH8gAigCDCEFIAEgA0EBajYCBCAAQQRqIAQgBRC6EUEDBUEGCzoAACACQRBqJAALcAECfyMAQSBrIgEkAAJAIAAoAiBBAkYEQCAAQSRqIQIMAQsgASAANgIIIAEgAEEkaiICNgIMIAEgAUEfajYCGCABIAFBDGo2AhQgASABQQhqNgIQIABBIGogAUEQakH8y9gAEO4ECyABQSBqJAAgAgtqAQJ/IAFBBHQhAQNAIAEEQCAAQQRqKAIAIABBCGooAgAgAhDdCCACQQsgAC0ADCIEQQlrIgMgA0H/AXFBDU8bQf8BcSIDELsgIANBC0YEQCAEIAIQjyoLIABBEGohACABQRBrIQEMAQsLC+ECAhB/AX4jAEEgayIDJAACQCAAKAIAIgFFBEBBACEADAELEPQiIQAgASgCDCEKIAEoAhAhCyADQQxqIQUjAEFAaiICJAAgASgCBCEMIAJBCGogASgCCCIHQQhBMBD7FCACKAIIIgggB0H/////AHEiASABIAhLGyEGIAJBGGohDSACKAIMIQkDQCAGBEAgBCAMaiIBKQIAIREgDSABQQhqENYbIAFBKGovAQAhDiABQSpqLQAAIQ8gAUEgahD4JCEQIAFBJGoQ+CQhASACIA86ADogAiAOOwE4IAIgETcDECACIAE2AjQgAiAQNgIwIAQgCWogAkEQakEwENotGiAGQQFrIQYgBEEwaiEEDAELCyAFIAc2AgggBSAJNgIEIAUgCDYCACACQUBrJAAgAEEQaiALNgIAIAAgAykCDDcCACADIAo2AhggAEEIaiADQRRqKQIANwIACyADQSBqJAAgAAtyAQR/IwBBIGsiASQAAkAgACgCACICRQRAQQAhAAwBCxD0IiEAIAIoAgwhAyACKAIQIQQgAUEMaiACEKcNIABBEGogBDYCACAAIAEpAgw3AgAgASADNgIYIABBCGogAUEUaikCADcCAAsgAUEgaiQAIAALegECfyMAQSBrIgIkACAAIAEQhCMiAQRAIAAoAqACIQMgAEElNgKgAiAAIAApA7gCNwPwAiACQRRqIABBrAJqKQIANwIAIAJBHGogAEG0AmooAgA2AgAgAiAAKQKkAjcCDCACIAM2AgggAkEIahDGCgsgAkEgaiQAIAELegEDfyMAQRBrIgMkAAJAAkACQCABKAIAQQFrDgIBAQALIANBCGogAUEIahCpHCADKAIIIgIgASgCKBCjDyIEIAIgBEkbIQEgAiAEIAIgBEsbIQIMAQsgASgCDCECIAEoAgghAQsgACACNgIEIAAgATYCACADQRBqJAALeQEBfyMAQRBrIgEkAAJ/AkACQAJAAkACQAJAIAAoAgBBAWsOBgIBAgMEBQALIAEgAEEIahCuFSABKAIEDAULIAAoAgwMBAsgACgCFAwDCyAAKAIQDAILIAAoAggMAQsgAUEIaiAAKAIEEI0DIAEoAgwLIAFBEGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUElEJUJAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUEmEKsGAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtrAQF/IwBBIGsiAiQAIAJBCGogAUEqEJUJAkAgAigCCEElRwRAIAAgAikDCDcDACAAQRBqIAJBGGopAwA3AwAgAEEIaiACQRBqKQMANwMADAELIAAgAigCDDYCBCAAQSY2AgALIAJBIGokAAtsAQF/IwBBIGsiAiQAIAJBCGogAUH8ABCrBgJAIAIoAghBJUcEQCAAIAIpAwg3AwAgAEEQaiACQRhqKQMANwMAIABBCGogAkEQaikDADcDAAwBCyAAIAIoAgw2AgQgAEEmNgIACyACQSBqJAALcQECfyMAQRBrIgQkACAEQQhqIAIgAyABKAIIIgMQpxkgBCgCDCECIAEgBCgCCCIFNgIIIAAgAjYCDCAAIAE2AgggACADIAJrNgIQIAAgASgCBCIBIAJBOGxqNgIEIAAgASAFQThsajYCACAEQRBqJAALcgEBfyMAQdAAayICJAAgAkEIaiABEOsYIAJByABqIAJBIGopAwA3AgAgAkFAayACQRhqKQMANwIAIAJBOGogAkEQaikDADcCACAAQQA2AgAgAiACKQMINwIwIABBBGogAkEsakEkEPsGGiACQdAAaiQAC3MBBH8jAEEQayICJAAgAkEIakEAQQAgASgCCCIEEKcZIAIoAgwhAyABIAIoAggiBTYCCCAAIAM2AgwgACABNgIIIAAgBCADazYCECAAIAEoAgQiASADQdgAbGo2AgQgACABIAVB2ABsajYCACACQRBqJAALcQECfyMAQRBrIgQkACAEQQhqIAIgAyABKAIIIgMQpxkgBCgCDCECIAEgBCgCCCIFNgIIIAAgAjYCDCAAIAE2AgggACADIAJrNgIQIAAgASgCBCIBIAJBMGxqNgIEIAAgASAFQTBsajYCACAEQRBqJAALegEDfyMAQRBrIgMkAAJA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BGogARDNLAwCCyAAQQRqIAEQ+SwMAQsgAEEEaiABEMYPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQiiIMAwsgAEEEaiABENUsDAILIABBBGogARD2LAwBCyAAQQRqIAEQxw8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCJIgwDCyAAQQRqIAEQ1iwMAgsgAEEEaiABEPUsDAELIABBBGogARDIDwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEI4iDAMLIABBBGogARDTLAwCCyAAQQRqIAEQ+ywMAQsgAEEEaiABEMkPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQiyIMAwsgAEEEaiABENcsDAILIABBBGogARD3LAwBCyAAQQRqIAEQyg8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCTIgwDCyAAQQRqIAEQgi0MAgsgAEEEaiABEJktDAELIABBBGogARDLDwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEJUiDAMLIABBBGogARCHLQwCCyAAQQRqIAEQmC0MAQsgAEEEaiABEMwPCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQmCIMAwsgAEEEaiABEIYtDAILIABBBGogARCXLQwBCyAAQQRqIAEQzQ8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCXIgwDCyAAQQRqIAEQii0MAgsgAEEEaiABEJYtDAELIABBBGogARDODwsgAEEoaiEAIAJBKGshAgwBCwsLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEJQiDAMLIABBBGogARCFLQwCCyAAQQRqIAEQmi0MAQsgAEEEaiABEM8PCyAAQShqIQAgAkEoayECDAELCwt5AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEACQAJAAkACQAJAIAAoAgBBAWsOBAABAgMECyAAQQRqIAEQuyIMAwsgAEEEaiABEKYtDAILIABBBGogARCtLQwBCyAAQQRqIAEQ0A8LIABBKGohACACQShrIQIMAQsLC3kBAX8gACgCCEEobCECIAAoAgQhAANAIAIEQAJAAkACQAJAAkAgACgCAEEBaw4EAAECAwQLIABBBGogARCzIgwDCyAAQQRqIAEQpS0MAgsgAEEEaiABEK4tDAELIABBBGogARDRDwsgAEEoaiEAIAJBKGshAgwBCwsLcgECfyMAQRBrIgIkAAJAIAFBgAFPBEAgAkEANgIMIAIgASACQQxqEOQJIAAgAigCACACKAIEEPYdDAELIAAoAggiAyAAKAIARgRAIAAQ9xcLIAAgA0EBajYCCCAAKAIEIANqIAE6AAALIAJBEGokAEEAC14BAn8CQCABRQ0AA38gAUEBTQR/IAAgA0EobGooAhgiACACRg0CIAMgACACSWoFIAMgAUEBdiIEIANqIgMgACADQShsaigCGCACSxshAyABIARrIQEMAQsLIQMLIAMLeQEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAAkACQAJAAkACQCAAKAIAQQFrDgQAAQIDBAsgAEEEaiABEMgiDAMLIABBBGogARC4LQwCCyAAQQRqIAEQ1C0MAQsgAEEEaiABENQPCyAAQShqIQAgAkEoayECDAELCwt2AQF/IAAoAghBOGwhAiAAKAIEIQADQAJAIAIEQAJAAkACQCAAKAIAQQFrDgIBAgALIABBCGogARDGIiAAQShqIAEQxS0MAwsg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AADwf2ENABpBAiAIQoCAgICAgID4/wCDIglCgICAgICAgPj/AFENABogCEL/////////B4MiDEKAgICAgICACIQgCEIBhkL+////////D4MgCEI0iKdB/w9xIgIbIgpCAYMhCyAJUARAQQQgDFANARogAkGzCGshAkIBIQkgC1AMAQtCgICAgICAgCAgCkIBhiAKQoCAgICAgIAIUSIDGyEKQgJCASADGyEJQct3Qcx3IAMbIAJqIQIgC1ALIQMgACACOwGIASAAIAk3A4ABIABCATcDeCAAIAo3A3AgACADOgCKAQJAAkACQAJAAkACQCADQQJrIgMEQEEBIQJBmOTgAEGGsOAAIAhCAFMiBRtBmOTgAEEBIAUbIAQbIQVBASAIQj+IpyAEGyEGQQMgAyADQQNPG0ECaw4CAgMBCyAAQQM2AiAgAEHkxd8ANgIcIABBAjsBGEEBIQVBASECDAMLIABBAzYCICAAQZDuwAA2AhwgAEECOwEYDAILIABBAzYCICAAQZPuwAA2AhwgAEECOwEYDAELIABB4ABqIABB8ABqIgQgAEEHaiICEKIBAkAgACgCYEUEQCAAQZABaiAEIAIQRAwBCyAAQZgBaiAAQegAaigCADYCACAAIAApAmA3A5ABCyAAKAKUASICRQ0BIAAoApABIgMtAABBME0NAiAALgGYASEEIABBATYCICAAIAM2AhwgAEECOwEYAn8gAkEBRgRAQQEhAiAAQSRqDAELIABBAjsBMCAAQYO24AA2AiggAEECOwEkIAAgAkEBazYCOCAAQQE2AiwgACADQQFqNgI0QQMhAiAAQTxqCyIDQQJBASAEQQBMIgcbNgIIIANBrOLYAEG8vOAAIAcbNgIEIANBAjsBACAAQRhqIAJBDGxqIgNBDmpBASAEayAEQQFrIAcbOwEAIANBDGpBATsBACACQQJqIQILIAAgAjYCbCAAIAY2AmQgACAFNgJgIAAgAEEYajYCaCABIABB4ABqELcEIABBoAFqJAAMAgtB6OvAAEEhQfDtwAAQ9BcAC0HA7cAAQR9BgO7AABD0FwALC3EBAX8gAAJ/AkACQAJAAkAgASgCAEEBaw4DAQIDAAsgASgCBAwDC0EBIQIgASgCBAwCCyABKAIIIgEgASgCAEGIgMQARiICQQJ0agwBCyABKAIIIgEgASgCAEGIgMQA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KAIEIgItAFANAiACLQBRRQ0BDAILIAAtACQNAQsgABDJHCEBCyABC10BBH8gASAAKAIIIgIoAgAgACgCECIEIAAoAgwiA2oiBWtLBEAgAiAFIAFBCEEwELcXCyACKAIEIgIgASADaiIBQTBsaiACIANBMGxqIARBMGwQ2i0aIAAgATYCDAtvAQF/IwBBIGsiACQAQZSM5AAoAgBBAkcEQCAAQYyM5AA2AgggAEGMjOQANgIMIAAgAEEfajYCGCAAIABBDGo2AhQgACAAQQhqNgIQQZSM5AAgAEEQakHsy98AEO4EC0GQjOQAKAIAGiAAQSBqJAALawECfyABKAIAIQIgAUEANgIAAkAgAS0APA0AIAEoAgQhAyABKAIoIAEoAhAgASgCFBCCDyABKAI4BEAgAUEANgI0IAEgASgCMEEBajYCMAsgAUEBOgA8IAJFDQAgASADEJwECyAAQQQ6AAALZAECfyMAQRBrIgIkAAJ/IAEoAgAiAwRAIAJBCGogAyABKAIEEOIWIAIoAgghAyACKAIMDAELIAIgASgCBBCCCiACKAIAIQMgAigCBAshASAAIAM2AgAgACABNgIEIAJBEGokAAtWAQF+AkAgA0HAAHFFBEAgA0UNASACQQAgA2tBP3GthiABIANBP3GtIgSIhCEBIAIgBIghAgwBCyACIANBP3GtiCEBQgAhAgsgACABNwMAIAAgAjcDCAthAQN/AkAgASgCBCICBH8gASgCACIDKAIsIgQgAk0NASABIAMoAiggAkEDdGoiASgCBDYCBCABKAIAIQJBAQVBAAshASAAIAI2AgQgACABNgIADwsgAiAEQaiBxAAQrBAAC2cBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCAAQSBqEOYiIABBADYCICACQQhqEJkEIABBMGogASgC+AQoAsgCIgEQtxAgAEHMAGogARC3ECAAQQA2ArABIABBADYCbCACQRBqJAALYwECfwJAIAEoAhQiAkUEQCABKAIIIQNBACECDAELIAEoAggiAyABKAIQIAJBA3RqQQRrKAIAIgJPDQAgAiADQZyIxAAQrRAACyAAIAMgAms2AgQgACABKAIEIAJBA3RqNgIAC2IBAn8jAEEQayIDJAAgA0EEaiACQQFBARChCyADKAIIIQQgAygCBEEBRgRAIAQgAygCDBDhKQAL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AgBFDQEgACABEIotDAELDwsgAkE4ayECIABBOGohAAwACwALUAEBfyAAKAIIQThsIQIgACgCBEEwaiEAA0ACQCACBEAgAEEwayABELESIAAoAgBFDQEgACABEKUtDAELDwsgAkE4ayECIABBOGohAAwACwALUAEBfyAAKAIIQThsIQIgACgCBEEwaiEAA0ACQCACBEAgAEEwayABEIgJIAAoAgBFDQEgACABEKYtDAELDwsgAkE4ayECIABBOGohAAwACwALVgEBfyMAQRBrIgIkAAJ/IAAoAgBBAkYEQCABKAIUQbjw4ABBBCABKAIYKAIMEQMADAELIAIgADYCDCABQbzw4ABBBCACQQxqQZ4FEMwKCyACQRBqJAALVAIBfwF+IwBBEGsiAyQAIANBCGogAiABQQAQfQJAAkAgAy0ACEEERwRAIAMpAwgiBEL/AYNCBFINAQsgAEEEOgAADAELIAAgBDcCAAsgA0EQaiQAC1UCAX8BfiMAQRBrIgMkACADQQhqIAEgAkEAEOcEAkACQCADLQAIQQRHBEAgAykDCCIEQv8Bg0IEUg0BCyAAQQQ6AAAMAQsgACAENwIACyADQRBqJAALRQEDfyMAQSBrIgMkAAJAA0AgASACRg0BIANBBGogABDcBSADKAIEBEAgAkEBaiECDAELCyABIAJrIQQLIANBIGokACAEC0UBA38jAEEgayIDJAACQANAIAEgAkYNASADQQRqIAAQywogAygCBARAIAJBAWohAgwBCwsgASACayEECyADQSBqJAAgBAtSAQF/IwBBEGsiAiQAAn8gACgCAARAIAIgADYCDCABQaeCxABBBSACQQxqQT0QzAoMAQsgASgCFEGsgsQAQQkgASgCGCgCDBEDAAsgAkEQaiQAC1YBAX8jAEEQayICJAAgAiAAKAIAIgBBDGo2AgwgAUH4gcQAQQhB4LvAAEEDIABBPkHju8AAQQwgAEEIakEVQZyCxABBCyACQQxqQSYQ5gogAkEQaiQAC1UBAX8CQCACQQBOBEACQCACRQRAQQEhAwwBC0GwmOQALQAAGiACEGAiA0UNAgsgAyABIAIQ+wYhASAAIAI2AgggACABNgIEIAAgAjYCAA8LEKwbCwALUAEEfyABIAAoAggiAigCACAAKAIQIgQgACgCDCIDaiIFa0sEQCACIAUgARCgGAsg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IAQgACADKAI0EQAAIAFBEGokACAAKQMAIQYjAEEQayIBJAAgAigCCCEDIAIoAgQhBCACKAIAQQFGBEAgAUEIaiAEIAMQxR8gASgCCCEEIAEoAgwhAwsgBCAGIAMoAkARJwAaIAFBEGokACAFRQ0AIAAoAgwiAiACKAIAIgJBAWs2AgAgAkEBRw0AIABBDGoQtA4LC1QBAn8jAEEQayIDJAAgAi0APSEEIAMgACABEMAjIAMoAgghASADKQMAIQACQCAERQRAIAIgACABEKsRDAELIAIgACABIAItAD4QmwYLIANBEGokAAtMAQF/IAAoAghBOGwhASAAKAIEQTBqIQADQAJAIAEEQCAAQTBrELEUIAAoAgBFDQEgABDrLQwBCw8LIAFBOGshASAAQThqIQAMAAsAC08BAn8gASAAKAIIIgJJBEBBACECIAAoAgAiAygCACAAKAIEIAFBFGxqIgAoAgBGBH8gAygCBCAAKAIERgUgAgsPCyABIAJBmLjfABCsEAALTAIBfwF+AkAgASgCGEUNACABEI4PIQIgASABKAIYQQFrNgIYIAJFDQAgAkEIaygCACEBIAJBEGspAwAhAwsgACABNgIIIAAgAzcDAAtMAQJ/IAAoAghBKGwhAiAAKAIEIQEDQCACBEAgASgCAEEHRwRAIAEQ8BMLIAFBKGohASACQShrIQIMAQsLIABBFGoQrCogAEEAOgAYC1cBA38gACgCBCEDIAAoAgAhASAAQoiAgICAATcCACADIAFrQdgAbiECAkAgASADRg0AA0AgAkUNASACQQFrIQIgARDICCABQdgAaiEBDAALAAsgABDKEgtMAQF/IAAoAghBOGwhASAAKAIEQTBqIQADQAJAIAEEQCAAQTBrEO8TIAAoAgBFDQEgABD7LQwBCw8LIAFBOGshASAAQThqIQAMAAsAC0wBAX8gACgCCEE4bCEBIAAoAgRBMGohAANAAkAgAQRAIABBMGsQ8BMgACgCAEUNASAAEP0tDAELDwsgAUE4ayEBIABBOGohAAwACwALTAECfyAAQgA3AgwgACgCCEEobCECIAAoAgQhAQNAIAIEQCABKAIAQQdHBEAgARCwEgsgAUEoaiEBIAJBKGshAgwBCwsgAEEUahCUJgtfAAJAAkACQAJAAkACQAJAIAAoAgBBAWsOBgECAwQFBgALIABC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BEAgACgCBCIBBEAgACgCAEH/ASABQQlqEI0LGgsgAEEANgIMIAAgASABQQFqQQN2QQdsIAFBCEkbNgIICwtXAQF/QbCY5AAtAAAaQRwQYCICRQRAAAsgAkIANwIIIAJCgICAgIABNwIAIAJBEGpCADcCACACQRhqQQA7AQAgACABQSgQ+wYaIAEgAjYCBCABQQI2AgALWAIBfwF+IwBBEGsiAiQAIAEoAgBBAUYEQEHcvd8AQSpBiL7fABC7EgALIAIgASkDCCABKAIYEMAjIAIpAwAhAyAAIAIoAgg2AgggACADNwMAIAJBEGokAAtKAQF/IwBBQGoiASQAIAFBFGogAEEQaigCADYCACABQQxqIABBCGopAgA3AgAgAUEONgIAIAEgACkCADcCBCABENwoIAFBQGskAAtKAQF/IwBBQGoiASQAIAFBFGogAEEQaigCADYCACABQQxqIABBCGopAgA3AgAgAUESNgIAIAEgACkCADcCBCABENwoIAFBQGskAAtJAQJ/IAAoAghBKGwhAyAAKAIEIQIDQCADBEAgAigCAEEHRwRAIAIgARCuEQsgAkEoaiECIANBKGshAwwBCwsgAEEUaiABEPIjC0wBAn8jAEEQayIBJAAgACgCBCICBEAgABCFDCABQQRqQSBBCCACQQFqEOYNIAAoAgAgASgCDGsgASgCBCABKAIIELokCyABQRBqJAALTgECfyAAKAIMIAAoAgQiAWtBBXYhAgNAIAIEQCABQRBqKQMAEO0mIAEpAwAQ+RogAkEBayECIAFBIGohAQwBCwsgACgCCCAAKAIAEPkpC1UBAX8CQAJAAkBBASAALQAsQQNrIgEgAUH/AXFBA08bQf8BcUEBaw4CAQIACyAAQgA3AwgPCyAAELYdDwsgAEIANwMYIABCADcDCCAAQSBqQgA3AwALTwEBfyMAQRBrIgMkACADQQRqIAFBBCACEKELIAMoAgghASADKAIERQRAIAAgAygCDDYCBCAAIAE2AgAgA0EQaiQADwsgASADKAIMEOEpAAtTAQN/IAEoAgAhAyABKAIEIQQCQANAIAMiAiAERg0BIAEgAkFAayIDNgIAIAItADxBBkYNAAsgACACNgIIIAAgASgCCCkCADcCAA8LIABBADYCAAtSACAAIAEpAYIDNwEEIABBGWogAUGXA2opAAA3AAAgAEEUaiABQZIDaikBADcBACAAQQxqIAFBigNqKQEANwEAIAFBgAFqIAIQyQggACABNgIAC0QBAn8jAEEQayICJAAgACABKAIAQQdHBH8gAkEIaiABEJAMIAIoAgghAyACKAIMBSADCzYCBCAAIAM2AgAgAkEQaiQAC0QBAn8jAEEQayICJAAgACABKAIAQQJHBH8gAkEIaiABEIUQIAIoAgghAyACKAIMBSADCzYCBCAAIAM2AgAgAkEQaiQAC0sBA38jAEEQayICJAAgAkEIaiABKAIAEI4DIAAgAigCDCIDIAEoAgwiBCADIARJGyADIAQgAyAESxsQ6BggASAAELgtIAJBEGokAAtDAQN/AkAgAkUNAANAIAAtAAAiBCABLQAAIgVGBEAgAEEBaiEAIAFBAWohASACQQFrIgINAQwCCwsgBCAFayEDCyADC0kBAX8jAEEQayIEJAAgBEEANgIMIAQgAzoADCABIAIgBEEMahDfIiEDIAAgAkEBazYCBCAAIAFBAWpBACADGzYCACAEQRBqJAALUgEDf0EDQQAQjQYhAEGEjeQAQYSN5AAoAgAiASAAIAEbNgIAIAFFBEAgAA8LIAAoAgQiAgRAIAAoAgAgAkEGdEHAABDVEQsgAEEQQQQQ1REgAQuPAQEEfyAAKAIAIgBBMGoQrxkgAEHMAGoiAygCCCEBIAMoAgQiBCECA0AgAQRAIAIoAgBBNEEEENURIAFBAWshASACQQRqIQIMAQsLIAMoAgAgBEEEQQQQ1CIgACgCWEE0QQQQ1RECQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABB3ABBBBDVEQsLTwEBfyMAQYADayICJAACQCABKQMAQgJRBEAgAkECNgLwAgwBCyACIAEQkgkgAkHAAWogAUGIBWoQkgkLIAAgAkGAAxD7BhogAkGAA2okAAtLAQF/IwBBEGsiBCQAIAQgASACIAMQqwRBASEDAkAgBCgCAEEBRgRAIAAgBCkCCEIgiTcCBAwBC0EAIQMLIAAgAzYCACAEQRBqJAALTQECfyMAQRBrIgMkACADQQhqIAJBCBDBFCADKAIIIQQgAygCDCABIAJBA3QQ+wYhASAAIAI2AgggACABNgIEIAAgBDYCACADQRBqJAALSQEDfwJAIAEoAhAiAkUNACACQQFrIgIgASgCDE8NACABKAIIIAJqLQAAIQRBASEDCyAAIAQ6AAkgACADOgAIIAAgASkCADcCAAtNAQJ/IwBBEGsiAyQAIANBCGogAkEEEMEUIAMoAgghBCADKAIMIAEgAkECdBD7BiEBIAAgAjYCCCAAIAE2AgQgACAENgIAIANBEGokAAtPAQJ/IAAoArABQQFxBEAgACAAKAJwIAAoArQBIgIgACgCuAEiA2sgAyACayACIANLG2o2AnALIAAgATYCuAEgACABNgK0ASAAQQE2ArABC0sBAn8jAEEQayIBJABBsJjkAC0AABogAUEAOgAPQQEQYCICRQRAAAsgAkEBQQEQ1REgACACrTcDCCAAIAFBD2qtNwMAIAFBEGokAAtIAAJAIANFDQACQCACIANLBEAgASADaiwAAEG/f0wNAQwCCyACIANGDQELIAEgAkEAIAMgBBDUJgALIAAgAzYCBCAAIAE2AgALRAECfyMAQRBrIgMkACABBEAgA0EIaiABQQFrIAAgAUHMytYAEJIdIAJBASADKAIIIAMoAgwQ6x8hBAsgA0EQaiQAIAQLUAEBfyMAQRBrIgMkACADIAI2AgwgAyABKAIAQQhqQfDG2AAQvx0gAygCBCEBIAAgAygCACADQQxqEPoFIAEgASgCAEEBajYCACADQRBqJAALUAEBfyMAQRBrIgMkACADIAI2AgwgAyABKAIEQQhqQdDH2AAQvx0gAygCBCEBIAAgAygCACADQQxqEPoFIAEgASgCAEEBajYCACADQRBqJAALVAEBfwJAAkACQEEBIAEtACxBA2siAiACQf8BcUEDTxtB/wFxQQFrDgIBAgALIAAgARDWGyAAQQM6ACwPCyAAIAEQ/AgPCyAAIAEQkB8gAEEFOgAsC04AIAAoAgAiABDuJiAAQQxqELkHIAAoAgwgAEEQaigCABCTKiAAQTBqEOsmIABBNGoQ1R0gAEE4ahDnJiAAQRhqEO8mIABBwABBBBDVEQtNAQJ/IAEoAgghAgJAIAEoAhgiA0UEQCABKAIMIQMMAQsgAiADKAIIIgEgASACSRshAyACIAEgASACSxshAgsgACADNgIEIAAgAjYCAAtJAQF/IAEoAggiAgRAIAAgASgCBCIAQcAAEPsGGiAAIABBQGsgAkEGdEFAahDaLRogASACQQFrNgIIDwtBAEEAQZys4AAQsRAACz8BAn8gABDdGiEBIAAoAhAhAiAAAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyACajYCEAtFAQF/IwBBEGsiAyQAIAFBAXEEfyADQQhqIAIQgB0gAygCDCECIAMoAggFQQALIQEgACACNgIEIAAgATYCACADQRBqJAALPwECfyAAEN4KIQEgACgCECECIAACf0EBIAFBgAFJDQAaQQIgAUGAEEkNABpBA0EEIAFBgIAESRsLIAJqNgIQC1AAIAAQoRwgACgCACAAQQRqKAIAEJQqIABBDGoQ7iYgACgCGEGAgICAeEcEQCAAQRhqEOkmCyAAQTxqENUdIABBQGsQtScgAEHIAEEEENURC0YBAn8gAC0ANARAIAEoAghBKGwhAiABKAIEIQMDQCACBEAgACADELUVIAJBKGshAiADQShqIQMMAQsLIAFBDGogABDRIwsLTwAgAC0ANARAAkACQAJAAkAgASgCAEEBaw4DAQIDAAsgACABQQhqENAZDwsgAUEEaiAAEI0VDwsgACABQQRqEK8lDwsgAUEEaiAAEIgNCwtJAQJ/IwBBEGsiAiQAIAJBCGogARDVHCAAIAIoAggiAyABKAIgEKMPIgEgASADSRs2AgQgACADIAEgASADSxs2AgAgAkEQaiQAC0gBAn8gACgCCEEGdCECIAAoAgQhAwNAIAIEQCABIAMQ2B4gAkFAaiECIANBQGshAwwBCwsgAEEMaiABEMUaIABBGGogARCYJAtIAQJ/IAAoAghBBnQhAiAAKAIEIQMDQCACBEAgAyABELMmIAJBQGohAiADQUBrIQMMAQsLIABBDGogARDIGiAAQRhqIAEQmSQLSAECfyAAKAIIQQZ0IQIgACgCBCEDA0AgAgRAIAMgARC1JiACQUBqIQIgA0FAayEDDAELCyAAQQxqIAEQxxogAEEYaiABEJskC0QBAn8CQCABKAIYRQ0AIAEQ8A4hAiABIAEoAhhBAWs2AhggAkUNACACQQhrIQEgAkEYayEDCyAAIAE2AgQgACADNgIAC0oBA38gACgCACICBEAgACgCBCIDKAIAIgEEQCACIAERAQALIAMoAgQiAQRAIAIgASADKAIIENURCyAAKAIMIAAoAggoAgwRAQALC1ABAX8jAEEQayICJAAgAkEIaiABIAEoAgAoAgQRAAAgAiAC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ACgCBCEBA0AgAgRAIAEoAgBBB0cEQCABEO8TCyABQShqIQEgAkEoayECDAELCyAAQRRqEPolC38BAn5B2JHkACkDAFAEQEEBQQAQ3BohAkHYkeQAKQMAQdiR5AAgAjcDABDsGAtB2JHkACkDABD8GiECIAAgASkDADcDACABIAI3AwAgAEEQaiABQRBqKQMANwMAIABBCGogAUEIaiIAKQMANwMAIABCADcDACABQQ1qQgA3AAALRwECfyAAKAIEIgFBDGohAiAAKAIMIAFrQQR2IQEDQCABBEAgAUEBayEBIAIQxwIgAkEQaiECDAELCyAAKAIIIAAoAgAQ7SkLUwEBfyMAQSBrIgIkACACQQE6AA8gAiABKQGCAzcAAyACIAEoAYoDNgALIAIgASkAjwM3ABAgAiABKQCXAzcAGCAAIAEgAkEDahCZFSACQSBqJAALQAEBfyMAQRBrIgIkACACIAAgAUGAAXFBA3ZqIgApAwAgAEEIaikDACABQf8AcRC2ESACKAIAIAJBEGokAEEBcQtGAQF/IwBBEGsiAiQAIAIgATYCDCACIAA2AghBfyEBA0AgAUEBaiEBIAIgAkEIahC3ESACKAIAQQFGDQALIAJBEGokACABC08BAn8gACgCBCECIAAoAgAhAwJAIAAoAggiAC0AAEUNACADQdDH4ABBBCACKAIMEQMARQ0AQQEPCyAAIAFBCkY6AAAgAyABIAIoAhARAgALhAEBA38gACgCCCIDIAAoAgBGBEAjAEEQayICJAAgAkEIaiAAIAAoAgBBAUEEQQwQnwggAigCCCIEQYGAgIB4RwRAIAQgAigCDBDhKQALIAJBEGokAAsgACADQQFqNgIIIAAoAgQgA0EMbGoiACABKQIANwIAIABBCGogAUEIaigCADYCAAtTAEGwmOQALQAAGkEUEGAiAUUEQAALIAFBADoAESABQoSAgIDAADcACSABQQA6AAggASADNgIEIAEgAjYCACAAQQE2AgggACABNgIEIABBATYCAAtPAQF/QQEhAgJAAkAgAEH/AXFBAUYNACABIQICQAJAAkAgAUH/AXFBAWsOAgMBAAsgAEH/AXENAQwDCyAAQf8BcQ0CC0EAIQILIAIPC0ECC0gBAX8gACgCCCICIAAoAgBGBEAgABCAFwsgACACQQFqNgIIIAAoAgQgAkEMbGoi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QQFqEOYNIAAgAigCDGsgAigCBCACKAIIELokCyACQRBqJAALQwECfyAAKAIMIAAoAgQiAWtBBHYhAgNAIAIEQCABKQMAEPkaIAJBAWshAiABQRBqIQEMAQsLIAAoAgggACgCABDvKQtCAQJ/IABBADoAOSABKAI4QQxsIQIgASgCNCEDA0AgAgRAIAMgABDeKyACQQxrIQIgA0EMaiEDDAELCyABIAAQyRELPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCAAIAEQrxQLIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABEMoRCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARDMEQsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCAAIAEQsBQLIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABELIUCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARCtEQsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShsIQIgACgCBCEAA0AgAgRAIAAoAgBBB0cEQCABIAAQsAkLIABBKGohACACQShrIQIMAQsLCz8BAX8gACgCCEEobCECIAAoAgQhAANAIAIEQCAAKAIAQQdHBEAgACABELMUCyAAQShqIQAgAkEoayECDAELCws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARC0FAsgAEEoaiEAIAJBKGshAgwBCwsLTAACQAJAAkACQCAAKAIAQQFrDgMBAgMACyAAKQMIIAAoAhggARDBHA8LIABBBGogARCTFQ8LIABBBGogARDuJQ8LIABBBGogARC+Cws/AQF/IAAoAghBKGwhAiAAKAIEIQADQCACBEAgACgCAEEHRwRAIAAgARC2FAsgAEEoaiEAIAJBKGshAgwBCwsLPwEBfyAAKAIIQShs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An8gACgCECICBEAgACgCDCACQQN0akEEaygCACEBCyABIAJBAXRrIgBBACAAIAFNGws+AQF/A0AgAQRAIABBBGoiAigCACAAQQhqKAIAEOgVIAAoAgAgAigCABDlKSABQQFrIQEgAEEMaiEADAELCws4AQJ/IABBCGogASgCECIDBH8gASgCDCADQQN0akEEaygCAAUgAgsQ9BIgAEEANgIAIAAgATYCFAtAACABKAIAQQJHBEAgACABKQIANwIAIABBCGogAUEIaikCADcCAA8LIAEoAgQQmA8hASAAQQI2AgAgACABNgIEC0AAIAEoAgBBAkcEQCAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIADwsgASgCBBCYDyEBIABBAjYCACAAIAE2AgQLQwEDfyAAEK4MIAAoAqgSIAAoAqwSEL8bIAAoArgSEMYVIQMgAC0AvBJBAUYEQEHl7OAAQShBuI7EABD0FwALaiADaguHAgEDfyMAQRBrIgMkACADIABBAmo2AgwjAEEQayICJAAgAiABKAIUQZGMxABBByABKAIYKAIMEQMAOgAMIAIgATYCCCACQQA6AA0gAkEANgIEIAJBBGogAEEdEJIIIABBAWpBHRCSCCADQQxqQRcQkggoAgAiAEEARyACLQAMIgRyIQECQCAARSAEQQFxcg0AAkAgAEEBRwRAIAIoAgghAAwBCyACKAIIIQAgAi0ADUUNACAALQAcQQRxDQBBASEBIAAoAhRBvrjgAEEBIAAoAhgoAgwRAwANAQsgACgCFEHgoeMAQQEgACgCGCgCDBEDACEBCyACQRBqJAAgAUEBcSADQRBqJAALQAEBfwJAIAEoAghBAUYEQCABKAIMIgIgASgCNCABKAIYQQR0akkNAQsgAEEqNgIADwsgACACNgIEIABBJzYCAAtCAQF/IwBBEGsiAiQAIAJBCGogARDaGAJAIAItAAhFBEAgAEErNgIADAELIAAgASgCCCACLQAJEPwpCyACQRBqJAALcgEFfyMAQRBrIgIkACACQQhqIgQgASgCACIFIAEoAgQiA0cEfyABIANBAWsiBjYCBCAGLQAABSABCzoAASAEIAMgBUc6AAACQCACLQAIRQRAIABBKzYCAAwBCyAAIAEoAgggAi0ACRD8KQsgAkEQaiQAC0sBAn8CQAJAAkBBASAAKAIAIgFB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CCABQQhqEMIjIAFBEGokAEEACzIBAn8gAkEDdCECA0AgAiIDBEAgAkEIayECIAEgABCaCiABQQhqIQFFDQELCyADQQBHCzoBAX8jAEFAaiIBJAAgAUEMaiAAQQhqKQIANwIAIAFBIDYCACABIAApAgA3AgQgARDcKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGooAgA2AgAgAUEqNgIAIAEgACkCADcCBCABENwoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaikCADcCACABQRE2AgAgASAAKQIANwIEIAEQ3CggAUFAayQACzoBAX8jAEFAaiIBJAAgAUEMaiAAQQhqKQIANwIAIAFBMDYCACABIAApAgA3AgQgARDcKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGopAgA3AgAgAUEtNgIAIAEgACkCADcCBCABENwoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaigCADYCACABQSE2AgAgASAAKQIANwIEIAEQ3CggAUFAayQACzoBAX8jAEFAaiIBJAAgAUEQaiAAQQhqKQMANwMAIAFBLzYCACABIAApAwA3AwggARDcKCABQUBrJAALOgEBfyMAQUBqIgEkACABQQxqIABBCGopAgA3AgAgAUEsNgIAIAEgACkCADcCBCABENwoIAFBQGskAAs6AQF/IwBBQGoiASQAIAFBDGogAEEIaigCADYCACABQSM2AgAgASAAKQIANwIEIAEQ3CggAUFAayQAC0EAIAAQoRwgACgCACAAQQRqKAIAEJQqIABBDGoQ7iYgAEEYahD7JCAAKAI8EMIeIABBQGsQkScgAEHIAEEEENURC0EAIAAQoRwgACgCACAAQQRqKAIAEJQqIABBDGoQ7iYgAEEYahD7JCAAKAI8EMIeIABBQGsQlScgAEHIAEEEENURCz0AAkAgACgCACIAKAIAQQNHBEAgABCHGwwBCyAAQRBqEL4CIABBBGoQ5iYgAEEgahChJQsgAEEoQQgQ1RELQQAgABChHCAAKAIAIABBBGooAgAQlCogAEEMahDuJiAAQRhqEPskIAAoAjwQwh4gAEFAaxCvJyAAQcgAQQQQ1RELPQACQCAAKAIAIgAoAgBBA0cEQCAAEIkbDAELIABBEGoQugMgAEEE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jOQAKQMAQgBSDQBBAUEAENwaIQFB8IzkACkDACEAQfCM5AAgATcDACAAUCAAQgODQgBScg0AIACnQQhrIgIgAigCACIDQQFrNgIAIANBAUcNACACEMEfCwJAQfCM5AApAwAiAEIDg0IAUg0AIACnQQhrIgIgAigCACICQQFqNgIAIAJBAE4NAAALIAALPAEBfyAAKAIIIgMgACgCAEYEQCAAEPMWCyAAIANBAWo2AgggACgCBCADQQN0aiIAIAI2AgQgACABNgIACzwBAX8gACgCCCIDIAAoAgBGBEAgABD5FgsgACADQQFqNgIIIAAoAgQgA0EDdGoiACACNgIEIAAgATYCAAtEACAAQdgAahDmByAAQYKEiBA2AlAgAEEDOgBMIABBAjYCOCAAQQI2AjAgAEEANgIoIABCADcDACAAQdQAakGCBDsBAAs1ACADRQRAQQEPCyACIANBAWsiA0sEQCABIANqLQAAIABB/wFxRg8LIAMgAkHMlcQAEKwQAAs8AQF/IAAoAggiAyAAKAIARgRAIAAQ6hYLIAAgA0EBajYCCCAAKAIEIANBA3RqIgAgAjYCBCAAIAE2AgALPAEBfyMAQRBrIgQkAAJAIANFBEBBACEADAELIAQgABDCCyIAIAIgAxDHDSABIAQQ6hULIARBEGokACAACz0BA38gACABKAIUIgIgASgCDCIDSQR/IAEoAgggAmotAAAFIAQLOgAJIAAgAiADSToACCAAIAEpAgA3AgALeAEDfyAAKAIIIgQgACgCAEYEQCMAQRBrIgMkACADQQhqIAAgACgCAEEBQQFBAhChCCADKAIIIgVBgYCAgHhHBEAgBSADKAIMEOEpAAsgA0EQaiQACyAAIARBAWo2AgggACgCBCAEQQF0aiIAIAI6AAEgACABOgAACzwAIAAgASACELoRIAAgBDoAJCAAIAMpAgA3AgwgAEEUaiADQQhqKQIANwIAIABBHGogA0EQaikCADcCAAs4AQF/IwBBEGsiAyQAIANBADYCDCADIAIgA0EMahDkCSAAIAEgAygCACADKAIEEIsgIANBEGokAAs1AQJ/IwBBEGsiASQAIAAtAABBBEcEQCABIAApAgA3AwggAUEIahCTHCECCyABQRBqJAAgAgs8AQF/IAAoAgAoAgAhACABKAIcIgJBEHFFBEAgAkEgcUUEQCAA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IgMkACACIAAgARDtCCADQf8BOgAPIAIgA0EPakEBEO0IIANBEGokAAsrACABIANLBEAgASADIAQQrRAACyAAIAMgAWs2AgQgACACIAFBBHRqNgIACy8BAX8jAEEQayICJAAgAiAANgIMIAFBsJ7EAEEKIAJBDGpBsAEQzAogAkEQaiQACzEBAX8gASgCACICIAEoAgRGBEAgAEErNgIADwsgASACQRxqNgIAIAAgASgCCCACEDALKwAgASADSwRAIAEgAyAEEK0QAAsgACADIAFrNgIEIAAgAiABQQF0ajYCAAsvAQF/IwBBEGsiAiQAIAIgASkCADcCCCAAIAJBCGoiABDsGiAAEO0eIAJBEGokAAswAQF/IwBBEGsiAyQAIAMgATYCDCACIANBDGpBBBDtCCACIAAgARDtCCADQRBqJAALLwEBfyMAQRBrIgIkACACIAA2AgwgAUG4+cMAQQsgAkEMakHAABDMCiACQRBqJAALKgEBfyACQf///z9xIgIgASgCfEkEfyACQX8gACgC/AR0QX9zcUUFIAMLCy4BAX8jAEEQayICJAAgAiAANgIMIAFBnPnDAEEKIAJBDGpBOxDMCiACQRBqJAALMAEBfyAAKAIIIQEgACgCBCEAA0AgAQRAIAFBAWshASAAEI4YIABB2ABqIQAMAQsLCzABAX8CQCAAKAIAIAEoAgBHDQAgACgCBCABKAIERw0AIAAoAgggASgCCEYhAgsgAgsiAQF/QQEgAEHBAGtBBkkgAEEwa0EKSSAAQeEAa0EGSXIbCzsBAX9BgMADIQECQCAAQf+vA0YNACAAQQFqIgFBgLADc0GAgMQAa0H/j7x/Sw0AQczBxwAQ4CkACyABCysAIAEgA0sEQCABIAMgBBCtEAALIAAgAyABazYCBCAAIAIgAUEYbGo2AgALKwAgASADSwRAIAEgAyAEEK0QAAsgACADIAFrNgIEIAAgAiABQQN0ajYCAAsuAQF/IwBBEGsiAiQAIAIgADYCDCABQdy31gBBECACQQxqQTsQzAogAkEQaiQACzYBAX5BsJjkAC0AABogACkCACEBQRQQYCIARQRAAAsgAEIANwIMIAAgATcCBCAAQQE2AgAgAAs8AAJAAkACQAJAIAAtAAAOBwMDAwECAAMACyAAQQRqEJgEDwsgACgCBCAAKAIIENopDwsgAEEE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IAFBf0c2AgALKgEBfyMAQRBrIgIkACACIAE2AgwgAiAANgIIIAJBCGoQ3gogAkEQaiQACy4AIAAtABRBAkYEQCAAKAIAIgBBGGoQgh0gABDLGSAAQTBBCBDVEQ8LIAAQyxkLLgAgAC0AFEECRgRAIAAoAgAiAEEYahCDHSAAEMsZIABBMEEIENURDwsgABDLGQsvAAJAIAEoAgBBA0cNACAAIAFBBGoQnSEgASgCBCIBKAIAQRlHDQAgACABEMwBCwswACAALQAUQQJGBEAgACgCACIAQRhqEIUdIAApAwAQ+RogABCZKw8LIAApAwAQ+RoLOAEBfyAALQCcASECIABBAToAnAEgACABKAIAELAJIABBADoAnAEgAUEEaiAAEIItIAAgAjoAnAELMQAgABD8JiAAQQxqEO4mIABBGGoQ+yQgACgCPBDCHiAAQUBrENknIABByABBBBDVEQsoACABQThsIQEDQCABBEAgACACEK4RIAFBOGshASAAQThqIQAMAQsLCzUBA38gAS8BFCECIAEoAhAhAyABLQAWIQQgACABEOwIIAAgBDoAFiAAIAM2AhAgACACOwEUCygAIAFBBnQhAQNAIAEEQCAAIAIQryYgAUFAaiEBIABBQGshAAwBCwsLKAAgAUEwbCEBA0AgAQRAIAAgAhDOBCABQTBrIQEgAEEwaiEADAELCws8ACAAQQRqENMiIAFC+IKZvZXuxsW5f1IgAkLtuq22zYXU9eMAUnJFBEAgAEEkahDnFAsgAEEwQQQQ1RELLwEBfyMAQRBrIgIkACACIAAoAgAiADYCDCACQQxqIAEQ6gYgABDmCCACQRBqJAALOQEBfyAAIQECQAJAAkAgAC0AIA4EAQICAAILIABBFGohAQsgARDSIiAAKAIMEMwmIAAoAhAQzCYLCzYAIAAoAkggACgCTBDaKSAAKAJUIAAoAlgQ2ikgACgCYCAAKAJkENopIAAoAmwgACgCcBDqKQsoAQF/IwBBEGsiAiQAIAIgACgCADYCDCACQQxqIAEQrgcgAkEQaiQACycBAX8gACACaiADp0EZdiIEOgAAIAAgAkEIayABcWpBCGogBDoAAAsoACABIANLBEAgASADIAQQrRAACyAAIAMgAWs2AgQgACABIAJqNgIACzABAX8gACgCACIBQYGAxABGBEAgACAAQQRqEN4KIgE2AgALIABBACABQYCAxABHGwsrAQF/IAEoAgAiAgRAIAAgAhEBAAsgASgCBCICBEAgACACIAEoAggQ1RELCyIAIAFFBEBCAA8LIAGtQgWGIAFBAnQgAGpBBGsoAgBnrX0LLgEBfyABBH9BsJjkAC0AABpBwAAgARD/BQVBwAALIQIgACABNgIEIAAgAjYCAAswAQF/IwBBEGsiASQAIAFBADYCDCABQoCAgIAQNwIEIAAgAUEEahDLEyABQRBqJAALMQEBfyMAQRBrIgEkACABQQA2AgwgAUKAgICAwAA3AgQgACABQQRqEMoTIAFBEGokAAsvACAAKAIAQQNHBEAgAEEkahDsHiAAKAIMIAAoAhAQ8CkgACgCGCAAKAIcEN8pCwswACAAKAIQIAAoAhQgACACQf8BcWpBLGotAAAgASAAKAKwAnRqQdCXwwAQuh8pAwALLQEBfyABKAIIIgIgASgCDE8EQCAAQSs2AgAPCyABIAJBAWo2AgggACABEMgoCy0BAX8gASgCDCICIAEoAghNBEAgAEErNgIADwsgASACQQFrNgIMIAAgARDIKAs0ACABKAIUIAAoAgAoAgBoQQJ0IgBByNvjAGooAgAgAEGA2+MAaigCACABKAIYKAIMEQMACygAIAIgA0kEQCADIAIgBBCtEAALIAAgAiADazYCBCAAIAEgA2o2AgALLwEBf0EBIQQCQCABQQFxRQRAQQAhBAwBCyADEPQcIQILIAAgAjYCBCAAIAQ2AgALNAAgASgCFCAAKAIAKAIAaEECdCIAQdjd4wBqKAIAIABBkN3jAGooAgAgASgCGCgCDBEDAAsuACAAQX8gAiAEaiIEIAIgBEsbNgIEIAAgAUGAgICAeEcgA0GAgICAeEdxNgIACzABAX8gACgCACIBQYGAxABGBEAgACAAQQRqEN0aIgE2AgALIABBACABQYCAxABHGws1AQF/IABBBGohAQJAAkACQCAAKAIADgIBAgALIAEQjiUPCyABKAIAEJQrDwsgASgCABDgKAssAQF/IAAoAgAiAUECRwRAIABBBGohACABRQRAIAAoAgAQlCsPCyAAEN4oCwstAAJAIAAoAgAiACgCAEEDRwRAIAAQ4ygMAQsgAEEEahDHIwsgAEEoQQgQ1RELMQACQCAAKAIAIgAoAgBBgICAgHhHBEAgABDpJgwBCyAAQQRqEN4oCyAAQRhBBBDVEQsvACAAEO4mIABBDGoQhicgAEEwahCAJyAAKAI0EN0oIAAoAjgQ2SggAEEYahDvJgsuACAALQAlQQJGBEAgABCKJw8LIAApAwgQ+RogACgCICIAEKgdIABBKEEIENURCysAIAEgA0sEQCABIANB3L7ZABCtEAALIAAgAyABazYCBCAAIAEgAmo2AgALMQACQCAAKAIAIgAoAgBBgICAgHhHBEAgABDpJgwBCyAAQQRqELoDCyAAQRhBBBDVEQsvACABKAIQEKwYIAAoAixGBEAgAUEANgIQCyAAQQE6ADogASAAEI0PIABBADoAOgswAQF/IAEtABhFBEAgAC0AOCECIAAgAS0AGUVBAXQ6ADggASAAEOkTIAAgAjoAOAsLNAEBf0GwmOQALQAAGkHQABBgIgFFBEAACyABQoGAgIAQNwIAIAFBCGogAEHIABD7BhogAQswAQF/IAFBDGoiAiAAENMsAkAgASgCAA0AIAIoAgAiASgCAEEgRw0AIAAgARDMAQsLNQEBfyAAQQRqIQECQAJAAkAgACgCAA4CAQIACyABEIwpDwsgASgCABDtKA8LIAEoAgAQ4CgLMAECfyABIAEgAiADEOIQIgRqLQAAIQUgASACIAQgAxCRHSAAIAU6AAQgACAENgIACyUBAn8jAEFAaiIBJAAQ9iIgASAAEFMgAUHAABD7BiABQUBrJAALLgEBfgJAIAFFBEAMAQsgASkDABD8GiECIAEoAgghAQsgACABNgIIIAAgAjcDAAstAQF/IwBBEGsiAyQAIAMgASACEMAjIAAgAykDACADKAIIEMYIGiADQRBqJAALLAAgAEIANwMYIABBIGoQjC4gACgCAEECRwRAIABCADcDEA8LIABBBGoQtSoLLAAgAEIANwMYIABBIGpCADcDACAAKAIARQRAIABCADcDEA8LIABBBGoQtSoLLwAgAEIANwMQAkAgAC0ALEECRgRAIAAoAhgQth0MAQsgAEIANwMgCyAAQgA3AwgLKwAgAEIANwMQIABCADcDACAALQA0QQNHBEAgAEEgahCeHgsgAEE4ahCAKAstAAJAIAAoAgAiACgCAEEDRwRAIAAQuikMAQsgAEEEahCPJAsgAEEoQQgQ1RELMQACQCAAKAIAIgAoAgBBgICAgHhHBEAgABDpJgwB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AAstACABKAIARQRAIAFBfzYCACAAIAE2AgQgACABQQRqNgIADwtB2O3YABDvFAALMwAgASgCFCAAKAIALQAAQQJ0IgBByOvjAGooAgAgAEG86+MAaigCACABKAIYKAIMEQMACzMAIAEoAhQgACgCAC0AAEECdCIAQYjs4wBqKAIAIABB1OvjAGooAgAgASgCGCgCDBEDAAszACABKAIUIAAoAgAtAABBAnQiAEHI7OMAaigCACAAQbzs4wBqKAIAIAEoAhgoAgwRAwALMwAgASgCFCAAKAIALQAAQQJ0IgBBrO3jAGooAgAgAEGg7eMAaigCACABKAIYKAIMEQMACywAIABBCGoQyxkgACgCIBDCHiAAQThqEO8mIABBJGoQ8SYgAEHIAEEIENURCysAA0AgAC0AFEECR0UEQCABQQE6ADkgACgCAEEYaiEADAELCyAAIAEQjQ8LLgAgASgCAEUEQCAAIAEpAwgQ/BogACgCFBCtCAsgAUEwaiAAEJgaIAEgABDKEQsoACAAKAIAIgAoAgBBA0cEQCAAEJIgDwsgAEEQahDrLSAAQQRqENEZCywAA0AgAC0AFEECR0UEQCAAKAIAQRhqIQAMAQsLIAEgACkDACAAKAIQEI8bCycBAn8jAEFAaiIAJAAgAEEANgIIIABCDDcDACAAENwoIABBQGskAAs1AQF/IABBBGohAQJAAkACQCAAKAIAQQFrDgIBAgALIAEQiC4PCyABKAIAEOAUDwsgARD+LQssACAAEPwmIABBDGoQ7iYgAEEYahD7JCAAKAI8EN0oIABBQGsQkSggABCPKws6AQF/QRwQ6SAiAEEANgIIIABCgYCAgBA3AgAgAEHAoOMAKQMANwIMIABBFGpByKDjACkDADcCACAACygAIAAgARC4LSAAKAIMIgAEQCABIABBDGooAgAgAEEQaigCABChIAsLMgEBfyABKAIkIQIgAEEMaiABQQxqEIkdIABBADYCCCAAQoCAgICAATcCACAAIAI2AiQLMAAgASgCFCAALQAAQQJ0IgBB9KbjAGooAgAgAEHopuMAaigCACABKAIYKAIMEQMACzAAIAEoAhQgAC0AAEECdCIAQZin4wBqKAIAIABBjKfjAGooAgAgASgCGCgCDBEDAAswACABKAIUIAAtAABBAnQiAEGwp+MAaigCACAAQaSn4wBqKAIAIAEoAhgoAgwRAwALJQAgACABIAIoAghBAWtBeHFqQQhqIAMgBCAFIAYgAigCEBEIAAsnACACIANNBEAgAyACQYyvwAAQrBAACyAAIAEgA0EMbGopAgQ3AwALKgEBfyAAIAIQ8B8gACgCCCIDIAAoAgRqIAEgAhD7BhogACACIANqNgIICyoBAX8gACACEOMeIAAoAggiAyAAKAIEaiABIAIQ+wYaIAAgAiADajYCCAsjAQF/IwBBEGsiASQAIAFBCGogABCQCSABKAIMIAFBEGokAAuXAgEEfyAAIAAoAgAiAUEBazYCACABQQJxIAFBBElyRQRAAkAgACICKAIAIQADQCAAQQJxIAAiAUEESXINASACIABBAnIgAigCACIAIAAgAUYbNgIAIAAgAUcNAAsDQAJAIAFBfHEiBCEAA0AgACgCACIDBEACQCAEIAM2AgAgAUEBcUUEQCADKAIEIgAEQCAEIAA2AgAgAiACKAIAQX1xNgIADAULA0AgAiABQQFxIAIoAgAiACAAIAFGIgEbNgIAIAENBSAAIQEgAEEESQ0ACwwBCyACIAFBfXEgAigCACIAIAAgAUYiARs2AgAgAUUNAAwFCwUgACgCCCIDIAA2AgQgAyEADAELCyAAIQEMAQsLELobAAsLCyoAAkAgACgCAEGJgMQARwRAIABB9ABqEN0mDAELIABBBGohAAsgABCWEQsqAQF/IAAgAhD7HiAAKAIIIgMgACgCBGogASACEPsGGiAAIAIgA2o2AggLLAACQCABQQJHBEAgACgCAEGAgICAeEYNASAAQQA2AhQLDwtB6I3EABDgKQALLAACQCABQQNHBEAgACgCAEGAgICAeEYNASAAIAIQsSMLDwtB+I3EABDgKQALKQEBfyABIAAoAggiAk8EQCABIAJBzK/DABCsEAALIAAoAgQgAUEMbGoLMAAgASgCFCAALQAAQQJ0IgBBwNnjAGooAgAgAEGo2eMAaigCACABKAIYKAIMEQMACysBAX8gASAAKALIAiICTwRAIAEgAkGQkcQAEKwQAAsgACgCxAIgAUEUbGoLKQAgACABaiwAAEEATgR/IAApAwBCgIGChIiQoMCAf4N6p0EDdgUgAQsLJQAgACABIAIoAghBAWtBeHFqQQhqIAMgBCAFIAYgAigCIBEIAAssAQF/QQEhAgJAIAFBgICAgHhGDQAgABCDFCABRg0AIAAQyRUgAUYhAgsgAgsnACABLQAQQQFxBEAgAxDaAwsgAgRAIAMQsggLIABBgICAgHg2AgALJgAgAkUEQEEBQQAgAxCtEAALIAAgAkEBazYCBCAAIAFBCGo2AgALIwAgACACQQdxIANBA3RyNgIEIAAgAkH4AXFBA3YgAXI2AgALMAAgASgCFCAALQAAQQJ0IgBBkL7YAGooAgAgAEHovNgAaigCACABKAIYKAIMEQMACzAAIAEoAhQgAC0AAEECdCIAQdzh4wBqKAIAIABBuOHjAGooAgAgASgCGCgCDBEDAAsgAQF/IAEgA08EfyACIAMgACABIANraiADEOsfBSAECwswAQJ+IAEpAwghAiABKQMAEPwaIQMgACABKQMQELojNwMQIAAgAzcDACAAIAI3AwgLMAECfiABKQMQIQIgASkDABD8GiEDIAAgASkDCBD8GjcDCCAAIAM3AwAgACACNwMQCy8CAX4BfyABKQIAIQIgASgCCCEDIAAgAUEMahD5HDYCDCAAIAM2AgggACACNwIACy8CAX4BfyABKQIIIQIgARD5HCEDIAAgAUEEahD3GTYCBCAAIAM2AgAgACACNwIICy8CAX4BfyABKQIIIQIgARD5HCEDIAAgAUEEahD4EDYCBCAAIAM2AgAgACACNwIICyoAIAApAwggACkDGBCMKyAALQA0QQNHBEAgAEEgahDXGwsgACgCOBDZKAsqACAAKQMIIAApAxgQjCsgAC0ANEEDRwRAIABBIGoQ1xsLIAAoAjgQ/CILLwACQAJAAkAgACgCAA4CAQIACyAAQQRqEN4oDwsgACkDCBD5Gg8LIAApAwgQ+RoLKwEBfwJAAkACQCAAQQprDgQBAgIBAAsgAEGowABrQQJPDQELQQEhAQsgAQssAQF/IABBBGohASAAKAIAIgBBgICAgHhHBEAgACABKAIAENopDwsgARCIIwssACAAKQMIEPkaIAAoAiAQwh4gAEE4ahDvJiAAQSRqEPEmIABByABBCBDVEQsoAEEGIQEgACACIANB2rbgAEEFEOsfBH8gAEELOgABQQAFIAELOgAACygAQQYhASAAIAIgA0H+r+AAQQMQ6x8EfyAAQRI6AAFBAgUgAQs6AAALKABBBiEBIAAgAiADQbSL4ABBBBDrHwR/IABBJDoA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DwsgAiABIAMQrBAACyAAIAEgAksEQCAAIAJBAnRqDwsgAiABQbC/wwAQrBAACycBAX9BDEEEEKsgIgFBCGogAEEIaigCADYCACABIAApAgA3AgAgAQsgACABBEAgAC0AAEECcUEBdg8LQQBBAEG43MMAEKwQAAsoACABQZjbwwBBCRD2HSAAQQhqIAFBCGooAgA2AgAgACABKQIANwIACycAIABBBGooAgAgAEEIaigCAEHo3cMAEK8jIgAgAC0AAEEBcjoAAAsrACABQZABaigCACABQZQBaigCACACQf///z9xIAAoAvwEdkG88MMAELofCyAAIAEgAksEQCAAIAJBAnRqDwsgAiABQbyTxAAQrBAACycAAkAgAUEBcUUEQCACKAIAQYaAxABJDQELIAMQuSALIABBIjYCAAskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQRBCBC3FwsLJAEBfyABIAAoAgAgACgCCCICa0sEQCAAIAIgAUEBQQIQtxcLCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBBEEMELcXCwsfAANAIAEEQCABQQFrIQEgABD5HiAAQQhqIQAMAQsLCysBAn8gACgCACIBQYCAgIB4RwRAIAAoAgQiAiAAKAIIEPccIAEgAhDiKQsLKwECfyAAKAIAIgFBgICAgHhHBEAgACgCBCICIAAoAggQiR8gASACEOUpCwsdACAAIAFBdGxqIgBBDGsoAgAgAEEIaygCABC6CgslAQF/IAAoAgAiASABKAIAIgFBAWs2AgAgAUEBRgRAIAAQ1gsLCyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABDoDwsLJgEBfiABKQMoIQIgAEEwaiABQTBqEMsLIAAgARDfBCAAIAI3AygLJgEBfiABKQMgIQIgACABENUhIABBEGogAUEQahDVISAAIAI3AyALHgEBfyAAKAIAQRpGBH8gAEEIaiABIAIQ0hsFIAMLCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBBEEEELcXCwsfAANAIAEEQCABQQFrIQEgABDpJiAAQQxqIQAMAQsLCx8AA0AgAQRAIAFBAWshASAAELYGIABBBGohAAwBCwsLJQAgASkDAFBFBEAgACABEKUcDwsgAEECOgAUIAAgASgCCDYCAAsfAANAIAEEQCABQQFrIQEgABCKJyAAQQxqIQAMAQsLCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBCEE4ELcXCwskAQF/IAEgACgCACAAKAIIIgJrSwRAIAAgAiABQQhBMBC3FwsLJQAgASACSwRAIAEgAkHcy98AEK8QAAsgACACNgIEIAAgATYCAAsrAEHIu+AAQb674AAgACgCAC0AACIAG0ELQQogABsgASgCFCABKAIYEPUCCyQBAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAFBCEEQELcXCwshACAAQSBqIAEQ3isgACgCAEECRgRAIABBBGogARDeKwsLJAADQCAALQAUQQJHRQRAIAAoAgBBGGohAAwBCwsgACABEI0PCyMAIAAQvhIiAKdBufPd8XlsQQV3IABCIIinc0G5893xeWytCyEAIABBIGogARDKLCAAKAIAQQJPBEAgAEEEaiABEMosCwshACAAQSBqIAEQzSwgACgCAEECRgRAIABBBGogARDNLAsLIQAgAEEgaiABENUsIAAoAgBBAkYEQCAAQQRqIAEQ1SwLCyEAIAFBIGogABDXLCABKAIAQQJGBEAgAUEEaiAAENcsCwshACAAQSBqIAEQ1iwgACgCAEECRgRAIABBBGogARDWLAsLIgEBfiAAKQMAIgFQBEAgAEEIahCFHQ8LIAEgACkDEBCMKwshACAAQSBqIAEQhS0gACgCAEECTwRAIABBBGogARCFLQsLIQAgAEEgaiABEIctIAAoAgBBAk8EQCAAQQRqIAEQhy0LCyEAIABBIGogARCKLSAAKAIAQQJPBEAgAEEEaiABEIotCwshACAAQSBqIAEQhi0gACgCAEECTwRAIABBBGogARCGLQsLIQAgAEEgaiABEKUtIAAoAgBBAk8EQCAAQQRqIAEQpS0LCygAAkAgAEEDRw0AIAItAAUgAZlEAAAAAAAA8H9icg0AIAJBADoABAsLJQAgAEEBNgIEIAAgASgCDCABKAIEa0EYbiIBNgIIIAAgATYCAAslACAAQQE2AgQgACABKAIEIAEoAgBrQQxuIgE2AgggACABNgIACyUBAX8gACgCACIBIAEoAgAiAUEBazYCACABQQFGBEAgABCSGAsLHwADQCABBEAgAUEBayEBIAAQ7AkgAEEoaiEADAELCwsdACAAIAFBaGxqIgBBGGspAwAgAEEQaygCABC0HAshACABQSBqIAAQvy0gASgCAEECRgRAIAFBBGogABC/LQsLIQAgAEEgaiABEL4tIAAoAgBBAk8EQCAAQQRqIAEQvi0LCyEAIABBIGogARC4LSAAKAIAQQJPBEAgAEEEaiABELgtCwshACAAQSBqIAEQvS0gACgCAEECTwRAIABBBGogARC9LQsLJgAgASgCGCAAELcVIAEtABRBAkcEQCAAIAEpAwAgASgCEBCSEgsLJgAgASgCGCAAELkIIAEtABRBAkcEQCAAIAEpAwAgASgCEBCSEgsLJQAgAEEEaigCACAAQQhqKAIAIAIgASgCAHZBkJTAABC3HygCAAscACABIAJNBEAgAiABIAMQrBAACyAAIAJBAnRqCxwAIAEgAk0EQCACIAEgAxCsEAALIAAgAkEUbGoLHAAgASACTQRAIAIgASADEKwQAAsgACACQQlsagscACABIAJNBEAgAiABIAMQrBAACyAAIAJBA3RqCyUBAX8CQCAAKAI4RQ0AIAAoAkAiAUUNACAAKAI8IAFBARDVEQsLHAAgASACTQRAIAIgASADEKwQAAsgACACQQxsagsfACABIAJNBEAgAiABQciDxAAQrBAACyAAIAJBAnRqCx0AIAAgASACIAMgAUEBcmdBAXRBPnNBACAEENMBCx0AIAAgASACIAMgAUEBcmdBAXRBPnNBACAEEMIBCyoBAX8gACgCACAAKAIEEOUpIAAoAhAiASAAKAIUEOkcIAAoAgwgARDkKQsjAQF/IAAoAgwiAQRAIAAoAgggAUEBENURCyAAQSBBCBDVEQslACAARQRAQcCk4wBBMhDMKgALIAAgAiADIAQgBSABKAIQEQ4ACx0AIAFFBEBBAA8LIAAgAWpBAWstAAAgAkH/AXFGCxwAIAEgAk0EQCACIAEgAxCsEAALIAAgAkEEdGoLHwAgACACNgIEIAAgASACKAIIQQFrQXhxakEIajYCAAsfACABIAJNBEAgAiABQciBxAAQrBAACyAAIAJBAnRqCyUAIABBBGooAgAgAEEIaigCACACIAEoAgB2QYybwwAQtx8oAgALKQAgACgCECAAKAIUIAAoArQCIAEgACgCsAJ0akGQmMMAELofIAI3AwALKgEBfyAAKAIEIgEgACgCCBDlHCAAKAIAIAEQ4ikgACgCDCAAKAIQEN8pCx8AIAEgAk0EQCACIAFB9JvDABCsEAALIAAgAkEDdGoLHwAgASACTQRAIAIgAUGEnMMAEKwQAAsgACACQQV0agsfACABIAJNBEAgAiABQZScwwAQrBAACyAAIAJBBXRqCx8AIAEgAk0EQCACIAFB1JzDABCsEAALIAAgAkEMbGoLHQAgACABIAIgAyABQQFyZ0EBdEE+c0EAIAQQpwELHwAgASACTQRAIAIgAUHcr8MAEKwQAAsgACACQQxsagscACABIAJNBEAgAiABIAMQrBAACyAAIAJBGGxqCx0AIAFFBEBBAQ8LIAFBA3QgAGpBBGsoAgBBgAFJCycBAn8gAEEANgKsASAAKAKoASECIAAoAqQBIAAgATcCpAEgAhDaKQscACABIAJNBEAgAiABIAMQrBAACyAAIAJBHGxqCxwAIAFFBEBBAQ8LIAFBAXQgAGpBAWssAABBAE4LHAAgASACTQRAIAIgASADEKwQAAsgACACQQF0agshACABIANHBEAgASADQZyT2AAQshAACyAAIAIgARD7BhoLJgAgACgCAEGAgICAeEYEQCABEJYcDwsgACgCBCAAKAIIIAEQgCsLIQEBfyAAIAAtAAAiAUEBIAEbOgAAIAEEQCAAENEDCyAACyAAIAEoAgAgAkEEdGtBEGsiACkDACAAQQhqKQMAEJgcCykCAX4BfyABKQIMIQIgASgCFCEDIAAgARCNDCAAIAM2AhQgACACNwIMCyIBAX8gAEGAsANzQYCAxABrQYCQvH9PBH8gABDoEQUgAQsLIQACQCABDQAgAi0AGUEBa0H/AXFBAU0NACACIAAQ6i0LCxwBAX8gACABEJoKBH8gACgCCCABKAIIRgUgAgsLIAAgASgCACACQQR0ayIAQRBrKQMAIABBCGsoAgAQtBwLIAEBfyAALQAsIgFBBEsgAUEDRnJFBEAgAEEYahDVIAsLJAAgABDZFiAAQUBrEPsPIAAoAkAgACgCRBCUKiAAQSBqEPskCx8AIAAtADRBA0cEQCAAQSBqENUgCyABIABBOGoQ4iULIAAgASgCACACQQV0ayIAQSBrKQMAIABBGGsoAgAQtBwLHgAgACgCACgCACAAKAIEKAIAIAFBWGxqQShrEOEbCyIAIABCADcCDCAAKAIARQRAIABCADcCBA8LIABBBGoQjC4LHAAgASACTQRAIAIgASADEKwQAAsgACACQQV0agsqACAAIAAoAhwgACgCICABQezE4AAQ5x8iACgCGCAAKAIcEOgYIAIQ7AkLHAAgASACTQRAIAIgASADEKwQAAsgACACQShsagskACAAQQxqEO8KIAAQjiMgAEEcahCHECAAKAIcIAAoAiAQxyoLIgAgAC0AFEECRwRAIAEoAiQgABD7BRoLIAAoAhggARC4FQspAEHAl+QALQAARQRAQcCX5ABBAToAAAtByJfkACAArUIghkIBhDcDAAsZAQF/IAEgA0YEfyAAIAIgARCdFUUFIAQLCxwAIAFB/wFxBEAgACABQQFrELkSCyAAIAIQuRILJAAgACgCACAAKAIEEN8pIAAoAgwgACgCEBDfKSAAQRxqEMIdCx4AIAAoAhQgACgCCGpBAnQgACgCJEEAIAAoAhwbagsfACAAIAIQwQogAEEQaiACQRBqEMEKIAJBCCABEM4HCyABAX8gASAAKAIAIAAoAggiAmtLBEAgACACIAEQoBgLCx8BAX8gACAALQAAIgFBASABGzoAACABBEAgABDRAwsLIwAgAEUEQEHApOMAQTIQzCoACyAAIAIgAyAEIAEoAhARBgALIwAgAEUEQEHApOMAQTIQzCoACyAAIAIgAyAEIAEoAhARCQALIwAgAEUEQEHApOMAQTIQzCoACyAAIAIgAyAEIAEoAhARRQALIwAgAEUEQEHApOMAQTIQzCoACyAAIAIgAyAEIAEoAhARRwALIwAgAEUEQEHApOMAQTIQzCoACyAAIAIgAyAEIAEoAhARGwALJQAgACABKAIINgIEIAAgASgCBEEAIAEoAgBBgICAgHhHGzYCAAsgAQF/IAAQtxsEfyADBSABQcO2wgBBBCACKAIMEQMACwskACAAKAIAIAAoAgRBBEEUENQiIAAoAgwgACgCEEEEQRgQ1CILHQAgACgCAEECRwRAIABBCGoQzSQgAEEYahDsHgsLJwEBf0HsAkEEEKsgIgFCgYCAgBA3AgAgAUEIaiAAQeQCEPsGGiABCycBAX9B0AJBBBCrICIBQoGAgIAQNwIAIAFBCGogAEHIAhD7BhogAQsnAQF/QeQCQQQQqyAiAUKBgICAEDcCACABQQhqIABB3AIQ+wYaIAELJwAgACgCECAAKAIUIAAoArQCIAEgACgCsAJ0akGAmMMAELofKQMACy8AIAAQpxcgAEGoEmoQ7R4gAEG4EmoQ7B4gAEGgDWoiACkDAEICUgRAIAAQzCQLCxoBAX8gASADTwR/IAIgAyAAIAMQ6x8FIAQLCx8AIAAgAhC/CCAAQUBrIAJBQGsQvwggAkEIIAEQjgcLHQAgAQRAIAAtAABBAXEPC0EAQQBBqNzDABCsEAALIAAgAUUEQEEAQQBByNzDABCsEAALIAAtAAhBBHFBAnYLIAAgAUUEQEEAQQBB2NzDABCsEAALIAAtAAhBCHFBA3YLHgAgARCmEyACakEEIAAoAvwEdGpBFGogACgCgAVNCx8AIAAgAhDfBiAAQQhqIAJBCGoQ3wYgAkEIIAEQzQYLHwAgACACEOAGIABBIGogAkEgahDgBiACQQggARDOBgsbACAAIAEgAiADIAFBAXJnQQF0QT5zQQAQnAELGwAgACABIAIgAyABQQFyZ0EBdEE+c0EAEJsBCxsAIAAgASACIAMgAUEBcmdBAXRBPnNBABCjAQsZAQF/IAEgA08EfyACIAAgAxCdFUUFIAQLCyQBAX4gACkDCCEBIAAoAgBFBEAgARD5Gg8LIAEgACkDGBCMKwtWAgJ/AX4jAEEQayIBJAAgAUEIakEVQTAQhxUgASkDCCEDIABBBGoiAkEANgIIIAIgAzcCACABQRBqJAAgAEEANgIYIABCgICAgMAANwIQIABBADYCAAtWAgJ/AX4jAEEQayIBJAAgAUEIakESQTgQhxUgASkDCCEDIABBBGoiAkEANgIIIAIgAzcCACABQRBqJAAgAEEANgIYIABCgICAgMAANwIQIABBADYCAAsiAQF/IABBBGohASAAKAIARQRAIAEoAgAQ2SgPCyABEP8iCyUAIAEoAhQgAC0AAEECdEGw6+MAaigCAEEGIAEoAhgoAgwRAwALGwAgASgCACACQXRsakEMaygCAEG5893xeWytCx0AIABBIGoQ6y0gACgCAEECTwRAIABBBGoQ6y0LCyEAA0AgAC0ALEECR0UEQCAAKAIYIQAMAQsLIABBADYCKAskAQF/IAAtAD4hAiAAIAEtABlFOgA+IAEgABDgEiAAIAI6AD4LJwACQAJAAkAgACgCAA4DAAIBAgsgACkDCBD5Gg8LIABBBGoQjikLCx0AIABBIGoQ+y0gACgCAEECTwRAIABBBGoQ+y0LCx0AIABBIGoQ/S0gACgCAEECTwRAIABBBGoQ/S0LCx0AIAAtADRBA0cEQCAAQSBqENUgCyAAQThqEN8nCyEAA0AgAC0ALEECR0UEQCAAKAIYIQAMAQsLIABBADoALAsnAAJAAkACQCAAKAIADgMAAgECCyAAKQMIEPkaDwsgAEEEahCmKQsLIAAgAEIANwMQIABCADcDACAAQSBqEIEoIABBJGoQgSgLIAAgAEIANwIEIABBDGpCADcCACAAEJQuIABBFGoQlCYLIgEBfyAAQQRqIQEgACgCAEUEQCABKAIAENkoDwsgARCdIwsiACABKAIAQYCAgIB4RgRAIABBBDoAAA8LIAAgAiABEPgTCxwAIAAEQCABIABBBGooAgAgAEEIaigCABC6LQsLHAAgAARAIAEgAEEMaigCACAAQRBqKAIAELotCwsbACAAIAEgAiABIAJJGyABIAIgASACSxsQ6BgLGwAgACABIAIgAyABQQFyZ0EBdEE+c0EAENYBCxwAIAAEQCABIABBDGooAgAgAEEQaigCABChIAsLGgEBfyAAKAIAQRFGBH8gAEEIahCwDwUgAQsLKAAgAEEcakEAIAJCus/FqYCQrM7TAFEbQQAgAUL/y7fCjurv0lNRGwslACAAIAEoAgQgASgCCCACQfyHwAAQuB8oAgA2AgQgACABNgIACyUAIAAgASgCBCABKAIIIAJBjIjAABC4HygCCDYCBCAAIAE2AgALIAEBf0E0EN8tIgBFBEAACyAAQQA7ATIgAEEANgIAIAALIQEBf0HkABDfLSIARQRAAAsgAEEAOwEyIABBADYCACAACyQAIAAtAABFBEAgAUGIveAAQQUQqgMPCyABQY294ABBBBCqAwsbAEGwmOQALQAAGiAAIAEQxiEiAARAIAAPCwALGQAgASACTQRAIAIgASADEKwQAAsgACACagsiACAAKAIQIAAoAhQgASAAKAI8dkECa0HYg8QAELwfKAIICycAIABBHGpBACACQtihpIOx4tHdfFEbQQAgAUKV192Yw5eKjAtRGwshACAARQRAQcCk4wBBMhDMKgALIAAgAiADIAEoAhARBAALJAAgAEGBgICAeEcEQCAARQRAQcDK3wBBEUGw+MIAEPQXCwALCx8BAX8gACgCCCIBIAAoAgBJBEAgACABQQRBFBDl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ACABIAVBf3NBBHRqIgUgACgCACAIQX9zQQR0aiIIKQAANwAAIAVBCGogCEEIaikAADcAACACQQFrIQIgDUIBfSANgyENDAALAAsgACADQRBqQZIFQRAQvAQLQQALGiADQUBrJAAMAQsQsRsACwsLFwAgASgCAEEDRgRAIAFBBGogABDVLAsLFwAgASgCAEEDRgRAIAFBBGogABDWLAsLFwAgACgCAEEDRgRAIABBBGogARDXLAsLFwAgACgCAEEDRgRAIABBBGogARDKLAsL7QMCCn8CfiABIAAoAghLBEACQCMAQUBqIgMkACADIAI2AgwgACgCDCECIAMgA0EMajYCECACIAEgAmoiAU0EQAJ/AkAgACgCBCIEIARBAWpBA3ZBB2wgBEEISRsiBEEBdiABSQRAIANBMGpBCCABIARBAWogASAESxsQugsgAygCNCIEIAMoAjAiAUUNAhogAygCOCEHIAMgAygCPDYCLCADIAc2AiggAyAENgIkIANCiICAgIABNwIYIAMgAEEQajYCFCADIAE2AiAgAUEIaiEJIAAoAgAiBSkDAEJ/hUKAgYKEiJCgwIB/gyENIANBIGohCgNAAkAgAgRAA0AgDUIAUg0CIAZBCGohBiAFKQMIQn+FQoCBgoSIkKDAgH+DIQ0gBUEIaiEFDAALAAsgAyAAKAIMIgE2AiwgAyAHIAFrNgIoIAAgChCIGCADQRRqEPkUDAMLIAEgASAEIANBEGogACANeqdBA3YgBmoiCxCSIyIOEPQOIghqIA5CGYinIgw6AAAgCSAIQQhrIARxaiAMOgAAIAEgCEF/c0EDdGogACgCACALQX9zQQN0aikAADcAACACQQFrIQIgDUIBfSANgyENDAALAAsgACADQRBqQZEFQQgQvAQLQQALGiADQUBrJAAMAQsQsRsACwsLgQQCCn8CfiABIAAoAghLBEACQCMAQUBqIgMkACADIAI2AgwgACgCDCECIAMgA0EMajYCECACIAEgAmoiAU0EQAJ/AkAgACgCBCIEIARBAWpBA3ZBB2wgBEEISRsiBEEBdiABSQRAIANBMGpBECABIARBAWogASAESxsQugsgAygCNCIEIAMoAjAiAUUNAhogAygCOCEJIAMgAygCPDYCLCADIAk2AiggAyAENgIkIANCkICAgIABNwIYIAMgAEEQajYCFCAD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ACIABEAgASAAEOAICwsYACAAKAIAQYCAgIB4RwRAIAAgARCcGgsLFAAgACgCAEEHRwRAIAAgARDMEQsLGAAgACgCAEGAgICAeEcEQCAAIAEQnhoLCxQAIAAoAgBBB0cEQCAAIAEQsBQLCxgAIAAoAgBBgICAgHhHBEAgASAAENkECwsYACAAKAIAQYCAgIB4RwRAIAEgABChIQsLEwAgACgCACIABEAgACABEKMJCwsTACAAKAIAIgAEQCAAIAEQ1wsLCxMAIAAoAgAiAARAIAAgARCuCgsLFwAgACkDACAALQAUEL4jIABBGGoQghYLGAAgASgCAEGAgICAeEcEQCABIAAQoBoLCxMAIAAoAgAiAARAIAAgARCHCQsLEwAgACgCACIABEAgACABEPAJCwsUACAAKQMAQgJSBEAgACABEOsjCwsVACAAKAIARQRAIAEgAEEIahCCCQsLFwAgACkDACAALQAUEL4jIABBGGoQhBYLEwAgACgCACIABEAgACABEJwFCwsUACAAKAIAQQdHBEAgASAAELAJCwsYACAAKAIAQYCAgIB4RwRAIAEgABDmBgsLEwAgACABEJgJIgBBEGpBACAAGwsTACAAKAIAIgAEQCAAIAEQsRoLCxMAIAAoAgAiAARAIAAgARDTAwsLGAAgACgCAEGAgICAeEcEQCAAIAEQtBoLCxQAIAAoAgBBB0cEQCAAIAEQsxQLCxgAIAAoAgBBgICAgHhHBEAgACABELUaCwsUACAAKAIAQQdHBEAgACABELQUCwsYACABKAIAQYCAgIB4RwRAIAEgABC4GgsLFAAgACgCAEEHRwRAIAAgARC2FAsLFwAgACkDACAALQAUEL4jIABBGGoQhhYLEgAgACgCAARAIABBBGoQ2CcLCxMAIAEoAgAiAQRAIAEgABCvGgsLEwAgACgCACIABEAgACABEPMJCwsXACAAKQMAIAAtABQQviMgAEEYahCIFgsTACAAKAIAIgAEQCAAIAEQ8gkLCxMAIAAoAgAiAARAIAAgARDkCAsLFwAgACkDACAALQAUEL4jIABBGGoQiRYLEwAgACABEI0JIgBBGGpBACAAGwsWACAAQgA3AgggABCMLiAAQQRqEPEDCxYAIABCADcCCCAAEIwuIABBBGoQjy4LGAAgACgCAEGAgICAeEcEQCAAIAEQvxoLCxYA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q7KmtK3s2+uofzcDAAsRACAAKAIILQA8ELQpQf8BcQsRACAAQf8BcUH08eMAai0AAAsTACAAQdTW3wA2AgQgACABNgIACyEAIABC1orp8Lf16ZkGNwMIIABCnv6E6pufzuK0fzcDAAsRACAAKAIULQBMELQpQf8BcQsRACAAKAIAIgAQ3gQgABCNKwsPACAAEPgLIABBOGoQuCkLDwAgAEEgahC4KSAAEKIeCxEAIAAoAgAiABC6HSAAEJcrCw8AIAAQuCkgAEEEahC8BQsPACAAEIgnIABBFGoQkSgLDwAgABCJJyAAQRRqEJEoCw8AIAAQpiYgAEEUahCRKAsPACAAIAFBACACIAIQhQcLEQAgACACIAEoAgAoAgAQ1AMLEAAgACACIAEoAgAoAgAQYQsSACAAKAIAENkHIAAoAgQQ2QcLCQAgACABEMIiCx8AIABCjqHtnv6J58ERNwMIIABC9s/uuoiM9Xc3AwALDwAgABDmFiAAQSBqENQpCyIAIABCjd/i29uY9siIfzcDCCAAQrTBspr266W0xgA3AwALEwAgAEENNgIEIABBps/gADYCAAshACAAQriHmcOr4aScMTcDCCAAQrnQguaBt52t1QA3AwALEwAgAEEfNgIEIABBh8/gADYCAAsiACAAQsOO0djw8fyS6gA3AwggAELdgeDK0PLI2vIANwMACyEAIABC++LRjeDZlKQPNwMIIABCrP+pmMquiPDMADcDAAsfACAAQqW3qLD0suBGNwMIIABC9I3mj5vt+KAHNwMACyEAIABCoerDqMiYha+ofzcDCCAAQpOb+u+w6pjjYTcDAAsTACAAQSg2AgQgAEGEy+AANgIACxAAIAAQpiQgAEE4QQQQ1RELEAAgABDDJiAAQTBBBBDVEQsTACAAQbzQ4AA2AgQgACABNgIACxMAIABB+NDgADYCBCAAIAE2AgALEQAgACgCACIAEMICIAAQjSsLDwAgABDUKSAAQQRqEPoECyEAIABClLDejvCVuewnNwMIIABCg+q087za6IT/ADcDAAsPACAAQQxqEPAKIAAQiicLDwAgABDgAiAAQQRqEJQFCw8AIAAQySYgAEEUahClKAsNACAAIAFBAUEBENQiCw8AIAAoAgAgACgCBBDaKQsPAEGwmOQALQAAGiAAEGALDgAgACgCAEEBIAEQkAcLzhIBEH8gACEEIwBBsAFrIgMkACACQQA2AgACQAJAAkAgASIAKAIAIgUgASgCBCIJSw0AIAJBBGohBwJAAkACQCAEKAI8IggEQCABLQAQQQFHDQELAkACQCACKAIQRQRAIARB3AJB2AIgAC0AEBtqKAIAIgFFDQQgASAEKALUAk0NAQwECyACKAIUIQEgAigCGA0BIAIoAiAhBQwECyACKAIcIQYgAigCGCEIIANBQGsgBCABEKcgIAMoAkAgAygCRBDdFSAGQQAgCBsiBk0NAiACQQE2AhggAiAGQQFqNgIcIANBOGogBCABEKcgIAMgAykDODcCmAEgA0EwaiADQZgBaiIAIAYQihAgAygCMEEBcUUNBSAAIAMoAjQiACAFIARBNGooAgAgBEE4aigCACAAQfCFxAAQtx8oAgBrIAUQ6RIgAkEBNgIAIAcgAykCmAE3AgAgB0EIaiADQaABaigCADYCAAwECyACKAIcIQUgA0EoaiAEIAEQpyAgAygCKCADKAIsEN0VIAVNBEAgAkEANgIYIAJBADYCACACIAIoAiBBAWoiBTYCIAwDCyACQQE2AhggAiAFQQFqNgIcIAIoAiAhACADQQhqIAQgARCnICADIAMpAwg3ApgBIAMgA0GYAWoiASAFEIoQIAMoAgBBAXFFDQQgASADKAIEIgEgAEEBaiIAIARBNGooAgAgBEE4aigCACABQfCFxAAQtx8oAgBrIAAQ6RIgAkEBNgIAIAcgAykCmAE3AgAgB0EIaiADQaABaigCADYCAAwDCwJAAkACQAJAIAIoAhBFBEAgBCgC2AIiAUUNAyABIAQoAtQCTQ0BDAMLIAIoAhQhASACKAIYDQEgAigCICEFDAMLIAIoAhwhBiACKAIYIQogA0GQAWogBCABEKcgIAMoApABIAMoApQBEN0VIAZBACAKGyIGTQ0BIAJBATYCGCACIAZBAWo2AhwgA0GIAWogBCABEKcgIAMgAykDiAE3ApgBIANBgAFqIANBmAFqIgAgBhCKECADKAKAAUEBcUUNBiAAIAMoAoQBIgAgBSAEQTRqKAIAIARBOGooAgAgAEHwhcQAELcfKAIAayAFEOkSIAJBATYCACAHIAMpApgBNwIAIAdBCGogA0GgAWooAgA2AgAMBQsgAigCHCEFIANB+ABqIAQgARCnICADKAJ4IAMoAnwQ3RUgBU0EQCACQQA2AhggAkEANgIAIAIgAigCIEEBaiIFNgIgDAILIAJBATYCGCACIAVBAWo2AhwgAigCICEAIANB0ABqIAQgARCnICADIAMpA1A3ApgBIANByABqIANBmAFqIgEgBRCKECADKAJIQQFxRQ0FIAEgAygCTCIBIABBAWoiACAEQTRqKAIAIARBOGooAgAgAUHwhcQAELcfKAIAayAAEOkSIAJBATYCACAHIAMpApgBNwIAIAdBCGogA0GgAWooAgA2AgAMBAsgAkEANgIYIAIgATYCFCACQQE2AhAgAiAFNgIgIAJBADYCAAsgBEE8akEAIAgbIQggBEHIAGohDiAAKAIMIQYgACgCCCEKIARBCGohCyAEQQRqIQwgBEEgaiEPIARBHGohEANAIAUgCU8EQCACIAE2AhQgAkEBNgIQDAQLAkACQAJAIAUgBkkEQCAOIAUgCmotAAAiDWohESABIQADQAJAAkACfyAMKAIAIAsoAgAgAEG4gcQAELgfKAIEIgEEQCAQKAIAIA8oAgAgASARLQAAakHIgcQAELcfKAIADAELIANB8ABqIAQgABCmICADIAMpA3A3AqgBA0AgA0GYAWogA0GoAWoQ/w4gAy0AmAFFDQIgAy0AmQEiASANSQ0ACyABIA1HDQEgAygAmgELIgFBAUcNAQsgDCgCACALKAIAIABB4IXEABC4HygCDCEADAELCyABIAQoAtACTQ0BIAUhAAwCCyAFIAZBjK7AABCsEAALIAIgATYCFCACQQE2AhAgAUUNBQJAIAQoAtQCIAFPBEAgAkKBgICAEDcCGCADQegAaiAEIAEQpyAgAyADKQNoNwKYASADQeAAaiADQZgBaiIAQQAQihAgAygCYEEBcUUNASAAIAMoAmQiACAFQQFqIgEgBEE0aigCACAEQThqKAIAIABB8IXEABC3HygCAGsgARDpEiACQQE2AgAgByADKQKYATcCACAHQQhqIANBoAFqKAIANgIADAcLIANBmAFqIAgoAgAgCEEEaigCACAKIAYgBSAJEO8dIANB2ABqIAMoApgBIAMoApwBEMUhIAMoAlhFDQYgAygCXCIFIAIoAiAiAE0NAQwCCwwGCyAAQQFqIQULIAIgBTYCIAwACwALIAJBADYCGCACIAE2AhQgAkEBNgIQIAIgBTYCICACQQA2AgALIAUg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KAIIIQ0gBEEIaiEOIARBBGohDyAEQThqIRAgBEE0aiERIARBIGohEiAEQRxqIRMgBSEAA0AgACAMRgRAIAYgAykD4AE3AgQgBiAHNgIAIAZBDGogA0HoAWooAgA2AgAMCwsCQCAAIApHBEAgACANai0AACECAn8gDygCACAOKAIAIAFBuIHEABC4HygCBCIUBEAgEygCACASKAIAIBQgAiALai0AAGpByIHEABC3HygCAAwBCyADQRhqIAQgARCmICADIAMpAxg3AvwBA0AgA0GEAmogA0H8AWoQ/w4gAy0AhAJFDQwgAy0AhQIiASACSQ0ACyABIAJHDQsgAygAhgILIQEgA0HgAWohAiABQQFGDQsgASAEKALQAksNASABRQ0LIAEgBCgC1AJLDQEgA0EQaiAEIAEQpyAgAyADKQMQNwKEAiADQQhqIANBhAJqQQAQihAgAygCCEEBcUUNDSADQewBaiICIAMoAgwiFCAAQQFqIhUgESgCACAQKAIAIBRB8IXEABC3HygCAGsgFRDpEiADKALsASAFSw0BIANB6AFqIANB9AFqKAIANgIAIAMgAykC7AE3A+ABQQEhByAIQQFxRQ0BDAsLIAogCUH8rcAAEKwQAAsgAEEBaiEADAALAAsMCQsgBkEANgIADAcLIAhBAXFFBEACQCAEKALYAiIBRQ0AIAEgBCgC1AJLDQAgA0H4AGogBCABEKcgIAMgAykDeDcC4AEgA0HwAGogA0HgAWpBABCKEEEBIQcgAygCcEEBcUUNCSADQewBaiADKAJ0IgAgBSAEQTRqKAIAIARBOGooAgAgAEHwhcQAELcfKAIAayAFEOkSCyACKAIMIgggBSAFIAhJGyEJIARByABqIQ0gAigCCCEOIARBCGohAiAEQQRqIQogBEE4aiEPIARBNGohECAEQSBqIREgBEEcaiESA0AgBSAMRgRAIAYgAykC7AE3AgQgBiAHNgIAIAZBDGogA0H0AWooAgA2AgAMCQsCQCAFIAlHBEAgDSAFIA5qLQAAIgtqIRMgASEAA0ACQAJAAn8gCigCACACKAIAIABBuIHEABC4HygCBCIBBEAgEigCACARKAIAIAEgEy0AAGpByIHEABC3HygCAAwBCyADQegAaiAEIAAQpiAgAyADKQNoNwKEAgNAIANB4AFqIANBhAJqEP8OIAMtAOABRQ0CIAMtAOEBIgEgC0kNAAsgASALRw0BIAMoAOIBCyIBQQFHDQELIAooAgAgAigCACAAQeCFxAAQuB8oAgwhAAwBCwsgASAEKALQAksNAQJAIAEEQCABIAQoAtQCTQ0BDAMLIAYgAykC7AE3AgQgBiAHNgIAIAZBDGogA0H0AWooAgA2AgAMCwsgA0HgAGogBCABEKcgIAMgAykDYDcC4AEgA0HYAGogA0HgAWpBABCKECADKAJYQQFxRQ0LQQEhByADQewBaiADKAJcIgAgBUEBaiILIBAoAgAgDygCACAAQfCFxAAQtx8oAgBrIAsQ6RIMAQsgCSAIQfytwAAQrBAACyAFQQFqIQUMAAsACyAGAn8CQAJAIAQoAtgCIgFFDQAgASAEKALUAksNACADQdAAaiAEIAEQpyAgAyADKQNQNwLgASADQcgAaiADQeABakEAEIoQIAMoAkhBAXFFDQogA0HsAWogAygCTCIAIAUgBEE0aigCACAEQThqKAIAIABB8IXEABC3HygCAGsgBRDpEgwBCyACKAIMIgcgBSAFIAdJGyEIIARByABqIQsgAigCCCENIARBCGohAiAEQQRqIQkgBEEgaiEOIARBHGohDwNAIAUgDEYEQCAGQQA2AgAMCgsCQCAFIAhHBEAgCyAFIA1qLQAAIgpqIRAgASEAA0ACQAJ/IAkoAgAgAigCACAAQbiBxAAQuB8oAgQiAQRAIA8oAgAgDigCACABIBAtAABqQciBxAAQtx8oAgAMAQsgA0FAayAEIAAQpiAgAyADKQNANwKEAgNAIANB4AFqIANBhAJqEP8OIAMtAOABRQ0CIAMtAOEBIgEgCkkNAAsgASAKRw0BIAMoAOIBCyIBQQFHDQMLIAkoAgAgAigCACAAQeCFxAAQuB8oAgwhAAwACwALIAggB0H8rcAAEKwQAAsCQCABIAQoAtACSw0AQQAgAUUNAxogASAEKALUAksNACADQThqIAQgARCnICADIAMpAzg3AuABIANBMGogA0HgAWpBABCKECADKAIwQQFxBEAgA0HsAWogAygCNCIAIAVBAWoiASAEQTRqKAIAIARBOGooAgAgAEHwhcQAELcfKAIAayABEOkSDAMLDAsLIAVBAWohBQwACwALIAYgAykC7AE3AgQgBkEMaiADQfQBaigCADYCAEEBCzYCAAwGCwJAIAQoAtgCIgFFDQAgASAEKALUAksNACADQagBaiAEIAEQpyAgAyADKQOoATcC7AEgA0GgAWogA0HsAWpBABCKECADKAKgAUEBcUUNByADQeABaiADKAKkASIAIAUgBEE0aigCACAEQThqKAIAIABB8IXEABC3HygCAGsgBRDpEiAGQQE2AgAgBkEMaiADQegBaigCADYCACAGIAMpAuABNwIEDAYLIANB7AFqIAAgBEFAayILKAIAIAIoAggiCCACKAIMIgcgBSAMEO8dAkACQAJAIAMoAuwBIgBBAWsOAgEAAgsgBEHIAGohDSADKALwASECIARBCGohCSAEQQRqIQogBEEgaiEOIARBHGohDwNAIAwgAiIFTQRAIAZBADYCAAwJCwJAIAUgB0kEQCANIAUgCGotAAAiAmohECABIQADQAJAAn8gCigCACAJKAIAIABBuIHEABC4HygCBCIBBEAgDygCACAOKAIAIAEgEC0AAGpByIHEABC3HygCAAwBCyADQZgBaiAEIAAQpiAgAyADKQOYATcChAIDQCADQewBaiADQYQCahD/DiADLQDsAUUNAiADLQDtASIBIAJJDQALIAEgAkcNASADKADuAQsiAUEBRw0DCyAKKAIAIAkoAgAgAEHghcQAELgfKAIMIQAMAAsACyAFIAdB/K3AABCsEAALAkAgASAEKALQAksNACABBEACQCAEKALUAiABTwRAIANBkAFqIAQgARCnICADIAMpA5ABNwLsASADQYgBaiADQewBakEAEIoQIAMoAogBQQFxDQEMDQsgA0HsAWogBCgCPCALKAIAIAggByAFIAwQ7x0gA0GAAWogAygC7AEgAygC8AEQxSEgAygCgAFFBEAgBkEANgIADAwLIAMoAoQBIgIgBUsNAwwCCyADQeABaiADKAKMASIAIAVBAWoiASAEQTRqKAIAIARBOGooAgAgAEHwhcQAELcfKAIAayABEOkSIAZBATYCACAGQQxqIANB6AFqKAIANgIAIAYgAykC4AE3AgQMCgsgBkEANgIADAkLIAVBAWohAgwACwALIAYgAykC8AE3AgQgBkEMaiADQfgBaigCADYCAAsgBiAANgIADAULIAYgAykC8AE3AgQgBkEMaiADQfgBaigCADYCAAsgBiAANgIADAMLIARByABqIQ4gAygC8AEhAiAEQQhqIQogBEEEaiELIARBOGohDyAEQTRqIRAgBEEgaiERIARBHGohEgNAAkACQCAMIAIiBUsEQAJAIAUgCEkEQCAOIAUgCWotAAAiAmohEyABIQADQAJAAn8gCygCACAKKAIAIABBuIHEABC4HygCBCIBBEAgEigCACARKAIAIAEgEy0AAGpByIHEABC3HygCAAwBCyADQcgBaiAEIAAQpiAgAyADKQPIATcChAIDQCADQewBaiADQYQCahD/DiADLQDsAUUNAiADLQDtASIBIAJJDQALIAEgAkcNASADKADuAQsiAUEBRw0DCyALKAIAIAooAgAgAEHghcQAELgfKAIMIQAMAAsACyAFIAhB/K3AABCsEAALIAQoAtACIAFPBEAgAUUNAyAEKALUAiABTwRAIANBwAFqIAQgARCnICADIAMpA8ABNwLsASADQbgBaiADQewBakEAEIoQIAMoArgBQQFxDQMMCQsgA0HsAWogBCgCPCANKAIAIAkgCCAFIAwQ7x0gA0GwAWogAygC7AEgAygC8AEQxSEgAygCsAFFBEAgBkEANgIADAgLIAMoArQBIgIgBUsNBAsgBUEBaiECDAMLIAYgAykC4AE3AgQgBiAHNgIAIAZBDGogA0HoAWooAgA2AgAMBQtBASEHIANB4AFqIAMoArwBIgAgBUEBaiICIBAoAgAgDygCACAAQfCFxAAQtx8oAgBrIAIQ6RIMAQsLIAYgAykC4AE3AgQgBiAHNgIAIAZBDGogA0HoAWooAgA2AgAMAgsgA0HgAWohAgsgBiAHNgIAIAYgAikCADcCBCAGQQxqIAJBCGooAgA2AgALIANBkAJqJAAMAQtBgIbEABDgKQALCwwAIAAoAgAgARDeGQu1FgETfyAAIQUgASEDIwBBMGsiBCQAAkACQAJAAkACQAJAAkAgAigCACIAIAIoAgQiC00EQCACLQARIAMtANgCRXIhCQJAAkAgAi0AEEUEQCADKAIoIghFDQQgCUEBcQ0FIAMoAtACIgZFDQEgAygCzAIgBk8EQCAEQRBqIANBEGooAgAgA0EUaigCACAGIAMoAjx2QQJrQbiDxAAQvB8iASgCBCABKAIIQQAQvR8oAgAiASAAIANBHGooAgAgA0EgaigCACABQaiDxAAQtx8oAgBrIAAQ6RIgAygCKCEIQQEhBwsgBEEgaiAIIANBLGoiCSgCACACKAIIIgggAigCDCICIAAgCxDvHSAEKAIgIgBBAWsOAgYIBwsgAygC1AIiBkUNAQJAIAYgAygCzAJLDQAgBEEQaiIBIANBEGooAgAgA0EUaigCACAGIAMoAjx2QQJrQbiDxAAQvB8iBygCBCAHKAIIQQAQvR8oAgAiByAAIANBHGooAgAgA0EgaigCACAHQaiDxAAQtx8oAgBrIAAQ6RJBASEIIAlBAXFFDQAMCQsgAigCDCIHIAAgACAHSRshCiADQUBrIQwgAigCCCEOIANBCGohDyADQQRqIRAgA0EUaiERIANBEGohDSADQSBqIRIgA0EcaiEUIAAhAQNAIAEgC0YEQCAFIAQpAxA3AgQgBSAINgIAIAVBDGogBEEYaigCADYCAAwLCwJAIAEgCkcEQCAQKAIAIA8oAgAgBiAMIAEgDmotAABqLQAAakGYg8QAELcfKAIAIgYgAygCyAJLDQEgBkUEQCAEQRBqIQEMDAsgBiADKALMAksNASAEQSBqIgIgDSgCACARKAIAIAYgAygCPHZBAmtBuIPEABC8HyITKAIEIBMoAghBABC9HygCACITIAFBAWoiFSAUKAIAIBIoAgAgE0Gog8QAELcfKAIAayAVEOkSIAQoAiAgAEsNASAEQRhqIARBKGooAgA2AgAgBCAEKQIgNwMQQQEhCCAJQQFxRQ0BIAIhAQwLCyAKIAdB/K3AABCsEAALIAFBAWohAQwACwALQQEQ0iYhACAFQQI2AgAgBSAANgIEDAgLQQAQ0iYhACAFQQI2AgAgBSAANgIEDAcLIAVBADYCAAwGCyAJQQFxRQRAIAMoAtACIgYEQCADKALMAiAGTwRAIARBIGogA0EQaigCACADQRRqKAIAIAYgAygCPHZBAmtBuIPEABC8HyIBKAIEIAEoAghBABC9HygCACIBIAAgA0EcaigCACADQSBqKAIAIAFBqIPEABC3HygCAGsgABDpEkEBIQcLIAIoAgwiASAAIAAgAUkbIQggA0FAayEJIAIoAgghAiADQQhqIQogA0EEaiEMIANBFGohDiADQRBqIQ8gA0EgaiEQIANBHGohEQNAIAAgC0YEQCAFIAQpAiA3AgQgBSAHNgIAIAVBDGogBEEoaigCADYCAAwJCwJAIAAgCEcEQCAMKAIAIAooAgAgBiAJIAAgAmotAABqLQAAakGYg8QAELcfKAIAIgYgAygCyAJLDQECQCAGBEAgBiADKALMAk0NAQwDCyAFIAQpAiA3AgQgBSAHNgIAIAVBDGogBEEoaigCADYCAAwLC0EBIQcgBEEgaiAPKAIAIA4oAgAgBiADKAI8dkECa0G4g8QAELwfIg0oAgQgDSgCCEEAEL0fKAIAIg0gAEEBaiISIBEoAgAgECgCACANQaiDxAAQtx8oAgBrIBIQ6RIMAQsgCCABQfytwAAQrBAACyAAQQFqIQAMAAsAC0EBENImIQAgBUECNgIAIAUgADYCBAwGCyAFAn8CQCADKALQAiIGBEAgBiADKALMAk0NASACKAIMIgEgACAAIAFJGyEHIANBQGshCCACKAIIIQIgA0EIaiEJIANBBGohCgNAIAAgC0YEQCAFQQA2AgAMCgsCQCAAIAdHBEAgCigCACAJKAIAIAYgCCAAIAJqLQAAai0AAGpBmIPEABC3HygCACIGIAMoAsgCSw0BQQAgBkUNBRogBiADKALMAksNASAAQQFqIQAMBAsgByABQfytwAAQrBAACyAAQQFqIQAMAAsAC0EBENImIQAgBUECNgIAIAUgADYCBAwHCyAEQSBqIANBEGooAgAgA0EUaigCACAGIAMoAjx2QQJrQbiDxAAQvB8iASgCBCABKAIIQQAQvR8oAgAiASAAIANBHGooAgAgA0EgaigCACABQaiDxAAQtx8oAgBrIAAQ6RIgBUEMaiAEQShqKAIANgIAIAUgBCkCIDcCBEEBCzYCAAwFCwJAAkACQAJAIAMoAtACIgYEQCADKALMAiAGTwRAIARBEGogA0EQaigCACADQRRqKAIAIAYgAygCPHZBAmtBuIPEABC8HyIBKAIEIAEoAghBABC9HygCACIBIAAgA0EcaigCACADQSBqKAIAIAFBqIPEABC3HygCAGsgABDpEiAFQQE2AgAgBUEMaiAEQRhqKAIANgIAIAUgBCkCEDcCBAwKCyAEQSBqIAggA0EsaiIIKAIAIAIoAggiByACKAIMIgIgACALEO8dAkAgBCgCICIAQQFrDgIEAAULIANBQGshCSAEKAIkIQAgA0EIaiEKIANBBGohDANAIAsgACIBTQRAIAVBADYCAAwLCyABIAJPDQICQCAMKAIAIAooAgAgBiAJIAEgB2otAABqLQAAakGYg8QAELcfKAIAIgYgAygCyAJNBEAgBkUNBSAGIAMoAswCTQ0BIARBIGogAygCKCAIKAIAIAcgAiABIAsQ7x0gBCAEKAIgIAQoAiQQxSEgBCgCAEUEQCAFQQA2AgAMDQsgBCgCBCIAIAFLDQILIAFBAWohAAwBCwsgBEEQaiADQRBqKAIAIANBFGooAgAgBiADKAI8dkECa0G4g8QAELwfIgAoAgQgACgCCEEAEL0fKAIAIgAgAUEBaiIBIANBHGooAgAgA0EgaigCACAAQaiDxAAQtx8oAgBrIAEQ6RIgBUEBNgIAIAVBDGogBEEYaigCADYCACAFIAQpAhA3AgQMCQtBARDSJiEAIAVBAjYCACAFIAA2AgQMCAsgASACQfytwAAQrBAACyAFQQA2AgAMBgsgBSAEKQIkNwIEIAVBDGogBEEsaigCADYCAAsgBSAANgIADAQLIAUgBCkCJDcCBCAFQQxqIARBLGooAgA2AgALIAUgADYCAAwCCyADQUBrIQogBCgCJCEAIANBCGohDCADQQRqIQ4gA0EUaiEPIANBEGohECADQSBqIREgA0EcaiENA0ACQAJAAkACQCALIAAiAUsEQCAAIAJPDQIgDigCACAMKAIAIAYgCiAAIAhqLQAAai0AAGpBmIPEABC3HygCACIGIAMoAsgCSw0DIAZFDQQgBiADKALMAk0NASAEQSBqIAMoAiggCSgCACAIIAIgACALEO8dIARBCGogBCgCICAEKAIkEMUhIAQoAghFBEAgBUEANgIADAgLIAQoAgwiACABTQ0DDAULIAUgBCkCEDcCBCAFIAc2AgAgBUEMaiAEQRhqKAIANgIADAYLQQEhByAEQRBqIBAoAgAgDygCACAGIAMoAjx2QQJrQbiDxAAQvB8iACgCBCAAKAIIQQAQvR8oAgAiEiABQQFqIgAgDSgCACARKAIAIBJBqIPEABC3HygCAGsgABDpEgwDCyABIAJB/K3AABCsEAALIAFBAWohAAwBCwsgBSAEKQIQNwIEIAUgBzYCACAFQQxqIARBGGooAgA2AgAMAQsgBSAINgIAIAUgASkCADcCBCAFQQxqIAFBCGooAgA2AgALIARBMGokAAvXDwEMfyMAQSBrIgUkACACQQA2AgACQCABIgMoAgAiASADKAIEIgtLDQAgAkEEaiEIAkACQAJAAkACQAJAAkACQCAAKAIoIgkEQCADLQAQQQFHDQELAkACQAJAIAIoAhBFBEAgAy0AEA0BIAAoAtACIgQNAgwLCyACKAIUIQQgAigCGA0CIAIoAiAhAQwICyAAKALUAiIERQ0DCyAEIAAoAswCSw0FIAIoAhxBACACKAIYGyIGIABBEGoiCSgCACAAQRRqIgooAgAgBCAAKAI8dkECa0HYg8QAELwfKAIITw0FIAJBATYCGCACIAZBAWo2AhwgBUEQaiAJKAIAIAooAgAgBCAAKAI8dkECa0G4g8QAELwfIgMoAgQgAygCCCAGEL0fKAIAIgMgASAAQRxqKAIAIABBIGooAgAgA0Gog8QAELcfKAIAayABEOkSIAJBATYCACAIIAUpAhA3AgAgCEEIaiAFQRhqKAIANgIADAkLIAIoAhwiASAAQRBqIgcoAgAgAEEUaiIGKAIAIAQgACgCPHZBAmtB2IPEABC8HygCCE8EQCACQQA2AhggAkEANgIAIAIgAigCIEEBaiIBNgIgDAYLIAJBATYCGCACIAFBAWo2AhwgAigCICEDIAVBEGogBygCACAGKAIAIAQgACgCPHZBAmtBuIPEABC8HyIEKAIEIAQoAgggARC9HygCACIBIANBAWoiAyAAQRxqKAIAIABBIGooAgAgAUGog8QAELcfKAIAayADEOkSIAJBATYCACAIIAUpAhA3AgAgCEEIaiAFQRhqKAIANgIADAYLAkACQCACKAIQRQRAIAAoAtACIgRFDQkgBCAAKALMAk0NAQwECyACKAIUIQQgAigCGA0BIAIoAiAhAQwECyACKAIcQQAgAigCGBsiBiAAQRBqIgooAgAgAEEUaiIMKAIAIAQgACgCPHZBAmtB2IPEABC8HygCCE8NAiACQQE2AhggAiAGQQFqNgIcIAVBEGogCigCACAMKAIAIAQgACgCPHZBAmtBuIPEABC8HyIDKAIEIAMoAgggBhC9HygCACIDIAEgAEEcaigCACAAQSBqKAIAIANBqIPEABC3HygCAGsgARDpEiACQQE2AgAgCCAFKQIQNwIAIAhBCGogBUEYaigCADYCAAwICyACKAIcIgEgAEEQaiIHKAIAIABBFGoiBigCACAEIAAoAjx2QQJrQdiDxAAQvB8oAghPBEAgAkEANgIYIAJBADYCACACIAIoAiBBAWoiATYCIAwDCyACQQE2Ahgg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BEAgDSAEQQFqIgRLBEAgDiAEQQJ0aigCAAwCCwwFCyAAQf////8HcQsiACAGIAVBEGooAgAgBUEUaigCACAAQbCFxAAQtx8oAgBrIAYQ6RIgBSgCHCEEQQEhCQsgA0GgAWogBCAFQSBqIhQoAgAgAigCCCISIAIoAgwiDyAGIBUQ7x0CQAJAAkACQCADKAKgASIAQQFrDgIBAAILIAVBLGohEyADKAKkASEAIAVBCGohCyAFQQRqIREgBUEUaiEODAILIAggAykCpAE3AgQgCEEMaiADQawBaigCADYCAAsgCCAANgIADAILAkADQAJAAkAgFSAAIgJLBEAgACAPSQRAIBMgACASai0AAGotAAAiB0ECaiEGIAEhAANAAkACQAJAAkACQAJAAkAgESgCACALKAIAIABBgITEABC3HygCACIBQf8BcUH+AWsOAgECAAsgA0GAAWogESgCACALKAIAIABBAmoiDEGQhMQAEOwbIAFBAnZBP3EgAUEDcUEAR2oiCiADKAKEASIBSw0SIAMoAoABIQ0gCkECdCEEQX8hAQNAIARFDQYgAUEBaiEBIAcgDSgCACIQQf8BcUYNAyAHIBBBCHZB/wFxRg0EIAcgEEEQdkH/AXFGDQUgDUEEaiENIARBBGshBCAHIBBBGHZHDQALIBEoAgAgCygCACAKIAxqIAFBAnRqQQNqQbCExAAQtx8oAgAhAQwKCyAHIBEoAgAgCygCACAAQfCExAAQtx8tAAFGDQgMBAsgESgCACALKAIAIAAgBmpBkIXEABC3HygCACIBQQFGDQMMCAsgESgCACALKAIAIAogDGogAUECdGpB4ITEABC3HygCACEBDAcLIBEoAgAgCygCACAKIAxqIAFBAnRqQQFqQdCExAAQtx8oAgAhAQwGCyARKAIAIAsoAgAgCiAMaiABQQJ0akECakHAhMQAELcfKAIAIQEMBQsgESgCACALKAIAIABBAWpBoIXEABC3HygCACEADAALAAsgAiAPQfytwAAQrBAACyAIIAMpApABNwIEIAggCTYCACAIQQxqIANBmAFqKAIANgIADAULIBEoAgAgCygCACAAQQJqQYCFxAAQtx8oAgAhAQsCQAJAIAEgBSgCtAJLDQAgAUUNASADQZABagJ/AkAgBSgCuAIgAU8EQCAFKAIoIQAgA0H4AGogESgCACAL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FhISDhYWDxASEhISEhIWERYLIAAoAgxBBHQhAiAAKAIIIQADQCACRQ0WIAAoAgBBAkcEQCAAQQxqIAEQyiwLIABBEGohACACQRBrIQIMAAsACyAAQQRqIAEQ8AkMFAsgAEEIaiABEMssDBMLIABBBGogARDKLCAAQQhqIAEQyiwMEgsgAEE4agJAAkACQAJAAkACQAJAAkACQAJAAkAgAkEBaw4LAAECAwQFBgcICgkKCyAAQQhqIAEQnx8MCQsgAEEIaiABEPQhDAgLIABBBGogARDKLAwHCyAAQQRqIAEQsxwMBgsgAEEEaiABEMosDAULIABBBGogARDKLAwECyAAQQRqIAEQyiwMAwsgAEEEaiABEMosDAILIABBBGogARDKLAwBCyAAQQhqIQICQAJAIAAoAgRBAWsOAgECAAsgAiABEIsXDAELIAIgARC7DgsgARDKLAwRCyAAQQhqIAEQnx8MEAsgAEEIaiABEPQhDA8LIABBBGogARDKLCAAQQhqIAEQyiwMCwsgAC0AGEEFRgRAIABBEGogARDKLAsMCwsgAEEQaiABEMosIAAoAgRBgICAgHhGDQwMCgsgAEEEaiABEMosIAAoAgggARCWGgwLCyAAKAIMQShsIQIgACgCCCEDA0AgAgRAIAMgARCvFCACQShrIQIgA0EoaiEDDAELCyAAKAIQIgAoAgBBgICAgHhHBEAgACABEJcaDAsLDAYLIABBCGogARDMLAwJCyAAKAIMRQ0IDAULIABBCGoQ9SEMBwsgACgCBCABEKAMDAYLIABBBGogARDEDwwFCyAAQQRqIAEQsxwMBAsgAEEEaiABEMosDAMLIABBDGogARDKLAwCCyAAQQRqIAEQ+RgMAQsgAEEEaiABEJYaCwsMACAAKAIYIAEQpBILDAAgACgCGCABEPQFC6UGAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECExQDBAUGBwgJFgoXFgsMDQ4XExMPFxcQERMTExMTExcSFwsgACgCDEEEdCECIAAoAgghAANAIAJFDRcgACgCAEECRwRAIABBDGogARDNLAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARCHCQwVCyABIABBCGoQqhEMFAsgAEEEaiABEM0sIABBCGogARDNLAwTCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwECAwQFBgcICQsKAAsgAEEIaiABEO0tDAoLIABBCGogARCgHwwJCyABIABBCGoQ9yEMCAsgAEEEaiABEM0sDAcLIABBBGogARC1HAwGCyAAQQRqIAEQzSwMBQsgAEEEaiABEM0sDAQLIABBBGogARDNLAwDCyAAQQRqIAEQzSwMAgsgAEEEaiABEM0sDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQjBcMAQsgAiABEPANCyABEM0sDBILIABBCGogARCgHwwRCyABIABBCGoQ9yEMEAsgAEEEaiABEM0sIABBCGogARDNLAwMCyAALQAYQQVGBEAgAEEQaiABEM0sCwwMCyAAQRBqIAEQzSwgACgCBEGAgICAeEYNDQwLCyABIABBCGoQggkMDAsgAEEEaiABEM0sIAEgACgCCBCjGgwLCyAAKAIMQShsIQIgACgCCCEDA0AgAgRAIAMgARDKESACQShrIQIgA0EoaiEDDAELCyAAKAIQIgAoAgBBgICAgHhHBEAgACABEKIaDAsLDAYLIABBCGogARDBJwwJCyAAKAIMRQ0IDAULIABBCGogARCXHgwHCyAAKAIEIAEQgQwMBgsgAEEEaiABEMYPDAULIABBBGogARC1HAwECyAAQQRqIAEQzSwMAwsgAEEMaiABEM0sDAILIABBBGogARD7GAwBCyABIABBBGoQoxoLCwwAIAAoAgAgARCiEgsMACABIAAoAhgQwQQLDAAgACgCACABEKMSCwwAIAAoAgAgARChEgsMACAAKAIAIAEQpBILCwAgASAAKAIAEE8LDAAgACgCACABEPAPC+cFAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECExQDBAUGBwgJFgoXFgsMDQ4XExMPFxcQERMTExMTExcSFwsgACgCDEEEdCECIAAoAgghAANAIAJFDRcgACgCAEECRwRAIABBDGogARDVLAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARCuCgwVCyAAQQhqIAEQwicMFAsgAEEEaiABENUsIABBCGogARDVLAwTCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwECAwQFBgcICQsKAAsgAEEIaiABEIMpDAoLIABBCGogARChHwwJCyABIABBCGoQgCIMCAsgAEEEaiABENUsDAcLIABBBGogARC2HAwGCyAAQQRqIAEQ1SwMBQsgAEEEaiABENUsDAQLIABBBGogARDVLAwDCyAAQQRqIAEQ1SwMAgsgAEEEaiABENUsDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQjRcMAQsgAiABEPENCyABENUsDBILIABBCGogARChHwwRCyABIABBCGoQgCIMEAsgAEEEaiABENUsIABBCGogARDVLAwMCyAALQAYQQVGBEAgAEEQaiABENUsCwwMCyAAQRBqIAEQ1SwgACgCBEGAgICAeEYNDQwLCyABIAApAwggACgCGBCPGwwMCyAAQQRqIAEQ1SwgACgCCCABEKQaDAsLIABBBGogARDdEgwKCyAAQQhqIAEQwycMCQsgACgCDEUNCAwFCyAAQSBqIAEQ5R0MBwsgACgCBCABEIIMDAYLIABBBGogARDHDwwFCyAAQQRqIAEQthwMBAsgAEEEaiABENUsDAMLIABBDGogARDVLAwCCyAAQQRqIAEQ/BgMAQsgAEEEaiABEKQaCwvkBQECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgJBDGsiAyADQSZPG0EBaw4kAAECEhMDBAUGBwgJFBUVFAoLDA0VEhIOFRUPEBISEhISEhURFQsgACgCDEEEdCECIAAoAgghAANAIAJFDRUgACgCAEECRwRAIABBDGogARDWLAsgAEEQaiEAIAJBEGshAgwACwALIABBBGogARDXCwwTCyAAQQhqIAEQ2SwMEgsgAEEEaiABENYsIABBCGogARDWLAwRCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQCACQQFrDgsAAQIDBAUGBwgKCQoLIABBCGogARCjHwwJCyABIABBCGoQgSIMCAsgAEEEaiABENYsDAcLIABBBGogARC4HAwGCyAAQQRqIAEQ1iwMBQsgAEEEaiABENYsDAQLIABBBGogARDWLAwDCyAAQQRqIAEQ1iwMAgsgAEEEaiABENYsDAELIABBCGohAgJAAkAgACgCBEEBaw4CAQIACyACIAEQjhcMAQsgAiABELwOCyABENYsDBALIABBCGogARCjHwwPCyABIABBCGoQgSIMDgsgAEEEaiABENYsIABBCGogARDWLAwLCyAAQQRqAkAgAC0AGEEFRw0AIABBEGoiACABENYsIAAoAgBB0NvgAEEEEJEfRQ0AIAFBAToAAAsgARD+GAwMCyAAQRBqIAEQ1iwgACgCBEGAgICAeEYNCyAAQQRqIAEQ/hgMCwsgAEEEaiABENYsIAAoAgggARClGgwKCyAAQQRqIAEQ3hIMCQsgAEEIaiABENosDAgLIAAoAgxFDQcMBQsgAEEgahDVIAwGCyAAKAIEIAEQoQwMBQsgAEEEaiABEMgPDAQLIABBBGogARC4HAwDCyAAQQRqIAEQ1iwMAgsgAEEMaiABENYsDAELIABBBGogARClGgsLDAAgASAAKAIAEPIBCwwAIAAoAgAgARDKEQsMACAAKAIYIAEQoxILjwIBBX8gACgCGCIDIAEQnRogAygCFEHYAGwhBSADKAIQIQYDQCACIAVHBEACQAJAAkACQAJAAkACQAJAIAIgBmoiACgCACIEQQRrQQAgBEEFa0EISRtBAWsOCAECAwQHBwUGAAsgACABEOsLDAYLIABBCGogARC7JQwFCyAAQSBqIAEQ0CwMBAsgASAAQQhqEPohIABBPGogARC8JSAAQTBqIAEQnRoMAwsgAEEkaiABELwlIABBLGogARCdGgwCCyAAQQRqIAEQnhoMAQsgAEEIaiIEKAIAQQVHBEAgASAEEPohCyAAQTxqIAEQvCUgAEEwaiABEJ0aCyACQdgAaiECDAELCyADQTBqIAEQvCULDAAgACgCGCABEPAPCwwAIAEgACgCGBCsAwsMACAAKAIAIAEQrxQLDAAgACgCACABENcECwwAIAAoAgAgARCuCAsMACAAKAIAIAEQlgULDAAgACgCACABEOoTCwwAIAEgACgCABDJAQsMACAAKAIAIAEQ9wELDAAgASAAKAIAEKwdCwwAIAAoAgAgARDIAwsMACAAKAIAIAEQ6xMLDAAgACgCACABEMwRCwwAIAAoAgAgARDVBAsMACAAKAIAIAEQ7BMLDAAgACgCACABELAUCwwAIAAoAgAgARD9BAsMACAAKAIAIAEQ7RMLDAAgACgCACABEK0RCwsAIAAoAgAgARBeCwwAIAEgACgCABCUIAsMACAAKAIAIAEQshQLDAAgACgCACABELMDCwwAIAEgACgCABDSHgsLACAAQShBCBDVEQsKACAAEJ0LGkEBCwwAIAAoAgAgARChDAsMACAAKAIAIAEQggwLDAAgACgCACABEKMMCwwAIAAoAgAgARCgDAsMACAAKAIAIAEQgQwLDAAgACgCACABEKsLCwwAIAAoAgAgARCiDAsMACAAKAIAIAEQoAoLDAAgACgCACABEN0pCwwAIAEgACgCABDBBAsMACAAQcgAQQgQ1RELCwAgACgCGCABEFILDAAgACgCGCABEKsSCwwAIAEgACgCABCqAQsMACABIAAoAgAQ8wMLDAAgACgCACABEM8NCwwAIAEgACgCABCxAguFBgECfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAkEMayIDIANBJk8bQQFrDiQAAQISEwMEBQYHCAkVFhYVCgsMDRYSEg4WFg8QEhISEhISFhEWCyAAKAIMQQR0IQIgACgCCCEAA0AgAkUNFiAAKAIAQQJHBEAgAEEMaiABEIYtCyAAQRBqIQAgAkEQayECDAALAAsgAEEEaiABEPIJDBQLIABBCGogARCLLQwTCyAAQQRqIAEQhi0gAEEIaiABEIYtDBILIABBOGoCQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwABAgMEBQYHCAoJCgsgAEEIaiABEKgfDAkLIABBCGogARCYIgwICyAAQQRqIAEQhi0MBwsgAEEEaiABEMMcDAYLIABBBGogARCGLQwFCyAAQQRqIAEQhi0MBAsgAEEEaiABEIYtDAMLIABBBGogARCGLQwCCyAAQQRqIAEQhi0MAQsgAEEIaiECAkACQCAAKAIEQQFrDgIBAgALIAIgARCSFwwBCyACIAEQvQ4LIAEQhi0MEQsgAEEIaiABEKgfDBALIABBCGogARCYIgwPCyAAQQRqIAEQhi0gAEEIaiABEIYtDAsLIAAtABhBBUYEQCAAQRBqIAEQhi0LDAsLIABBEGogARCGLSAAKAIEQYCAgIB4Rg0MDAoLIABBBGogARCGLSAAKAIIIAEQsxoMCwsgACgCDEEobCECIAAoAgghAwNAIAIEQCADIAEQsxQgAkEoayECIANBKGohAwwBCwsgACgCECIAKAIAQYCAgIB4RwRAIAAgARC0GgwLCwwGCyAAQQhqIAEQjC0MCQsgACgCDEUNCAwFCyAAQQhqEPUhDAcLIAAoAgQgARCkDAwGCyAAQQRqIAEQzQ8MBQsgAEEEaiABEMMcDAQLIABBBGogARCGLQwDCyAAQQxqIAEQhi0MAgsgAEEEaiABEIoZDAELIABBBGogARCzGgsLDAAgACgCACABEOsBCwwAIAAoAgAgARCjEAsMACAAKAIAIAEQrhELmwYBAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAkEMayIDIANBJk8bQQFrDiQAAQITFAMEBQYHCAkWChcWCwwNDhcTEw8XFxARExMTExMTFxIXCyAAKAIMQQR0IQIgACgCCCEAA0AgAkUNFyAAKAIAQQJHBEAgAEEMaiABEIotCyAAQRBqIQAgAkEQayECDAALAAsgAEEEaiABEOQIDBULIABBIGogARCOLQwUCyAAQQRqIAEQii0gAEEIaiABEIotDBMLIABBOGoCQAJAAkACQAJAAkACQAJAAkACQAJAIAJBAWsOCwABAgMEBQYHCAoJCgsgAEEIaiABEKcfDAkLIABBCGogARCXIgwICyAAQQRqIAEQii0MBwsgAEEEaiABEMIcDAYLIABBBGogARCKLQwFCyAAQQRqIAEQii0MBAsgAEEEaiABEIotDAMLIABBBGogARCKLQwCCyAAQQRqIAEQii0MAQsgAEEIaiECAkACQCAAKAIEQQFrDgIBAgALIAIgARCTFwwBCyACIAEQvg4LIAEQii0MEgsgAEEIaiABEKcfDBELIABBCGogARCXIgwQCyAAQQRqIAEQii0gAEEIaiABEIotDAwLIAAtABhBBUYEQCAAQRBqIAEQii0LDAwLIABBEGogARCKLSAAKAIEQYCAgIB4Rg0NDAsLIAEgACkDCCAAKAIYELMdDAwLIABBBGogARCKLSAAKAIIIAEQshoMCwsgACgCDEEobCECIAAoAgghAwNAIAIEQCADIAEQtBQgAkEoayECIANBKGohAwwBCwsgACgCECIAKAIAQYCAgIB4RwRAIAAgARC1GgwLCwwGCyAAQSBqIAEQ8QUMCQsgACgCDEUNCAwFCyAAQQhqIAEQ1R4MBwsgACgCBCABEIQMDAYLIABBBGogARDODwwFCyAAQQRqIAEQwhwMBAsgAEEEaiABEIotDAMLIABBDGogARCKLQwCCyAAQQRqIAEQiRkMAQsgAEEEaiABELIaCwsMACAAKAIYIAEQqRILDAAgACgCGCABEPUFCwwAIAAoAgAgARCzFAsMACAAKAIAIAEQqhILDAAgACgCACABELQUCwwAIAEgACgCABCwCQsMACAAKAIAIAEQthQLDAAgACgCGCABEKwSCwwAIAAoAhggARD2BQsMACAAKAIAIAEQ0wMLDAAgACgCACABELEaCwwAIAAoAgAgARCEDAsMACAAKAIAIAEQpAwLDAAgACgCACABEL8LCwwAIAAoAgAgARCDDAsMACAAKAIAIAEQpQwLDAAgARDtJiAAEPkaCwwAIAAoAgAgARCpEgsMACAAKAIAIAEQrBILDAAgACgCACABEKsSCwwAIAAoAgAgARCXBQsMACAAKAIAIAEQ8RMLDAAgACgCACABEJgFCwwAIAAoAgAgARDyEwsMACAAKAIAIAEQ1gQLDAAgACgCACABEPMTCwwAIAEgACgCABCSAQsMACABIAAoAgAQ3QMLXAEDfyAAKAIAIgBBDGogACgCCEEGdCECIAAoAgQhAwNAIAIEQCADIAEQmiYgAkFAaiECIANBQGshAwwBCwsgARDBGiAAKAIYQYCAgIB4RwRAIABBGGogARC/GgsLDAAgACgCGCABEJkJCwwAIAAoAgAgARDaBAsMACAAKAIAIAEQ9BMLDAAgACgCACABEPgECwwAIAAoAgAgARD1EwsMACAAKAIAIAEQxQsLDAAgACgCACABEKYMCwwAIAAoAgAgARCICQsMACAAKAIAIAEQsRILCgAgABDvDhpBAQsLACAAIAEQ6w9BAAsMACAAIAEpAhA3AwALCwAgACABEP4HQQALCgAgACABIAIQZwsMACABIAAoAhgQpAELDAAgACgCGCABEP8KCwwAIAAoAgAgARD4AQsMACAAKAIAIAEQ/woLCwAgACABIAIQ6BgLDAAgACgCACABEKgQCwwAIAAoAgAgARC3FQsMACABIAAoAgAQpwMLCwAgACgCACABEFcLDAAgACgCACABEPgCCwwAIAAoAgAgARC4FQsMACAAKAIAIAEQuRULDAAgACgCACABEL0DCwwAIAAoAhggARC5FQsLACAAKAIYIAEQTAsMACAAKAIAIAEQvBQLDAAgACgCACABENMRCwwAIAAoAgAgARCNEQsMACAAKAIAIAEQmQULDAAgACgCACABEPAXCwwAIAAoAgAgARDOBAsMACABIAAoAgAQ5RYLDAAgACgCACABEMgJCwwAIAAoAgAgARDbBAsMACAAKAIAIAEQ5hILDAAgACgCACABEOwDCwwAIAAoAgAgARCUDwsMACAAKAIAIAEQ3AgLCgAgAEEIahDnFAsKACAAEIADGkEBCwwAIAAoAgAgARCACwsMACAAKAIAIAEQqAwLDAAgACgCACABEKcMCwwAIAAoAgAgARCHDAsKABCYBiAAENwKCwoAIABBCGsQ8Q4LlAUBCH8CQAJ/AkAgAiIGIAAgAWtLBEAgASACaiIDIQUgACACaiECIAAgBkEQSQ0CGiACQXxxIQRBACACQQNxIgdrIQggBwRAIANBAWshAwNAIAJBAWsiAiADLQAAOgAAIANBAWshAyACIARLDQALCyAEIAYgB2siB0F8cSIGayECIAUgCGoiBUEDcQRAIAZBAEwNAiAFQQN0IgNBGHEhCCAFQXxxIglBBGshAUEAIANrQRhxIQogCSgCACEDA0AgBEEEayIEIAMgCnQgASgCACIDIAh2cjYCACABQQRrIQEgAiAESQ0ACwwCCyAGQQBMDQEgASAHakEEayEBA0AgBEEEayIEIAEoAgA2AgAgAUEEayEBIAIgBEkNAAsMAQsCQCAGQRBJBEAgACECDAELIABBACAAa0EDcSIFaiEEIAUEQCAAIQIgASEDA0AgAiADLQAAOgAAIANBAWohAyACQQFqIgIgBEkNAAsLIAQgBiAFayIGQXxxIgdqIQICQCABIAVqIgVBA3EEQCAHQQBMDQEgBUEDdCIDQRhxIQggBUF8cSIJQQRqIQFBACADa0EYcSEKIAkoAgAhAwNAIAQgAyAIdiABKAIAIgMgCnRyNgIAIAFBBGohASAEQQRqIgQgAkkNAAsMAQsgB0EATA0AIAUhAQNAIAQgASgCADYCACABQQRqIQEgBEEEaiIEIAJJDQALCyAGQQNxIQYgBSAHaiEBCyAGRQ0CIAIgBmohAwNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANJDQALDAILIAdBA3EiAUUNASAFIAZrIQUgAiABawshAyAFQQFrIQEDQCACQQFrIgIgAS0AADoAACABQQFrIQEgAiADSw0ACwsgAAsKACAAKAIoENwZCwgAIAAgARBICwkAIAAgARCqIAsJACAAQgE3AwALCQBBBCAAELgoCwoAIAAoAgAQzCYLCAAgAEGAAmoLCAAgAEGQA2oLCAAgAEHIAGoLCAAgACgCDEULCQAgAEEANgIACywAIAFBwAFqIgEQsBUgAEEEQQ4gAUE9EJgYIgEbOgAEIABBFUEUIAEbNgIAC90FAQh/IwBBMGsiAiQAIAEoAtABIQQgAS0AvQEhCQJAAkAgASgCwAEgASgCxAEQ/RwiBUGAgMQARwRAIAFBwAFqIgcQsBUgAS0A+AFBAkcNASABLQCOAkUNASABLQCPAg0BAkACQCAFQTxrDgMAAwEDCyAAQQQ6AAQgAEEUNgIADAMLIABBBjoABCAAQRQ2AgAMAgtBlO7YABDgKQALIAEoAsQBIQggASgCwAEhBkEGIQMCQCAFQTxHDQBBBCEDIAYgCEYNACAGLQAAQSFHDQAgBiAIEKscQS1HDQAgBiAIEK0cQS1HDQAgAUEDEL4FIAEQ6gggAkEmOgAYIAEgBCACQRhqEOwoIAAgARC5DgwBCwJAAkACQAJAAkACQAJAAkAgBiAIEP0cIAVHDQAgBxCwFUEIQQkgBUE8RhshAyAFQT5HDQAgASgCwAEgASgCxAEQ/RxBPkcNACAHELAVQQohAyAHQT0QmBhFDQEgAkEVNgIAIAJBCDoABAwHCyAHQT0QmBhFDQAgA0EEaw4GAgEDAQQFAQsgAkEUNgIAIAIgAzoABAwFC0Hl7OAAQShBsO7YABD0FwALIAJBFDYCACACQQU6AARBBCEDDAMLIAJBFDYCACACQQc6AARBBiEDDAILIAJBFTYCACACQQY6AARBCCEDDAELIAJBFTYCACACQQc6AARBCSEDCwJAIAlBAXFFDQACQAJAAkAgA0EIaw4DAAMBAwsgASgCwAEgASgCxAFBpO7YAEEGEI4nRQ0CDAELIAEoAsABIAEoAsQBQaru2ABBBRCOJ0UNAQsgAkGbAToAGCABKALcASABLQCCAiAEIARBB2oiAyADIARLGyAEIAMgAyAESRsgAkEYahDDESABQQUQvgUgARDqCCAAIAEQuQ4gAhDoCQwBCyAAIAIpAwA3AwAgAEEQaiACQRBqKQMANwMAIABBCGogAkEIaikDADcDAAsgAkEwaiQACwkAIAAgARCgCgsJACAAIAEQ4isLCQAgASAAEO8NC+cFAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAQQcgACgCACIAKAIAIgFBDGsiAiACQSZPG0EBaw4kAAECFRYDBAUGBwgJCgsXDA0ODxAXFRURFxcSExUVFRUVFRcUFwsgACgCDEEEdCEBIAAoAgghAANAIAFFDRcgACgCAEECRwRAIABBDGoQ6y0LIABBEGohACABQRBrIQEMAAsACyAAQQRqEJIKDBULIABBCGoQnyEMFAsgAEEEahDrLSAAQQhqEOstDBMLIABBOGoCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEBaw4LAQIDBAUGBwgJCwoACyAAQQA2AhgMCgsgAEEIahCSIAwJCyAAQQhqEJAjDAgLIABBBGoQ6y0MBwsgAEEEahDkHQwGCyAAQQRqEOstDAULIABBBGoQ6y0MBAsgAEEEahDrLQwDCyAAQQRqEOstDAILIABBBGoQ6y0MAQsgAEEIaiEBAkACQCAAKAIEQQFrDgIBAgALIAEQ4RcMAQsgARCyDgsQ6y0MEgsgAEEIahCSIAwRCyAAQQhqEJAjDBALIABBBGoQ6y0gAEEIahDrLQwOCyAALQAYQQVGBEAgAEEQahDrLQsgAEEEahDRGQwOCyAAQRBqEOstIAAoAgRBgICAgHhGDQ0gAEEEahDRGQwNCyAAQQRqEJIbDAwLIABBADYCGAwLCyAAQQRqEJIbDAoLIABBBGoQ6y0gACgCCBCSGwwJCyAAKAIMQShsIQEgACgCCCECA0AgAQRAIAFBKGshASACELEUIAJBKGohAgwBCwsgACgCECIAKAIAQYCAgIB4RwRAIAAQjhsMCQsMBgsgAEEIahCgIQwHCyAAKAIMRQ0GDAULIABBCGoQkyAMBQsgACgCBBD9DAwECyAAQQRqEMUQDAMLIABBBGoQ5B0MAgsgAEEEahDrLQwBCyAAQQxqEOstCwsKACAAKAIAELATCwkAIAEgABCCCQsKACAAKAIAELEUCwoAIAAoAgAQrQULCgAgACgCABDaFAsJACAAIAEQzwwLCgAgACgCABD9DAsJACAAIAEQ5ywLCQAgACABEOosCwkAIAAgARDtLAsJACAAIAEQ/CwLCQAgACABENgsCwkAIAAgARDwLAsJACAAIAEQ3SwLCQAgACABEJAtC5UIAQN/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByAAKAIAIgAoAgAiAUEMayICIAJBJk8bQQFrDiQAAQIVFgMEBQYHCAkKGBgLDA0ODxgVFRAYGBESFxUVFxMXGBQYCyAAKAIMQQR0IQEgACgCCCEAA0AgAUUNGCAAKAIAQQJHBEAgAEEMahD7LQsgAEEQaiEAIAFBEGshAQwACwALIABBBGoiACgCCEEMbCECIAAoAgQhAQNAIAIEQAJAIAEoAgAEQCABEPstDAELAkACQAJAAkACQEEEIAEoAgQiACgCAEEFayIDIANBBk8bQQFrDgUAAQIDBAULIABBCGoQliMgAEEoahD7LQwECyAAQShqEPstDAMLIABBCGoQliMgACgCSCIDBEAgAxCDBgsgAEEoahDaJQwCCyAAEJYjIABBIGoQ2yUgAEHoAGoQ/C0gAEHIAGoQ2iUMAQsgAEEIahCWIyAAKAIoEPwOCyABQQxqIQEgAkEMayECDAELCwwWCyAAQQhqKAIYEPwODBULIABBBGoQ+y0gAEEIahD7LQwUCyAAQThqAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBAWsOCwECAwQFBgcICQsKAAsgAEEIahDZJQwKCyAAQQhqEJYgDAkLIABBCGoQlSMMCAsgAEEEahD7LQwHCyAAQQRqEOIbDAYLIABBBGoQkykMBQsgAEEEahCTKQwECyAAQQRqEPstDAMLIABBBGoQkykMAgsgAEEEahCUKQwBCyAAQQhqIQECQAJAIAAoAgRBAWsOAgECAAsgARDYFQwBCyABEIEOCxD7LQwTCyAAQQhqEJYgDBILIABBCGoQlSMMEQsgAEEEahD7LSAAQQhqEPstDA4LIAAtABhBBUYEQCAAQRBqEPstCyAAQQRqENMZIABBKGoQ2CUMDwsgAEEQahD7LSAAKAIEQYCAgIB4RwRAIABBBGoQ0xkLIABBIGoQ2CUMDgsgAEEEahCVGwwNCyAAQQRqEJUbDAwLIABBBGoQ+y0gAEEYahDYJSAAKAIIEJUbDAsLIAAoAgxBKGwhASAAKAIIIQIDQCABBEAgAUEoayEBIAIQ7xMgAkEoaiECDAELCwJAIAAoAhAiASgCAEGAgICAeEcEQCABEJYbDAELIAFBBGoQ+y0LIAAoAiAiAQRAIAEQlxsLIAAoAiQiAEUNCiAAEIMGDAoLIABBCGooAhgQ7QQMCQsgACgCDEUNCAwGCyAAQQhqEPUhDAcLIAAoAgQQ9wsMBgsgAEEEahDHEAwFCyAAQQRqEJQpDAQLIABBBGoQ4hsMAwsgAEEEahD7LQwCCyAAQQxqEPstDAELIABBBGoQkykLCwoAIAAoAgAQ7xMLjwcBBH8CQCAAKAIAIQAjAEHwAGsiAyQAIABBBGohAQNAIAAoAgAiAkEpa0EGTwRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkBBByACQQxrIgQgBEEmTxtBAWsOJAABAhQDBAUGBwgJCgwLFwwNDg8QFxQUERcXEhMVFBQVFRUXFhcLIAAoAgxBBHQhAiAAKAIIIQADQCACRQ0XIAAoAgBBAkcEQCAAQQxqEP0tCyAAQRBqIQAgAkEQayECDAALAAsgARDBCQwVCyAAQQhqEKkhDBQLIABBDGoQ/S0MEwsgARD9LSAAQQhqEP0tDBILAkAgAkELRwRAA0AgAkEFa0EETQRAIAMgARDJIxCoBCADKAIAQQtGDRYgA0FAayICIANBMBD7BhogABCWDiAAIAJBMBD7BigCACECDAELCwJAAkACQAJAAkAgAkEBaw4KAQIEAxYWBBYWBgALIABBCGoQ7CcMBQsgAEEIahCXIAwECyAAQQhqEJcjDAMLIAEQ4xsMAgsgARD9LQwBCyAAQQhqIQECQAJAIAAoAgRBAWsOAgECAAsgARDdFAwBCyABEN0NCyAAQThqEP0tDBELIABBCGoQlyAMEAsgAEEIahCXIwwPCyABEP0tIABBCGoQ/S0gAEEMahD9LQwOCyAALQAYQQVGBEAgAEEQahD9LQsgARDUGSAAQShqEJUpDA0LIABBEGoQ/S0gACgCBEGAgICAeEcEQCABENQZCyAAQSBqEJUpDAwLIABBADoAHAwLCyABEJgbDAoLIAEQ/S0gAEEYahCVKSAAKAIIEJgbDAkLIAAoAgxBKGwhAiAAKAIIIQEDQCACBEAgAkEoayECIAEQ8BMgAUEoaiEBDAELCyAAQSBqIABBJGohAgJAIAAoAhAiACgCAEGAgICAeEcEQCAAEKUJDAELIABBBGoQ/S0LEK0pIAIQrCoMCAsgAEEIahCqIQwHCyAAKAIMRQ0GIABBDGoQ/S0MBgsgAEEIahCZIAwFCyABKAIAEL0MDAQLIAEQyBAMAwsgARD9LQwCCyABEP0tAAsgARDjGwsgA0HwAGokAAwDCwUgAyABEMkjIgJBwAAQ+wYhBCAAEJcDIAAgBEHAABD7BhogAhCNKwwBCwsgAyADKAIENgJAQZzr4ABBKyADQUBrQYjG3wBBlMffABDFDgALCwoAIAAoAgAQ8BMLCgAgACgCABCDBgsKACAAKAIAEJQbCwoAIAAoAgAQ9wsLCgAgACgCABC9DAsJACAAIAEQjy0LCQAgACABEI0tCwkAIAAgARCRLQsKACAAKAIAEPAGCwoAIAAoAgAQ0gQLCgAgACgCABDgFAsKACAAKAIAEPwOCwoAIAAoAgAQ3gULCgAgACgCABDfFAsKACAAKAIAELwCCwoAIAAoAgAQ7g4LCgAgACgCABC4KgsKACAAKAIAELYqCwoAIAAoAgAQjAQLCgAgACgCABC5KgsKACAAKAIAEIwICwkAIAAgARCvLQsKACAAKAIAELASCwkAIAAgARCwLQsHACAAQRhqCwoAIAAoAgAQuRQLCQAgACABEPgCCwkAIAAgARCNEQsJACAAIAEQkRILCQAgACABEMYtCwkAIAAgARDHLQsJACAAIAEQxS0LCQAgACABEMwtCwkAIAAgARCtKAsJACAAQgA3AgALCgAgACgCABDmCAsIACAALQDgAgsHACAAKAI4CwgAIAAoAsgCCwgAIAAoAswCCwgAIAAtAMQCCwcAIAAoAhQLCAAgACgCrAILCAAgACgCsAILBQAgAUULCAAgAC0A2AILBwAgACgCIAsIACAAKALAAgsIACAAKALEAgsIACAALQC0EgsIACAALQCsDQsHACAAEKcXCwcAIAAQrgwLBwAgABCEDwsHACAAKAJACwcAIAAQ9R4LBwAgABDtHgsHACAAEMsZCwcAIAAoAiQLBwAgACgCKAtnAQN/AkAgACgCDCAAKAIEIgFrQRhuIQIDQAJAIAIEQCABKAIAIgNBgICAgHhGDQEgAyABQQRqKAIAENopDAELIAAoAgggACgCAEEEQRgQ1CIMAgsgAkEBayECIAFBGGohAQwACwALCwQAQQALBAAgAAsEAEEBCwcAQcCR5AALBwBB1JHkAAsHAEGgl+QACwQAQQELAgALAgALC6nbI64DAEGAgMAAC+s1dCIQAAMAAAC8URYACgAAAHN0cmlwLW9ubHkAABAAEAAKAAAAhSIQAAkAAAAEGxgABgAAAHciEAAIAAAAfyIQAAYAAAAS2hAABAAAAIUiEAAJAAAAjiIQAAkAAACxAgAAJAAAAAQAAACyAgAAAAAAAAQAAAAEAAAAswIAALQCAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi93YXNtLWJpbmRnZW4tZnV0dXJlcy0wLjQuNDkvc3JjL2xpYi5ycwCAABAAawAAAOcAAAAVAAAAcmVtb3ZlcHJlc2VydmUAAPwAEAAGAAAAAgEQAAgAAABDbGFzc2ljUHJlc2VydmVOb2RlTmV4dEVzTmV4dAAAABwBEAAHAAAAIwEQAAgAAAArARAACAAAADMBEAAGAAAASCMQABQAAABcIxAAFQAAAHEjEAAVAAAAhiMQAA0AAACTIxAAGAAAAKsjEAAPAAAAaW52YWxpZCBsZW5ndGggAIwBEAAPAAAAMgcWAAsAAABkdXBsaWNhdGUgZmllbGQgYAAAAKwBEAARAAAAtBoYAAEAAAB1bmtub3duIHZhcmlhbnQgYGAsIGV4cGVjdGVkIAAAANABEAARAAAA4QEQAAwAAABUc0Vycm9yALUCAAAQAAAABAAAALYCAAC1AgAAEAAAAAQAAAC3AgAAtgIAAAgCEAC4AgAAuQIAALoCAAC7AgAAvAIAAL0CAAAQAAAABAAAAL4CAAC9AgAAEAAAAAQAAAC/AgAAvgIAAEQCEADAAgAAwQIAALoCAADAAgAAvAIAAMICAAAsAAAABAAAAMMCAADCAgAALAAAAAQAAADEAgAAwwIAAIACEADFAgAAxgIAAMcCAADFAgAAyAIAAMkCAAAsAAAABAAAAMMCAADJAgAALAAAAAQAAADEAgAAwwIAALwCEADFAgAAygIAAMcCAADFAgAAyAIAAMsCAADMAgAAzQIAAM4CAADPAgAA0AIAANECAADSAgAA0wIAANQCAADVAgAA1gIAAGNhbGxlZCBgT3B0aW9uOjp1bndyYXBfdGhyb3coKWAgb24gYSBgTm9uZWAgdmFsdWVjYWxsZWQgYFJlc3VsdDo6dW53cmFwX3Rocm93KClgIG9uIGFuIGBFcnJgIHZhbHVlAADgJBAAIgAAABcAAAAXAAAAAAAAAAgAAAAIAAAA1wIAAAAAAAAIAAAACAAAANgCAAAoABEAcAAAAAABAAAVAAAAKAARAHAAAAARAQAAJwAAACgAEQBwAAAAEQEAADAAAAAoABEAcAAAAAsBAAApAAAAKAARAHAAAAAdAQAAIwAAACgAEQBwAAAALQEAACMAAAAoABEAcAAAAEgBAAAkAAAAKAARAHAAAABIAQAAQQAAACgAEQBwAAAAgwEAABcAAAAoABEAcAAAAIQBAAAkAAAAKAARAHAAAACGAQAAFwAAACgAEQBwAAAAiQEAAB8AAAAoABEAcAAAAIoBAAA3AAAAKAARAHAAAACPAQAAJgAAACgAEQBwAAAAmAEAAEAAAAAoABEAcAAAAJkBAAA/AAAAKAARAHAAAACeAQAAPAAAACgAEQBwAAAAowEAACkAAAAoABEAcAAAAKMBAAANAAAAKAARAHAAAACkAQAAGAAAACgAEQBwAAAAoAEAABgAAAAoABEAcAAAAKEBAAAYAAAAKAARAHAAAACcAQAAJAAAACgAEQBwAAAAkAEAABgAAAAoABEAcAAAAIwBAAAYAAAAKAARAHAAAACNAQAAGAAAACgAEQBwAAAAugEAABgAAABzdGF0ZSBtdXN0IG5vdCBiZSBkZW5zZSB5ZXQAbAUQABsAAAAoABEAcAAAALgBAAAJAAAAKAARAHAAAAC/AQAAGAAAAHN0YXRlIG11c3QgaGF2ZSB6ZXJvIHRyYW5zaXRpb25zsAUQACAAAAAoABEAcAAAAL0BAAAJAAAAKAARAHAAAADFAQAAGAAAACgAEQBwAAAAygEAABwAAAAoABEAcAAAAMgBAAAcAAAAKAARAHAAAADXAQAAHwAAACgAEQBwAAAA2QEAABsAAAAoABEAcAAAAN0BAAAVAAAAKAARAHAAAADhAQAAGQAAACgAEQBwAAAA3wEAABgAAAAoABEAcAAAANoBAAAgAAAAKAARAHAAAADvAQAAIwAAACgAEQBwAAAA8QEAABsAAAAoABEAcAAAAPQBAAAnAAAAKAARAHAAAAD+AQAAIgAAACgAEQBwAAAABAIAAB0AAAAoABEAcAAAAAICAAAcAAAAKAARAHAAAAAIAgAAJAAAACgAEQBwAAAA8gEAACQAAABwYXR0ZXJucyBsb25nZXIgdGhhbiBTbWFsbEluZGV4OjpNQVggYXJlIG5vdCBhbGxvd2VkKAARAHAAAAA9AgAADgAAACgAEQBwAAAABwUAACQAAAAoABEAcAAAABgFAAAuAAAAKAARAHAAAAAZBQAAIAAAACgAEQBwAAAAIAUAACgAAAAoABEAcAAAAEMFAAAyAAAAKAARAHAAAABHBQAALwAAACgAEQBwAAAATAUAACAAAAAoABEAcAAAAEkFAAArAAAAKAARAHAAAABEBQAAJAAAAGFzc2VydGlvbiBmYWlsZWQ6IG9sZF9zdGFydF91aWQgPCBvbGRfc3RhcnRfYWlkACgAEQBwAAAAegUAAAkAAAADAAAAKAARAHAAAAC3BQAAPwAAACgAEQBwAAAAuAUAABIAAAAoABEAcAAAALsFAAA/AAAAKAARAHAAAAC8BQAAEgAAACgAEQBwAAAAvwUAAD8AAAAoABEAcAAAAMAFAAASAAAAKAARAHAAAADFBQAAGwAAACgAEQBwAAAAjwUAACcAAAAoABEAcAAAAJAFAAAgAAAAKAARAHAAAACaBQAAPgAAAGFuY2hvcmVkIHN0YXJ0IHN0YXRlIHNob3VsZCBiZSBhdCBpbmRleCAzAAAAsAgQACkAAAAoABEAcAAAAHsFAAAJAAAAKAARAHAAAADeBQAAJwAAACgAEQBwAAAA5AUAAB8AAAAoABEAcAAAAO0FAAAoAAAAKAARAHAAAADxBQAAHwAAACgAEQBwAAAA8wUAABwAAAAoABEAcAAAADAGAAAYAAAAKAARAHAAAAAnBgAAOgAAACgAEQBwAAAAJwYAABwAAAAoABEAcAAAACMGAAAWAAAAKAARAHAAAABCBgAAHwAAACgAEQBwAAAAQwYAACAAAAAoABEAcAAAAFYGAAApAAAAKAARAHAAAABcBgAAIwAAACgAEQBwAAAAXQYAACQAAAAoABEAcAAAAF8GAAAwAAAAKAARAHAAAABhBgAAJwAAAG5vbmNvbnRpZ3VvdXM6Ok5GQSgK9AkQABQAAACIHBAAbAAAAJkAAAAfAAAAgNAQAGkAAAAcAgAAJQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvcGFja2VkL3RlZGR5L2J1aWxkZXIucnMAMAoQAHMAAABkAQAAGQAAAGFzc2VydGlvbiBmYWlsZWQ6IGhheXN0YWNrW2F0Li5dLmxlbigpID49IHNlbGYubWluaW11bV9sZW4AADAKEABzAAAAZAEAAAkAAADZAgAAMAAAAAQAAADaAgAA2wIAANwCAABIAAAACAAAAN0CAADeAgAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL3ByZWZpbHRlci5ycwAAACgLEABtAAAAYAEAAA0AAAAoCxAAbQAAAJEBAAAeAAAAUmFyZUJ5dGVPZmZzZXRzAAAAAAACAAAAAQAAAN8CAADgAgAAAAAAAAIBAAABAAAA4QIAAOICAAAAAAAAAwEAAAEAAADjAgAA5AIAACgLEABtAAAAPQIAABYAAAAoCxAAbQAAACgCAAAVAAAAKAsQAG0AAACCAgAALwAAACgLEABtAAAApAIAAC0AAAAoCxAAbQAAALwCAAA6AAAAKAsQAG0AAAC/AgAAOwAAACgLEABtAAAA0wIAAEYAAAAoCxAAbQAAANYCAAA7AAAAAAAAAAEAAAABAAAA5QIAAOYCAAAAAAAAAgAAAAEAAADnAgAA6AIAAAAAAAADAAAAAQAAAOkCAADqAgAAKAsQAG0AAAAxAwAAFgAAACgLEABtAAAAFgMAACQAAAAoCxAAbQAAACIDAAARAAAAKAsQAG0AAABPAwAAGQAAACgLEABtAAAAUAMAABkAAAAoCxAAbQAAAGEDAAAtAAAAKAsQAG0AAAByAwAAOgAAACgLEABtAAAAhAMAAEYAAABQYWNrZWRSYXJlQnl0ZU9mZnNldFJhcmVCeXRlc09uZWJ5dGUxUmFyZUJ5dGVzVHdvb2Zmc2V0c2J5dGUyUmFyZUJ5dGVzVGhyZWVieXRlM1N0YXJ0Qnl0ZXNPbmVTdGFydEJ5dGVzVHdvU3RhcnRCeXRlc1RocmVlAAAANQERAGIAAACwAAAARQAAAG1hdGNoIHN0YXRlIG11c3QgaGF2ZSBub24tZW1wdHkgcGlkc8wNEAAkAAAANQERAGIAAAC3AAAACQAAADUBEQBiAAAAswAAABkAAABkZmE6OkRGQSgKAAAYDhAACgAAAHN0cmlkZTogLA4QAAgAAABCOBgAAQAAACBtYXRjaGVzOiAAAEQOEAAKAAAANQERAGIAAABMAQAAKwAAADUBEQBiAAAAyQEAABYAAAA1AREAYgAAAMsBAAAWAAAANQERAGIAAADYAQAAQwAAADUBEQBiAAAA6AEAABIAAAA1AREAYgAAAOoBAAASAAAANQERAGIAAADhAQAARwAAADUBEQBiAAAATQIAAB4AAAA1AREAYgAAANACAAAsAAAANQERAGIAAADRAgAAKgAAADUBEQBiAAAA0gIAADMAAAA1AREAYgAAANMCAAAvAAAANQERAGIAAADCAgAAGwAAADUBEQBiAAAAxwIAACYAAAA1AREAYgAAAMcCAAAtAAAANQERAGIAAADIAgAALQAAADUBEQBiAAAAwwIAACYAAAA1AREAYgAAAMMCAAAtAAAANQERAGIAAADEAgAAKwAAADUBEQBiAAAAnwIAACEAAAA1AREAYgAAAKACAAAfAAAANQERAGIAAAChAgAAHAAAADUBEQBiAAAAhAIAACUAAAA1AREAYgAAAIUCAAAjAAAANQERAGIAAACGAgAAIAAAADUBEQBiAAAAgQIAACUAAAA1AREAYgAAAIICAAAjAAAANQERAGIAAAB6AgAAIQAAADUBEQBiAAAAewIAAB8AAAA1AREAYgAAAJQCAAAmAAAANQERAGIAAACSAgAAJgAAADUBEQBiAAAAuQIAACYAAAA1AREAYgAAALoCAAAmAAAANQERAGIAAAC3AgAAJgAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL21hcC9lbnRyeS5yc3gQEABgAAAAcQEAADYAAABhc3NlcnRpb24gZmFpbGVkOiBpZHggPCBDQVBBQ0lUWS9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL25vZGUucnMACBEQAFsAAACXAgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGVkZ2UuaGVpZ2h0ID09IHNlbGYuaGVpZ2h0IC0gMQgREABbAAAArwIAAAkAAAAIERAAWwAAALMCAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogc3JjLmxlbigpID09IGRzdC5sZW4oKQgREABbAAAALwcAAAUAAAAIERAAWwAAAK8EAAAjAAAACBEQAFsAAACzBAAAIwAAAAgREABbAAAA7wQAACQAAABhc3NlcnRpb24gZmFpbGVkOiBlZGdlLmhlaWdodCA9PSBzZWxmLm5vZGUuaGVpZ2h0IC0gMQAAAAgREABbAAAA8AMAAAkAAAAAAAAACAAAAAgAAADYAgAAY29udGlndW91czo6TkZBKAoAAACEEhAAEQAAAFj/EABtAAAASwEAACEAAAABAAAAAAAAAJ8aGAABAAAAkOgXAAMAAAAgICAgICAgICBtYXRjaGVzOiAAAMgSEAASAAAARiA6CuQSEAACAAAA5hIQAAIAAABY/xAAbQAAAGwBAABAAAAAWP8QAG0AAABtAQAAEgAAAG1hdGNoIGtpbmQ6IBgTEAAMAAAAQjgYAAEAAABwcmVmaWx0ZXI6IAA0ExAACwAAAEI4GAABAAAAc2hvcnRlc3QgcGF0dGVybiBsZW5ndGg6IAAAAFATEAAZAAAAQjgYAAEAAABsb25nZXN0IHBhdHRlcm4gbGVuZ3RoOiB8ExAAGAAAAEI4GAABAAAAYWxwaGFiZXQgbGVuZ3RoOiAAAACkExAAEQAAAEI4GAABAAAAYnl0ZSBjbGFzc2VzOiAAAMgTEAAOAAAAQjgYAAEAAABtZW1vcnkgdXNhZ2U6IAAA6BMQAA4AAABCOBgAAQAAAFj/EABtAAAA9wEAACMAAABY/xAAbQAAAPcBAAAYAAAAWP8QAG0AAAD4AQAAHgAAAFj/EABtAAAA+AEAADEAAABY/xAAbQAAAPkBAAAZAAAAWP8QAG0AAADyAQAAIwAAAFj/EABtAAAA8gEAABgAAABY/xAAbQAAAPMBAAAjAAAAWP8QAG0AAADzAQAAGAAAAFj/EABtAAAA7QEAACMAAABY/xAAbQAAAO0BAAAYAAAAWP8QAG0AAADuAQAAHgAAAFj/EABtAAAA7gEAACMAAABY/xAAbQAAAO8BAAAZAAAAWP8QAG0AAACYAgAANAAAAFj/EABtAAAAmwIAACEAAABY/xAAbQAAAJsCAAAmAAAAWP8QAG0AAACcAgAAHwAAAFj/EABtAAAAnAIAADIAAABY/xAAbQAAAJMCAAA0AAAAWP8QAG0AAACVAgAAGAAAAFj/EABtAAAAjwIAADQAAABY/xAAbQAAAJACAAAnAAAAWP8QAG0AAACQAgAALAAAAFj/EABtAAAAzAIAADQAAABY/xAAbQAAANoCAAA8AAAAWP8QAG0AAADbAgAAEQAAAFj/EABtAAAA3gIAABEAAABlcXVpdmFsZW5jZSBjbGFzc2VzIGFyZSBuZXZlciBlbXB0eQDIFRAAIwAAAFj/EABtAAAALgMAAAkAAABY/xAAbQAAADADAAAQAAAAWP8QAG0AAAA/AwAAHQAAAFj/EABtAAAA4AMAACMAAABY/xAAbQAAAOEDAAAhAAAAWP8QAG0AAADiAwAAKAAAAFj/EABtAAAA4wMAACYAAABY/xAAbQAAANgDAAAmAAAAWP8QAG0AAADSAwAAHgAAAFj/EABtAAAAxgMAACIAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL2F1dG9tYXRvbi5yc5QWEABoAAAAJgUAAC0AAACUFhAAaAAAANcFAAANAAAAID4AABwXEAACAAAAKj4AACgXEAACAAAAAAAAAAgAAAAEAAAA6wIAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuYnlfaWQubGVuKCkgPD0gdTE2OjpNQVggYXMgdXNpemUAQR0QAG0AAABIAAAACQAAAEEdEABtAAAAjwAAABwAAABBHRAAbQAAAMgAAAAlAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL2FscGhhYmV0LnJzQnl0ZUNsYXNzZXMoPG9uZS1jbGFzcy1wZXItYnl0ZT4pAAAAGBgQACEAAACsFxAAbAAAAPUAAAAuAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL2RlYnVnLnJzAAAAVBgQAGkAAAAYAAAAPQAAAFQYEABpAAAAFQAAAA0AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3V0aWwvcHJpbWl0aXZlcy5ycwAA4BgQAG4AAADhAgAAAQAAAOwCAABcAQAABAAAAJUAAADsAgAAXAEAAAQAAADsAgAAXAEAAAQAAADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADzAgAA9AIAAPUCAAD2AgAA9wIAAPgCAAD5AgAA+gIAAPsCAAD8AgAA/QIAAJUAAABgGRAAcBkQAHAZEABwGRAAcBkQAP4CAABIAQAABAAAAP8CAAD+AgAASAEAAAQAAAD+AgAASAEAAAQAAAAAAwAAAQMAAAIDAADwAgAAAwMAAAQDAAAFAwAABgMAAAcDAAAIAwAACQMAAAoDAAALAwAADAMAAA0DAAAOAwAADwMAAP8CAADkGRAA9BkQAPQZEAD0GRAA9BkQABADAABkAQAABAAAABEDAAAQAwAAZAEAAAQAAAAQAwAAZAEAAAQAAAASAwAAEwMAABQDAADwAgAAFQMAABYDAAAXAwAAGAMAABkDAAAaAwAAGwMAABwDAAAdAwAAHgMAAB8DAAAgAwAAIQMAABEDAABoGhAAeBoQAHgaEAB4GhAAeBoQAEH0tcAAC7UGAQAAACIDAAAAAAAABAAAAAQAAAAjAwAAQ293Qnl0ZXNuZWVkbGVQYXR0ZXJuc2J5X2lkb3JkZXJ0b3RhbF9wYXR0ZXJuX2J5dGVzYXNzZXJ0aW9uIGZhaWxlZDogcGF0dGVybnMubGVuKCkgPj0gMS9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvcGFja2VkL3JhYmlua2FycC5ycwBkGxAAbwAAAD0AAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogaGFzaF9sZW4gPj0gMQBkGxAAbwAAAD8AAAAJAAAAZBsQAG8AAABNAAAALAAAAGQbEABvAAAATwAAABcAAABAAAAAZBsQAG8AAABgAAAAKwAAAGQbEABvAAAAbwAAABEAAABkGxAAbwAAAFsAAAAJAAAAZBsQAG8AAACOAAAAIwAAAGQbEABvAAAAlwAAAAkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3V0aWwvcmVtYXBwZXIucnOIHBAAbAAAAHIAAAASAAAAiBwQAGwAAACMAAAAJAAAAIgcEABsAAAAkQAAACAAAACIHBAAbAAAAJMAAAAdAAAAQm9ycm93ZWRPd25lZC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvcGFja2VkL3BhdHRlcm4ucnMAAEEdEABtAAAAXQAAABoAAABBHRAAbQAAAF0AAAAwAAAAgNAQAGkAAACHAgAAKQAAAGltcG1lbW9yeV91c2FnZQAkAwAADAAAAAQAAAAlAwAAJgMAACcDAABhbGxvYy9zcmMvcmF3X3ZlYy5ycwgeEAAUAAAAGAAAAAUAQbS8wAALfQEAAAAoAwAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3RhbGxvYy9zcmMvZm10LnJzAACSHhAAEAAAAH4CAAAOAEG8vcAAC/ICAQAAACkDAABhbGxvYy9zcmMvc2xpY2UucnMAAMQeEAASAAAANQIAADIAAABhbGxvYy9zcmMvc3luYy5ycwAAAOgeEAARAAAAbgEAADIAAAApIHNob3Vs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AgUBBQYCBQcIAQIFAwkABgIFAQkFAwECBQkHBgUGAgUECAgCCAECBQIEBAEEAAYCBQECAgAHAAMBAgUGAQADBQEFBgIFAwAFAQcFBwgBAgUBBQIFCAcICQAGAgUHBgIJAwkEBQMBAgUDCAEEBgkHAgYFBgIFAQkABwMECAYDAggBAgUJBQMGBwQDAQYEAAYCBQQHBggDBwEFCAIAAwECBQIDCAQBCAUHCQEAAQUGAgUBAQkCAAkCCAkFBQAHCAECBQUJBgAEBgQEBwcFAwkABgIFAgkIAAIDAgIDCAcGCQUDAQIFAQQJAAEBBgEBCQMIBAcGBQYCBQcEBQAFCAAFCQYJAgMIAggBAgUDBwIFAgkAAgkIBAYBCQEEAAYCBQEIBgIGBAUBBAkCAwAJBQcAAwECBQkDAQMCAgUHBAYBBQQHCAUBBQYCBQQGBQYGAQIIBwMABwcDCQIFBwgBAgUCAwIIAwAGBAMGBQMIBgkGAggJAAYCBQEBBgQBBQMCAQgCBgkDBAgBBAQFAwECBQUIAgAHBgYACQEDBAYHBAAHAgIGBQYCBQIJAQADCAMABAUGBwMDBwADBgEDAggBAgUBBAUFAQkBBQICCAMGBggFAQgABgYEAAYCBQcCBwUJBQcGAQQBCAMEAgUJAAMDAgADAQIFAwYDBwkHCAgABwAJAQcBAgkFAQYGAAEFBgIFAQgBCAkICQQAAwUEBQgFBgQHBQgDAAAHCAECBQkACQQJBAcAAQcHAgkCCAIDBwkBBQADCQAGAgUEBQQHBAcDBQAICAYEBgQBAQgJBQcFAQkFAwECBQICBwMHAwYHBQQEAwIDAgAFCQQHCAcFCQcGBQYCBQEBAwYIBggDBwcCAQYBBgACCQcDCQMHCQgIAggBAgUFBggEAwQBCAgGAAgACAABBAgGCQYICQkEAQQABgIFAggEAgEHAAkEAwAEAAQAAAcEAwQIBAQJBwAHAAMBAgUBBAIBAAgFBAcBBQIAAgAAAwcBBwQCAgQIBQMFAQUGAgUHAQAFBAIHAwUHBgABAAABCAUIBwEBAgQCBgcFBwgBAgUDBQUCBwEDBgcICAAABQAACQIJAwUFBgIBAwMHCAkABgIFAQcHBgMFBggDCQQAAAIFAAQGBAYHBwgBAAYGCAkEBQMBAgUICAgBBwgEAQkHAAABAgUCAwIDAwgJAAUDAwQEBwIG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XQoAClYd4wpGCgAKZhUAbwAKAApWCoYKAQcACgAXAAoAFAwUbBkAMgAKAAoACvcKAAmACgA7AQMBBEwtAQ8ADQAKAGludmFsaWQgbGVuZ3RoaW52YWxpZCBzeW1ib2xub24temVybyB0cmFpbGluZyBiaXRzaW52YWxpZCBwYWRkaW5nIGxlbmd0aCBhdCAAAAABAAAAAAAAALl7EAAEAAAATGVuZ3RoVHJhaWxpbmdQYWRkaW5nRGVjb2RlRXJyb3Jwb3NpdGlvbi9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTUuMC9zcmMvcmF3L21vZC5ycwAA+HsQACoAAABUAAAAKAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2hzdHItMC4yLjE1L3NyYy9nbG9iYWxfc3RvcmUucnM0fBAAZAAAAAsAAAAgAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaHN0ci0wLjIuMTUvc3JjL2xpYi5yc25vdCB5ZXQgaW1wbGVtZW50ZWQ6IHN0YXRpYyBoYXNoAAN9EAAgAAAAqHwQAFsAAADwAAAAEQAAAG5vdCB5ZXQgaW1wbGVtZW50ZWQ6IHN0YXRpYyBhc19zdHIAADx9EAAiAAAAqHwQAFsAAAAAAQAAEQAAAKh8EABbAAAABQEAADwAAAAAAAAACAAAAAQAAABXAwAAcmV0dXJuIHRoaXMAWAMAAFkDAABaAwAAWwMAAHMxFgBwAAAATQAAAC4AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9tZW1jaHItMi43LjQvc3JjL2FyY2gvYWxsL3R3b3dheS5yc8R9EABoAAAAvwAAAC4AAADEfRAAaAAAAMcAAAApAAAAxH0QAGgAAADMAAAANAAAAMR9EABoAAAA1AAAACQAAADEfRAAaAAAANQAAAAxAAAAxH0QAGgAAADXAAAAIgAAAMR9EABoAAAA1wAAADMAAADEfRAAaAAAAPEAAAAuAAAAxH0QAGgA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dC9zaGlmdC5ycwAAAESXEABpAAAAZgAAACgAAAAAAAAABAAAAAQAAABAAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbnVtLWJpZ2ludC0wLjQuNi9zcmMvYmlndWludC9hZGRpdGlvbi5ycwAAANCXEABtAAAAOwAAABoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9udW0tYmlnaW50LTAuNC42L3NyYy9iaWd1aW50L3N1YnRyYWN0aW9uLnJzUJgQAHAAAAA0AAAAGgAAAFCYEABwAAAANQAAABoAAABDYW5ub3Qgc3VidHJhY3QgYiBmcm9tIGEgYmVjYXVzZSBiIGlzIGxhcmdlciB0aGFuIGEu4JgQADQAAABQmBAAcAAAAEUAAAAFAAAAUJgQAHAAAABdAAAAGgAAAFCYEABwAAAAXgAAABoAAABhc3NlcnRpb24gZmFpbGVkOiBhX2hpLmlzX2VtcHR5KCkAAABQmBAAcAAAAGIAAAAFAAAAUJgQAHAAAABlAAAABQAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvaXRlci5ycwAAkJkQAE4AAADxBQAAFQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL251bS1pbnRlZ2VyLTAuMS40Ni9zcmMvcm9vdHMucnPwmRAAZAAAAIMBAAABAAAAAAAAAAQAAAAEAAAAQAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnN0mhAAZAAAAKEAAAA2AAAAdJoQAGQAAACbAAAACQAAADM4OzI7AAAA+JoQAAUAAAD5FxgAAQAAAPkXGAABAAAANDg7MjsAAAAYmxAABQAAAPkXGAABAAAA+RcYAAEAAAAbWzEyMzQ1Njc4ORtbMG0AQ5sQAAQAAAAzMDMxMzIzMzM0MzUzNjM3Mzk5MDkxOTI5Mzk0OTU5Njk3NDA0MTQyNDM0NDQ1NDY0NzQ5MTAwMTAxMTAyMTAzMTA0MTA1MTA2MTA3Mzg7MjsyNDA7MjQ4OzI1NTM4OzI7MjUwOzIzNTsyMTUzODsyOzAwMDsyNTU7MjU1Mzg7MjsxMjc7MjU1OzIxMjM4OzI7MjQwOzI1NTsyNTUzODsyOzI0NTsyNDU7MjIwMzg7MjsyNTU7MjI4OzE5NjM4OzI7MDAwOzAwMDswMDAzODsyOzI1NTsyMzU7MjA1Mzg7MjswMDA7MDAwOzI1NTM4OzI7MTM4OzA0MzsyMjYzODsyOzE2NTswNDI7MDQyMzg7MjsyMjI7MTg0OzEzNTM4OzI7MDk1OzE1ODsxNjAzODsyOzEyNzsyNTU7MDAwMzg7MjsyMTA7MTA1OzAzMDM4OzI7MjU1OzEyNzswODAzODsyOzEwMDsxNDk7MjM3Mzg7MjsyNTU7MjQ4OzIyMDM4OzI7MjIwOzAyMDswNjAzODsyOzAwMDswMDA7MTM5Mzg7MjswMDA7MTM5OzEzOTM4OzI7MTg0OzEzNDswMTEzODsyOzE2OTsxNjk7MTY5Mzg7MjswMDA7MTAwOzAwMDM4OzI7MTg5OzE4MzsxMDczODsyOzEzOTswMDA7MTM5Mzg7MjswODU7MTA3OzA0NzM4OzI7MjU1OzE0MDswMDAzODsyOzE1MzswNTA7MjA0Mzg7MjsxMzk7MDAwOzAwMDM4OzI7MjMzOzE1MDsxMjIzODsyOzE0MzsxODg7MTQzMzg7MjswNzI7MDYxOzEzOTM4OzI7MDQ3OzA3OTswNzkzODsyOzAwMDsyMDY7MjA5Mzg7MjsxNDg7MDAwOzIxMTM4OzI7MjU1OzAyMDsxNDczODsyOzAwMDsxOTE7MjU1Mzg7MjsxMDU7MTA1OzEwNTM4OzI7MDMwOzE0NDsyNTUzODsyOzE3ODswMzQ7MDM0Mzg7MjsyNTU7MjUwOzI0MDM4OzI7MDM0OzEzOTswMzQzODsyOzI1NTswMDA7MjU1Mzg7MjsyMjA7MjIwOzIyMDM4OzI7MjQ4OzI0ODsyNTUzODsyOzI1NTsyMTU7MDAwMzg7MjsyMTg7MTY1OzAzMjM4OzI7MTI4OzEyODsxMjgzODsyOzAwMDsxMjg7MDAwMzg7MjsxNzM7MjU1OzA0NzM4OzI7MjQwOzI1NTsyNDAzODsyOzI1NTsxMDU7MTgwMzg7MjsyMDU7MDkyOzA5MjM4OzI7MDc1OzAwMDsxMzAzODsyOzI1NTsyNTU7MjQwMzg7MjsyNDA7MjMwOzE0MDM4OzI7MjMwOzIzMDsyNTAzODsyOzI1NTsyNDA7MjQ1Mzg7MjsxMjQ7MjUyOzAwMDM4OzI7MjU1OzI1MDsyMDUzODsyOzE3MzsyMTY7MjMwMzg7MjsyNDA7MTI4OzEyODM4OzI7MjI0OzI1NTsyNTUzODsyOzI1MDsyNTA7MjEwMzg7MjsyMTE7MjExOzIxMTM4OzI7MTQ0OzIzODsxNDQzODsyOzI1NTsxODI7MTkzMzg7MjsyNTU7MTYwOzEyMjM4OzI7MDMyOzE3ODsxNzAzODsyOzEzNTsyMDY7MjUwMzg7MjsxMTk7MTM2OzE1MzM4OzI7MTc2OzE5NjsyMjIzODsyOzI1NTsyNTU7MjI0Mzg7MjswMDA7MjU1OzAwMDM4OzI7MDUwOzIwNTswNTAzODsyOzI1MDsyNDA7MjMwMzg7MjsxMjg7MDAwOzAwMDM4OzI7MTAyOzIwNTsxNzAzODsyOzAwMDswMDA7MjA1Mzg7MjsxODY7MDg1OzIxMTM4OzI7MTQ3OzExMjsyMTkzODsyOzA2MDsxNzk7MTEzMzg7MjsxMjM7MTA0OzIzODM4OzI7MDAwOzI1MDsxNTQzODsyOzA3MjsyMDk7MjA0Mzg7MjsxOTk7MDIxOzEzMzM4OzI7MDI1OzAyNTsxMTIzODsyOzI0NTsyNTU7MjUwMzg7MjsyNTU7MjI4OzIyNTM4OzI7MjU1OzIyODsxODEzODsyOzI1NTsyMjI7MTczMzg7MjswMDA7MDAwOzEyODM4OzI7MjUzOzI0NTsyMzAzODsyOzEyODsxMjg7MDAwMzg7MjsxMDc7MTQyOzAzNTM4OzI7MjU1OzE2NTswMDAzODsyOzI1NTswNjk7MDAwMzg7MjsyMTg7MTEyOzIxNDM4OzI7MjM4OzIzMjsxNzAzODsyOzE1MjsyNTE7MTUyMzg7MjsxNzU7MjM4OzIzODM4OzI7MjE5OzExMjsxNDczODsyOzI1NTsyMzk7MjEzMzg7MjsyNTU7MjE4OzE4NTM4OzI7MjA1OzEzMzswNjMzODsyOzI1NTsxOTI7MjAzMzg7MjsyMjE7MTYwOzIyMTM4OzI7MTc2OzIyNDsyMzAzODsyOzEyODswMDA7MTI4Mzg7MjsxMDI7MDUxOzE1MzM4OzI7MjU1OzAwMDswMDAzODsyOzE4ODsxNDM7MTQzMzg7MjswNjU7MTA1OzIyNTM4OzI7MTM5OzA2OTswMTkzODsyOzI1MDsxMjg7MTE0Mzg7MjsyNDQ7MTY0OzA5NjM4OzI7MDQ2OzEzOTswODczODsyOzI1NTsyNDU7MjM4Mzg7MjsxNjA7MDgyOzA0NTM4OzI7MTkyOzE5MjsxOTIzODsyOzEzNTsyMDY7MjM1Mzg7MjsxMDY7MDkwOzIwNTM4OzI7MTEyOzEyODsxNDQzODsyOzI1NTsyNTA7MjUwMzg7MjswMDA7MjU1OzEyNzM4OzI7MDcwOzEzMDsxODAzODsyOzIxMDsxODA7MTQwMzg7MjswMDA7MTI4OzEyODM4OzI7MjE2OzE5MTsyMTYzODsyOzI1NTswOTk7MDcxMzg7MjswNjQ7MjI0OzIwODM4OzI7MjM4OzEzMDsyMzgzODsyOzI0NTsyMjI7MTc5Mzg7MjsyNTU7MjU1OzI1NTM4OzI7MjQ1OzI0NTsyNDUzODsyOzI1NTsyNTU7MDAwMzg7MjsxNTQ7MjA1OzA1MDQ4OzI7MjQwOzI0ODsyNTU0ODsyOzI1MDsyMzU7MjE1NDg7MjswMDA7MjU1OzI1NTQ4OzI7MTI3OzI1NTsyMTI0ODsyOzI0MDsyNTU7MjU1NDg7MjsyNDU7MjQ1OzIyMDQ4OzI7MjU1OzIyODsxOTY0ODsyOzAwMDswMDA7MDAwNDg7MjsyNTU7MjM1OzIwNTQ4OzI7MDAwOzAwMDsyNTU0ODsyOzEzODswNDM7MjI2NDg7MjsxNjU7MDQyOzA0MjQ4OzI7MjIyOzE4NDsxMzU0ODsyOzA5NTsxNTg7MTYwNDg7MjsxMjc7MjU1OzAwMDQ4OzI7MjEwOzEwNTswMzA0ODsyOzI1NTsxMjc7MDgwNDg7MjsxMDA7MTQ5OzIzNzQ4OzI7MjU1OzI0ODsyMjA0ODsyOzIyMDswMjA7MDYwNDg7MjswMDA7MDAwOzEzOTQ4OzI7MDAwOzEzOTsxMzk0ODsyOzE4NDsxMzQ7MDExNDg7MjsxNjk7MTY5OzE2OTQ4OzI7MDAwOzEwMDswMDA0ODsyOzE4OTsxODM7MTA3NDg7MjsxMzk7MDAwOzEzOTQ4OzI7MDg1OzEwNzswNDc0ODsyOzI1NTsxNDA7MDAwNDg7MjsxNTM7MDUwOzIwNDQ4OzI7MTM5OzAwMDswMDA0ODsyOzIzMzsxNTA7MTIyNDg7MjsxNDM7MTg4OzE0MzQ4OzI7MDcyOzA2MTsxMzk0ODsyOzA0NzswNzk7MDc5NDg7MjswMDA7MjA2OzIwOTQ4OzI7MTQ4OzAwMDsyMTE0ODsyOzI1NTswMjA7MTQ3NDg7MjswMDA7MTkxOzI1NTQ4OzI7MTA1OzEwNTsxMDU0ODsyOzAzMDsxNDQ7MjU1NDg7MjsxNzg7MDM0OzAzNDQ4OzI7MjU1OzI1MDsyNDA0ODsyOzAzNDsxMzk7MDM0NDg7MjsyNTU7MDAwOzI1NTQ4OzI7MjIwOzIyMDsyMjA0ODsyOzI0ODsyNDg7MjU1NDg7MjsyNTU7MjE1OzAwMDQ4OzI7MjE4OzE2NTswMzI0ODsyOzEyODsxMjg7MTI4NDg7MjswMDA7MTI4OzAwMDQ4OzI7MTczOzI1NTswNDc0ODsyOzI0MDsyNTU7MjQwNDg7MjsyNTU7MTA1OzE4MDQ4OzI7MjA1OzA5MjswOTI0ODsyOzA3NTswMDA7MTMwNDg7MjsyNTU7MjU1OzI0MDQ4OzI7MjQwOzIzMDsxNDA0ODsyOzIzMDsyMzA7MjUwNDg7MjsyNTU7MjQwOzI0NTQ4OzI7MTI0OzI1MjswMDA0ODsyOzI1NTsyNTA7MjA1NDg7MjsxNzM7MjE2OzIzMDQ4OzI7MjQwOzEyODsxMjg0ODsyOzIyNDsyNTU7MjU1NDg7MjsyNTA7MjUwOzIxMDQ4OzI7MjExOzIxMTsyMTE0ODsyOzE0NDsyMzg7MTQ0NDg7MjsyNTU7MTgyOzE5MzQ4OzI7MjU1OzE2MDsxMjI0ODsyOzAzMjsxNzg7MTcwNDg7MjsxMzU7MjA2OzI1MDQ4OzI7MTE5OzEzNjsxNTM0ODsyOzE3NjsxOTY7MjIyNDg7MjsyNTU7MjU1OzIyNDQ4OzI7MDAwOzI1NTswMDA0ODsyOzA1MDsyMDU7MDUwNDg7MjsyNTA7MjQwOzIzMDQ4OzI7MTI4OzAwMDswMDA0ODsyOzEwMjsyMDU7MTcwNDg7MjswMDA7MDAwOzIwNTQ4OzI7MTg2OzA4NTsyMTE0ODsyOzE0NzsxMTI7MjE5NDg7MjswNjA7MTc5OzExMzQ4OzI7MTIzOzEwNDsyMzg0ODsyOzAwMDsyNTA7MTU0NDg7MjswNzI7MjA5OzIwNDQ4OzI7MTk5OzAyMTsxMzM0ODsyOzAyNTswMjU7MTEyNDg7MjsyNDU7MjU1OzI1MDQ4OzI7MjU1OzIyODsyMjU0ODsyOzI1NTsyMjg7MTgxNDg7MjsyNTU7MjIyOzE3MzQ4OzI7MDAwOzAwMDsxMjg0ODsyOzI1MzsyNDU7MjMwNDg7MjsxMjg7MTI4OzAwMDQ4OzI7MTA3OzE0MjswMzU0ODsyOzI1NTsxNjU7MDAwNDg7MjsyNTU7MDY5OzAwMDQ4OzI7MjE4OzExMjsyMTQ0ODsyOzIzODsyMzI7MTcwNDg7MjsxNTI7MjUxOzE1MjQ4OzI7MTc1OzIzODsyMzg0ODsyOzIxOTsxMTI7MTQ3NDg7MjsyNTU7MjM5OzIxMzQ4OzI7MjU1OzIxODsxODU0ODsyOzIwNTsxMzM7MDYzNDg7MjsyNTU7MTkyOzIwMzQ4OzI7MjIxOzE2MDsyMjE0ODsyOzE3NjsyMjQ7MjMwNDg7MjsxMjg7MDAwOzEyODQ4OzI7MTAyOzA1MTsxNTM0ODsyOzI1NTswMDA7MDAwNDg7MjsxODg7MTQzOzE0MzQ4OzI7MDY1OzEwNTsyMjU0ODsyOzEzOTswNjk7MDE5NDg7MjsyNTA7MTI4OzExNDQ4OzI7MjQ0OzE2NDswOTY0ODsyOzA0NjsxMzk7MDg3NDg7MjsyNTU7MjQ1OzIzODQ4OzI7MTYwOzA4MjswNDU0ODsyOzE5MjsxOTI7MTkyNDg7MjsxMzU7MjA2OzIzNTQ4OzI7MTA2OzA5MDsyMDU0ODsyOzExMjsxMjg7MTQ0NDg7MjsyNTU7MjUwOzI1MDQ4OzI7MDAwOzI1NTsxMjc0ODsyOzA3MDsxMzA7MTgwNDg7MjsyMTA7MTgwOzE0MDQ4OzI7MDAwOzEyODsxMjg0ODsyOzIxNjsxOTE7MjE2NDg7MjsyNTU7MDk5OzA3MTQ4OzI7MDY0OzIyNDsyMDg0ODsyOzIzODsxMzA7MjM4NDg7MjsyNDU7MjIyOzE3OTQ4OzI7MjU1OzI1NTsyNTU0ODsyOzI0NTsyNDU7MjQ1NDg7MjsyNTU7MjU1OzAwMDQ4OzI7MTU0OzIwNTswNTAzODs1OzAzODs1OzEzODs1OzIzODs1OzMzODs1OzQzODs1OzUzODs1OzYzODs1OzczODs1OzgzODs1OzkzODs1OzEwMzg7NTsxMTM4OzU7MTIzODs1OzEzMzg7NTsxNDM4OzU7MTUzODs1OzE2Mzg7NTsxNzM4OzU7MTgzODs1OzE5Mzg7NTsyMDM4OzU7MjEzODs1OzIyMzg7NTsyMzM4OzU7MjQzODs1OzI1Mzg7NTsyNjM4OzU7MjczODs1OzI4Mzg7NTsyOTM4OzU7MzAzODs1OzMxMzg7NTszMjM4OzU7MzMzODs1OzM0Mzg7NTszNTM4OzU7MzYzODs1OzM3Mzg7NTszODM4OzU7MzkzODs1OzQwMzg7NTs0MTM4OzU7NDIzODs1OzQzMzg7NTs0NDM4OzU7NDUzODs1OzQ2Mzg7NTs0NzM4OzU7NDgzODs1OzQ5Mzg7NTs1MDM4OzU7NTEzODs1OzUyMzg7NTs1MzM4OzU7NTQzODs1OzU1Mzg7NTs1NjM4OzU7NTczODs1OzU4Mzg7NTs1OTM4OzU7NjAzODs1OzYxMzg7NTs2MjM4OzU7NjMzODs1OzY0Mzg7NTs2NTM4OzU7NjYzODs1OzY3Mzg7NTs2ODM4OzU7NjkzODs1OzcwMzg7NTs3MTM4OzU7NzIzODs1OzczMzg7NTs3NDM4OzU7NzUzODs1Ozc2Mzg7NTs3NzM4OzU7NzgzODs1Ozc5Mzg7NTs4MDM4OzU7ODEzODs1OzgyMzg7NTs4MzM4OzU7ODQzODs1Ozg1Mzg7NTs4NjM4OzU7ODczODs1Ozg4Mzg7NTs4OTM4OzU7OTAzODs1OzkxMzg7NTs5MjM4OzU7OTMzODs1Ozk0Mzg7NTs5NTM4OzU7OTYzODs1Ozk3Mzg7NTs5ODM4OzU7OTkzODs1OzEwMDM4OzU7MTAxMzg7NTsxMDIzODs1OzEwMzM4OzU7MTA0Mzg7NTsxMDUzODs1OzEwNjM4OzU7MTA3Mzg7NTsxMDgzODs1OzEwOTM4OzU7MTEwMzg7NTsxMTEzODs1OzExMjM4OzU7MTEzMzg7NTsxMTQzODs1OzExNTM4OzU7MTE2Mzg7NTsxMTczODs1OzExODM4OzU7MTE5Mzg7NTsxMjAzODs1OzEyMTM4OzU7MTIyMzg7NTsxMjMzODs1OzEyNDM4OzU7MTI1Mzg7NTsxMjYzODs1OzEyNzM4OzU7MTI4Mzg7NTsxMjkzODs1OzEzMDM4OzU7MTMxMzg7NTsxMzIzODs1OzEzMzM4OzU7MTM0Mzg7NTsxMzUzODs1OzEzNjM4OzU7MTM3Mzg7NTsxMzgzODs1OzEzOTM4OzU7MTQwMzg7NTsxNDEzODs1OzE0MjM4OzU7MTQzMzg7NTsxNDQzODs1OzE0NTM4OzU7MTQ2Mzg7NTsxNDczODs1OzE0ODM4OzU7MTQ5Mzg7NTsxNTAzODs1OzE1MTM4OzU7MTUyMzg7NTsxNTMzODs1OzE1NDM4OzU7MTU1Mzg7NTsxNTYzODs1OzE1NzM4OzU7MTU4Mzg7NTsxNTkzODs1OzE2MDM4OzU7MTYxMzg7NTsxNjIzODs1OzE2MzM4OzU7MTY0Mzg7NTsxNjUzODs1OzE2NjM4OzU7MTY3Mzg7NTsxNjgzODs1OzE2OTM4OzU7MTcwMzg7NTsxNzEzODs1OzE3MjM4OzU7MTczMzg7NTsxNzQzODs1OzE3NTM4OzU7MTc2Mzg7NTsxNzczODs1OzE3ODM4OzU7MTc5Mzg7NTsxODAzODs1OzE4MTM4OzU7MTgyMzg7NTsxODMzODs1OzE4NDM4OzU7MTg1Mzg7NTsxODYzODs1OzE4NzM4OzU7MTg4Mzg7NTsxODkzODs1OzE5MDM4OzU7MTkxMzg7NTsxOTIzODs1OzE5MzM4OzU7MTk0Mzg7NTsxOTUzODs1OzE5NjM4OzU7MTk3Mzg7NTsxOTgzODs1OzE5OTM4OzU7MjAwMzg7NTsyMDEzODs1OzIwMjM4OzU7MjAzMzg7NTsyMDQzODs1OzIwNTM4OzU7MjA2Mzg7NTsyMDczODs1OzIwODM4OzU7MjA5Mzg7NTsyMTAzODs1OzIxMTM4OzU7MjEyMzg7NTsyMTMzODs1OzIxNDM4OzU7MjE1Mzg7NTsyMTYzODs1OzIxNzM4OzU7MjE4Mzg7NTsyMTkzODs1OzIyMDM4OzU7MjIxMzg7NTsyMjIzODs1OzIyMzM4OzU7MjI0Mzg7NTsyMjUzODs1OzIyNjM4OzU7MjI3Mzg7NTsyMjgzODs1OzIyOTM4OzU7MjMwMzg7NTsyMzEzODs1OzIzMjM4OzU7MjMzMzg7NTsyMzQzODs1OzIzNTM4OzU7MjM2Mzg7NTsyMzczODs1OzIzODM4OzU7MjM5Mzg7NTsyNDAzODs1OzI0MTM4OzU7MjQyMzg7NTsyNDMzODs1OzI0NDM4OzU7MjQ1Mzg7NTsyNDYzODs1OzI0NzM4OzU7MjQ4Mzg7NTsyNDkzODs1OzI1MDM4OzU7MjUxMzg7NTsyNTIzODs1OzI1MzM4OzU7MjU0Mzg7NTsyNTU0ODs1OzA0ODs1OzE0ODs1OzI0ODs1OzM0ODs1OzQ0ODs1OzU0ODs1OzY0ODs1Ozc0ODs1Ozg0ODs1Ozk0ODs1OzEwNDg7NTsxMTQ4OzU7MTI0ODs1OzEzNDg7NTsxNDQ4OzU7MTU0ODs1OzE2NDg7NTsxNzQ4OzU7MTg0ODs1OzE5NDg7NTsyMDQ4OzU7MjE0ODs1OzIyNDg7NTsyMzQ4OzU7MjQ0ODs1OzI1NDg7NTsyNjQ4OzU7Mjc0ODs1OzI4NDg7NTsyOTQ4OzU7MzA0ODs1OzMxNDg7NTszMjQ4OzU7MzM0ODs1OzM0NDg7NTszNTQ4OzU7MzY0ODs1OzM3NDg7NTszODQ4OzU7Mzk0ODs1OzQwNDg7NTs0MTQ4OzU7NDI0ODs1OzQzNDg7NTs0NDQ4OzU7NDU0ODs1OzQ2NDg7NTs0NzQ4OzU7NDg0ODs1OzQ5NDg7NTs1MDQ4OzU7NTE0ODs1OzUyNDg7NTs1MzQ4OzU7NTQ0ODs1OzU1NDg7NTs1NjQ4OzU7NTc0ODs1OzU4NDg7NTs1OTQ4OzU7NjA0ODs1OzYxNDg7NTs2MjQ4OzU7NjM0ODs1OzY0NDg7NTs2NTQ4OzU7NjY0ODs1OzY3NDg7NTs2ODQ4OzU7Njk0ODs1OzcwNDg7NTs3MTQ4OzU7NzI0ODs1OzczNDg7NTs3NDQ4OzU7NzU0ODs1Ozc2NDg7NTs3NzQ4OzU7Nzg0ODs1Ozc5NDg7NTs4MDQ4OzU7ODE0ODs1OzgyNDg7NTs4MzQ4OzU7ODQ0ODs1Ozg1NDg7NTs4NjQ4OzU7ODc0ODs1Ozg4NDg7NTs4OTQ4OzU7OTA0ODs1OzkxNDg7NTs5MjQ4OzU7OTM0ODs1Ozk0NDg7NTs5NTQ4OzU7OTY0ODs1Ozk3NDg7NTs5ODQ4OzU7OTk0ODs1OzEwMDQ4OzU7MTAxNDg7NTsxMDI0ODs1OzEwMzQ4OzU7MTA0NDg7NTsxMDU0ODs1OzEwNjQ4OzU7MTA3NDg7NTsxMDg0ODs1OzEwOTQ4OzU7MTEwNDg7NTsxMTE0ODs1OzExMjQ4OzU7MTEzNDg7NTsxMTQ0ODs1OzExNTQ4OzU7MTE2NDg7NTsxMTc0ODs1OzExODQ4OzU7MTE5NDg7NTsxMjA0ODs1OzEyMTQ4OzU7MTIyNDg7NTsxMjM0ODs1OzEyNDQ4OzU7MTI1NDg7NTsxMjY0ODs1OzEyNzQ4OzU7MTI4NDg7NTsxMjk0ODs1OzEzMDQ4OzU7MTMxNDg7NTsxMzI0ODs1OzEzMzQ4OzU7MTM0NDg7NTsxMzU0ODs1OzEzNjQ4OzU7MTM3NDg7NTsxMzg0ODs1OzEzOTQ4OzU7MTQwNDg7NTsxNDE0ODs1OzE0MjQ4OzU7MTQzNDg7NTsxNDQ0ODs1OzE0NTQ4OzU7MTQ2NDg7NTsxNDc0ODs1OzE0ODQ4OzU7MTQ5NDg7NTsxNTA0ODs1OzE1MTQ4OzU7MTUyNDg7NTsxNTM0ODs1OzE1NDQ4OzU7MTU1NDg7NTsxNTY0ODs1OzE1NzQ4OzU7MTU4NDg7NTsxNTk0ODs1OzE2MDQ4OzU7MTYxNDg7NTsxNjI0ODs1OzE2MzQ4OzU7MTY0NDg7NTsxNjU0ODs1OzE2NjQ4OzU7MTY3NDg7NTsxNjg0ODs1OzE2OTQ4OzU7MTcwNDg7NTsxNzE0ODs1OzE3MjQ4OzU7MTczNDg7NTsxNzQ0ODs1OzE3NTQ4OzU7MTc2NDg7NTsxNzc0ODs1OzE3ODQ4OzU7MTc5NDg7NTsxODA0ODs1OzE4MTQ4OzU7MTgyNDg7NTsxODM0ODs1OzE4NDQ4OzU7MTg1NDg7NTsxODY0ODs1OzE4NzQ4OzU7MTg4NDg7NTsxODk0ODs1OzE5MDQ4OzU7MTkxNDg7NTsxOTI0ODs1OzE5MzQ4OzU7MTk0NDg7NTsxOTU0ODs1OzE5NjQ4OzU7MTk3NDg7NTsxOTg0ODs1OzE5OTQ4OzU7MjAwNDg7NTsyMDE0ODs1OzIwMjQ4OzU7MjAzNDg7NTsyMDQ0ODs1OzIwNTQ4OzU7MjA2NDg7NTsyMDc0ODs1OzIwODQ4OzU7MjA5NDg7NTsyMTA0ODs1OzIxMTQ4OzU7MjEyNDg7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b21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL3NlYXJjaC5ycwAA2M8QAGoAAABOAQAACQAAAGludmFsaWQgbWF0Y2ggc3BhbgAAVNAQABIAAADYzxAAagAAAFsDAAAJAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy9wYWNrZWQvYXBpLnJzAAAAgNAQAGkAAAAZAgAAHAAAAIDQEABpAAAAHwIAADEAAADnAwAABAAAAAQAAADoAwAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL2J5dGVzZXQucnMAHNEQAHcAAAAjAAAAEQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL3ByZWZpbHRlci9tZW1jaHIucnMAAKTREAB2AAAAJwAAAC0AAACk0RAAdgAAAFUAAAAWAAAApNEQAHYAAABWAAAAFgAAAKTREAB2AAAAZAAAADYAAACk0RAAdgAAAJIAAAAWAAAApNEQAHYAAACTAAAAFgAAAKTREAB2AAAAlAAAABYAAACk0RAAdgAAAKIAAAA+AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL21lbW1lbS5ycwAAnNIQAHYAAAArAAAAJwAAAJzSEAB2AAAAOwAAABgAAABhaG8tY29yYXNpY2sgREZBIHNob3VsZCBuZXZlciBmYWlsL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL3RlZGR5LnJzAFbTEAB1AAAAcQAAABIAQeSnwwALsgwBAAAAIgMAAAAAAAAIAAAABAAAAOkDAAAAAAAABAAAAAQAAADqAwAAAAAAAAEAAAABAAAAFAAAAAAAAAAEAAAABAAAABUAAABtYXhpbXVtX2xlbmxvb2tfc2V0bG9va19zZXRfcHJlZml4bG9va19zZXRfc3VmZml4bG9va19zZXRfcHJlZml4X2FueWxvb2tfc2V0X3N1ZmZpeF9hbnl1dGY4ZXhwbGljaXRfY2FwdHVyZXNfbGVuc3RhdGljX2V4cGxpY2l0X2NhcHR1cmVzX2xlbmxpdGVyYWxhbHRlcm5hdGlvbl9saXRlcmFsAAAcAREACwAAACzUEAALAAAAN9QQAAgAAAA/1BAADwAAAE7UEAAPAAAAXdQQABMAAABw1BAAEwAAAIPUEAAEAAAAh9QQABUAAACc1BAAHAAAALjUEAAHAAAAv9QQABMAAABQcm9wZXJ0aWVzSUludmFsaWRJbnB1dEFuY2hvcmVkSW52YWxpZElucHV0VW5hbmNob3JlZFVuc3VwcG9ydGVkU3RyZWFtVW5zdXBwb3J0ZWRPdmVybGFwcGluZ1Vuc3VwcG9ydGVkRW1wdHllcnJvciBidWlsZGluZyBORkEAAKDVEAASAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZm91bmQgaW1wb3NzaWJsZSBlcnJvciBpbiBtZXRhIGVuZ2luZTogAAAAvNUQAFEAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9lcnJvci5ycwAY1hAAawAAAO0AAAARAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcv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ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcHJpbWl0aXZlcy5yc9jkEABwAAAA8QIAAAEAAABQYXR0ZXJuSURFcnJvclN0YXRlSUQAAADY5BAAcAAAAPICAAABAAAAU3RhdGVJREVycm9yAAAAAAQAAAAEAAAA8gMAAAAAAAAIAAAABAAAAPMDAAAAAAAABAAAAAQAAAD0AwAAUHJvcGVydGllcykgYXJlIG5vdCBzdXBwb3J0ZWQgb3IgZW5hYmxlZPUDAAAIAAAABAAAAPYDAAD3AwAA9wMAAGFzc2VydGlvbiBmYWlsZWQ6IG0uaXNfZW1wdHkoKQAAaRgYAGoAAAClAgAACQAAAGkYGABqAAAApgIAAEAAAABQYXR0ZXJuU2V0IHNob3VsZCBoYXZlIHN1ZmZpY2llbnQgY2FwYWNpdHkAAHwZGABsAAAAywQAAA4AAABxdWl0IHNlYXJjaCBhZnRlciBvYnNlcnZpbmcgYnl0ZSAgYXQgb2Zmc2V0IHjmEAAhAAAAmeYQAAsAAABnYXZlIHVwIHNlYXJjaGluZyBhdCBvZmZzZXQgtOYQABwAAABoYXlzdGFjayBvZiBsZW5ndGggIGlzIHRvbyBsb25nANjmEAATAAAA6+YQAAwAAAB1bmFuY2hvcmVkIHNlYXJjaGVzIGFyZSBub3Qgc3VwcG9ydGVkIG9yIGVuYWJsZWQI5xAAMAAAAGFuY2hvcmVkIHNlYXJjaGVzIGFyZSBub3Qgc3VwcG9ydGVkIG9yIGVuYWJsZWQAAEDnEAAuAAAAYW5jaG9yZWQgc2VhcmNoZXMgZm9yIGEgc3BlY2lmaWMgcGF0dGVybiAoAAB45xAAKgAAAMblEAAeAAAAUGF0dGVyblNldEluc2VydEVycm9yY2FwYWNpdHlOb1llc1BhdHRlcm5BbGwAAAAACAAAAAgAAADXAgAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL2RmYS9yZW1hcHBlci5ycwAAAPDnEABtAAAAbgAAABIAAADw5xAAbQAAAIgAAAAkAAAA8OcQ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1QsBAAAA+AMAAFJlZ2V4SW5mb0lwcm9wc191bmlvbgAAAAAAAAABAAAAAQAAAM4AAAAAAAAAAQAAAAEAAADvAwAA7gMAABAAAAAEAAAAtgAAAAAAAAABAAAAAQAAAPkDAAAAAAAACAAAAAQAAADxAwAAAAAAAAgAAAAEAAAA6QMAAHV0ZjhfZW1wdHlhdXRvcHJld2hpY2hfY2FwdHVyZXNuZmFfc2l6ZV9saW1pdG9uZXBhc3Nfc2l6ZV9saW1pdGh5YnJpZF9jYWNoZV9jYXBhY2l0eWh5YnJpZGRmYWRmYV9zaXplX2xpbWl0ZGZhX3N0YXRlX2xpbWl0b25lcGFzc2JhY2t0cmFja2xpbmVfdGVybWluYXRvcgAAABQPEQAKAAAAEPAQAAoAAAAa8BAABwAAAB4PEQADAAAAIfAQAA4AAAAv8BAADgAAAD3wEAASAAAAT/AQABUAAABk8BAABgAAAGrwEAADAAAAbfAQAA4AAAB78BAADwAAAIrwEAAHAAAAkfAQAAkAAADD+xAADAAAAJrwEAAPAAAAR3JvdXBJbmZvSW5uZXJzbG90X3Jhbmdlc25hbWVfdG9faW5kZXhpbmRleF90b19uYW1lbWVtb3J5X2V4dHJhU3RhbmRhcmRMZWZ0bW9zdEZpcnN0TGVmdG1vc3RMb25nZXN0AIj1EABrAAAAxwQAAB4AAACI9RAAawAAAOkFAAAeAAAAbm8gcXVpdCBpbiBzdGFydCB3aXRob3V0IGxvb2stYmVoaW5kiPUQAGsAAABFBgAAFgAAAGFzc2VydGlvbiBmYWlsZWQ6IGlkLmlzX21hdGNoKCkAiPUQAGsAAAC1BgAACQAAAG5vIGluLXByb2dyZXNzIHNlYXJjaCB0byB1cGRhdGUAiPUQAGsAAAC3BwAAJAAAAG5vIGluLXByb2dyZXNzIHNlYXJjaCB0byBmaW5pc2gAiPUQAGsAAADDBwAAIgAAAIj1EABrAAAAjgoAAB0AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvaHlicmlkL3NlYXJjaC5ycwAAhPIQAG4AAABZAAAAKQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IHNpZCBiZWluZyB1bmtub3duIGlzIGEgYnVnBPMQAEQAAACE8hAAbgAAAB0BAAARAAAAhPIQAG4AAAAaAQAALQAAAITyEABuAAAAVwEAACkAAACE8hAAbgAAAK0BAAARAAAAhPIQAG4AAACqAQAALQAAAITyEABuAAAA+wEAACUAAACE8hAAbgAAACICAAARAAAAhPIQAG4AAAAdAgAAFQAAAITyEABuAAAA4gIAABQAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9saW1pdGVkLnJzAAAA4PMQAG0AAACOAAAAJQAAAODzEABtAAAA6AAAABQAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9zdG9wYXQucnNw9BAAbAAAAG4AAAAlAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvZW1wdHkucnMA7PQQAGsAAAD5AAAAOgBB8OrDAAvlCQEAAAD6AwAAAAAAAAgAAAAIAAAA+wMAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy9oeWJyaWQvZGZhLnJzAIj1EABrAAAAUwgAAB8AAACI9RAAawAAABYJAAA6AAAAYWRkaW5nIG9uZSBzdGF0ZSBhZnRlciBjYWNoZSBjbGVhciBtdXN0IHdvcmuI9RAAawAAALwJAAASAAAAY2Fubm90IHNhdmUgc2VudGluZWwgc3RhdGUAAFD2EAAaAAAAiPUQAGsAAACpCQAADQAAAIj1EABrAAAA5gkAAEAAAACI9RAAawAAAOcJAABHAAAAiPUQAGsAAADoCQAARwAAAIj1EABrAAAA6QkAAAkAAACI9RAAawAAAOoJAAAJAAAAiPUQAGsAAADrCQAACQAAAHN0YXRlIHNhdmVyIGRvZXMgbm90IGhhdmUgc2F2ZWQgc3RhdGUgSUSI9RAAawAAABQKAAAOAAAAaW52YWxpZCAnZnJvbScgaWQ6IAAc9xAAEwAAAIj1EABrAAAAKQoAAAkAAABpbnZhbGlkICd0bycgaWQ6IAAAAEj3EAARAAAAiPUQAGsAAAAqCgAACQAAAIj1EABrAAAALQoAABkAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmFzX3JlZigpLmlzX3ZhbGlkKGlkKYj1EABrAAAAOwoAAAkAAABhdHRlbXB0ZWQgdG8gc2VhcmNoIGZvciBhIHNwZWNpZmljIHBhdHRlcm4gd2l0aG91dCBlbmFibGluZyBzdGFydHNfZm9yX2VhY2hfcGF0dGVybgDA9xAAUwAAAIj1EABrAAAAQQoAABEAAACI9RAAawAAAEoKAAAaAAAAiPUQAGsAAACWCgAAGwAAAIj1EABrAAAAsgoAADMAAACI9RAAawAAALsKAAAzAAAAY2Fubm90IGJ1aWxkIGxhenkgREZBcyBmb3IgcmVnZXhlcyB3aXRoIFVuaWNvZGUgd29yZCBib3VuZGFyaWVzOyBzd2l0Y2ggdG8gQVNDSUkgd29yZCBib3VuZGFyaWVzLCBvciBoZXVyaXN0aWNhbGx5IGVuYWJsZSBVbmljb2RlIHdvcmQgYm91bmRhcmllcyBvciB1c2UgYSBkaWZmZXJlbnQgcmVnZXggZW5naW5lL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL21ldGEvbGl0ZXJhbC5ycwAAHfkQAG0AAAAeAAAADQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGxpdGVyYWwsIGdvdCCc+RAAQAAAAB35EABtAAAAOAAAAB4AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rl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ZCAAALALEQAiAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvc3BhcnNlX3NldC5yc9wLEQBwAAAAggAAAAkAAAAgZXhjZWVkcyBjYXBhY2l0eSBvZiAgd2hlbiBpbnNlcnRpbmcgAAAAAQAAAAAAAABcDBEAFQAAAHEMEQAQAAAA3AsRAHAAAACyAAAACQAAANwLEQBwAAAAvAAAABMAAADcCxEAcAAAAL0AAAAUAAAA3AsRAHAAAADFAAAAIAAAANwLEQBwAAAAxgAAADQAAADcCxEAcAAAANEAAAAhAEGsmsQAC0sBAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfybxAALlQovaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC91dGY4LnJzAAD8DREAagAAAEMAAAArAAAA/A0RAGoAAABVAAAAOAAAAPwNEQBqAAAAWAAAABgAAABQaWtlVk1FbmdpbmVCb3VuZGVkQmFja3RyYWNrZXJFbmdpbmVPbmVQYXNzRW5naW5lSHlicmlkRW5naW5lREZBREZBRW5naW5lUmV2ZXJzZUh5YnJpZEVuZ2luZVJldmVyc2VERkFSZXZlcnNlREZBRW5naW5lQ29uZmlnbWF0Y2hfa2luZHByZVBpa2VWTWNvbmZpZ25mYU1hdGNoRXJyb3IAAAAAAAABAAAAAQAAABcEAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2FzdC9wYXJzZS5yc0wPEQBoAAAAgQEAABcAAABMDxEAaAAAAIIBAAAaAAAATA8RAGgAAACDAQAAGgAAAEwPEQBoAAAAxQEAADUAAABMDxEAaAAA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IGZhaWxlZDogc2VsZi5jaGFyKCkgPT0gJ3AnIHx8IHNlbGYuY2hhcigpID09ICdQJwAATA8RAGgAAAB4CAAACQAAAGV4cGVjdGVkIHZhbGlkIFBlcmwgY2xhc3MgYnV0IGdvdCAnAFgXEQAjAAAAaWgWAAEAAABMDxEAaAAAANEIAAASAAAATA8RAGgAAAAACQAAMAAAACoDAAAMAAAABAAAAE4DAAAYBAAAZAMAQcyvxAALtgYBAAAALgMAAHQwGABMAAAApwoAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBhZGRfbG93ZXIgfHwgYWRkX3VwcGVyKd4RAGsAAADQAQAACQAAAFVuaWNvZGUgbm90IGFsbG93ZWQgaGVyZXBhdHRlcm4gY2FuIG1hdGNoIGludmFsaWQgVVRGLThpbnZhbGlkIGxpbmUgdGVybWluYXRvciwgbXVzdCBiZSBBU0NJSVVuaWNvZGUgcHJvcGVydHkgbm90IGZvdW5kVW5pY29kZSBwcm9wZXJ0eSB2YWx1ZSBub3QgZm91bmRVbmljb2RlLWF3YXJlIFBlcmwgY2xhc3Mgbm90IGZvdW5kIChtYWtlIHN1cmUgdGhlIHVuaWNvZGUtcGVybCBmZWF0dXJlIGlzIGVuYWJsZWQpVW5pY29kZS1hd2FyZSBjYXNlIGluc2Vuc2l0aXZpdHkgbWF0Y2hpbmcgaXMgbm90IGF2YWlsYWJsZSAobWFrZSBzdXJlIHRoZSB1bmljb2RlLWNhc2UgZmVhdHVyZSBpcyBlbmFibGVkKQCEoxUAZgAAAPIBAAAeAAAAhKMVAGYAAABPAgAAHgAAAENsYXNzVW5pY29kZVJhbmdlc3RhcnRlbmQAAACEoxUAZgAAADoGAAA2AAAAQ2xhc3NCeXRlc1Jhbmdl4oiFAADLGREAAwAAAISjFQBmAAAA9wsAABIAAACEoxUAZgAAAOgLAAAZAAAATG9va0NhcHR1cmVTdGFydEVuZFN0YXJ0TEZFbmRMRlN0YXJ0Q1JMRkVuZENSTEZXb3JkQXNjaWlXb3JkQXNjaWlOZWdhdGVXb3JkVW5pY29kZVdvcmRVbmljb2RlTmVnYXRlV29yZFN0YXJ0QXNjaWlXb3JkRW5kQXNjaWlXb3JkU3RhcnRVbmljb2RlV29yZEVuZFVuaWNvZGVXb3JkU3RhcnRIYWxmQXNjaWlXb3JkRW5kSGFsZkFzY2lpV29yZFN0YXJ0SGFsZlVuaWNvZGVXb3JkRW5kSGFsZlVuaWNvZGVpbmRleG1pbm1heGdyZWVkeSoDAAAMAAAABAAAAE4DAAAYBAAAZAMAQYy2xAALvYESAQAAAC4DAAABAAAAAQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvaGlyL2xpdGVyYWwucnNhc3NlcnRpb24gZmFpbGVkOiBzZXExLmxlbigpLm1hcF9vcih0cnVlLCB8eHwgeCA8PSBzZWxmLmxpbWl0X3RvdGFsKQAAHBsRAGoAAAA5AgAACQAAABwbEQBqAAAAZgIAAAkAAAAcGxEAagAAAGcGAAAYAAAAHBsRAGoAAAB0BgAAEwAAABwbEQBqAAAAbQYAABoAAAAcGxEAagAAAJwGAAAYAAAAHBsRAGoAAACqBgAAEwAAABwbEQBqAAAAowYAABoAAAAcGxEAagAAAHgHAAARAAAABQAAAAoAAAAEAAAACgAAAAMAAABAAAAAAgAAAEAAAAABAAAACgAAABwbEQBqAAAAzggAABUAAAAcGxEAagAAAN4IAAAoAAAAHBsRAGoAAADyCAAAFQAAABwbEQBqAAAA4ggAAB4AAAAcGxEAagAAAOQIAAAnAAAAHBsRAGoAAADkCAAAMwAAABwbEQBqAAAA5QgAADQAAAAcGxEAagAAAOsIAAAgAAAANzQzMjEwLy4tZ/JCQ+UsKyopKCcmJSQjIiE4IB8eHRz/lKSViKCbrd3ehnroytfg0NzMu7ezsaiyyOLDmriufni/ncKqvaKhlsGOiauwuae6cK/AvJyMj3uFgJOKknLfl/nY7uz949rm94e08en29OeL9fP768nE8NaYts21fxvU09LV5MWpn4OsaVBiYGFRz5F0c5CCmXlrhG1ufG9SbHaNcYF3faV1XGpTSGNdQU+m7aPHvuHRy8bZ287q+J7v/////////////////////////////////////////////////////////////////////////////////////3RyaWVkIHRvIHVud3JhcCBleHByIGZyb20gSGlyRnJhbWUsIGdvdDogAAAABB4RACkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2hpci90cmFuc2xhdGUucnM4HhEAbAAAAAEBAAASAAAAdHJpZWQgdG8gdW53cmFwIFVuaWNvZGUgY2xhc3MgZnJvbSBIaXJGcmFtZSwgZ290OiAAALQeEQAyAAAAOB4RAGwAAAAKAQAAEgAAAHRyaWVkIHRvIHVud3JhcCBieXRlIGNsYXNzIGZyb20gSGlyRnJhbWUsIGdvdDogAAAfEQAvAAAAOB4RAGwAAAAXAQAAEgAAAHRyaWVkIHRvIHVud3JhcCByZXBldGl0aW9uIGZyb20gSGlyRnJhbWUsIGdvdDogAEgfEQAvAAAAOB4RAGwAAAAlAQAAEQAAAHRyaWVkIHRvIHVud3JhcCBncm91cCBmcm9tIEhpckZyYW1lLCBnb3Q6IAAAkB8RACoAAAA4HhEAbAAAADQBAAARAAAAdHJpZWQgdG8gdW53cmFwIGFsdCBwaXBlIGZyb20gSGlyRnJhbWUsIGdvdDogAAAA1B8RAC0AAAA4HhEAbAAAAD8BAAARAAAAOB4RAGwAAABOAQAAJwAAADgeEQBsAAAATwEAABcAAAA4HhEAbAAAAE4BAAAJAAAAOB4RAGwAAACsAQAALgAAADgeEQBsAAAAowEAAC4AAAA4HhEAbAAAALcBAAAnAAAAOB4RAGwAAAC4AQAAHAAAADgeEQBsAAAAvAEAACcAAAA4HhEAbAAAAL0BAAAsAAAAOB4RAGwAAADOAQAAIAAAADgeEQBsAAAA/gEAAC4AAAA4HhEAbAAAAPoBAAAuAAAAOB4RAGwAAAAKAgAALgAAADgeEQBsAAAABgIAAC4AAAA4HhEAbAAAABkCAAAuAAAAOB4RAGwAAAAUAgAALgAAADgeEQBsAAAAIAIAACoAAAA4HhEAbAAAACwCAAAuAAAAOB4RAGwAAAAnAgAALgAAADgeEQBsAAAAPgIAAC8AAAA4HhEAbAAAAEUCAAAvAAAAOB4RAGwAAAAzAgAALwAAADgeEQBsAAAAOgIAAC8AAAA4HhEAbAAAAIwCAAAmAAAAOB4RAGwAAACNAgAAJgAAADgeEQBsAAAAjgIAACYAAAA4HhEAbAAAAHMCAAAmAAAAOB4RAGwAAAB0AgAAJgAAADgeEQBsAAAAdQIAACYAAAA4HhEAbAAAALgCAAAcAAAAOB4RAGwAAADDAgAALAAAADgeEQBsAAAA0QIAACwAAAA4HhEAbAAAANsCAAAcAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBVbmljb2RlIGNsYXNzLCIRAFQAAAA4HhEAbAAAAOkCAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBieXRlIGNsYXNzAAAAmCIRAFEAAAA4HhEAbAAAAOwCAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCByZXBldGl0aW9uAAAABCMRAFEAAAA4HhEAbAAAAO8CAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBvciBjb25jYXQsIGdvdCBncm91cHAjEQBMAAAAOB4RAGwAAADyAgAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LCBnb3QgYWx0IG1hcmtlcgAAANQjEQBRAAAAOB4RAGwAAAD1AgAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LCBnb3QgYWx0IGJyYW5jaCBtYXJrZXJAJBEAWAAAADgeEQBsAAAA+AIAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZCBleHByIG9yIGFsdCwgZ290IFVuaWNvZGUgY2xhc3MAAACwJBEAUQAAADgeEQBsAAAACAMAABEAAABpbnRlcm5hbCBl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AAAqBQAALQUAACwFAAAvBQAALgUAAGEFAABiBQAAYwUAAGQFAABlBQAAZgUAAGcFAABoBQAAaQUAAGoFAABrBQAAbAUAAG0FAABuBQAAbwUAAHAFAABxBQAAcgUAAHMFAAB0BQAAdQUAAHYFAAB3BQAAeAUAAHkFAAB6BQAAewUAAHwFAAB9BQAAfgUAAH8FAACABQAAgQUAAIIFAACDBQAAhAUAAIUFAACGBQAAMQUAADIFAAAzBQAANAUAADUFAAA2BQAANwUAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAD4FAAA/BQAAQAUAAEEFAABCBQAAQwUAAEQFAABFBQAARgUAAEcFAABIBQAASQUAAEoFAABLBQAATAUAAE0FAABOBQAATwUAAFAFAABRBQAAUgUAAFMFAABUBQAAVQUAAFYFAAAALQAAAS0AAAItAAADLQAABC0AAAUtAAAGLQAABy0AAAgtAAAJLQAACi0AAAstAAAMLQAADS0AAA4tAAAPLQAAEC0AABEtAAASLQAAEy0AABQtAAAVLQAAFi0AABctAAAYLQAAGS0AABotAAAbLQAAHC0AAB0tAAAeLQAAHy0AACAtAAAhLQAAIi0AACMtAAAkLQAAJS0AACctAAAtLQAAkBwAAJEcAACSHAAAkxwAAJQcAACVHAAAlhwAAJccAACYHAAAmRwAAJocAACbHAAAnBwAAJ0cAACeHAAAnxwAAKAcAAChHAAAohwAAKMcAACkHAAApRwAAKYcAACnHAAAqBwAAKkcAACqHAAAqxwAAKwcAACtHAAArhwAAK8cAACwHAAAsRwAALIcAACzHAAAtBwAALUcAAC2HAAAtxwAALgcAAC5HAAAuhwAAL0cAAC+HAAAvxwAAHCrAABxqwAAcqsAAHOrAAB0qwAAdasAAHarAAB3qwAAeKsAAHmrAAB6qwAAe6sAAHyrAAB9qwAAfqsAAH+rAACAqwAAgasAAIKrAACDqwAAhKsAAIWrAACGqwAAh6sAAIirAACJqwAAiqsAAIurAACMqwAAjasAAI6rAACPqwAAkKsAAJGrAACSqwAAk6sAAJSrAACVqwAAlqsAAJerAACYqwAAmasAAJqrAACbqwAAnKsAAJ2rAACeqwAAn6sAAKCrAAChqwAAoqsAAKOrAACkqwAApasAAKarAACnqwAAqKsAAKmr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AAC6HwAAux8AAMgfAADJHwAAyh8AAMsfAADaHwAA2x8AAPgfAAD5HwAA6h8AAOsfAAD6HwAA+x8AAIgfAACJHwAAih8AAIsfAACMHwAAjR8AAI4fAACPHwAAgB8AAIEfAACCHwAAgx8AAIQfAACFHwAAhh8AAIcfAACYHwAAmR8AAJofAACbHwAAnB8AAJ0fAACeHwAAnx8AAJAfAACRHwAAkh8AAJMfAACUHwAAlR8AAJYfAACXHwAAqB8AAKkfAACqHwAAqx8AAKwfAACtHwAArh8AAK8fAACgHwAAoR8AAKIfAACjHwAApB8AAKUfAACmHwAApx8AALgfAAC5HwAAvB8AALAfAACxHwAAcB8AAHEfAACzHwAARQMAAJkDAAC5AwAAzB8AAHIfAABzHwAAdB8AAHUfAADDHwAA2B8AANkfAADQHwAA0R8AAHYfAAB3HwAA6B8AAOkfAADsHwAA4B8AAOEfAAB6HwAAex8AAOUfAAD8HwAAeB8AAHkfAAB8HwAAfR8AAPMfAACpAwAAyQMAAEsAAABrAAAAxQAAAOUAAABOIQAAMiEAAHAhAABxIQAAciEAAHMhAAB0IQAAdSEAAHYhAAB3IQAAeCEAAHkhAAB6IQAAeyEAAHwhAAB9IQAAfiEAAH8hAABgIQAAYSEAAGIhAABjIQAAZCEAAGUhAABmIQAAZyEAAGghAABpIQAAaiEAAGshAABsIQAAbSEAAG4hAABvIQAAhCEAAIMhAADQJAAA0SQAANIkAADTJAAA1CQAANUkAADWJAAA1yQAANgkAADZJAAA2iQAANskAADcJAAA3SQAAN4kAADfJAAA4CQAAOEkAADiJAAA4yQAAOQkAADlJAAA5iQAAOckAADoJAAA6SQAALYkAAC3JAAAuCQAALkkAAC6JAAAuyQAALwkAAC9JAAAviQAAL8kAADAJAAAwSQAAMIkAADDJAAAxCQAAMUkAADGJAAAxyQAAMgkAADJJAAAyiQAAMskAADMJAAAzSQAAM4kAADPJAAAMCwAADEsAAAyLAAAMywAADQsAAA1LAAANiwAADcsAAA4LAAAOSwAADosAAA7LAAAPCwAAD0sAAA+LAAAPywAAEAsAABBLAAAQiwAAEMsAABELAAARSwAAEYsAABHLAAASCwAAEksAABKLAAASywAAEwsAABNLAAATiwAAE8sAABQLAAAUSwAAFIsAABTLAAAVCwAAFUsAABWLAAAVywAAFgsAABZLAAAWiwAAFssAABcLAAAXSwAAF4sAABfLAAAACwAAAEsAAACLAAAAywAAAQsAAAFLAAABiwAAAcsAAAILAAACSwAAAosAAALLAAADCwAAA0sAAAOLAAADywAABAsAAARLAAAEiwAABMsAAAULAAAFSwAABYsAAAXLAAAGCwAABksAAAaLAAAGywAABwsAAAdLAAAHiwAAB8sAAAgLAAAISwAACIsAAAjLAAAJCwAACUsAAAmLAAAJywAACgsAAApLAAAKiwAACssAAAsLAAALSwAAC4sAAAvLAAAYSwAAGAsAABrAgAAfR0AAH0CAAA6AgAAPgIAAGgsAABnLAAAaiwAAGksAABsLAAAaywAAFECAABxAgAAUAIAAFICAABzLAAAciwAAHYsAAB1LAAAPwIAAEACAACBLAAAgCwAAIMsAACCLAAAhSwAAIQsAACHLAAAhiwAAIksAACILAAAiywAAIosAACNLAAAjCwAAI8sAACOLAAAkSwAAJAsAACTLAAAkiwAAJUsAACULAAAlywAAJYsAACZLAAAmCwAAJssAACaLAAAnSwAAJwsAACfLAAAniwAAKEsAACgLAAAoywAAKIsAAClLAAApCwAAKcsAACmLAAAqSwAAKgsAACrLAAAqiwAAK0sAACsLAAArywAAK4sAACxLAAAsCwAALMsAACyLAAAtSwAALQsAAC3LAAAtiwAALksAAC4LAAAuywAALosAAC9LAAAvCwAAL8sAAC+LAAAwSwAAMAsAADDLAAAwiwAAMUsAADELAAAxywAAMYsAADJLAAAyCwAAMssAADKLAAAzSwAAMwsAADPLAAAziwAANEsAADQLAAA0ywAANIsAADVLAAA1CwAANcsAADWLAAA2SwAANgsAADbLAAA2iwAAN0sAADcLAAA3ywAAN4sAADhLAAA4CwAAOMsAADiLAAA7CwAAOssAADuLAAA7SwAAPMsAADyLAAAoBAAAKEQAACiEAAAoxAAAKQQAAClEAAAphAAAKcQAACoEAAAqRAAAKoQAACrEAAArBAAAK0QAACuEAAArxAAALAQAACxEAAAshAAALMQAAC0EAAAtRAAALYQAAC3EAAAuBAAALkQAAC6EAAAuxAAALwQAAC9EAAAvhAAAL8QAADAEAAAwRAAAMIQAADDEAAAxBAAAMUQAADHEAAAzRAAAEGmAABApgAAQ6YAAEKmAABFpgAARKYAAEemAABGpgAASaYAAEimAACIHAAAS6YAAIgcAABKpgAATaYAAEymAABPpgAATqYAAFGmAABQpgAAU6YAAFKmAABVpgAAVKYAAFemAABWpgAAWaYAAFimAABbpgAAWqYAAF2mAABcpgAAX6YAAF6mAABhpgAAYKYAAGOmAABipgAAZaYAAGSmAABnpgAAZqYAAGmmAABopgAAa6YAAGqmAABtpgAAbKYAAIGmAACApgAAg6YAAIKmAACFpgAAhKYAAIemAACGpgAAiaYAAIimAACLpgAAiqYAAI2mAACMpgAAj6YAAI6mAACRpgAAkKYAAJOmAACSpgAAlaYAAJSmAACXpgAAlqYAAJmmAACYpgAAm6YAAJqmAAAjpwAAIqcAACWnAAAkpwAAJ6cAACanAAAppwAAKKcAACunAAAqpwAALacAACynAAAvpwAALqcAADOnAAAypwAANacAADSnAAA3pwAANqcAADmnAAA4pwAAO6cAADqnAAA9pwAAPKcAAD+nAAA+pwAAQacAAECnAABDpwAAQqcAAEWnAABEpwAAR6cAAEanAABJpwAASKcAAEunAABKpwAATacAAEynAABPpwAATqcAAFGnAABQpwAAU6cAAFKnAABVpwAAVKcAAFenAABWpwAAWacAAFinAABbpwAAWqcAAF2nAABcpwAAX6cAAF6nAABhpwAAYKcAAGOnAABipwAAZacAAGSnAABnpwAAZqcAAGmnAABopwAAa6cAAGqnAABtpwAAbKcAAG+nAABupwAAeqcAAHmnAAB8pwAAe6cAAHkdAAB/pwAAfqcAAIGnAACApwAAg6cAAIKnAACFpwAAhKcAAIenAACGpwAAjKcAAIunAABlAgAAkacAAJCnAACTpwAAkqcAAMSnAACXpwAAlqcAAJmnAACYpwAAm6cAAJqnAACdpwAAnKcAAJ+nAACepwAAoacAAKCnAACjpwAAoqcAAKWnAACkpwAAp6cAAKanAACppwAAqKcAAGYCAABcAgAAYQIAAGwCAABqAgAAngIAAIcCAACdAgAAU6sAALWnAAC0pwAAt6cAALanAAC5pwAAuKcAALunAAC6pwAAvacAALynAAC/pwAAvqcAAMGn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AADkJxEAAQAAAEMAAADoJxEAAQAAAEQAAABwMBYAAQAAAEUAAADsJxEAAQAAAEYAAADwJxEAAQAAAEcAAAD0JxEAAQAAAEgAAAD4JxEAAQAAAEkAAAD8JxEAAQAAAEoAAAAAKBEAAQAAAEsAAAAEKBEAAgAAAEwAAAAMKBEAAQAAAE0AAAAQKBEAAQAAAE4AAAAUKBEAAQAAAE8AAAAYKBEAAQAAAFAAAAAcKBEAAQAAAFEAAAAgKBEAAQAAAFIAAAAkKBEAAQAAAFMAAAAoKBEAAgAAAFQAAAAwKBEAAQAAAFUAAAA0KBEAAQAAAFYAAAA4KBEAAQAAAFcAAAA8KBEAAQAAAFgAAABAKBEAAQAAAFkAAABEKBEAAQAAAFoAAABIKBEAAQAAAGEAAABMKBEAAQAAAGIAAABQKBEAAQAAAGMAAABUKBEAAQAAAGQAAABsMBYAAQAAAGUAAABYKBEAAQAAAGYAAABcKBEAAQAAAGcAAABgKBEAAQAAAGgAAABkKBEAAQAAAGkAAABoKBEAAQAAAGoAAABsKBEAAQAAAGsAAABwKBEAAgAAAGwAAAB4KBEAAQAAAG0AAAB8KBEAAQAAAG4AAACAKBEAAQAAAG8AAACEKBEAAQAAAHAAAACIKBEAAQAAAHEAAACMKBEAAQAAAHIAAACQKBEAAQAAAHMAAACUKBEAAgAAAHQAAACcKBEAAQAAAHUAAACgKBEAAQAAAHYAAACkKBEAAQAAAHcAAACoKBEAAQAAAHgAAACsKBEAAQAAAHkAAACwKBEAAQAAAHoAAAC0KBEAAQAAALUAAAC4KBEAAgAAAMAAAADAKBEAAQAAAMEAAADEKBEAAQAAAMIAAADIKBEAAQAAAMMAAADMKBEAAQAAAMQAAADQKBEAAQAAAMUAAADUKBEAAgAAAMYAAADcKBEAAQAAAMcAAADgKBEAAQAAAMgAAADkKBEAAQAAAMkAAADoKBEAAQAAAMoAAADsKBEAAQAAAMsAAADwKBEAAQAAAMwAAAD0KBEAAQAAAM0AAAD4KBEAAQAAAM4AAAD8KBEAAQAAAM8AAAAAKREAAQAAANAAAAAEKREAAQAAANEAAAAIKREAAQAAANIAAAAMKREAAQAAANMAAAAQKREAAQAAANQAAAAUKREAAQAAANUAAAAYKREAAQAAANYAAAAcKREAAQAAANgAAAAgKREAAQAAANkAAAAkKREAAQAAANoAAAAoKREAAQAAANsAAAAsKREAAQAAANwAAAAwKREAAQAAAN0AAAA0KREAAQAAAN4AAAA4KREAAQAAAN8AAAA8KREAAQAAAOAAAABAKREAAQAAAOEAAABEKREAAQAAAOIAAABIKREAAQAAAOMAAABMKREAAQAAAOQAAABQKREAAQAAAOUAAABUKREAAgAAAOYAAABcKREAAQAAAOcAAABgKREAAQAAAOgAAABkKREAAQAAAOkAAABoKREAAQAAAOoAAABsKREAAQAAAOsAAABwKREAAQAAAOwAAAB0KREAAQAAAO0AAAB4KREAAQAAAO4AAAB8KREAAQAAAO8AAACAKREAAQAAAPAAAACEKREAAQAAAPEAAACIKREAAQAAAPIAAACMKREAAQAAAPMAAACQKREAAQAAAPQAAACUKREAAQAAAPUAAACYKREAAQAAAPYAAACcKREAAQAAAPgAAACgKREAAQAAAPkAAACkKREAAQAAAPoAAACoKREAAQAAAPsAAACsKREAAQAAAPwAAACwKREAAQAAAP0AAAC0KREAAQAAAP4AAAC4KREAAQAAAP8AAAC8KREAAQAAAAABAADAKREAAQAAAAEBAADEKREAAQAAAAIBAADIKREAAQAAAAMBAADMKREAAQAAAAQBAADQKREAAQAAAAUBAADUKREAAQAAAAYBAADYKREAAQAAAAcBAADcKREAAQAAAAgBAADgKREAAQAAAAkBAADkKREAAQAAAAoBAADoKREAAQAAAAsBAADsKREAAQAAAAwBAADwKREAAQAAAA0BAAD0KREAAQAAAA4BAAD4KREAAQAAAA8BAAD8KREAAQAAABABAAAAKhEAAQAAABEBAAAEKhEAAQAAABIBAAAIKhEAAQAAABMBAAAMKhEAAQAAABQBAAAQKhEAAQAAABUBAAAUKhEAAQAAABYBAAAYKhEAAQAAABcBAAAcKhEAAQAAABgBAAAgKhEAAQAAABkBAAAkKhEAAQAAABoBAAAoKhEAAQAAABsBAAAsKhEAAQAAABwBAAAwKhEAAQAAAB0BAAA0KhEAAQAAAB4BAAA4KhEAAQAAAB8BAAA8KhEAAQAAACABAABAKhEAAQAAACEBAABEKhEAAQAAACIBAABIKhEAAQAAACMBAABMKhEAAQAAACQBAABQKhEAAQAAACUBAABUKhEAAQAAACYBAABYKhEAAQAAACcBAABcKhEAAQAAACgBAABgKhEAAQAAACkBAABkKhEAAQAAACoBAABoKhEAAQAAACsBAABsKhEAAQAAACwBAABwKhEAAQAAAC0BAAB0KhEAAQAAAC4BAAB4KhEAAQAAAC8BAAB8KhEAAQAAADIBAACAKhEAAQAAADMBAACEKhEAAQAAADQBAACIKhEAAQAAADUBAACMKhEAAQAAADYBAACQKhEAAQAAADcBAACUKhEAAQAAADkBAACYKhEAAQAAADoBAACcKhEAAQAAADsBAACgKhEAAQAAADwBAACkKhEAAQAAAD0BAACoKhEAAQAAAD4BAACsKhEAAQAAAD8BAACwKhEAAQAAAEABAAC0KhEAAQAAAEEBAAC4KhEAAQAAAEIBAAC8KhEAAQAAAEMBAADAKhEAAQAAAEQBAADEKhEAAQAAAEUBAADIKhEAAQAAAEYBAADMKhEAAQAAAEcBAADQKhEAAQAAAEgBAADUKhEAAQAAAEoBAADYKhEAAQAAAEsBAADcKhEAAQAAAEwBAADgKhEAAQAAAE0BAADkKhEAAQAAAE4BAADoKhEAAQAAAE8BAADsKhEAAQAAAFABAADwKhEAAQAAAFEBAAD0KhEAAQAAAFIBAAD4KhEAAQAAAFMBAAD8KhEAAQAAAFQBAAAAKxEAAQAAAFUBAAAEKxEAAQAAAFYBAAAIKxEAAQAAAFcBAAAMKxEAAQAAAFgBAAAQKxEAAQAAAFkBAAAUKxEAAQAAAFoBAAAYKxEAAQAAAFsBAAAcKxEAAQAAAFwBAAAgKxEAAQAAAF0BAAAkKxEAAQAAAF4BAAAoKxEAAQAAAF8BAAAsKxEAAQAAAGABAAAwKxEAAQAAAGEBAAA0KxEAAQAAAGIBAAA4KxEAAQAAAGMBAAA8KxEAAQAAAGQBAABAKxEAAQAAAGUBAABEKxEAAQAAAGYBAABIKxEAAQAAAGcBAABMKxEAAQAAAGgBAABQKxEAAQAAAGkBAABUKxEAAQAAAGoBAABYKxEAAQAAAGsBAABcKxEAAQAAAGwBAABgKxEAAQAAAG0BAABkKxEAAQAAAG4BAABoKxEAAQAAAG8BAABsKxEAAQAAAHABAABwKxEAAQAAAHEBAAB0KxEAAQAAAHIBAAB4KxEAAQAAAHMBAAB8KxEAAQAAAHQBAACAKxEAAQAAAHUBAACEKxEAAQAAAHYBAACIKxEAAQAAAHcBAACMKxEAAQAAAHgBAACQKxEAAQAAAHkBAACUKxEAAQAAAHoBAACYKxEAAQAAAHsBAACcKxEAAQAAAHwBAACgKxEAAQAAAH0BAACkKxEAAQAAAH4BAACoKxEAAQAAAH8BAACsKxEAAgAAAIABAAC0KxEAAQAAAIEBAAC4KxEAAQAAAIIBAAC8KxEAAQAAAIMBAADAKxEAAQAAAIQBAADEKxEAAQAAAIUBAADIKxEAAQAAAIYBAADMKxEAAQAAAIcBAADQKxEAAQAAAIgBAADUKxEAAQAAAIkBAADYKxEAAQAAAIoBAADcKxEAAQAAAIsBAADgKxEAAQAAAIwBAADkKxEAAQAAAI4BAADoKxEAAQAAAI8BAADsKxEAAQAAAJABAADwKxEAAQAAAJEBAAD0KxEAAQAAAJIBAAD4KxEAAQAAAJMBAAD8KxEAAQAAAJQBAAAALBEAAQAAAJUBAAAELBEAAQAAAJYBAAAILBEAAQAAAJcBAAAMLBEAAQAAAJgBAAAQLBEAAQAAAJkBAAAULBEAAQAAAJoBAAAYLBEAAQAAAJwBAAAcLBEAAQAAAJ0BAAAgLBEAAQAAAJ4BAAAkLBEAAQAAAJ8BAAAoLBEAAQAAAKABAAAsLBEAAQAAAKEBAAAwLBEAAQAAAKIBAAA0LBEAAQAAAKMBAAA4LBEAAQAAAKQBAAA8LBEAAQAAAKUBAABALBEAAQAAAKYBAABELBEAAQAAAKcBAABILBEAAQAAAKgBAABMLBEAAQAAAKkBAABQLBEAAQAAAKwBAABULBEAAQAAAK0BAABYLBEAAQAAAK4BAABcLBEAAQAAAK8BAABgLBEAAQAAALABAABkLBEAAQAAALEBAABoLBEAAQAAALIBAABsLBEAAQAAALMBAABwLBEAAQAAALQBAAB0LBEAAQAAALUBAAB4LBEAAQAAALYBAAB8LBEAAQAAALcBAACALBEAAQAAALgBAACELBEAAQAAALkBAACILBEAAQAAALwBAACMLBEAAQAAAL0BAACQLBEAAQAAAL8BAACULBEAAQAAAMQBAACYLBEAAgAAAMUBAACgLBEAAgAAAMYBAACoLBEAAgAAAMcBAACwLBEAAgAAAMgBAAC4LBEAAgAAAMkBAADALBEAAgAAAMoBAADILBEAAgAAAMsBAADQLBEAAgAAAMwBAADYLBEAAgAAAM0BAADgLBEAAQAAAM4BAADkLBEAAQAAAM8BAADoLBEAAQAAANABAADsLBEAAQAAANEBAADwLBEAAQAAANIBAAD0LBEAAQAAANMBAAD4LBEAAQAAANQBAAD8LBEAAQAAANUBAAAALREAAQAAANYBAAAELREAAQAAANcBAAAILREAAQAAANgBAAAMLREAAQAAANkBAAAQLREAAQAAANoBAAAULREAAQAAANsBAAAYLREAAQAAANwBAAAcLREAAQAAAN0BAAAgLREAAQAAAN4BAAAkLREAAQAAAN8BAAAoLREAAQAAAOABAAAsLREAAQAAAOEBAAAwLREAAQAAAOIBAAA0LREAAQAAAOMBAAA4LREAAQAAAOQBAAA8LREAAQAAAOUBAABALREAAQAAAOYBAABELREAAQAAAOcBAABILREAAQAAAOgBAABMLREAAQAAAOkBAABQLREAAQAAAOoBAABULREAAQAAAOsBAABYLREAAQAAAOwBAABcLREAAQAAAO0BAABgLREAAQAAAO4BAABkLREAAQAAAO8BAABoLREAAQAAAPEBAABsLREAAgAAAPIBAAB0LREAAgAAAPMBAAB8LREAAgAAAPQBAACELREAAQAAAPUBAACILREAAQAAAPYBAACMLREAAQAAAPcBAACQLREAAQAAAPgBAACULREAAQAAAPkBAACYLREAAQAAAPoBAACcLREAAQAAAPsBAACgLREAAQAAAPwBAACkLREAAQAAAP0BAACoLREAAQAAAP4BAACsLREAAQAAAP8BAACwLREAAQAAAAACAAC0LREAAQAAAAECAAC4LREAAQAAAAICAAC8LREAAQAAAAMCAADALREAAQAAAAQCAADELREAAQAAAAUCAADILREAAQAAAAYCAADMLREAAQAAAAcCAADQLREAAQAAAAgCAADULREAAQAAAAkCAADYLREAAQAAAAoCAADcLREAAQAAAAsCAADgLREAAQAAAAwCAADkLREAAQAAAA0CAADoLREAAQAAAA4CAADsLREAAQAAAA8CAADwLREAAQAAABACAAD0LREAAQAAABECAAD4LREAAQAAABICAAD8LREAAQAAABMCAAAALhEAAQAAABQCAAAELhEAAQAAABUCAAAILhEAAQAAABYCAAAMLhEAAQAAABcCAAAQLhEAAQAAABgCAAAULhEAAQAAABkCAAAYLhEAAQAAABoCAAAcLhEAAQAAABsCAAAgLhEAAQAAABwCAAAkLhEAAQAAAB0CAAAoLhEAAQAAAB4CAAAsLhEAAQAAAB8CAAAwLhEAAQAAACACAAA0LhEAAQAAACICAAA4LhEAAQAAACMCAAA8LhEAAQAAACQCAABALhEAAQAAACUCAABELhEAAQAAACYCAABILhEAAQAAACcCAABMLhEAAQAAACgCAABQLhEAAQAAACkCAABULhEAAQAAACoCAABYLhEAAQAAACsCAABcLhEAAQAAACwCAABgLhEAAQAAAC0CAABkLhEAAQAAAC4CAABoLhEAAQAAAC8CAABsLhEAAQAAADACAABwLhEAAQAAADECAAB0LhEAAQAAADICAAB4LhEAAQAAADMCAAB8LhEAAQAAADoCAACALhEAAQAAADsCAACELhEAAQAAADwCAACILhEAAQAAAD0CAACMLhEAAQAAAD4CAACQLhEAAQAAAD8CAACULhEAAQAAAEACAACYLhEAAQAAAEECAACcLhEAAQAAAEICAACgLhEAAQAAAEMCAACkLhEAAQAAAEQCAACoLhEAAQAAAEUCAACsLhEAAQAAAEYCAACwLhEAAQAAAEcCAAC0LhEAAQAAAEgCAAC4LhEAAQAAAEkCAAC8LhEAAQAAAEoCAADALhEAAQAAAEsCAADELhEAAQAAAEwCAADILhEAAQAAAE0CAADMLhEAAQAAAE4CAADQLhEAAQAAAE8CAADULhEAAQAAAFACAADYLhEAAQAAAFECAADcLhEAAQAAAFICAADgLhEAAQAAAFMCAADkLhEAAQAAAFQCAADoLhEAAQAAAFYCAADsLhEAAQAAAFcCAADwLhEAAQAAAFkCAAD0LhEAAQAAAFsCAAD4LhEAAQAAAFwCAAD8LhEAAQAAAGACAAAALxEAAQAAAGECAAAELxEAAQAAAGMCAAAILxEAAQAAAGUCAAAMLxEAAQAAAGYCAAAQLxEAAQAAAGgCAAAULxEAAQAAAGkCAAAYLxEAAQAAAGoCAAAcLxEAAQAAAGsCAAAgLxEAAQAAAGwCAAAkLxEAAQAAAG8CAAAoLxEAAQAAAHECAAAsLxEAAQAAAHICAAAwLxEAAQAAAHUCAAA0LxEAAQAAAH0CAAA4LxEAAQAAAIACAAA8LxEAAQAAAIICAABALxEAAQAAAIMCAABELxEAAQAAAIcCAABILxEAAQAAAIgCAABMLxEAAQAAAIkCAABQLxEAAQAAAIoCAABULxEAAQAAAIsCAABYLxEAAQAAAIwCAABcLxEAAQAAAJICAABgLxEAAQAAAJ0CAABkLxEAAQAAAJ4CAABoLxEAAQAAAEUDAABsLxEAAwAAAHADAAB4LxEAAQAAAHEDAAB8LxEAAQAAAHIDAACALxEAAQAAAHMDAACELxEAAQAAAHYDAACILxEAAQAAAHcDAACMLxEAAQAAAHsDAACQLxEAAQAAAHwDAACULxEAAQAAAH0DAACYLxEAAQAAAH8DAACcLxEAAQAAAIYDAACgLxEAAQAAAIgDAACkLxEAAQAAAIkDAACoLxEAAQAAAIoDAACsLxEAAQAAAIwDAACwLxEAAQAAAI4DAAC0LxEAAQAAAI8DAAC4LxEAAQAAAJEDAAC8LxEAAQAAAJIDAADALxEAAgAAAJMDAADILxEAAQAAAJQDAADMLxEAAQAAAJUDAADQLxEAAgAAAJYDAADYLxEAAQAAAJcDAADcLxEAAQAAAJgDAADgLxEAAwAAAJkDAADsLxEAAwAAAJoDAAD4LxEAAgAAAJsDAAAAMBEAAQAAAJwDAAAEMBEAAgAAAJ0DAAAMMBEAAQAAAJ4DAAAQMBEAAQAAAJ8DAAAUMBEAAQAAAKADAAAYMBEAAgAAAKEDAAAgMBEAAgAAAKMDAAAoMBEAAgAAAKQDAAAwMBEAAQAAAKUDAAA0MBEAAQAAAKYDAAA4MBEAAgAAAKcDAABAMBEAAQAAAKgDAABEMBEAAQAAAKkDAABIMBEAAgAAAKoDAABQMBEAAQAAAKsDAABUMBEAAQAAAKwDAABYMBEAAQAAAK0DAABcMBEAAQAAAK4DAABgMBEAAQAAAK8DAABkMBEAAQAAALEDAABoMBEAAQAAALIDAABsMBEAAgAAALMDAAB0MBEAAQAAALQDAAB4MBEAAQAAALUDAAB8MBEAAgAAALYDAACEMBEAAQAAALcDAACIMBEAAQAAALgDAACMMBEAAwAAALkDAACYMBEAAwAAALoDAACkMBEAAgAAALsDAACsMBEAAQAAALwDAACwMBEAAgAAAL0DAAC4MBEAAQAAAL4DAAC8MBEAAQAAAL8DAADAMBEAAQAAAMADAADEMBEAAgAAAMEDAADMMBEAAgAAAMIDAADUMBEAAgAAAMMDAADcMBEAAgAAAMQDAADkMBEAAQAAAMUDAADoMBEAAQAAAMYDAADsMBEAAgAAAMcDAAD0MBEAAQAAAMgDAAD4MBEAAQAAAMkDAAD8MBEAAgAAAMoDAAAEMREAAQAAAMsDAAAIMREAAQAAAMwDAAAMMREAAQAAAM0DAAAQMREAAQAAAM4DAAAUMREAAQAAAM8DAAAYMREAAQAAANADAAAcMREAAgAAANEDAAAkMREAAwAAANUDAAAwMREAAgAAANYDAAA4MREAAgAAANcDAABAMREAAQAAANgDAABEMREAAQAAANkDAABIMREAAQAAANoDAABMMREAAQAAANsDAABQMREAAQAAANwDAABUMREAAQAAAN0DAABYMREAAQAAAN4DAABcMREAAQAAAN8DAABgMREAAQAAAOADAABkMREAAQAAAOEDAABoMREAAQAAAOIDAABsMREAAQAAAOMDAABwMREAAQAAAOQDAAB0MREAAQAAAOUDAAB4MREAAQAAAOYDAAB8MREAAQAAAOcDAACAMREAAQAAAOgDAACEMREAAQAAAOkDAACIMREAAQAAAOoDAACMMREAAQAAAOsDAACQMREAAQAAAOwDAACUMREAAQAAAO0DAACYMREAAQAAAO4DAACcMREAAQAAAO8DAACgMREAAQAAAPADAACkMREAAgAAAPEDAACsMREAAgAAAPIDAAC0MREAAQAAAPMDAAC4MREAAQAAAPQDAAC8MREAAwAAAPUDAADIMREAAgAAAPcDAADQMREAAQAAAPgDAADUMREAAQAAAPkDAADYMREAAQAAAPoDAADcMREAAQAAAPsDAADgMREAAQAAAP0DAADkMREAAQAAAP4DAADoMREAAQAAAP8DAADsMREAAQAAAAAEAADwMREAAQAAAAEEAAD0MREAAQAAAAIEAAD4MREAAQAAAAMEAAD8MREAAQAAAAQEAAAAMhEAAQAAAAUEAAAEMhEAAQAAAAYEAAAIMhEAAQAAAAcEAAAMMhEAAQAAAAgEAAAQMhEAAQAAAAkEAAAUMhEAAQAAAAoEAAAYMhEAAQAAAAsEAAAcMhEAAQAAAAwEAAAgMhEAAQAAAA0EAAAkMhEAAQAAAA4EAAAoMhEAAQAAAA8EAAAsMhEAAQAAABAEAAAwMhEAAQAAABEEAAA0MhEAAQAAABIEAAA4MhEAAgAAABMEAABAMhEAAQAAABQEAABEMhEAAgAAABUEAABMMhEAAQAAABYEAABQMhEAAQAAABcEAABUMhEAAQAAABgEAABYMhEAAQAAABkEAABcMhEAAQAAABoEAABgMhEAAQAAABsEAABkMhEAAQAAABwEAABoMhEAAQAAAB0EAABsMhEAAQAAAB4EAABwMhEAAgAAAB8EAAB4MhEAAQAAACAEAAB8MhEAAQAAACEEAACAMhEAAgAAACIEAACIMhEAAwAAACMEAACUMhEAAQAAACQEAACYMhEAAQAAACUEAACcMhEAAQAAACYEAACgMhEAAQAAACcEAACkMhEAAQAAACgEAACoMhEAAQAAACkEAACsMhEAAQAAACoEAACwMhEAAgAAACsEAAC4MhEAAQAAACwEAAC8MhEAAQAAAC0EAADAMhEAAQAAAC4EAADEMhEAAQAAAC8EAADIMhEAAQAAADAEAADMMhEAAQAAADEEAADQMhEAAQAAADIEAADUMhEAAgAAADMEAADcMhEAAQAAADQEAADgMhEAAgAAADUEAADoMhEAAQAAADYEAADsMhEAAQAAADcEAADwMhEAAQAAADgEAAD0MhEAAQAAADkEAAD4MhEAAQAAADoEAAD8MhEAAQAAADsEAAAAMxEAAQAAADwEAAAEMxEAAQAAAD0EAAAIMxEAAQAAAD4EAAAMMxEAAgAAAD8EAAAUMxEAAQAAAEAEAAAYMxEAAQAAAEEEAAAcMxEAAgAAAEIEAAAkMxEAAwAAAEMEAAAwMxEAAQAAAEQEAAA0MxEAAQAAAEUEAAA4MxEAAQAAAEYEAAA8MxEAAQAAAEcEAABAMxEAAQAAAEgEAABEMxEAAQAAAEkEAABIMxEAAQAAAEoEAABMMxEAAgAAAEsEAABUMxEAAQAAAEwEAABYMxEAAQAAAE0EAABcMxEAAQAAAE4EAABgMxEAAQAAAE8EAABkMxEAAQAAAFAEAABoMxEAAQAAAFEEAABsMxEAAQAAAFIEAABwMxEAAQAAAFMEAAB0MxEAAQAAAFQEAAB4MxEAAQAAAFUEAAB8MxEAAQAAAFYEAACAMxEAAQAAAFcEAACEMxEAAQAAAFgEAACIMxEAAQAAAFkEAACMMxEAAQAAAFoEAACQMxEAAQAAAFsEAACUMxEAAQAAAFwEAACYMxEAAQAAAF0EAACcMxEAAQAAAF4EAACgMxEAAQAAAF8EAACkMxEAAQAAAGAEAACoMxEAAQAAAGEEAACsMxEAAQAAAGIEAACwMxEAAgAAAGMEAAC4MxEAAgAAAGQEAADAMxEAAQAAAGUEAADEMxEAAQAAAGYEAADIMxEAAQAAAGcEAADMMxEAAQAAAGgEAADQMxEAAQAAAGkEAADUMxEAAQAAAGoEAADYMxEAAQAAAGsEAADcMxEAAQAAAGwEAADgMxEAAQAAAG0EAADkMxEAAQAAAG4EAADoMxEAAQAAAG8EAADsMxEAAQAAAHAEAADwMxEAAQAAAHEEAAD0MxEAAQAAAHIEAAD4MxEAAQAAAHMEAAD8MxEAAQAAAHQEAAAANBEAAQAAAHUEAAAENBEAAQAAAHYEAAAINBEAAQAAAHcEAAAMNBEAAQAAAHgEAAAQNBEAAQAAAHkEAAAUNBEAAQAAAHoEAAAYNBEAAQAAAHsEAAAcNBEAAQAAAHwEAAAgNBEAAQAAAH0EAAAkNBEAAQAAAH4EAAAoNBEAAQAAAH8EAAAsNBEAAQAAAIAEAAAwNBEAAQAAAIEEAAA0NBEAAQAAAIoEAAA4NBEAAQAAAIsEAAA8NBEAAQAAAIwEAABANBEAAQAAAI0EAABENBEAAQAAAI4EAABINBEAAQAAAI8EAABMNBEAAQAAAJAEAABQNBEAAQAAAJEEAABUNBEAAQAAAJIEAABYNBEAAQAAAJMEAABcNBEAAQAAAJQEAABgNBEAAQAAAJUEAABkNBEAAQAAAJYEAABoNBEAAQAAAJcEAABsNBEAAQAAAJgEAABwNBEAAQAAAJkEAAB0NBEAAQAAAJoEAAB4NBEAAQAAAJsEAAB8NBEAAQAAAJwEAACANBEAAQAAAJ0EAACENBEAAQAAAJ4EAACINBEAAQAAAJ8EAACMNBEAAQAAAKAEAACQNBEAAQAAAKEEAACUNBEAAQAAAKIEAACYNBEAAQAAAKMEAACcNBEAAQAAAKQEAACgNBEAAQAAAKUEAACkNBEAAQAAAKYEAACoNBEAAQAAAKcEAACsNBEAAQAAAKgEAACwNBEAAQAAAKkEAAC0NBEAAQAAAKoEAAC4NBEAAQAAAKsEAAC8NBEAAQAAAKwEAADANBEAAQAAAK0EAADENBEAAQAAAK4EAADINBEAAQAAAK8EAADMNBEAAQAAALAEAADQNBEAAQAAALEEAADUNBEAAQAAALIEAADYNBEAAQAAALMEAADcNBEAAQAAALQEAADgNBEAAQAAALUEAADkNBEAAQAAALYEAADoNBEAAQAAALcEAADsNBEAAQAAALgEAADwNBEAAQAAALkEAAD0NBEAAQAAALoEAAD4NBEAAQAAALsEAAD8NBEAAQAAALwEAAAANREAAQAAAL0EAAAENREAAQAAAL4EAAAINREAAQAAAL8EAAAMNREAAQAAAMAEAAAQNREAAQAAAMEEAAAUNREAAQAAAMIEAAAYNREAAQAAAMMEAAAcNREAAQAAAMQEAAAgNREAAQAAAMUEAAAkNREAAQAAAMYEAAAoNREAAQAAAMcEAAAsNREAAQAAAMgEAAAwNREAAQAAAMkEAAA0NREAAQAAAMoEAAA4NREAAQAAAMsEAAA8NREAAQAAAMwEAABANREAAQAAAM0EAABENREAAQAAAM4EAABINREAAQAAAM8EAABMNREAAQAAANAEAABQNREAAQAAANEEAABUNREAAQAAANIEAABYNREAAQAAANMEAABcNREAAQAAANQEAABgNREAAQAAANUEAABkNREAAQAAANYEAABoNREAAQAAANcEAABsNREAAQAAANgEAABwNREAAQAAANkEAAB0NREAAQAAANoEAAB4NREAAQAAANsEAAB8NREAAQAAANwEAACANREAAQAAAN0EAACENREAAQAAAN4EAACINREAAQAAAN8EAACMNREAAQAAAOAEAACQNREAAQAAAOEEAACUNREAAQAAAOIEAACYNREAAQAAAOMEAACcNREAAQAAAOQEAACgNREAAQAAAOUEAACkNREAAQAAAOYEAACoNREAAQAAAOcEAACsNREAAQAAAOgEAACwNREAAQAAAOkEAAC0NREAAQAAAOoEAAC4NREAAQAAAOsEAAC8NREAAQAAAOwEAADANREAAQAAAO0EAADENREAAQAAAO4EAADINREAAQAAAO8EAADMNREAAQAAAPAEAADQNREAAQAAAPEEAADUNREAAQAAAPIEAADYNREAAQAAAPMEAADcNREAAQAAAPQEAADgNREAAQAAAPUEAADkNREAAQAAAPYEAADoNREAAQAAAPcEAADsNREAAQAAAPgEAADwNREAAQAAAPkEAAD0NREAAQAAAPoEAAD4NREAAQAAAPsEAAD8NREAAQAAAPwEAAAANhEAAQAAAP0EAAAENhEAAQAAAP4EAAAINhEAAQAAAP8EAAAMNhEAAQAAAAAFAAAQNhEAAQAAAAEFAAAUNhEAAQAAAAIFAAAYNhEAAQAAAAMFAAAcNhEAAQAAAAQFAAAgNhEAAQAAAAUFAAAkNhEAAQAAAAYFAAAoNhEAAQAAAAcFAAAsNhEAAQAAAAgFAAAwNhEAAQAAAAkFAAA0NhEAAQAAAAoFAAA4NhEAAQAAAAsFAAA8NhEAAQAAAAwFAABANhEAAQAAAA0FAABENhEAAQAAAA4FAABINhEAAQAAAA8FAABMNhEAAQAAABAFAABQNhEAAQAAABEFAABUNhEAAQAAABIFAABYNhEAAQAAABMFAABcNhEAAQAAABQFAABgNhEAAQAAABUFAABkNhEAAQAAABYFAABoNhEAAQAAABcFAABsNhEAAQAAABgFAABwNhEAAQAAABkFAAB0NhEAAQAAABoFAAB4NhEAAQAAABsFAAB8NhEAAQAAABwFAACANhEAAQAAAB0FAACENhEAAQAAAB4FAACINhEAAQAAAB8FAACMNhEAAQAAACAFAACQNhEAAQAAACEFAACUNhEAAQAAACIFAACYNhEAAQAAACMFAACcNhEAAQAAACQFAACgNhEAAQAAACUFAACkNhEAAQAAACYFAACoNhEAAQAAACcFAACsNhEAAQAAACgFAACwNhEAAQAAACkFAAC0NhEAAQAAACoFAAC4NhEAAQAAACsFAAC8NhEAAQAAACwFAADANhEAAQAAAC0FAADENhEAAQAAAC4FAADINhEAAQAAAC8FAADMNhEAAQAAADEFAADQNhEAAQAAADIFAADUNhEAAQAAADMFAADYNhEAAQAAADQFAADcNhEAAQAAADUFAADgNhEAAQAAADYFAADkNhEAAQAAADcFAADoNhEAAQAAADgFAADsNhEAAQAAADkFAADwNhEAAQAAADoFAAD0NhEAAQAAADsFAAD4NhEAAQAAADwFAAD8NhEAAQAAAD0FAAAANxEAAQAAAD4FAAAENxEAAQAAAD8FAAAINxEAAQAAAEAFAAAMNxEAAQAAAEEFAAAQNxEAAQAAAEIFAAAUNxEAAQAAAEMFAAAYNxEAAQAAAEQFAAAcNxEAAQAAAEUFAAAgNxEAAQAAAEYFAAAkNxEAAQAAAEcFAAAoNxEAAQAAAEgFAAAsNxEAAQAAAEkFAAAwNxEAAQAAAEoFAAA0NxEAAQAAAEsFAAA4NxEAAQAAAEwFAAA8NxEAAQAAAE0FAABANxEAAQAAAE4FAABENxEAAQAAAE8FAABINxEAAQAAAFAFAABMNxEAAQAAAFEFAABQNxEAAQAAAFIFAABUNxEAAQAAAFMFAABYNxEAAQAAAFQFAABcNxEAAQAAAFUFAABgNxEAAQAAAFYFAABkNxEAAQAAAGEFAABoNxEAAQAAAGIFAABsNxEAAQAAAGMFAABwNxEAAQAAAGQFAAB0NxEAAQAAAGUFAAB4NxEAAQAAAGYFAAB8NxEAAQAAAGcFAACANxEAAQAAAGgFAACENxEAAQAAAGkFAACINxEAAQAAAGoFAACMNxEAAQAAAGsFAACQNxEAAQAAAGwFAACUNxEAAQAAAG0FAACYNxEAAQAAAG4FAACcNxEAAQAAAG8FAACgNxEAAQAAAHAFAACkNxEAAQAAAHEFAACoNxEAAQAAAHIFAACsNxEAAQAAAHMFAACwNxEAAQAAAHQFAAC0NxEAAQAAAHUFAAC4NxEAAQAAAHYFAAC8NxEAAQAAAHcFAADANxEAAQAAAHgFAADENxEAAQAAAHkFAADINxEAAQAAAHoFAADMNxEAAQAAAHsFAADQNxEAAQAAAHwFAADUNxEAAQAAAH0FAADYNxEAAQAAAH4FAADcNxEAAQAAAH8FAADgNxEAAQAAAIAFAADkNxEAAQAAAIEFAADoNxEAAQAAAIIFAADsNxEAAQAAAIMFAADwNxEAAQAAAIQFAAD0NxEAAQAAAIUFAAD4NxEAAQAAAIYFAAD8NxEAAQAAAKAQAAAAOBEAAQAAAKEQAAAEOBEAAQAAAKIQAAAIOBEAAQAAAKMQAAAMOBEAAQAAAKQQAAAQOBEAAQAAAKUQAAAUOBEAAQAAAKYQAAAYOBEAAQAAAKcQAAAcOBEAAQAAAKgQAAAgOBEAAQAAAKkQAAAkOBEAAQAAAKoQAAAoOBEAAQAAAKsQAAAsOBEAAQAAAKwQAAAwOBEAAQAAAK0QAAA0OBEAAQAAAK4QAAA4OBEAAQAAAK8QAAA8OBEAAQAAALAQAABAOBEAAQAAALEQAABEOBEAAQAAALIQAABIOBEAAQAAALMQAABMOBEAAQAAALQQAABQOBEAAQAAALUQAABUOBEAAQAAALYQAABYOBEAAQAAALcQAABcOBEAAQAAALgQAABgOBEAAQAAALkQAABkOBEAAQAAALoQAABoOBEAAQAAALsQAABsOBEAAQAAALwQAABwOBEAAQAAAL0QAAB0OBEAAQAAAL4QAAB4OBEAAQAAAL8QAAB8OBEAAQAAAMAQAACAOBEAAQAAAMEQAACEOBEAAQAAAMIQAACIOBEAAQAAAMMQAACMOBEAAQAAAMQQAACQOBEAAQAAAMUQAACUOBEAAQAAAMcQAACYOBEAAQAAAM0QAACcOBEAAQAAANAQAACgOBEAAQAAANEQAACkOBEAAQAAANIQAACoOBEAAQAAANMQAACsOBEAAQAAANQQAACwOBEAAQAAANUQAAC0OBEAAQAAANYQAAC4OBEAAQAAANcQAAC8OBEAAQAAANgQAADAOBEAAQAAANkQAADEOBEAAQAAANoQAADIOBEAAQAAANsQAADMOBEAAQAAANwQAADQOBEAAQAAAN0QAADUOBEAAQAAAN4QAADYOBEAAQAAAN8QAADcOBEAAQAAAOAQAADgOBEAAQAAAOEQAADkOBEAAQAAAOIQAADoOBEAAQAAAOMQAADsOBEAAQAAAOQQAADwOBEAAQAAAOUQAAD0OBEAAQAAAOYQAAD4OBEAAQAAAOcQAAD8OBEAAQAAAOgQAAAAOREAAQAAAOkQAAAEOREAAQAAAOoQAAAIOREAAQAAAOsQAAAMOREAAQAAAOwQAAAQOREAAQAAAO0QAAAUOREAAQAAAO4QAAAYOREAAQAAAO8QAAAcOREAAQAAAPAQAAAgOREAAQAAAPEQAAAkOREAAQAAAPIQAAAoOREAAQAAAPMQAAAsOREAAQAAAPQQAAAwOREAAQAAAPUQAAA0OREAAQAAAPYQAAA4OREAAQAAAPcQAAA8OREAAQAAAPgQAABAOREAAQAAAPkQAABEOREAAQAAAPoQAABIOREAAQAAAP0QAABMOREAAQAAAP4QAABQOREAAQAAAP8QAABUOREAAQAAAKATAABYOREAAQAAAKETAABcOREAAQAAAKITAABgOREAAQAAAKMTAABkOREAAQAAAKQTAABoOREAAQAAAKUTAABsOREAAQAAAKYTAABwOREAAQAAAKcTAAB0OREAAQAAAKgTAAB4OREAAQAAAKkTAAB8OREAAQAAAKoTAACAOREAAQAAAKsTAACEOREAAQAAAKwTAACIOREAAQAAAK0TAACMOREAAQAAAK4TAACQOREAAQAAAK8TAACUOREAAQAAALATAACYOREAAQAAALETAACcOREAAQAAALITAACgOREAAQAAALMTAACkOREAAQAAALQTAACoOREAAQAAALUTAACsOREAAQAAALYTAACwOREAAQAAALcTAAC0OREAAQAAALgTAAC4OREAAQAAALkTAAC8OREAAQAAALoTAADAOREAAQAAALsTAADEOREAAQAAALwTAADIOREAAQAAAL0TAADMOREAAQAAAL4TAADQOREAAQAAAL8TAADUOREAAQAAAMATAADYOREAAQAAAMETAADcOREAAQAAAMITAADgOREAAQAAAMMTAADkOREAAQAAAMQTAADoOREAAQAAAMUTAADsOREAAQAAAMYTAADwOREAAQAAAMcTAAD0OREAAQAAAMgTAAD4OREAAQAAAMkTAAD8OREAAQAAAMoTAAAAOhEAAQAAAMsTAAAEOhEAAQAAAMwTAAAIOhEAAQAAAM0TAAAMOhEAAQAAAM4TAAAQOhEAAQAAAM8TAAAUOhEAAQAAANATAAAYOhEAAQAAANETAAAcOhEAAQAAANITAAAgOhEAAQAAANMTAAAkOhEAAQAAANQTAAAoOhEAAQAAANUTAAAsOhEAAQAAANYTAAAwOhEAAQAAANcTAAA0OhEAAQAAANgTAAA4OhEAAQAAANkTAAA8OhEAAQAAANoTAABAOhEAAQAAANsTAABEOhEAAQAAANwTAABIOhEAAQAAAN0TAABMOhEAAQAAAN4TAABQOhEAAQAAAN8TAABUOhEAAQAAAOATAABYOhEAAQAAAOETAABcOhEAAQAAAOITAABgOhEAAQAAAOMTAABkOhEAAQAAAOQTAABoOhEAAQAAAOUTAABsOhEAAQAAAOYTAABwOhEAAQAAAOcTAAB0OhEAAQAAAOgTAAB4OhEAAQAAAOkTAAB8OhEAAQAAAOoTAACAOhEAAQAAAOsTAACEOhEAAQAAAOwTAACIOhEAAQAAAO0TAACMOhEAAQAAAO4TAACQOhEAAQAAAO8TAACUOhEAAQAAAPATAACYOhEAAQAAAPETAACcOhEAAQAAAPITAACgOhEAAQAAAPMTAACkOhEAAQAAAPQTAACoOhEAAQAAAPUTAACsOhEAAQAAAPgTAACwOhEAAQAAAPkTAAC0OhEAAQAAAPoTAAC4OhEAAQAAAPsTAAC8OhEAAQAAAPwTAADAOhEAAQAAAP0TAADEOhEAAQAAAIAcAADIOhEAAgAAAIEcAADQOhEAAgAAAIIcAADYOhEAAgAAAIMcAADgOhEAAgAAAIQcAADoOhEAAwAAAIUcAAD0OhEAAwAAAIYcAAAAOxEAAgAAAIccAAAIOxEAAgAAAIgcAAAQOxEAAgAAAJAcAAAYOxEAAQAAAJEcAAAcOxEAAQAAAJIcAAAgOxEAAQAAAJMcAAAkOxEAAQAAAJQcAAAoOxEAAQAAAJUcAAAsOxEAAQAAAJYcAAAwOxEAAQAAAJccAAA0OxEAAQAAAJgcAAA4OxEAAQAAAJkcAAA8OxEAAQAAAJocAABAOxEAAQAAAJscAABEOxEAAQAAAJwcAABIOxEAAQAAAJ0cAABMOxEAAQAAAJ4cAABQOxEAAQAAAJ8cAABUOxEAAQAAAKAcAABYOxEAAQAAAKEcAABcOxEAAQAAAKIcAABgOxEAAQAAAKMcAABkOxEAAQAAAKQcAABoOxEAAQAAAKUcAABsOxEAAQAAAKYcAABwOxEAAQAAAKccAAB0OxEAAQAAAKgcAAB4OxEAAQAAAKkcAAB8OxEAAQAAAKocAACAOxEAAQAAAKscAACEOxEAAQAAAKwcAACIOxEAAQAAAK0cAACMOxEAAQAAAK4cAACQOxEAAQAAAK8cAACUOxEAAQAAALAcAACYOxEAAQAAALEcAACcOxEAAQAAALIcAACgOxEAAQAAALMcAACkOxEAAQAAALQcAACoOxEAAQAAALUcAACsOxEAAQAAALYcAACwOxEAAQAAALccAAC0OxEAAQAAALgcAAC4OxEAAQAAALkcAAC8OxEAAQAAALocAADAOxEAAQAAAL0cAADEOxEAAQAAAL4cAADIOxEAAQAAAL8cAADMOxEAAQAAAHkdAADQOxEAAQAAAH0dAADUOxEAAQAAAI4dAADYOxEAAQAAAAAeAADcOxEAAQAAAAEeAADgOxEAAQAAAAIeAADkOxEAAQAAAAMeAADoOxEAAQAAAAQeAADsOxEAAQAAAAUeAADwOxEAAQAAAAYeAAD0OxEAAQAAAAceAAD4OxEAAQAAAAgeAAD8OxEAAQAAAAkeAAAAPBEAAQAAAAoeAAAEPBEAAQAAAAseAAAIPBEAAQAAAAweAAAMPBEAAQAAAA0eAAAQPBEAAQAAAA4eAAAUPBEAAQAAAA8eAAAYPBEAAQAAABAeAAAcPBEAAQAAABEeAAAgPBEAAQAAABIeAAAkPBEAAQAAABMeAAAoPBEAAQAAABQeAAAsPBEAAQAAABUeAAAwPBEAAQAAABYeAAA0PBEAAQAAABceAAA4PBEAAQAAABgeAAA8PBEAAQAAABkeAABAPBEAAQAAABoeAABEPBEAAQAAABseAABIPBEAAQAAABweAABMPBEAAQAAAB0eAABQPBEAAQAAAB4eAABUPBEAAQAAAB8eAABYPBEAAQAAACAeAABcPBEAAQAAACEeAABgPBEAAQAAACIeAABkPBEAAQAAACMeAABoPBEAAQAAACQeAABsPBEAAQAAACUeAABwPBEAAQAAACYeAAB0PBEAAQAAACceAAB4PBEAAQAAACgeAAB8PBEAAQAAACkeAACAPBEAAQAAACoeAACEPBEAAQAAACseAACIPBEAAQAAACweAACMPBEAAQAAAC0eAACQPBEAAQAAAC4eAACUPBEAAQAAAC8eAACYPBEAAQAAADAeAACcPBEAAQAAADEeAACgPBEAAQAAADIeAACkPBEAAQAAADMeAACoPBEAAQAAADQeAACsPBEAAQAAADUeAACwPBEAAQAAADYeAAC0PBEAAQAAADceAAC4PBEAAQAAADgeAAC8PBEAAQAAADkeAADAPBEAAQAAADoeAADEPBEAAQAAADseAADIPBEAAQAAADweAADMPBEAAQAAAD0eAADQPBEAAQAAAD4eAADUPBEAAQAAAD8eAADYPBEAAQAAAEAeAADcPBEAAQAAAEEeAADgPBEAAQAAAEIeAADkPBEAAQAAAEMeAADoPBEAAQAAAEQeAADsPBEAAQAAAEUeAADwPBEAAQAAAEYeAAD0PBEAAQAAAEceAAD4PBEAAQAAAEgeAAD8PBEAAQAAAEkeAAAAPREAAQAAAEoeAAAEPREAAQAAAEseAAAIPREAAQAAAEweAAAMPREAAQAAAE0eAAAQPREAAQAAAE4eAAAUPREAAQAAAE8eAAAYPREAAQAAAFAeAAAcPREAAQAAAFEeAAAgPREAAQAAAFIeAAAkPREAAQAAAFMeAAAoPREAAQAAAFQeAAAsPREAAQAAAFUeAAAwPREAAQAAAFYeAAA0PREAAQAAAFceAAA4PREAAQAAAFgeAAA8PREAAQAAAFkeAABAPREAAQAAAFoeAABEPREAAQAAAFseAABIPREAAQAAAFweAABMPREAAQAAAF0eAABQPREAAQAAAF4eAABUPREAAQAAAF8eAABYPREAAQAAAGAeAABcPREAAgAAAGEeAABkPREAAgAAAGIeAABsPREAAQAAAGMeAABwPREAAQAAAGQeAAB0PREAAQAAAGUeAAB4PREAAQAAAGYeAAB8PREAAQAAAGceAACAPREAAQAAAGgeAACEPREAAQAAAGkeAACIPREAAQAAAGoeAACMPREAAQAAAGseAACQPREAAQAAAGweAACUPREAAQAAAG0eAACYPREAAQAAAG4eAACcPREAAQAAAG8eAACgPREAAQAAAHAeAACkPREAAQAAAHEeAACoPREAAQAAAHIeAACsPREAAQAAAHMeAACwPREAAQAAAHQeAAC0PREAAQAAAHUeAAC4PREAAQAAAHYeAAC8PREAAQAAAHceAADAPREAAQAAAHgeAADEPREAAQAAAHkeAADIPREAAQAAAHoeAADMPREAAQAAAHseAADQPREAAQAAAHweAADUPREAAQAAAH0eAADYPREAAQAAAH4eAADcPREAAQAAAH8eAADgPREAAQAAAIAeAADkPREAAQAAAIEeAADoPREAAQAAAIIeAADsPREAAQAAAIMeAADwPREAAQAAAIQeAAD0PREAAQAAAIUeAAD4PREAAQAAAIYeAAD8PREAAQAAAIceAAAAPhEAAQAAAIgeAAAEPhEAAQAAAIkeAAAIPhEAAQAAAIoeAAAMPhEAAQAAAIseAAAQPhEAAQAAAIweAAAUPhEAAQAAAI0eAAAYPhEAAQAAAI4eAAAcPhEAAQAAAI8eAAAgPhEAAQAAAJAeAAAkPhEAAQAAAJEeAAAoPhEAAQAAAJIeAAAsPhEAAQAAAJMeAAAwPhEAAQAAAJQeAAA0PhEAAQAAAJUeAAA4PhEAAQAAAJseAAA8PhEAAgAAAJ4eAABEPhEAAQAAAKAeAABIPhEAAQAAAKEeAABMPhEAAQAAAKIeAABQPhEAAQAAAKMeAABUPhEAAQAAAKQeAABYPhEAAQAAAKUeAABcPhEAAQAAAKYeAABgPhEAAQAAAKceAABkPhEAAQAAAKgeAABoPhEAAQAAAKkeAABsPhEAAQAAAKoeAABwPhEAAQAAAKseAAB0PhEAAQAAAKweAAB4PhEAAQAAAK0eAAB8PhEAAQAAAK4eAACAPhEAAQAAAK8eAACEPhEAAQAAALAeAACIPhEAAQAAALEeAACMPhEAAQAAALIeAACQPhEAAQAAALMeAACUPhEAAQAAALQeAACYPhEAAQAAALUeAACcPhEAAQAAALYeAACgPhEAAQAAALceAACkPhEAAQAAALgeAACoPhEAAQAAALkeAACsPhEAAQAAALoeAACwPhEAAQAAALseAAC0PhEAAQAAALweAAC4PhEAAQAAAL0eAAC8PhEAAQAAAL4eAADAPhEAAQAAAL8eAADEPhEAAQAAAMAeAADIPhEAAQAAAMEeAADMPhEAAQAAAMIeAADQPhEAAQAAAMMeAADUPhEAAQAAAMQeAADYPhEAAQAAAMUeAADcPhEAAQAAAMYeAADgPhEAAQAAAMceAADkPhEAAQAAAMgeAADoPhEAAQAAAMkeAADsPhEAAQAAAMoeAADwPhEAAQAAAMseAAD0PhEAAQAAAMweAAD4PhEAAQAAAM0eAAD8PhEAAQAAAM4eAAAAPxEAAQAAAM8eAAAEPxEAAQAAANAeAAAIPxEAAQAAANEeAAAMPxEAAQAAANIeAAAQPxEAAQAAANMeAAAUPxEAAQAAANQeAAAYPxEAAQAAANUeAAAcPxEAAQAAANYeAAAgPxEAAQAAANceAAAkPxEAAQAAANgeAAAoPxEAAQAAANkeAAAsPxEAAQAAANoeAAAwPxEAAQAAANseAAA0PxEAAQAAANweAAA4PxEAAQAAAN0eAAA8PxEAAQAAAN4eAABAPxEAAQAAAN8eAABEPxEAAQAAAOAeAABIPxEAAQAAAOEeAABMPxEAAQAAAOIeAABQPxEAAQAAAOMeAABUPxEAAQAAAOQeAABYPxEAAQAAAOUeAABcPxEAAQAAAOYeAABgPxEAAQAAAOceAABkPxEAAQAAAOgeAABoPxEAAQAAAOkeAABsPxEAAQAAAOoeAABwPxEAAQAAAOseAAB0PxEAAQAAAOweAAB4PxEAAQAAAO0eAAB8PxEAAQAAAO4eAACAPxEAAQAAAO8eAACEPxEAAQAAAPAeAACIPxEAAQAAAPEeAACMPxEAAQAAAPIeAACQPxEAAQAAAPMeAACUPxEAAQAAAPQeAACYPxEAAQAAAPUeAACcPxEAAQAAAPYeAACgPxEAAQAAAPceAACkPxEAAQAAAPgeAACoPxEAAQAAAPkeAACsPxEAAQAAAPoeAACwPxEAAQAAAPseAAC0PxEAAQAAAPweAAC4PxEAAQAAAP0eAAC8PxEAAQAAAP4eAADAPxEAAQAAAP8eAADEPxEAAQAAAAAfAADIPxEAAQAAAAEfAADMPxEAAQAAAAIfAADQPxEAAQAAAAMfAADUPxEAAQAAAAQfAADYPxEAAQAAAAUfAADcPxEAAQAAAAYfAADgPxEAAQAAAAcfAADkPxEAAQAAAAgfAADoPxEAAQAAAAkfAADsPxEAAQAAAAofAADwPxEAAQAAAAsfAAD0PxEAAQAAAAwfAAD4PxEAAQAAAA0fAAD8PxEAAQAAAA4fAAAAQBEAAQAAAA8fAAAEQBEAAQAAABAfAAAIQBEAAQAAABEfAAAMQBEAAQAAABIfAAAQQBEAAQAAABMfAAAUQBEAAQAAABQfAAAYQBEAAQAAABUfAAAcQBEAAQAAABgfAAAgQBEAAQAAABkfAAAkQBEAAQAAABofAAAoQBEAAQAAABsfAAAsQBEAAQAAABwfAAAwQBEAAQAAAB0fAAA0QBEAAQAAACAfAAA4QBEAAQAAACEfAAA8QBEAAQAAACIfAABAQBEAAQAAACMfAABEQBEAAQAAACQfAABIQBEAAQAAACUfAABMQBEAAQAAACYfAABQQBEAAQAAACcfAABUQBEAAQAAACgfAABYQBEAAQAAACkfAABcQBEAAQAAACofAABgQBEAAQAAACsfAABkQBEAAQAAACwfAABoQBEAAQAAAC0fAABsQBEAAQAAAC4fAABwQBEAAQAAAC8fAAB0QBEAAQAAADAfAAB4QBEAAQAAADEfAAB8QBEAAQAAADIfAACAQBEAAQAAADMfAACEQBEAAQAAADQfAACIQBEAAQAAADUfAACMQBEAAQAAADYfAACQQBEAAQAAADcfAACUQBEAAQAAADgfAACYQBEAAQAAADkfAACcQBEAAQAAADofAACgQBEAAQAAADsfAACkQBEAAQAAADwfAACoQBEAAQAAAD0fAACsQBEAAQAAAD4fAACwQBEAAQAAAD8fAAC0QBEAAQAAAEAfAAC4QBEAAQAAAEEfAAC8QBEAAQAAAEIfAADAQBEAAQAAAEMfAADEQBEAAQAAAEQfAADIQBEAAQAAAEUfAADMQBEAAQAAAEgfAADQQBEAAQAAAEkfAADUQBEAAQAAAEofAADYQBEAAQAAAEsfAADcQBEAAQAAAEwfAADgQBEAAQAAAE0fAADkQBEAAQAAAFEfAADoQBEAAQAAAFMfAADsQBEAAQAAAFUfAADwQBEAAQAAAFcfAAD0QBEAAQAAAFkfAAD4QBEAAQAAAFsfAAD8QBEAAQAAAF0fAAAAQREAAQAAAF8fAAAEQREAAQAAAGAfAAAIQREAAQAAAGEfAAAMQREAAQAAAGIfAAAQQREAAQAAAGMfAAAUQREAAQAAAGQfAAAYQREAAQAAAGUfAAAcQREAAQAAAGYfAAAgQREAAQAAAGcfAAAkQREAAQAAAGgfAAAoQREAAQAAAGkfAAAsQREAAQAAAGofAAAwQREAAQAAAGsfAAA0QREAAQAAAGwfAAA4QREAAQAAAG0fAAA8QREAAQAAAG4fAABAQREAAQAAAG8fAABEQREAAQAAAHAfAABIQREAAQAAAHEfAABMQREAAQAAAHIfAABQQREAAQAAAHMfAABUQREAAQAAAHQfAABYQREAAQAAAHUfAABcQREAAQAAAHYfAABgQREAAQAAAHcfAABkQREAAQAAAHgfAABoQREAAQAAAHkfAABsQREAAQAAAHofAABwQREAAQAAAHsfAAB0QREAAQAAAHwfAAB4QREAAQAAAH0fAAB8QREAAQAAAIAfAACAQREAAQAAAIEfAACEQREAAQAAAIIfAACIQREAAQAAAIMfAACMQREAAQAAAIQfAACQQREAAQAAAIUfAACUQREAAQAAAIYfAACYQREAAQAAAIcfAACcQREAAQAAAIgfAACgQREAAQAAAIkfAACkQREAAQAAAIofAACoQREAAQAAAIsfAACsQREAAQAAAIwfAACwQREAAQAAAI0fAAC0QREAAQAAAI4fAAC4QREAAQAAAI8fAAC8QREAAQAAAJAfAADAQREAAQAAAJEfAADEQREAAQAAAJIfAADIQREAAQAAAJMfAADMQREAAQAAAJQfAADQQREAAQAAAJUfAADUQREAAQAAAJYfAADYQREAAQAAAJcfAADcQREAAQAAAJgfAADgQREAAQAAAJkfAADkQREAAQAAAJofAADoQREAAQAAAJsfAADsQREAAQAAAJwfAADwQREAAQAAAJ0fAAD0QREAAQAAAJ4fAAD4QREAAQAAAJ8fAAD8QREAAQAAAKAfAAAAQhEAAQAAAKEfAAAEQhEAAQAAAKIfAAAIQhEAAQAAAKMfAAAMQhEAAQAAAKQfAAAQQhEAAQAAAKUfAAAUQhEAAQAAAKYfAAAYQhEAAQAAAKcfAAAcQhEAAQAAAKgfAAAgQhEAAQAAAKkfAAAkQhEAAQAAAKofAAAoQhEAAQAAAKsfAAAsQhEAAQAAAKwfAAAwQhEAAQAAAK0fAAA0QhEAAQAAAK4fAAA4QhEAAQAAAK8fAAA8QhEAAQAAALAfAABAQhEAAQAAALEfAABEQhEAAQAAALMfAABIQhEAAQAAALgfAABMQhEAAQAAALkfAABQQhEAAQAAALofAABUQhEAAQAAALsfAABYQhEAAQAAALwfAABcQhEAAQAAAL4fAABgQhEAAwAAAMMfAABsQhEAAQAAAMgfAABwQhEAAQAAAMkfAAB0QhEAAQAAAMofAAB4QhEAAQAAAMsfAAB8QhEAAQAAAMwfAACAQhEAAQAAANAfAACEQhEAAQAAANEfAACIQhEAAQAAANgfAACMQhEAAQAAANkfAACQQhEAAQAAANofAACUQhEAAQAAANsfAACYQhEAAQAAAOAfAACcQhEAAQAAAOEfAACgQhEAAQAAAOUfAACkQhEAAQAAAOgfAACoQhEAAQAAAOkfAACsQhEAAQAAAOofAACwQhEAAQAAAOsfAAC0QhEAAQAAAOwfAAC4QhEAAQAAAPMfAAC8QhEAAQAAAPgfAADAQhEAAQAAAPkfAADEQhEAAQAAAPofAADIQhEAAQAAAPsfAADMQhEAAQAAAPwfAADQQhEAAQAAACYhAADUQhEAAgAAACohAADcQhEAAgAAACshAADkQhEAAgAAADIhAADsQhEAAQAAAE4hAADwQhEAAQAAAGAhAAD0QhEAAQAAAGEhAAD4QhEAAQAAAGIhAAD8QhEAAQAAAGMhAAAAQxEAAQAAAGQhAAAEQxEAAQAAAGUhAAAIQxEAAQAAAGYhAAAMQxEAAQAAAGchAAAQQxEAAQAAAGghAAAUQxEAAQAAAGkhAAAYQxEAAQAAAGohAAAcQxEAAQAAAGshAAAgQxEAAQAAAGwhAAAkQxEAAQAAAG0hAAAoQxEAAQAAAG4hAAAsQxEAAQAAAG8hAAAwQxEAAQAAAHAhAAA0QxEAAQAAAHEhAAA4QxEAAQAAAHIhAAA8QxEAAQAAAHMhAABAQxEAAQAAAHQhAABEQxEAAQAAAHUhAABIQxEAAQAAAHYhAABMQxEAAQAAAHchAABQQxEAAQAAAHghAABUQxEAAQAAAHkhAABYQxEAAQAAAHohAABcQxEAAQAAAHshAABgQxEAAQAAAHwhAABkQxEAAQAAAH0hAABoQxEAAQAAAH4hAABsQxEAAQAAAH8hAABwQxEAAQAAAIMhAAB0QxEAAQAAAIQhAAB4QxEAAQAAALYkAAB8QxEAAQAAALckAACAQxEAAQAAALgkAACEQxEAAQAAALkkAACIQxEAAQAAALokAACMQxEAAQAAALskAACQQxEAAQAAALwkAACUQxEAAQAAAL0kAACYQxEAAQAAAL4kAACcQxEAAQAAAL8kAACgQxEAAQAAAMAkAACkQxEAAQAAAMEkAACoQxEAAQAAAMIkAACsQxEAAQAAAMMkAACwQxEAAQAAAMQkAAC0QxEAAQAAAMUkAAC4QxEAAQAAAMYkAAC8QxEAAQAAAMckAADAQxEAAQAAAMgkAADEQxEAAQAAAMkkAADIQxEAAQAAAMokAADMQxEAAQAAAMskAADQQxEAAQAAAMwkAADUQxEAAQAAAM0kAADYQxEAAQAAAM4kAADcQxEAAQAAAM8kAADgQxEAAQAAANAkAADkQxEAAQAAANEkAADoQxEAAQAAANIkAADsQxEAAQAAANMkAADwQxEAAQAAANQkAAD0QxEAAQAAANUkAAD4QxEAAQAAANYkAAD8QxEAAQAAANckAAAARBEAAQAAANgkAAAERBEAAQAAANkkAAAIRBEAAQAAANokAAAMRBEAAQAAANskAAAQRBEAAQAAANwkAAAURBEAAQAAAN0kAAAYRBEAAQAAAN4kAAAcRBEAAQAAAN8kAAAgRBEAAQAAAOAkAAAkRBEAAQAAAOEkAAAoRBEAAQAAAOIkAAAsRBEAAQAAAOMkAAAwRBEAAQAAAOQkAAA0RBEAAQAAAOUkAAA4RBEAAQAAAOYkAAA8RBEAAQAAAOckAABARBEAAQAAAOgkAABERBEAAQAAAOkkAABIRBEAAQAAAAAsAABMRBEAAQAAAAEsAABQRBEAAQAAAAIsAABURBEAAQAAAAMsAABYRBEAAQAAAAQsAABcRBEAAQAAAAUsAABgRBEAAQAAAAYsAABkRBEAAQAAAAcsAABoRBEAAQAAAAgsAABsRBEAAQAAAAksAABwRBEAAQAAAAosAAB0RBEAAQAAAAssAAB4RBEAAQAAAAwsAAB8RBEAAQAAAA0sAACARBEAAQAAAA4sAACERBEAAQAAAA8sAACIRBEAAQAAABAsAACMRBEAAQAAABEsAACQRBEAAQAAABIsAACURBEAAQAAABMsAACYRBEAAQAAABQsAACcRBEAAQAAABUsAACgRBEAAQAAABYsAACkRBEAAQAAABcsAACoRBEAAQAAABgsAACsRBEAAQAAABksAACwRBEAAQAAABosAAC0RBEAAQAAABssAAC4RBEAAQAAABwsAAC8RBEAAQAAAB0sAADARBEAAQAAAB4sAADERBEAAQAAAB8sAADIRBEAAQAAACAsAADMRBEAAQAAACEsAADQRBEAAQAAACIsAADURBEAAQAAACMsAADYRBEAAQAAACQsAADcRBEAAQAAACUsAADgRBEAAQAAACYsAADkRBEAAQAAACcsAADoRBEAAQAAACgsAADsRBEAAQAAACksAADwRBEAAQAAACosAAD0RBEAAQAAACssAAD4RBEAAQAAACwsAAD8RBEAAQAAAC0sAAAARREAAQAAAC4sAAAERREAAQAAAC8sAAAIRREAAQAAADAsAAAMRREAAQAAADEsAAAQRREAAQAAADIsAAAURREAAQAAADMsAAAYRREAAQAAADQsAAAcRREAAQAAADUsAAAgRREAAQAAADYsAAAkRREAAQAAADcsAAAoRREAAQAAADgsAAAsRREAAQAAADksAAAwRREAAQAAADosAAA0RREAAQAAADssAAA4RREAAQAAADwsAAA8RREAAQAAAD0sAABARREAAQAAAD4sAABERREAAQAAAD8sAABIRREAAQAAAEAsAABMRREAAQAAAEEsAABQRREAAQAAAEIsAABURREAAQAAAEMsAABYRREAAQAAAEQsAABcRREAAQAAAEUsAABgRREAAQAAAEYsAABkRREAAQAAAEcsAABoRREAAQAAAEgsAABsRREAAQAAAEksAABwRREAAQAAAEosAAB0RREAAQAAAEssAAB4RREAAQAAAEwsAAB8RREAAQAAAE0sAACARREAAQAAAE4sAACERREAAQAAAE8sAACIRREAAQAAAFAsAACMRREAAQAAAFEsAACQRREAAQAAAFIsAACURREAAQAAAFMsAACYRREAAQAAAFQsAACcRREAAQAAAFUsAACgRREAAQAAAFYsAACkRREAAQAAAFcsAACoRREAAQAAAFgsAACsRREAAQAAAFksAACwRREAAQAAAFosAAC0RREAAQAAAFssAAC4RREAAQAAAFwsAAC8RREAAQAAAF0sAADARREAAQAAAF4sAADERREAAQAAAF8sAADIRREAAQAAAGAsAADMRREAAQAAAGEsAADQRREAAQAAAGIsAADURREAAQAAAGMsAADYRREAAQAAAGQsAADcRREAAQAAAGUsAADgRREAAQAAAGYsAADkRREAAQAAAGcsAADoRREAAQAAAGgsAADsRREAAQAAAGksAADwRREAAQAAAGosAAD0RREAAQAAAGssAAD4RREAAQAAAGwsAAD8RREAAQAAAG0sAAAARhEAAQAAAG4sAAAERhEAAQAAAG8sAAAIRhEAAQAAAHAsAAAMRhEAAQAAAHIsAAAQRhEAAQAAAHMsAAAURhEAAQAAAHUsAAAYRhEAAQAAAHYsAAAcRhEAAQAAAH4sAAAgRhEAAQAAAH8sAAAkRhEAAQAAAIAsAAAoRhEAAQAAAIEsAAAsRhEAAQAAAIIsAAAwRhEAAQAAAIMsAAA0RhEAAQAAAIQsAAA4RhEAAQAAAIUsAAA8RhEAAQAAAIYsAABARhEAAQAAAIcsAABERhEAAQAAAIgsAABIRhEAAQAAAIksAABMRhEAAQAAAIosAABQRhEAAQAAAIssAABURhEAAQAAAIwsAABYRhEAAQAAAI0sAABcRhEAAQAAAI4sAABgRhEAAQAAAI8sAABkRhEAAQAAAJAsAABoRhEAAQAAAJEsAABsRhEAAQAAAJIsAABwRhEAAQAAAJMsAAB0RhEAAQAAAJQsAAB4RhEAAQAAAJUsAAB8RhEAAQAAAJYsAACARhEAAQAAAJcsAACERhEAAQAAAJgsAACIRhEAAQAAAJksAACMRhEAAQAAAJosAACQRhEAAQAAAJssAACURhEAAQAAAJwsAACYRhEAAQAAAJ0sAACcRhEAAQAAAJ4sAACgRhEAAQAAAJ8sAACkRhEAAQAAAKAsAACoRhEAAQAAAKEsAACsRhEAAQAAAKIsAACwRhEAAQAAAKMsAAC0RhEAAQAAAKQsAAC4RhEAAQAAAKUsAAC8RhEAAQAAAKYsAADARhEAAQAAAKcsAADERhEAAQAAAKgsAADIRhEAAQAAAKksAADMRhEAAQAAAKosAADQRhEAAQAAAKssAADURhEAAQAAAKwsAADYRhEAAQAAAK0sAADcRhEAAQAAAK4sAADgRhEAAQAAAK8sAADkRhEAAQAAALAsAADoRhEAAQAAALEsAADsRhEAAQAAALIsAADwRhEAAQAAALMsAAD0RhEAAQAAALQsAAD4RhEAAQAAALUsAAD8RhEAAQAAALYsAAAARxEAAQAAALcsAAAERxEAAQAAALgsAAAIRxEAAQAAALksAAAMRxEAAQAAALosAAAQRxEAAQAAALssAAAURxEAAQAAALwsAAAYRxEAAQAAAL0sAAAcRxEAAQAAAL4sAAAgRxEAAQAAAL8sAAAkRxEAAQAAAMAsAAAoRxEAAQAAAMEsAAAsRxEAAQAAAMIsAAAwRxEAAQAAAMMsAAA0RxEAAQAAAMQsAAA4RxEAAQAAAMUsAAA8RxEAAQAAAMYsAABARxEAAQAAAMcsAABERxEAAQAAAMgsAABIRxEAAQAAAMksAABMRxEAAQAAAMosAABQRxEAAQAAAMssAABURxEAAQAAAMwsAABYRxEAAQAAAM0sAABcRxEAAQAAAM4sAABgRxEAAQAAAM8sAABkRxEAAQAAANAsAABoRxEAAQAAANEsAABsRxEAAQAAANIsAABwRxEAAQAAANMsAAB0RxEAAQAAANQsAAB4RxEAAQAAANUsAAB8RxEAAQAAANYsAACARxEAAQAAANcsAACERxEAAQAAANgsAACIRxEAAQAAANksAACMRxEAAQAAANosAACQRxEAAQAAANssAACURxEAAQAAANwsAACYRxEAAQAAAN0sAACcRxEAAQAAAN4sAACgRxEAAQAAAN8sAACkRxEAAQAAAOAsAACoRxEAAQAAAOEsAACsRxEAAQAAAOIsAACwRxEAAQAAAOMsAAC0RxEAAQAAAOssAAC4RxEAAQAAAOwsAAC8RxEAAQAAAO0sAADARxEAAQAAAO4sAADERxEAAQAAAPIsAADIRxEAAQAAAPMsAADMRxEAAQAAAAAtAADQRxEAAQAAAAEtAADURxEAAQAAAAItAADYRxEAAQAAAAMtAADcRxEAAQAAAAQtAADgRxEAAQAAAAUtAADkRxEAAQAAAAYtAADoRxEAAQAAAActAADsRxEAAQAAAAgtAADwRxEAAQAAAAktAAD0RxEAAQAAAAotAAD4RxEAAQAAAAstAAD8RxEAAQAAAAwtAAAASBEAAQAAAA0tAAAESBEAAQAAAA4tAAAISBEAAQAAAA8tAAAMSBEAAQAAABAtAAAQSBEAAQAAABEtAAAUSBEAAQAAABItAAAYSBEAAQAAABMtAAAcSBEAAQAAABQtAAAgSBEAAQAAABUtAAAkSBEAAQAAABYtAAAoSBEAAQAAABctAAAsSBEAAQAAABgtAAAwSBEAAQAAABktAAA0SBEAAQAAABotAAA4SBEAAQAAABstAAA8SBEAAQAAABwtAABASBEAAQAAAB0tAABESBEAAQAAAB4tAABISBEAAQAAAB8tAABMSBEAAQAAACAtAABQSBEAAQAAACEtAABUSBEAAQAAACItAABYSBEAAQAAACMtAABcSBEAAQAAACQtAABgSBEAAQAAACUtAABkSBEAAQAAACctAABoSBEAAQAAAC0tAABsSBEAAQAAAECmAABwSBEAAQAAAEGmAAB0SBEAAQAAAEKmAAB4SBEAAQAAAEOmAAB8SBEAAQAAAESmAACASBEAAQAAAEWmAACESBEAAQAAAEamAACISBEAAQAAAEemAACMSBEAAQAAAEimAACQSBEAAQAAAEmmAACUSBEAAQAAAEqmAACYSBEAAgAAAEumAACgSBEAAgAAAEymAACoSBEAAQAAAE2mAACsSBEAAQAAAE6mAACwSBEAAQAAAE+mAAC0SBEAAQAAAFCmAAC4SBEAAQAAAFGmAAC8SBEAAQAAAFKmAADASBEAAQAAAFOmAADESBEAAQAAAFSmAADISBEAAQAAAFWmAADMSBEAAQAAAFamAADQSBEAAQAAAFemAADUSBEAAQAAAFimAADYSBEAAQAAAFmmAADcSBEAAQAAAFqmAADgSBEAAQAAAFumAADkSBEAAQAAAFymAADoSBEAAQAAAF2mAADsSBEAAQAAAF6mAADwSBEAAQAAAF+mAAD0SBEAAQAAAGCmAAD4SBEAAQAAAGGmAAD8SBEAAQAAAGKmAAAASREAAQAAAGOmAAAESREAAQAAAGSmAAAISREAAQAAAGWmAAAMSREAAQAAAGamAAAQSREAAQAAAGemAAAUSREAAQAAAGimAAAYSREAAQAAAGmmAAAcSREAAQAAAGqmAAAgSREAAQAAAGumAAAkSREAAQAAAGymAAAoSREAAQAAAG2mAAAsSREAAQAAAICmAAAwSREAAQAAAIGmAAA0SREAAQAAAIKmAAA4SREAAQAAAIOmAAA8SREAAQAAAISmAABASREAAQAAAIWmAABESREAAQAAAIamAABISREAAQAAAIemAABMSREAAQAAAIimAABQSREAAQAAAImmAABUSREAAQAAAIqmAABYSREAAQAAAIumAABcSREAAQAAAIymAABgSREAAQAAAI2mAABkSREAAQAAAI6mAABoSREAAQAAAI+mAABsSREAAQAAAJCmAABwSREAAQAAAJGmAAB0SREAAQAAAJKmAAB4SREAAQAAAJOmAAB8SREAAQAAAJSmAACASREAAQAAAJWmAACESREAAQAAAJamAACISREAAQAAAJemAACMSREAAQAAAJimAACQSREAAQAAAJmmAACUSREAAQAAAJqmAACYSREAAQAAAJumAACcSREAAQAAACKnAACgSREAAQAAACOnAACkSREAAQAAACSnAACoSREAAQAAACWnAACsSREAAQAAACanAACwSREAAQAAACenAAC0SREAAQAAACinAAC4SREAAQAAACmnAAC8SREAAQAAACqnAADASREAAQAAACunAADESREAAQAAACynAADISREAAQAAAC2nAADMSREAAQAAAC6nAADQSREAAQAAAC+nAADUSREAAQAAADKnAADYSREAAQAAADOnAADcSREAAQAAADSnAADgSREAAQAAADWnAADkSREAAQAAADanAADoSREAAQAAADenAADsSREAAQAAADinAADwSREAAQAAADmnAAD0SREAAQAAADqnAAD4SREAAQAAADunAAD8SREAAQAAADynAAAAShEAAQAAAD2nAAAEShEAAQAAAD6nAAAIShEAAQAAAD+nAAAMShEAAQAAAECnAAAQShEAAQAAAEGnAAAUShEAAQAAAEKnAAAYShEAAQAAAEOnAAAcShEAAQAAAESnAAAgShEAAQAAAEWnAAAkShEAAQAAAEanAAAoShEAAQAAAEenAAAsShEAAQAAAEinAAAwShEAAQAAAEmnAAA0ShEAAQAAAEqnAAA4ShEAAQAAAEunAAA8ShEAAQAAAEynAABAShEAAQAAAE2nAABEShEAAQAAAE6nAABIShEAAQAAAE+nAABMShEAAQAAAFCnAABQShEAAQAAAFGnAABUShEAAQAAAFKnAABYShEAAQAAAFOnAABcShEAAQAAAFSnAABgShEAAQAAAFWnAABkShEAAQAAAFanAABoShEAAQAAAFenAABsShEAAQAAAFinAABwShEAAQAAAFmnAAB0ShEAAQAAAFqnAAB4ShEAAQAAAFunAAB8ShEAAQAAAFynAACAShEAAQAAAF2nAACEShEAAQAAAF6nAACIShEAAQAAAF+nAACMShEAAQAAAGCnAACQShEAAQAAAGGnAACUShEAAQAAAGKnAACYShEAAQAAAGOnAACcShEAAQAAAGSnAACgShEAAQAAAGWnAACkShEAAQAAAGanAACoShEAAQAAAGenAACsShEAAQAAAGinAACwShEAAQAAAGmnAAC0ShEAAQAAAGqnAAC4ShEAAQAAAGunAAC8ShEAAQAAAGynAADAShEAAQAAAG2nAADEShEAAQAAAG6nAADIShEAAQAAAG+nAADMShEAAQAAAHmnAADQShEAAQAAAHqnAADUShEAAQAAAHunAADYShEAAQAAAHynAADcShEAAQAAAH2nAADgShEAAQAAAH6nAADkShEAAQAAAH+nAADoShEAAQAAAICnAADsShEAAQAAAIGnAADwShEAAQAAAIKnAAD0ShEAAQAAAIOnAAD4ShEAAQAAAISnAAD8ShEAAQAAAIWnAAAASxEAAQAAAIanAAAESxEAAQAAAIenAAAISxEAAQAAAIunAAAMSxEAAQAAAIynAAAQSxEAAQAAAI2nAAAUSxEAAQAAAJCnAAAYSxEAAQAAAJGnAAAcSxEAAQAAAJKnAAAgSxEAAQAAAJOnAAAkSxEAAQAAAJSnAAAoSxEAAQAAAJanAAAsSxEAAQAAAJenAAAwSxEAAQAAAJinAAA0SxEAAQAAAJmnAAA4SxEAAQAAAJqnAAA8SxEAAQAAAJunAABASxEAAQAAAJynAABESxEAAQAAAJ2nAABISxEAAQAAAJ6nAABMSxEAAQAAAJ+nAABQSxEAAQAAAKCnAABUSxEAAQAAAKGnAABYSxEAAQAAAKKnAABcSxEAAQAAAKOnAABgSxEAAQAAAKSnAABkSxEAAQAAAKWnAABoSxEAAQAAAKanAABsSxEAAQAAAKenAABwSxEAAQAAAKinAAB0SxEAAQAAAKmnAAB4SxEAAQAAAKqnAAB8SxEAAQAAAKunAACASxEAAQAAAKynAACESxEAAQAAAK2nAACISxEAAQAAAK6nAACMSxEAAQAAALCnAACQSxEAAQAAALGnAACUSxEAAQAAALKnAACYSxEAAQAAALOnAACcSxEAAQAAALSnAACgSxEAAQAAALWnAACkSxEAAQAAALanAACoSxEAAQAAALenAACsSxEAAQAAALinAACwSxEAAQAAALmnAAC0SxEAAQAAALqnAAC4SxEAAQAAALunAAC8SxEAAQAAALynAADASxEAAQAAAL2nAADESxEAAQAAAL6nAADISxEAAQAAAL+nAADMSxEAAQAAAMCnAADQSxEAAQAAAMGnAADUSxEAAQAAAMKnAADYSxEAAQAAAMOnAADcSxEAAQAAAMSnAADgSxEAAQAAAMWnAADkSxEAAQAAAManAADoSxEAAQAAAMenAADsSxEAAQAAAMinAADwSxEAAQAAAMmnAAD0SxEAAQAAAMqnAAD4SxEAAQAAANCnAAD8SxEAAQAAANGnAAAATBEAAQAAANanAAAETBEAAQAAANenAAAITBEAAQAAANinAAAMTBEAAQAAANmnAAAQTBEAAQAAAPWnAAAUTBEAAQAAAPanAAAYTBEAAQAAAFOrAAAcTBEAAQAAAHCrAAAgTBEAAQAAAHGrAAAkTBEAAQAAAHKrAAAoTBEAAQAAAHOrAAAsTBEAAQAAAHSrAAAwTBEAAQAAAHWrAAA0TBEAAQAAAHarAAA4TBEAAQAAAHerAAA8TBEAAQAAAHirAABATBEAAQAAAHmrAABETBEAAQAAAHqrAABITBEAAQAAAHurAABMTBEAAQAAAHyrAABQTBEAAQAAAH2rAABUTBEAAQAAAH6rAABYTBEAAQAAAH+rAABcTBEAAQAAAICrAABgTBEAAQAAAIGrAABkTBEAAQAAAIKrAABoTBEAAQAAAIOrAABsTBEAAQAAAISrAABwTBEAAQAAAIWrAAB0TBEAAQAAAIarAAB4TBEAAQAAAIerAAB8TBEAAQAAAIirAACATBEAAQAAAImrAACETBEAAQAAAIqrAACITBEAAQAAAIurAACMTBEAAQAAAIyrAACQTBEAAQAAAI2rAACUTBEAAQAAAI6rAACYTBEAAQAAAI+rAACcTBEAAQAAAJCrAACgTBEAAQAAAJGrAACkTBEAAQAAAJKrAACoTBEAAQAAAJOrAACsTBEAAQAAAJSrAACwTBEAAQAAAJWrAAC0TBEAAQAAAJarAAC4TBEAAQAAAJerAAC8TBEAAQAAAJirAADATBEAAQAAAJmrAADETBEAAQAAAJqrAADITBEAAQAAAJurAADMTBEAAQAAAJyrAADQTBEAAQAAAJ2rAADUTBEAAQAAAJ6rAADYTBEAAQAAAJ+rAADcTBEAAQAAAKCrAADgTBEAAQAAAKGrAADkTBEAAQAAAKKrAADoTBEAAQAAAKOrAADsTBEAAQAAAKSrAADwTBEAAQAAAKWrAAD0TBEAAQAAAKarAAD4TBEAAQAAAKerAAD8TBEAAQAAAKirAAAATREAAQAAAKmrAAAETREAAQAAAKqrAAAITREAAQAAAKurAAAMTREAAQAAAKyrAAAQTREAAQAAAK2rAAAUTREAAQAAAK6rAAAYTREAAQAAAK+rAAAcTREAAQAAALCrAAAgTREAAQAAALGrAAAkTREAAQAAALKrAAAoTREAAQAAALOrAAAsTREAAQAAALSrAAAwTREAAQAAALWrAAA0TREAAQAAALarAAA4TREAAQAAALerAAA8TREAAQAAALirAABATREAAQAAALmrAABETREAAQAAALqrAABITREAAQAAALurAABMTREAAQAAALyrAABQTREAAQAAAL2rAABUTREAAQAAAL6rAABYTREAAQAAAL+rAABcTREAAQAAACH/AABgTREAAQAAACL/AABkTREAAQAAACP/AABoTREAAQAAACT/AABsTREAAQAAACX/AABwTREAAQAAACb/AAB0TREAAQAAACf/AAB4TREAAQAAACj/AAB8TREAAQAAACn/AACATREAAQAAACr/AACETREAAQAAACv/AACITREAAQAAACz/AACMTREAAQAAAC3/AACQTREAAQAAAC7/AACUTREAAQAAAC//AACYTREAAQAAADD/AACcTREAAQAAADH/AACgTREAAQAAADL/AACkTREAAQAAADP/AACoTREAAQAAADT/AACsTREAAQAAADX/AACwTREAAQAAADb/AAC0TREAAQAAADf/AAC4TREAAQAAADj/AAC8TREAAQAAADn/AADATREAAQAAADr/AADETREAAQAAAEH/AADITREAAQAAAEL/AADMTREAAQAAAEP/AADQTREAAQAAAET/AADUTREAAQAAAEX/AADYTREAAQAAAEb/AADcTREAAQAAAEf/AADgTREAAQAAAEj/AADkTREAAQAAAEn/AADoTREAAQAAAEr/AADsTREAAQAAAEv/AADwTREAAQAAAEz/AAD0TREAAQAAAE3/AAD4TREAAQAAAE7/AAD8TREAAQAAAE//AAAAThEAAQAAAFD/AAAEThEAAQAAAFH/AAAIThEAAQAAAFL/AAAMThEAAQAAAFP/AAAQThEAAQAAAFT/AAAUThEAAQAAAFX/AAAYThEAAQAAAFb/AAAcThEAAQAAAFf/AAAgThEAAQAAAFj/AAAkThEAAQAAAFn/AAAoThEAAQAAAFr/AAAsThEAAQAAAAAEAQAwThEAAQAAAAEEAQA0ThEAAQAAAAIEAQA4ThEAAQAAAAMEAQA8ThEAAQAAAAQEAQBAThEAAQAAAAUEAQBEThEAAQAAAAYEAQBIThEAAQAAAAcEAQBMThEAAQAAAAgEAQBQThEAAQAAAAkEAQBUThEAAQAAAAoEAQBYThEAAQAAAAsEAQBcThEAAQAAAAwEAQBgThEAAQAAAA0EAQBkThEAAQAAAA4EAQBoThEAAQAAAA8EAQBsThEAAQAAABAEAQBwThEAAQAAABEEAQB0ThEAAQAAABIEAQB4ThEAAQAAABMEAQB8ThEAAQAAABQEAQCAThEAAQAAABUEAQCEThEAAQAAABYEAQCIThEAAQAAABcEAQCMThEAAQAAABgEAQCQThEAAQAAABkEAQCUThEAAQAAABoEAQCYThEAAQAAABsEAQCcThEAAQAAABwEAQCgThEAAQAAAB0EAQCkThEAAQAAAB4EAQCoThEAAQAAAB8EAQCsThEAAQAAACAEAQCwThEAAQAAACEEAQC0ThEAAQAAACIEAQC4ThEAAQAAACMEAQC8ThEAAQAAACQEAQDAThEAAQAAACUEAQDEThEAAQAAACYEAQDIThEAAQAAACcEAQDMThEAAQAAACgEAQDQThEAAQAAACkEAQDUThEAAQAAACoEAQDYThEAAQAAACsEAQDcThEAAQAAACwEAQDgThEAAQAAAC0EAQDkThEAAQAAAC4EAQDoThEAAQAAAC8EAQDsThEAAQAAADAEAQDwThEAAQAAADEEAQD0ThEAAQAAADIEAQD4ThEAAQAAADMEAQD8ThEAAQAAADQEAQAATxEAAQAAADUEAQAETxEAAQAAADYEAQAITxEAAQAAADcEAQAMTxEAAQAAADgEAQAQTxEAAQAAADkEAQAUTxEAAQAAADoEAQAYTxEAAQAAADsEAQAcTxEAAQAAADwEAQAgTxEAAQAAAD0EAQAkTxEAAQAAAD4EAQAoTxEAAQAAAD8EAQAsTxEAAQAAAEAEAQAwTxEAAQAAAEEEAQA0TxEAAQAAAEIEAQA4TxEAAQAAAEMEAQA8TxEAAQAAAEQEAQBATxEAAQAAAEUEAQBETxEAAQAAAEYEAQBITxEAAQAAAEcEAQBMTxEAAQAAAEgEAQBQTxEAAQAAAEkEAQBUTxEAAQAAAEoEAQBYTxEAAQAAAEsEAQBcTxEAAQAAAEwEAQBgTxEAAQAAAE0EAQBkTxEAAQAAAE4EAQBoTxEAAQAAAE8EAQBsTxEAAQAAALAEAQBwTxEAAQAAALEEAQB0TxEAAQAAALIEAQB4TxEAAQAAALMEAQB8TxEAAQAAALQEAQCATxEAAQAAALUEAQCETxEAAQAAALYEAQCITxEAAQAAALcEAQCMTxEAAQAAALgEAQCQTxEAAQAAALkEAQCUTxEAAQAAALoEAQCYTxEAAQAAALsEAQCcTxEAAQAAALwEAQCgTxEAAQAAAL0EAQCkTxEAAQAAAL4EAQCoTxEAAQAAAL8EAQCsTxEAAQAAAMAEAQCwTxEAAQAAAMEEAQC0TxEAAQAAAMIEAQC4TxEAAQAAAMMEAQC8TxEAAQAAAMQEAQDATxEAAQAAAMUEAQDETxEAAQAAAMYEAQDITxEAAQAAAMcEAQDMTxEAAQAAAMgEAQDQTxEAAQAAAMkEAQDUTxEAAQAAAMoEAQDYTxEAAQAAAMsEAQDcTxEAAQAAAMwEAQDgTxEAAQAAAM0EAQDkTxEAAQAAAM4EAQDoTxEAAQAAAM8EAQDsTxEAAQAAANAEAQDwTxEAAQAAANEEAQD0TxEAAQAAANIEAQD4TxEAAQAAANMEAQD8TxEAAQAAANgEAQAAUBEAAQAAANkEAQAEUBEAAQAAANoEAQAIUBEAAQAAANsEAQAMUBEAAQAAANwEAQAQUBEAAQAAAN0EAQAUUBEAAQAAAN4EAQAYUBEAAQAAAN8EAQAcUBEAAQAAAOAEAQAgUBEAAQAAAOEEAQAkUBEAAQAAAOIEAQAoUBEAAQAAAOMEAQAsUBEAAQAAAOQEAQAwUBEAAQAAAOUEAQA0UBEAAQAAAOYEAQA4UBEAAQAAAOcEAQA8UBEAAQAAAOgEAQBAUBEAAQAAAOkEAQBEUBEAAQAAAOoEAQBIUBEAAQAAAOsEAQBMUBEAAQAAAOwEAQBQUBEAAQAAAO0EAQBUUBEAAQAAAO4EAQBYUBEAAQAAAO8EAQBcUBEAAQAAAPAEAQBgUBEAAQAAAPEEAQBkUBEAAQAAAPIEAQBoUBEAAQAAAPMEAQBsUBEAAQAAAPQEAQBwUBEAAQAAAPUEAQB0UBEAAQAAAPYEAQB4UBEAAQAAAPcEAQB8UBEAAQAAAPgEAQCAUBEAAQAAAPkEAQCEUBEAAQAAAPoEAQCIUBEAAQAAAPsEAQCMUBEAAQAAAHAFAQCQUBEAAQAAAHEFAQCUUBEAAQAAAHIFAQCYUBEAAQAAAHMFAQCcUBEAAQAAAHQFAQCgUBEAAQAAAHUFAQCkUBEAAQAAAHYFAQCoUBEAAQAAAHcFAQCsUBEAAQAAAHgFAQCwUBEAAQAAAHkFAQC0UBEAAQAAAHoFAQC4UBEAAQAAAHwFAQC8UBEAAQAAAH0FAQDAUBEAAQAAAH4FAQDEUBEAAQAAAH8FAQDIUBEAAQAAAIAFAQDMUBEAAQAAAIEFAQDQUBEAAQAAAIIFAQDUUBEAAQAAAIMFAQDYUBEAAQAAAIQFAQDcUBEAAQAAAIUFAQDgUBEAAQAAAIYFAQDkUBEAAQAAAIcFAQDoUBEAAQAAAIgFAQDsUBEAAQAAAIkFAQDwUBEAAQAAAIoFAQD0UBEAAQAAAIwFAQD4UBEAAQAAAI0FAQD8UBEAAQAAAI4FAQAAUREAAQAAAI8FAQAEUREAAQAAAJAFAQAIUREAAQAAAJEFAQAMUREAAQAAAJIFAQAQUREAAQAAAJQFAQAUUREAAQAAAJUFAQAYUREAAQAAAJcFAQAcUREAAQAAAJgFAQAgUREAAQAAAJkFAQAkUREAAQAAAJoFAQAoUREAAQAAAJsFAQAsUREAAQAAAJwFAQAwUREAAQAAAJ0FAQA0UREAAQAAAJ4FAQA4UREAAQAAAJ8FAQA8UREAAQAAAKAFAQBAUREAAQAAAKEFAQBEUREAAQAAAKMFAQBIUREAAQAAAKQFAQBMUREAAQAAAKUFAQBQUREAAQAAAKYFAQBUUREAAQAAAKcFAQBYUREAAQAAAKgFAQBcUREAAQAAAKkFAQBgUREAAQAAAKoFAQBkUREAAQAAAKsFAQBoUREAAQAAAKwFAQBsUREAAQAAAK0FAQBwUREAAQAAAK4FAQB0UREAAQAAAK8FAQB4UREAAQAAALAFAQB8UREAAQAAALEFAQCAUREAAQAAALMFAQCEUREAAQAAALQFAQCIUREAAQAAALUFAQCMUREAAQAAALYFAQCQUREAAQAAALcFAQCUUREAAQAAALgFAQCYUREAAQAAALkFAQCcUREAAQAAALsFAQCgUREAAQAAALwFAQCkUREAAQAAAIAMAQCoUREAAQAAAIEMAQCsUREAAQAAAIIMAQCwUREAAQAAAIMMAQC0UREAAQAAAIQMAQC4UREAAQAAAIUMAQC8UREAAQAAAIYMAQDAUREAAQAAAIcMAQDEUREAAQAAAIgMAQDIUREAAQAAAIkMAQDMUREAAQAAAIoMAQDQUREAAQAAAIsMAQDUUREAAQAAAIwMAQDYUREAAQAAAI0MAQDcUREAAQAAAI4MAQDgUREAAQAAAI8MAQDkUREAAQAAAJAMAQDoUREAAQAAAJEMAQDsUREAAQAAAJIMAQDwUREAAQAAAJMMAQD0UREAAQAAAJQMAQD4UREAAQAAAJUMAQD8UREAAQAAAJYMAQAAUhEAAQAAAJcMAQAEUhEAAQAAAJgMAQAIUhEAAQAAAJkMAQAMUhEAAQAAAJoMAQAQUhEAAQAAAJsMAQAUUhEAAQAAAJwMAQAYUhEAAQAAAJ0MAQAcUhEAAQAAAJ4MAQAgUhEAAQAAAJ8MAQAkUhEAAQAAAKAMAQAoUhEAAQAAAKEMAQAsUhEAAQAAAKIMAQAwUhEAAQAAAKMMAQA0UhEAAQAAAKQMAQA4UhEAAQAAAKUMAQA8UhEAAQAAAKYMAQBAUhEAAQAAAKcMAQBEUhEAAQAAAKgMAQBIUhEAAQAAAKkMAQBMUhEAAQAAAKoMAQBQUhEAAQAAAKsMAQBUUhEAAQAAAKwMAQBYUhEAAQAAAK0MAQBcUhEAAQAAAK4MAQBgUhEAAQAAAK8MAQBkUhEAAQAAALAMAQBoUhEAAQAAALEMAQBsUhEAAQAAALIMAQBwUhEAAQAAAMAMAQB0UhEAAQAAAMEMAQB4UhEAAQAAAMIMAQB8UhEAAQAAAMMMAQCAUhEAAQAAAMQMAQCEUhEAAQAAAMUMAQCIUhEAAQAAAMYMAQCMUhEAAQAAAMcMAQCQUhEAAQAAAMgMAQCUUhEAAQAAAMkMAQCYUhEAAQAAAMoMAQCcUhEAAQAAAMsMAQCgUhEAAQAAAMwMAQCkUhEAAQAAAM0MAQCoUhEAAQAAAM4MAQCsUhEAAQAAAM8MAQCwUhEAAQAAANAMAQC0UhEAAQAAANEMAQC4UhEAAQAAANIMAQC8UhEAAQAAANMMAQDAUhEAAQAAANQMAQDEUhEAAQAAANUMAQDIUhEAAQAAANYMAQDMUhEAAQAAANcMAQDQUhEAAQAAANgMAQDUUhEAAQAAANkMAQDYUhEAAQAAANoMAQDcUhEAAQAAANsMAQDgUhEAAQAAANwMAQDkUhEAAQAAAN0MAQDoUhEAAQAAAN4MAQDsUhEAAQAAAN8MAQDwUhEAAQAAAOAMAQD0UhEAAQAAAOEMAQD4UhEAAQAAAOIMAQD8UhEAAQAAAOMMAQAAUxEAAQAAAOQMAQAEUxEAAQAAAOUMAQAIUxEAAQAAAOYMAQAMUxEAAQAAAOcMAQAQUxEAAQAAAOgMAQAUUxEAAQAAAOkMAQAYUxEAAQAAAOoMAQAcUxEAAQAAAOsMAQAgUxEAAQAAAOwMAQAkUxEAAQAAAO0MAQAoUxEAAQAAAO4MAQAsUxEAAQAAAO8MAQAwUxEAAQAAAPAMAQA0UxEAAQAAAPEMAQA4UxEAAQAAAPIMAQA8UxEAAQAAAKAYAQBAUxEAAQAAAKEYAQBEUxEAAQAAAKIYAQBIUxEAAQAAAKMYAQBMUxEAAQAAAKQYAQBQUxEAAQAAAKUYAQBUUxEAAQAAAKYYAQBYUxEAAQAAAKcYAQBcUxEAAQAAAKgYAQBgUxEAAQAAAKkYAQBkUxEAAQAAAKoYAQBoUxEAAQAAAKsYAQBsUxEAAQAAAKwYAQBwUxEAAQAAAK0YAQB0UxEAAQAAAK4YAQB4UxEAAQAAAK8YAQB8UxEAAQAAALAYAQCAUxEAAQAAALEYAQCEUxEAAQAAALIYAQCIUxEAAQAAALMYAQCMUxEAAQAAALQYAQCQUxEAAQAAALUYAQCUUxEAAQAAALYYAQCYUxEAAQAAALcYAQCcUxEAAQAAALgYAQCgUxEAAQAAALkYAQCkUxEAAQAAALoYAQCoUxEAAQAAALsYAQCsUxEAAQAAALwYAQCwUxEAAQAAAL0YAQC0UxEAAQAAAL4YAQC4UxEAAQAAAL8YAQC8UxEAAQAAAMAYAQDAUxEAAQAAAMEYAQDEUxEAAQAAAMIYAQDIUxEAAQAAAMMYAQDMUxEAAQAAAMQYAQDQUxEAAQAAAMUYAQDUUxEAAQAAAMYYAQDYUxEAAQAAAMcYAQDcUxEAAQAAAMgYAQDgUxEAAQAAAMkYAQDkUxEAAQAAAMoYAQDoUxEAAQAAAMsYAQDsUxEAAQAAAMwYAQDwUxEAAQAAAM0YAQD0UxEAAQAAAM4YAQD4UxEAAQAAAM8YAQD8UxEAAQAAANAYAQAAVBEAAQAAANEYAQAEVBEAAQAAANIYAQAIVBEAAQAAANMYAQAMVBEAAQAAANQYAQAQVBEAAQAAANUYAQAUVBEAAQAAANYYAQAYVBEAAQAAANcYAQAcVBEAAQAAANgYAQAgVBEAAQAAANkYAQAkVBEAAQAAANoYAQAoVBEAAQAAANsYAQAsVBEAAQAAANwYAQAwVBEAAQAAAN0YAQA0VBEAAQAAAN4YAQA4VBEAAQAAAN8YAQA8VBEAAQAAAEBuAQBAVBEAAQAAAEFuAQBEVBEAAQAAAEJuAQBIVBEAAQAAAENuAQBMVBEAAQAAAERuAQBQVBEAAQAAAEVuAQBUVBEAAQAAAEZuAQBYVBEAAQAAAEduAQBcVBEAAQAAAEhuAQBgVBEAAQAAAEluAQBkVBEAAQAAAEpuAQBoVBEAAQAAAEtuAQBsVBEAAQAAAExuAQBwVBEAAQAAAE1uAQB0VBEAAQAAAE5uAQB4VBEAAQAAAE9uAQB8VBEAAQAAAFBuAQCAVBEAAQAAAFFuAQCEVBEAAQAAAFJuAQCIVBEAAQAAAFNuAQCMVBEAAQAAAFRuAQCQVBEAAQAAAFVuAQCUVBEAAQAAAFZuAQCYVBEAAQAAAFduAQCcVBEAAQAAAFhuAQCgVBEAAQAAAFluAQCkVBEAAQAAAFpuAQCoVBEAAQAAAFtuAQCsVBEAAQAAAFxuAQCwVBEAAQAAAF1uAQC0VBEAAQAAAF5u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AACQEAAAmRAAAOAXAADpFwAAEBgAABkYAABGGQAATxkAANAZAADZGQAAgBoAAIkaAACQGgAAmRoAAFAbAABZGwAAsBsAALkbAABAHAAASRwAAFAcAABZHAAAIKYAACmmAADQqAAA2agAAACpAAAJqQAA0KkAANmpAADwqQAA+akAAFCqAABZqgAA8KsAAPmrAAAQ/wAAGf8AAKAEAQCpBAEAMA0BADkNAQBmEAEAbxABAPAQAQD5EAEANhEBAD8RAQDQEQEA2REBAPASAQD5EgEAUBQBAFkUAQDQFAEA2RQBAFAWAQBZFgEAwBYBAMkWAQAwFwEAORcBAOAYAQDpGAEAUBkBAFkZAQBQHAEAWRwBAFAdAQBZHQEAoB0BAKkdAQBQHwEAWR8BAGBqAQBpagEAwGoBAMlqAQBQawEAWWsBAM7XAQD/1wEAQOEBAEnhAQDw4gEA+eIBAPDkAQD55AEAUOkBAFnpAQDw+wEA+fsBAGFzc2lnbmVkjOERAGYAAAD9AQAAQAAAAEFTQ0lJQXNzaWduZWRBbnmM4REAZgAAAAYCAAAuAAAAYWdlYWhleEFTQ0lJX0hleF9EaWdpdEFscGhhYmV0aWNhbHBoYWJldGljYXNjaWloZXhkaWdpdGJjQmlkaV9DbGFzc2JpZGljQmlkaV9Db250cm9sYmlkaWNsYXNzYmlkaWNvbnRyb2xiaWRpbUJpZGlfTWlycm9yZWRiaWRpbWlycm9yZWRiaWRpbWlycm9yaW5nZ2x5cGhCaWRpX01pcnJvcmluZ19HbHlwaGJpZGlwYWlyZWRicmFja2V0QmlkaV9QYWlyZWRfQnJhY2tldGJpZGlwYWlyZWRicmFja2V0dHlwZUJpZGlfUGFpcmVkX0JyYWNrZXRfVHlwZWJsa2JtZ2JwYmJwdGNhbm9uaWNhbGNvbWJpbmluZ2NsYXNzQ2Fub25pY2FsX0NvbWJpbmluZ19DbGFzc2Nhc2VkQ2FzZWRjYXNlZm9sZGluZ0Nhc2VfRm9sZGluZ2Nhc2VpZ25vcmFibGVDYXNlX0lnbm9yYWJsZWNjY2NlQ29tcG9zaXRpb25fRXhjbHVzaW9uY2hhbmdlc3doZW5jYXNlZm9sZGVkQ2hhbmdlc19XaGVuX0Nhc2Vmb2xkZWRjaGFuZ2Vzd2hlbmNhc2VtYXBwZWRDaGFuZ2VzX1doZW5fQ2FzZW1hcHBlZGNoYW5nZXN3aGVubG93ZXJjYXNlZENoYW5nZXNfV2hlbl9Mb3dlcmNhc2VkY2hhbmdlc3doZW5uZmtjY2FzZWZvbGRlZENoYW5nZXNfV2hlbl9ORktDX0Nhc2Vmb2xkZWRjaGFuZ2Vzd2hlbnRpdGxlY2FzZWRDaGFuZ2VzX1doZW5fVGl0bGVjYXNlZGNoYW5nZXN3aGVudXBwZXJjYXNlZENoYW5nZXNfV2hlbl9VcHBlcmNhc2VkY2ljamthY2NvdW50aW5nbnVtZXJpY2tBY2NvdW50aW5nTnVtZXJpY2Nqa2NvbXBhdGliaWxpdHl2YXJpYW50a0NvbXBhdGliaWxpdHlWYXJpYW50Y2praWljb3Jla0lJQ29yZWNqa2lyZ2dzb3VyY2VrSVJHX0dTb3VyY2Vjamtpcmdoc291cmNla0lSR19IU291cmNlY2praXJnanNvdXJjZWtJUkdfSlNvdXJjZWNqa2lyZ2twc291cmNla0lSR19LUFNvdXJjZWNqa2lyZ2tzb3VyY2VrSVJHX0tTb3VyY2Vjamtpcmdtc291cmNla0lSR19NU291cmNlY2praXJnc3NvdXJjZWtJUkdfU1NvdXJjZWNqa2lyZ3Rzb3VyY2VrSVJHX1RTb3VyY2Vjamtpcmd1a3NvdXJjZWtJUkdfVUtTb3VyY2Vjamtpcmd1c291cmNla0lSR19VU291cmNlY2praXJndnNvdXJjZWtJUkdfVlNvdXJjZWNqa290aGVybnVtZXJpY2tPdGhlck51bWVyaWNjamtwcmltYXJ5bnVtZXJpY2tQcmltYXJ5TnVtZXJpY2Nqa3JzdW5pY29kZWtSU1VuaWNvZGVjb21wZXhGdWxsX0NvbXBvc2l0aW9uX0V4Y2x1c2lvbmNvbXBvc2l0aW9uZXhjbHVzaW9uY3djZmN3Y21jd2tjZmN3bGN3dGN3dWRhc2hEYXNoZGVjb21wb3NpdGlvbm1hcHBpbmdEZWNvbXBvc2l0aW9uX01hcHBpbmdkZWNvbXBvc2l0aW9udHlwZURlY29tcG9zaXRpb25fVHlwZWRlZmF1bHRpZ25vcmFibGVjb2RlcG9pbnREZWZhdWx0X0lnbm9yYWJsZV9Db2RlX1BvaW50ZGVwRGVwcmVjYXRlZGRlcHJlY2F0ZWRkaWRpYURpYWNyaXRpY2RpYWNyaXRpY2RtZHRlYUVhc3RfQXNpYW5fV2lkdGhlYXN0YXNpYW53aWR0aGViYXNlRW1vamlfTW9kaWZpZXJfQmFzZWVjb21wRW1vamlfQ29tcG9uZW50ZW1vZEVtb2ppX01vZGlmaWVyZW1vamlFbW9qaWVtb2ppY29tcG9uZW50ZW1vamltb2RpZmllcmVtb2ppbW9kaWZpZXJiYXNlZW1vamlwcmVzZW50YXRpb25FbW9qaV9QcmVzZW50YXRpb25lcHJlc2VxdWlkZW9FcXVpdmFsZW50X1VuaWZpZWRfSWRlb2dyYXBoZXF1aXZhbGVudHVuaWZpZWRpZGVvZ3JhcGhleHBhbmRzb25uZmNFeHBhbmRzX09uX05GQ2V4cGFuZHNvbm5mZEV4cGFuZHNfT25fTkZEZXhwYW5kc29ubmZrY0V4cGFuZHNfT25fTkZLQ2V4cGFuZHNvbm5ma2RFeHBhbmRzX09uX05GS0RleHRFeHRlbmRlcmV4dGVuZGVkcGljdG9ncmFwaGljRXh0ZW5kZWRfUGljdG9ncmFwaGljZXh0ZW5kZXJleHRwaWN0ZmNuZmtjRkNfTkZLQ19DbG9zdXJlZmNuZmtjY2xvc3VyZWZ1bGxjb21wb3NpdGlvbmV4Y2x1c2lvbmdjZ2NiZ2VuZXJhbGNhdGVnb3J5Z3JhcGhlbWViYXNlR3JhcGhlbWVfQmFzZWdyYXBoZW1lY2x1c3RlcmJyZWFrZ3JhcGhlbWVleHRlbmRHcmFwaGVtZV9FeHRlbmRncmFwaGVtZWxpbmtHcmFwaGVtZV9MaW5rZ3JiYXNlZ3JleHRncmxpbmtoYW5ndWxzeWxsYWJsZXR5cGVIYW5ndWxfU3lsbGFibGVfVHlwZWhleEhleF9EaWdpdGhleGRpZ2l0aHN0aHlwaGVuSHlwaGVuaWRjSURfQ29udGludWVpZGNvbnRpbnVlaWRlb0lkZW9ncmFwaGljaWRlb2dyYXBoaWNpZHNJRF9TdGFydGlkc2JJRFNfQmluYXJ5X09wZXJhdG9yaWRzYmluYXJ5b3BlcmF0b3JpZHN0SURTX1RyaW5hcnlfT3BlcmF0b3JpZHN0YXJ0aWRzdHJpbmFyeW9wZXJhdG9yaW5kaWNwb3NpdGlvbmFsY2F0ZWdvcnlJbmRpY19Qb3NpdGlvbmFsX0NhdGVnb3J5aW5kaWNzeWxsYWJpY2NhdGVnb3J5SW5kaWNfU3lsbGFiaWNfQ2F0ZWdvcnlpbnBjaW5zY2lzY0lTT19Db21tZW50amFtb3Nob3J0bmFtZUphbW9fU2hvcnRfTmFtZWpnSm9pbmluZ19Hcm91cGpvaW5jSm9pbl9Db250cm9sam9pbmNvbnRyb2xqb2luaW5nZ3JvdXBqb2luaW5ndHlwZUpvaW5pbmdfVHlwZWpzbmp0a2FjY291bnRpbmdudW1lcmlja2NvbXBhdGliaWxpdHl2YXJpYW50a2lpY29yZWtpcmdnc291cmNla2lyZ2hzb3VyY2VraXJnanNvdXJjZWtpcmdrcHNvdXJjZWtpcmdrc291cmNla2lyZ21zb3VyY2VraXJnc3NvdXJjZWtpcmd0c291cmNla2lyZ3Vrc291cmNla2lyZ3Vzb3VyY2VraXJndnNvdXJjZWtvdGhlcm51bWVyaWNrcHJpbWFyeW51bWVyaWNrcnN1bmljb2RlbGJMaW5lX0JyZWFrTG93ZXJjYXNlX01hcHBpbmdsaW5lYnJlYWtsb2VMb2dpY2FsX09yZGVyX0V4Y2VwdGlvbmxvZ2ljYWxvcmRlcmV4Y2VwdGlvbkxvd2VyY2FzZWxvd2VyY2FzZWxvd2VyY2FzZW1hcHBpbmdtYXRoTWF0aG5hTmFtZW5hMVVuaWNvZGVfMV9OYW1lbmFtZWFsaWFzTmFtZV9BbGlhc25jaGFyTm9uY2hhcmFjdGVyX0NvZGVfUG9pbnRuZmNxY05GQ19RdWlja19DaGVja25mY3F1aWNrY2hlY2tuZmRxY05GRF9RdWlja19DaGVja25mZHF1aWNrY2hlY2tuZmtjY2FzZWZvbGRORktDX0Nhc2Vmb2xkbmZrY2NmbmZrY3FjTkZLQ19RdWlja19DaGVja25ma2NxdWlja2NoZWNrbmZrZHFjTkZLRF9RdWlja19DaGVja25ma2RxdWlja2NoZWNrbm9uY2hhcmFjdGVyY29kZXBvaW50bnROdW1lcmljX1R5cGVudW1lcmljdHlwZW51bWVyaWN2YWx1ZU51bWVyaWNfVmFsdWVudm9hbHBoYU90aGVyX0FscGhhYmV0aWNvY29tbWVudG9kaU90aGVyX0RlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnRvZ3JleHRPdGhlcl9HcmFwaGVtZV9FeHRlbmRvaWRjT3RoZXJfSURfQ29udGludWVvaWRzT3RoZXJfSURfU3RhcnRvbG93ZXJPdGhlcl9Mb3dlcmNhc2VvbWF0aE90aGVyX01hdGhvdGhlcmFscGhhYmV0aWNvdGhlcmRlZmF1bHRpZ25vcmFibGVjb2RlcG9pbnRvdGhlcmdyYXBoZW1lZXh0ZW5kb3RoZXJpZGNvbnRpbnVlb3RoZXJpZHN0YXJ0b3RoZXJsb3dlcmNhc2VvdGhlcm1hdGhvdGhlcnVwcGVyY2FzZU90aGVyX1VwcGVyY2FzZW91cHBlcnBhdHN5blBhdHRlcm5fU3ludGF4cGF0dGVybnN5bnRheHBhdHRlcm53aGl0ZXNwYWNlUGF0dGVybl9XaGl0ZV9TcGFjZXBhdHdzcGNtUHJlcGVuZGVkX0NvbmNhdGVuYXRpb25fTWFya3ByZXBlbmRlZGNvbmNhdGVuYXRpb25tYXJrcW1hcmtRdW90YXRpb25fTWFya3F1b3RhdGlvbm1hcmtyYWRpY2FsUmFkaWNhbHJlZ2lvbmFsaW5kaWNhdG9yUmVnaW9uYWxfSW5kaWNhdG9ycmlzYnNjZlNpbXBsZV9DYXNlX0ZvbGRpbmdzY3JpcHRleHRlbnNpb25zc2N4c2RTb2Z0X0RvdHRlZHNlbnRlbmNlYnJlYWtzZW50ZW5jZXRlcm1pbmFsU2VudGVuY2VfVGVybWluYWxzZmNzaW1wbGVjYXNlZm9sZGluZ3NpbXBsZWxvd2VyY2FzZW1hcHBpbmdTaW1wbGVfTG93ZXJjYXNlX01hcHBpbmdzaW1wbGV0aXRsZWNhc2VtYXBwaW5nU2ltcGxlX1RpdGxlY2FzZV9NYXBwaW5nc2ltcGxldXBwZXJjYXNlbWFwcGluZ1NpbXBsZV9VcHBlcmNhc2VfTWFwcGluZ3NsY3NvZnRkb3R0ZWRXaGl0ZV9TcGFjZXN0Y3N0ZXJtc3VjdGNUaXRsZWNhc2VfTWFwcGluZ3Rlcm1UZXJtaW5hbF9QdW5jdHVhdGlvbnRlcm1pbmFscHVuY3R1YXRpb250aXRsZWNhc2VtYXBwaW5ndWNVcHBlcmNhc2VfTWFwcGluZ3VpZGVvVW5pZmllZF9JZGVvZ3JhcGh1bmljb2RlMW5hbWV1bmljb2RlcmFkaWNhbHN0cm9rZXVuaWZpZWRpZGVvZ3JhcGhVcHBlcmNhc2V1cHBlcmNhc2V1cHBlcmNhc2VtYXBwaW5ndXJzdmFyaWF0aW9uc2VsZWN0b3JWYXJpYXRpb25fU2VsZWN0b3J2ZXJ0aWNhbG9yaWVudGF0aW9uVmVydGljYWxfT3JpZW50YXRpb252b3Zzd2J3aGl0ZXNwYWNld29yZGJyZWFrd3NwYWNleGlkY1hJRF9Db250aW51ZXhpZGNvbnRpbnVleGlkc1hJRF9TdGFydHhpZHN0YXJ0eG9uZmN4b25mZHhvbmZrY3hvbmZrZET9EQADAAAAYOIRAAMAAABH/REABAAAAEv9EQAPAAAAqUcWAAUAAABa/REACgAAAGT9EQAKAAAAWv0RAAoAAABu/READQAAAEv9EQAPAAAAe/0RAAIAAAB9/REACgAAAIf9EQAFAAAAjP0RAAwAAACY/REACQAAAH39EQAKAAAAof0RAAsAAACM/READAAAAKz9EQAFAAAAsf0RAA0AAAC+/READAAAALH9EQANAAAAyv0RABIAAADc/REAFAAAAPD9EQARAAAAAf4RABMAAAAU/hEAFQAAACn+EQAYAAAAQf4RAAMAAAD0UBYABQAAAEtSFgAFAAAA9FAWAAUAAABE/hEAAwAAANz9EQAUAAAAR/4RAAMAAAAB/hEAEwAAAEr+EQADAAAAKf4RABgAAABN/hEAFwAAAGT+EQAZAAAAff4RAAUAAACC/hEABQAAAIf+EQALAAAAkv4RAAwAAACe/hEADQAAAKv+EQAOAAAAuf4RAAMAAABk/hEAGQAAALz+EQACAAAAvv4RABUAAABa4hEAAgAAAJL+EQAMAAAA0/4RABUAAADo/hEAFwAAAP/+EQAVAAAAFP8RABcAAAAr/xEAFQAAAED/EQAXAAAAV/8RABkAAABw/xEAHAAAAIz/EQAVAAAAof8RABcAAAC4/xEAFQAAAM3/EQAXAAAA5P8RAAIAAACr/hEADgAAAOb/EQAUAAAA+v8RABIAAAAMABIAFwAAACMAEgAVAAAAOAASAAkAAABBABIABwAAAEgAEgANAAAAVQASAAwAAABhABIADQAAAG4AEgAMAAAAegASAA0AAACHABIADAAAAJMAEgAOAAAAoQASAA0AAACuABIADQAAALsAEgAMAAAAxwASAA0AAADUABIADAAAAOAAEgANAAAA7QASAAwAAAD5ABIADQAAAAYBEgAMAAAAEgESAA4AAAAgARIADQAAAC0BEgANAAAAOgESAAwAAABGARIADQAAAFMBEgAMAAAAXwESAA8AAABuARIADQAAAHsBEgARAAAAjAESAA8AAACbARIADAAAAKcBEgAKAAAAsQESAAYAAAC3ARIAGgAAANEBEgAUAAAAvv4RABUAAADlARIABAAAAOj+EQAXAAAA6QESAAQAAAAU/xEAFwAAAO0BEgAFAAAAcP8RABwAAADyARIAAwAAAED/EQAXAAAA9QESAAMAAACh/xEAFwAAAPgBEgADAAAAzf8RABcAAAD7ARIABAAAAP8BEgAEAAAAAwISABQAAAAXAhIAFQAAACwCEgARAAAAPQISABIAAABPAhIAGQAAAGgCEgAcAAAAhAISAAMAAACHAhIACgAAAJECEgAKAAAAhwISAAoAAACbAhIAAgAAAGgCEgAcAAAAnQISAAMAAACgAhIACQAAAKkCEgAJAAAAoAISAAkAAACyAhIAAgAAABcCEgAVAAAAtAISAAIAAAA9AhIAEgAAALYCEgACAAAAuAISABAAAADIAhIADgAAALgCEgAQAAAA1gISAAUAAADbAhIAEwAAAO4CEgAFAAAA8wISAA8AAAACAxIABAAAAAYDEgAOAAAAFAMSAAUAAAAZAxIABQAAAB4DEgAOAAAA8wISAA8AAAAsAxIADQAAAAYDEgAOAAAAOQMSABEAAADbAhIAEwAAAEoDEgARAAAAWwMSABIAAABtAxIABQAAAFsDEgASAAAAcgMSAAcAAAB5AxIAHAAAAJUDEgAaAAAAeQMSABwAAACvAxIADAAAALsDEgAOAAAAyQMSAAwAAADVAxIADgAAAOMDEgANAAAA8AMSAA8AAAD/AxIADQAAAAwEEgAPAAAAGwQSAAMAAAAeBBIACAAAACYEEgAUAAAAOgQSABUAAABPBBIACAAAAB4EEgAIAAAAVwQSAAcAAAA6BBIAFQAAAF4EEgAGAAAAZAQSAA8AAABzBBIADQAAAGQEEgAPAAAAgAQSABgAAAC3ARIAGgAAAJgEEgACAAAAROIRABAAAACaBBIAAwAAAHTiEQAWAAAAnQQSAA8AAABE4hEAEAAAAKwEEgAMAAAAuAQSAA0AAADFBBIAFAAAAHTiEQAWAAAA2QQSAA4AAADnBBIADwAAAPYEEgAMAAAAAgUSAA0AAAAPBRIABgAAALgEEgANAAAAFQUSAAUAAADnBBIADwAAABoFEgAGAAAAAgUSAA0AAAAgBRIAEgAAADIFEgAUAAAARgUSAAMAAABJBRIACQAAAFIFEgAIAAAASQUSAAkAAABaBRIAAwAAADIFEgAUAAAAXQUSAAYAAABjBRIABgAAAGkFEgADAAAAbAUSAAsAAAB3BRIACgAAAGwFEgALAAAAgQUSAAQAAACFBRIACwAAAJAFEgALAAAAhQUSAAsAAACbBRIAAwAAAJ4FEgAIAAAApgUSAAQAAACqBRIAEwAAAL0FEgARAAAAqgUSABMAAADOBRIABAAAANIFEgAUAAAA5gUSAAcAAACeBRIACAAAAO0FEgASAAAA0gUSABQAAAD/BRIAFwAAABYGEgAZAAAALwYSABUAAABEBhIAFwAAAFsGEgAEAAAAFgYSABkAAABfBhIABAAAAEQGEgAXAAAAYwYSAAMAAABmBhIACwAAAHEGEgANAAAAfgYSAA8AAACNBhIAAgAAAI8GEgANAAAAnAYSAAUAAAChBhIADAAAAK0GEgALAAAAoQYSAAwAAAC4BhIADAAAAI8GEgANAAAAxAYSAAsAAADPBhIADAAAANsGEgADAAAAfgYSAA8AAADeBhIAAgAAAM8GEgAMAAAA4AYSABIAAAD6/xEAEgAAAPIGEgAVAAAAIwASABUAAAAHBxIABwAAAEEAEgAHAAAADgcSAAsAAABVABIADAAAABkHEgALAAAAbgASAAwAAAAkBxIACwAAAIcAEgAMAAAALwcSAAwAAAChABIADQAAADsHEgALAAAAuwASAAwAAABGBxIACwAAANQAEgAMAAAAUQcSAAsAAADtABIADAAAAFwHEgALAAAABgESAAwAAABnBxIADAAAACABEgANAAAAcwcSAAsAAAA6ARIADAAAAH4HEgALAAAAUwESAAwAAACJBxIADQAAAG4BEgANAAAAlgcSAA8AAACMARIADwAAAKUHEgAKAAAApwESAAoAAACvBxIAAgAAALEHEgAKAAAAXuIRAAIAAAC7BxIAEQAAAMwHEgAJAAAAsQcSAAoAAADVBxIAAwAAANgHEgAXAAAA7wcSABUAAADYBxIAFwAAAFKjFQAFAAAABAgSAAkAAAANCBIACQAAAAQIEgAJAAAAFggSABAAAAC7BxIAEQAAACYIEgAEAAAAKggSAAQAAAAuCBIAAgAAADAIEgAEAAAANAgSAAMAAAA3CBIADgAAAPpZFgAEAAAAMAgSAAQAAABFCBIACQAAAE4IEgAKAAAAWAgSAAUAAABdCBIAFwAAAHQIEgAFAAAAeQgSAA8AAACICBIADQAAAHkIEgAPAAAAlQgSAAUAAACaCBIADwAAAKkIEgANAAAAmggSAA8AAAC2CBIADAAAAMIIEgANAAAAzwgSAAYAAADCCBIADQAAANUIEgAGAAAA2wgSABAAAADrCBIADgAAANsIEgAQAAAA+QgSAAYAAAD/CBIAEAAAAA8JEgAOAAAA/wgSABAAAAAdCRIAFQAAAF0IEgAXAAAAMgkSAAIAAAA0CRIADAAAAEAJEgALAAAANAkSAAwAAABLCRIADAAAAFcJEgANAAAAZAkSAAIAAABXCRIADQAAAGYJEgAGAAAAbAkSABAAAAB8CRIACAAAAGYGEgALAAAAhAkSAAMAAACHCRIAIgAAAKkJEgAGAAAArwkSABUAAADECRIABAAAAMgJEgARAAAA2QkSAAQAAADdCRIADgAAAOsJEgAGAAAA8QkSAA8AAAAAChIABQAAAAUKEgAKAAAADwoSAA8AAABsCRIAEAAAAB4KEgAeAAAAhwkSACIAAAA8ChIAEwAAAK8JEgAVAAAATwoSAA8AAADICRIAEQAAAF4KEgAMAAAA3QkSAA4AAABqChIADgAAAPEJEgAPAAAAeAoSAAkAAAAFChIACgAAAIEKEgAOAAAAjwoSAA8AAACeChIABgAAAI8KEgAPAAAApAoSAAYAAACqChIADgAAALgKEgANAAAAqgoSAA4AAADFChIAEQAAANYKEgATAAAA6QoSAAUAAADWChIAEwAAAO4KEgADAAAA8QoSABwAAAANCxIAGgAAAPEKEgAcAAAAJwsSAAUAAAAsCxIADgAAADoLEgANAAAALAsSAA4AAABHCxIABwAAAE4LEgAHAAAAVQsSABEAAABmCxIAEgAAAHgLEgACAAAAZgsSABIAAAB6CxIAAgAAAIriEQAOAAAAXOIRAAIAAABU4hEABgAAAHwLEgADAAAAfwsSABMAAADaHBgABgAAAFTiEQAGAAAAkgsSABAAAABj4hEAEQAAAKILEgADAAAAY+IRABEAAAClCxIAAgAAAKcLEgALAAAAsgsSAA0AAACK4hEADgAAAL8LEgAQAAAAzwsSABEAAADgCxIAAwAAAH8LEgATAAAA4wsSABEAAAB/CxIAEwAAAPQLEgAWAAAACgwSABgAAAAiDBIAFgAAADgMEgAYAAAAUAwSABYAAABmDBIAGAAAAH4MEgADAAAACgwSABgAAACBDBIACgAAAKcLEgALAAAAYaMVAAUAAACLDBIACwAAAJYMEgADAAAAOAwSABgAAACZDBIABQAAAM8LEgARAAAAngwSAAMAAABmDBIAGAAAAKEMEgACAAAAowwSABEAAAC0DBIABAAAALgMEgAUAAAAzAwSABMAAAC4DBIAFAAAAN8MEgAQAAAAowwSABEAAADvDBIAAgAAAPEMEgARAAAAAg0SAAUAAAAHDRIAEQAAABgNEgAMAAAANwgSAA4AAAAkDRIAFAAAAKcBEgAKAAAAOA0SABAAAAAHDRIAEQAAAGajFQAFAAAASA0SAAkAAABRDRIACQAAAEgNEgAJAAAAWg0SABAAAADxDBIAEQAAAGoNEgADAAAApwESAAoAAABtDRIAEQAAAH4NEgASAAAAkA0SABMAAACjDRIAFAAAALcNEgACAAAAow0SABQAAAC5DRIAAgAAAH4NEgASAAAAuw0SAAIAAACY4hEACgAAAL0NEgAKAAAAiwwSAAsAAADHDRIACQAAAJjiEQAKAAAA0A0SAAYAAACLDBIACwAAANYNEgAEAAAA2g0SAAwAAADmDRIACwAAANoNEgAMAAAA8Q0SAAQAAAD1DRIACQAAAP4NEgAIAAAA9Q0SAAkAAAAGDhIABQAAALsDEgAOAAAACw4SAAUAAADVAxIADgAAABAOEgAGAAAA8AMSAA8AAAAWDhIABgAAAAwEEgAPAAAAjOERAGYAAAAvAgAAFgAAADEuMVYxXzExMC4wVjEwXzAxMS4wVjExXzAxMi4wVjEyXzAxMi4xVjEyXzExMy4wVjEzXzAxNC4wVjE0XzAxNS4wVjE1XzAyLjBWMl8wMi4xVjJfMTMuMFYzXzAzLjFWM18xMy4yVjNfMjQuMFY0XzA0LjFWNF8xNS4wVjVfMDUuMVY1XzE1LjJWNV8yNi4wVjZfMDYuMVY2XzE2LjJWNl8yNi4zVjZfMzcuMFY3XzA4LjBWOF8wOS4wVjlfMFVuYXNzaWduZWR1bmFzc2lnbmVkdjEwMHYxMXYxMTB2MTIwdjEyMXYxMzB2MTQwdjE1MHYyMHYyMXYzMHYzMXYzMnY0MHY0MXY1MHY1MXY1MnY2MHY2MXY2MnY2M3Y3MHY4MHY5MAAMHhIAAwAAAA8eEgAEAAAAEx4SAAQAAAAXHhIABQAAABweEgAEAAAAIB4SAAUAAAAlHhIABAAAACkeEgAFAAAALh4SAAQAAAAyHhIABQAAADceEgAEAAAAOx4SAAUAAABAHhIABAAAAEQeEgAFAAAASR4SAAQAAABNHhIABQAAAFIeEgADAAAAVR4SAAQAAABZHhIAAwAAAFweEgAEAAAAYB4SAAMAAABjHhIABAAAAGceEgADAAAAah4SAAQAAABuHhIAAwAAAHEeEgAEAAAAdR4SAAMAAAB4HhIABAAAAHweEgADAAAAfx4SAAQAAACDHhIAAwAAAIYeEgAEAAAAih4SAAMAAACNHhIABAAAAJEeEgADAAAAlB4SAAQAAACYHhIAAwAAAJseEgAEAAAAnx4SAAMAAACiHhIABAAAAKYeEgADAAAAqR4SAAQAAACtHhIAAwAAALAeEgAEAAAAtB4SAAMAAAC3HhIABAAAALseEgADAAAAvh4SAAQAAADCHhIAAwAAAMUeEgAEAAAALggSAAIAAADJHhIACgAAANMeEgAKAAAAyR4SAAoAAADdHhIABAAAABceEgAFAAAA4R4SAAMAAAAPHhIABAAAAOQeEgAEAAAAIB4SAAUAAADoHhIABAAAACkeEgAFAAAA7B4SAAQAAAAyHhIABQAAAPAeEgAEAAAAOx4SAAUAAAD0HhIABAAAAEQeEgAFAAAA+B4SAAQAAABNHhIABQAAAPweEgADAAAAVR4SAAQAAAD/HhIAAwAAAFweEgAEAAAAAh8SAAMAAABjHhIABAAAAAUfEgADAAAAah4SAAQAAAAIHxIAAwAAAHEeEgAEAAAACx8SAAMAAAB4HhIABAAAAA4fEgADAAAAfx4SAAQAAAARHxIAAwAAAIYeEgAEAAAAFB8SAAMAAACNHhIABAAAABcfEgADAAAAlB4SAAQAAAAaHxIAAwAAAJseEgAEAAAAHR8SAAMAAACiHhIABAAAACAfEgADAAAAqR4SAAQAAAAjHxIAAwAAALAeEgAEAAAAJh8SAAMAAAC3HhIABAAAACkfEgADAAAAvh4SAAQAAAAsHxIAAwAAAMUeEgAEAAAAY2FzZWRsZXR0ZXJDYXNlZF9MZXR0ZXJjY0NvbnRyb2xGb3JtYXRjbG9zZXB1bmN0dWF0aW9uQ2xvc2VfUHVuY3R1YXRpb25jbmNvUHJpdmF0ZV9Vc2Vjb21iaW5pbmdtYXJrY29ubmVjdG9ycHVuY3R1YXRpb25Db25uZWN0b3JfUHVuY3R1YXRpb25jb250cm9sY3NTdXJyb2dhdGVjdXJyZW5jeXN5bWJvbEN1cnJlbmN5X1N5bWJvbGRhc2hwdW5jdHVhdGlvbkRhc2hfUHVuY3R1YXRpb25kZWNpbWFsbnVtYmVyRGVjaW1hbF9OdW1iZXJlbmNsb3NpbmdtYXJrRW5jbG9zaW5nX01hcmtmaW5hbHB1bmN0dWF0aW9uRmluYWxfUHVuY3R1YXRpb25mb3JtYXRpbml0aWFscHVuY3R1YXRpb25Jbml0aWFsX1B1bmN0dWF0aW9ubExldHRlcmxldHRlcmxldHRlcm51bWJlckxldHRlcl9OdW1iZXJsaW5lc2VwYXJhdG9yTGluZV9TZXBhcmF0b3JsbExvd2VyY2FzZV9MZXR0ZXJsbU1vZGlmaWVyX0xldHRlcmxvT3RoZXJfTGV0dGVybG93ZXJjYXNlbGV0dGVyVGl0bGVjYXNlX0xldHRlcmx1VXBwZXJjYXNlX0xldHRlcm1tYXJrbWF0aHN5bWJvbE1hdGhfU3ltYm9sbWNTcGFjaW5nX01hcmttZW1uTm9uc3BhY2luZ19NYXJrbW9kaWZpZXJsZXR0ZXJtb2RpZmllcnN5bWJvbE1vZGlmaWVyX1N5bWJvbG5kbmxub090aGVyX051bWJlcm5vbnNwYWNpbmdtYXJrb3BlbnB1bmN0dWF0aW9uT3Blbl9QdW5jdHVhdGlvbm90aGVyb3RoZXJsZXR0ZXJvdGhlcm51bWJlcm90aGVycHVuY3R1YXRpb25PdGhlcl9QdW5jdHVhdGlvbm90aGVyc3ltYm9sT3RoZXJfU3ltYm9scFB1bmN0dWF0aW9ucGFyYWdyYXBoc2VwYXJhdG9yUGFyYWdyYXBoX1NlcGFyYXRvcnBjcGRwZXBmcG9wcml2YXRldXNlcHNwdW5jdHVhdGlvbnNTeW1ib2xzZXBhcmF0b3JT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AAAUJRIABQAAAIAcFgAFAAAAoCsSAAIAAACiKxIABwAAAKkrEgAHAAAAoisSAAcAAABVCxIAEQAAAGYLEgASAAAAeAsSAAIAAABmCxIAEgAAANQlEgACAAAAsCsSAAsAAAD1JRIACwAAALArEgALAAAAuysSAAEAAAC8KxIAAQAAAL0rEgABAAAAvisSAAEAAAC/KxIAAgAAAIAcFgAFAAAANUgWAAMAAADBKxIAAwAAAGFkbGFtQWRsYW1hZGxtYWdoYkNhdWNhc2lhbl9BbGJhbmlhbmFob21BaG9tYW5hdG9saWFuaGllcm9nbHlwaHNBbmF0b2xpYW5fSGllcm9nbHlwaHNhcmFiQXJhYmljYXJhYmljYXJtZW5pYW5Bcm1lbmlhbmFybWlJbXBlcmlhbF9BcmFtYWljYXJtbmF2ZXN0YW5BdmVzdGFuYXZzdGJhbGlCYWxpbmVzZWJhbGluZXNlYmFtdUJhbXVtYmFtdW1iYXNzQmFzc2FfVmFoYmFzc2F2YWhiYXRha0JhdGFrYmF0a2JlbmdCZW5nYWxpYmVuZ2FsaWJoYWlrc3VraUJoYWlrc3VraWJoa3Nib3BvQm9wb21vZm9ib3BvbW9mb2JyYWhCcmFobWlicmFobWlicmFpQnJhaWxsZWJyYWlsbGVidWdpQnVnaW5lc2VidWdpbmVzZWJ1aGRCdWhpZGJ1aGlkY2FrbUNoYWttYWNhbmFkaWFuYWJvcmlnaW5hbENhbmFkaWFuX0Fib3JpZ2luYWxjYW5zY2FyaUNhcmlhbmNhcmlhbmNhdWNhc2lhbmFsYmFuaWFuY2hha21hY2hhbUNoYW1jaGVyQ2hlcm9rZWVjaGVyb2tlZWNob3Jhc21pYW5DaG9yYXNtaWFuY2hyc2NvbW1vbkNvbW1vbmNvcHRDb3B0aWNjb3B0aWNjcG1uQ3lwcm9fTWlub2FuY3BydEN5cHJpb3RjdW5laWZvcm1DdW5laWZvcm1jeXByaW90Y3lwcm9taW5vYW5jeXJpbGxpY0N5cmlsbGljY3lybGRlc2VyZXREZXNlcmV0ZGV2YURldmFuYWdhcmlkZXZhbmFnYXJpZGlha0RpdmVzX0FrdXJ1ZGl2ZXNha3VydWRvZ3JEb2dyYWRvZ3JhZHNydGR1cGxEdXBsb3lhbmR1cGxveWFuZWd5cEVneXB0aWFuX0hpZXJvZ2x5cGhzZWd5cHRpYW5oaWVyb2dseXBoc2VsYmFFbGJhc2FuZWxiYXNhbmVseW1FbHltYWljZWx5bWFpY2V0aGlFdGhpb3BpY2V0aGlvcGljZ2Vvckdlb3JnaWFuZ2VvcmdpYW5nbGFnR2xhZ29saXRpY2dsYWdvbGl0aWNnb25nR3VuamFsYV9Hb25kaWdvbm1NYXNhcmFtX0dvbmRpZ290aEdvdGhpY2dvdGhpY2dyYW5HcmFudGhhZ3JhbnRoYWdyZWVrR3JlZWtncmVrZ3VqYXJhdGlHdWphcmF0aWd1anJndW5qYWxhZ29uZGlndXJtdWtoaUd1cm11a2hpZ3VydWhhbkhhbmhhbmdIYW5ndWxoYW5ndWxoYW5paGFuaWZpcm9oaW5neWFIYW5pZmlfUm9oaW5neWFoYW5vSGFudW5vb2hhbnVub29oYXRySGF0cmFuaGF0cmFuaGVickhlYnJld2hlYnJld2hpcmFIaXJhZ2FuYWhpcmFnYW5haGx1d2htbmdQYWhhd2hfSG1vbmdobW5wTnlpYWtlbmdfUHVhY2h1ZV9IbW9uZ2hya3RLYXRha2FuYV9Pcl9IaXJhZ2FuYWh1bmdPbGRfSHVuZ2FyaWFuaW1wZXJpYWxhcmFtYWljaW5oZXJpdGVkSW5oZXJpdGVkaW5zY3JpcHRpb25hbHBhaGxhdmlJbnNjcmlwdGlvbmFsX1BhaGxhdmlpbnNjcmlwdGlvbmFscGFydGhpYW5JbnNjcmlwdGlvbmFsX1BhcnRoaWFuaXRhbE9sZF9JdGFsaWNqYXZhSmF2YW5lc2VqYXZhbmVzZWthaXRoaUthaXRoaWthbGlLYXlhaF9MaWthbmFLYXRha2FuYWthbm5hZGFLYW5uYWRha2F0YWthbmFrYXRha2FuYW9yaGlyYWdhbmFrYXdpS2F3aWtheWFobGlraGFyS2hhcm9zaHRoaWtoYXJvc2h0aGlraGl0YW5zbWFsbHNjcmlwdEtoaXRhbl9TbWFsbF9TY3JpcHRraG1lcktobWVya2htcmtob2pLaG9qa2lraG9qa2lraHVkYXdhZGlLaHVkYXdhZGlraXRza25kYWt0aGlsYW5hVGFpX1RoYW1sYW9MYW9sYW9vbGF0aW5MYXRpbmxhdG5sZXBjTGVwY2hhbGVwY2hhbGltYkxpbWJ1bGltYnVsaW5hTGluZWFyX0FsaW5iTGluZWFyX0JsaW5lYXJhbGluZWFyYmxpc3VMaXN1bHljaUx5Y2lhbmx5Y2lhbmx5ZGlMeWRpYW5seWRpYW5tYWhhamFuaU1haGFqYW5pbWFoam1ha2FNYWthc2FybWFrYXNhcm1hbGF5YWxhbU1hbGF5YWxhbW1hbmRNYW5kYWljbWFuZGFpY21hbmlNYW5pY2hhZWFubWFuaWNoYWVhbm1hcmNNYXJjaGVubWFyY2hlbm1hc2FyYW1nb25kaW1lZGVmYWlkcmluTWVkZWZhaWRyaW5tZWRmbWVldGVpbWF5ZWtNZWV0ZWlfTWF5ZWttZW5kTWVuZGVfS2lrYWt1aW1lbmRla2lrYWt1aW1lcmNNZXJvaXRpY19DdXJzaXZlbWVyb01lcm9pdGljX0hpZXJvZ2x5cGhzbWVyb2l0aWNjdXJzaXZlbWVyb2l0aWNoaWVyb2dseXBoc21pYW9NaWFvbWx5bW1vZGlNb2RpbW9uZ01vbmdvbGlhbm1vbmdvbGlhbm1yb01yb21yb29tdGVpbXVsdE11bHRhbmltdWx0YW5pbXlhbm1hck15YW5tYXJteW1ybmFiYXRhZWFuTmFiYXRhZWFubmFnbU5hZ19NdW5kYXJpbmFnbXVuZGFyaW5hbmROYW5kaW5hZ2FyaW5hbmRpbmFnYXJpbmFyYk9sZF9Ob3J0aF9BcmFiaWFubmJhdG5ld2FOZXdhbmV3dGFpbHVlTmV3X1RhaV9MdWVua29Oa29ua29vbnNodU51c2h1bnVzaHVueWlha2VuZ3B1YWNodWVobW9uZ29nYW1PZ2hhbW9naGFtb2xjaGlraU9sX0NoaWtpb2xja29sZGh1bmdhcmlhbm9sZGl0YWxpY29sZG5vcnRoYXJhYmlhbm9sZHBlcm1pY09sZF9QZXJtaWNvbGRwZXJzaWFuT2xkX1BlcnNpYW5vbGRzb2dkaWFuT2xkX1NvZ2RpYW5vbGRzb3V0aGFyYWJpYW5PbGRfU291dGhfQXJhYmlhbm9sZHR1cmtpY09sZF9UdXJraWNvbGR1eWdodXJPbGRfVXlnaHVyb3JpeWFPcml5YW9ya2hvcnlhb3NhZ2VPc2FnZW9zZ2Vvc21hT3NtYW55YW9zbWFueWFvdWdycGFoYXdoaG1vbmdwYWxtUGFsbXlyZW5lcGFsbXlyZW5lcGF1Y1BhdV9DaW5fSGF1cGF1Y2luaGF1cGVybXBoYWdQaGFnc19QYXBoYWdzcGFwaGxpcGhscFBzYWx0ZXJfUGFobGF2aXBobnhQaG9lbmljaWFucGhvZW5pY2lhbnBscmRwcnRpcHNhbHRlcnBhaGxhdmlxYWFjcWFhaXJlamFuZ1JlamFuZ3Jqbmdyb2hncnVuaWNSdW5pY3J1bnJzYW1hcml0YW5TYW1hcml0YW5zYW1yc2FyYnNhdXJTYXVyYXNodHJhc2F1cmFzaHRyYXNnbndTaWduV3JpdGluZ3NoYXJhZGFTaGFyYWRhc2hhdmlhblNoYXZpYW5zaGF3c2hyZHNpZGRTaWRkaGFtc2lkZGhhbXNpZ253cml0aW5nc2luZHNpbmhTaW5oYWxhc2luaGFsYXNvZ2RTb2dkaWFuc29nZGlhbnNvZ29zb3JhU29yYV9Tb21wZW5nc29yYXNvbXBlbmdzb3lvU295b21ib3NveW9tYm9zdW5kU3VuZGFuZXNlc3VuZGFuZXNlc3lsb1N5bG90aV9OYWdyaXN5bG90aW5hZ3Jpc3lyY1N5cmlhY3N5cmlhY3RhZ2Fsb2dUYWdhbG9ndGFnYlRhZ2JhbndhdGFnYmFud2F0YWlsZVRhaV9MZXRhaXRoYW10YWl2aWV0VGFpX1ZpZXR0YWtyVGFrcml0YWtyaXRhbGV0YWx1dGFtaWxUYW1pbHRhbWx0YW5nVGFuZ3V0dGFuZ3NhVGFuZ3NhdGFuZ3V0dGF2dHRlbHVUZWx1Z3V0ZWx1Z3V0Zm5nVGlmaW5hZ2h0Z2xndGhhYVRoYWFuYXRoYWFuYXRoYWlUaGFpdGliZXRhblRpYmV0YW50aWJ0dGlmaW5hZ2h0aXJoVGlyaHV0YXRpcmh1dGF0bnNhdG90b1RvdG91Z2FyVWdhcml0aWN1Z2FyaXRpY3ZhaVZhaXZhaWl2aXRoVml0aGt1cWl2aXRoa3VxaXdhbmNob1dhbmNob3dhcmFXYXJhbmdfQ2l0aXdhcmFuZ2NpdGl3Y2hveHBlb3hzdXh5ZXppWWV6aWRpeWV6aWRpeWlZaXlpaWl6YW5hYmF6YXJzcXVhcmVaYW5hYmF6YXJfU3F1YXJlemFuYnppbmh6eXl5enp6egAAAIQtEgAFAAAAiS0SAAUAAACOLRIABAAAAIktEgAFAAAAki0SAAQAAACWLRIAEgAAAKgtEgAEAAAArC0SAAQAAACwLRIAFAAAAMQtEgAVAAAA2S0SAAQAAADdLRIABgAAAOMtEgAGAAAA3S0SAAYAAADpLRIACAAAAPEtEgAIAAAA+S0SAAQAAAD9LRIAEAAAAA0uEgAEAAAA8S0SAAgAAAARLhIABwAAABguEgAHAAAAHy4SAAQAAAAYLhIABwAAACMuEgAEAAAAJy4SAAgAAAAvLhIACAAAACcuEgAIAAAANy4SAAQAAAA7LhIABQAAAEAuEgAFAAAAOy4SAAUAAABFLhIABAAAAEkuEgAJAAAAUi4SAAgAAABJLhIACQAAAFouEgAFAAAAXy4SAAUAAABkLhIABAAAAF8uEgAFAAAAaC4SAAQAAABsLhIABwAAAHMuEgAHAAAAbC4SAAcAAAB6LhIACQAAAIMuEgAJAAAAjC4SAAQAAACDLhIACQAAAJAuEgAEAAAAlC4SAAgAAACcLhIACAAAAJQuEgAIAAAApC4SAAQAAACoLhIABgAAAK4uEgAGAAAAqC4SAAYAAAC0LhIABAAAALguEgAHAAAAvy4SAAcAAAC4LhIABwAAAMYuEgAEAAAAyi4SAAgAAADSLhIACAAAAMouEgAIAAAA2i4SAAQAAADeLhIABQAAAOMuEgAFAAAA3i4SAAUAAADoLhIABAAAAOwuEgAGAAAA8i4SABIAAAAELxIAEwAAABcvEgAEAAAABC8SABMAAAAbLxIABAAAAB8vEgAGAAAAJS8SAAYAAAAfLxIABgAAACsvEgARAAAAli0SABIAAAA8LxIABgAAAOwuEgAGAAAAQi8SAAQAAABGLxIABAAAAEovEgAEAAAATi8SAAgAAABWLxIACAAAAE4vEgAIAAAAXi8SAAoAAABoLxIACgAAAHIvEgAEAAAAaC8SAAoAAAB2LxIABgAAAHwvEgAGAAAAgi8SAAQAAACGLxIABgAAAIwvEgAGAAAAhi8SAAYAAACSLxIABAAAAJYvEgAMAAAAoi8SAAQAAACmLxIABwAAAK0vEgAJAAAAti8SAAkAAAC/LxIABwAAAKYvEgAHAAAAxi8SAAsAAACWLxIADAAAANEvEgAIAAAA2S8SAAgAAADhLxIABAAAANkvEgAIAAAA5S8SAAcAAADsLxIABwAAAPMvEgAEAAAA9y8SAAoAAAABMBIACgAAAPcvEgAKAAAACzASAAQAAAAPMBIACwAAABowEgAKAAAADzASAAsAAAAkMBIABAAAACgwEgAFAAAALTASAAUAAAAoMBIABQAAADIwEgAEAAAA7C8SAAcAAAA2MBIABAAAADowEgAIAAAAQjASAAgAAAA6MBIACAAAAEowEgAEAAAATjASABQAAABiMBIAEwAAAE4wEgAUAAAAdTASAAQAAAB5MBIABwAAAIAwEgAHAAAAeTASAAcAAACHMBIABAAAAIswEgAHAAAAkjASAAcAAACLMBIABwAAAJkwEgAEAAAAnTASAAgAAAClMBIACAAAAJ0wEgAIAAAArTASAAQAAACxMBIACAAAALkwEgAIAAAAsTASAAgAAADBMBIABAAAAMUwEgAKAAAAzzASAAoAAADFMBIACgAAANkwEgAEAAAA3TASAA0AAADqMBIABAAAAO4wEgANAAAA+zASAAQAAAD/MBIABgAAAAUxEgAGAAAA/zASAAYAAAALMRIABAAAAA8xEgAHAAAAFjESAAcAAAAPMRIABwAAAB0xEgAFAAAAIjESAAUAAAAnMRIABAAAACIxEgAFAAAAKzESAAgAAAAzMRIACAAAADsxEgAEAAAAMzESAAgAAAA/MRIADAAAAN0wEgANAAAASzESAAgAAABTMRIACAAAAFsxEgAEAAAAUzESAAgAAABfMRIAAwAAAGIxEgADAAAAZTESAAQAAABpMRIABgAAAG8xEgAGAAAAaTESAAYAAAB1MRIABAAAAGIxEgADAAAAeTESAA4AAACHMRIADwAAAJYxEgAEAAAAmjESAAcAAAChMRIABwAAAJoxEgAHAAAAqDESAAQAAACsMRIABgAAALIxEgAGAAAArDESAAYAAAC4MRIABAAAALwxEgAGAAAAwjESAAYAAAC8MRIABgAAAMgxEgAEAAAAzDESAAgAAADUMRIACAAAAMwxEgAIAAAA3DESAAQAAADELRIAFQAAAOAxEgAEAAAA5DESAAwAAADwMRIABAAAAPQxEgAWAAAACjISAAQAAAAOMhIAFAAAACIyEgAEAAAAJjISAA0AAAAzMhIADwAAAP0tEgAQAAAAQjISAAkAAABLMhIACQAAAFQyEgAUAAAAaDISABUAAAB9MhIAFQAAAJIyEgAWAAAAqDISAAQAAACsMhIACgAAALYy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EgAGAAAAn1ESAAYAAAClURIACQAAAH5REgAJAAAArlESAAIAAACQURIACQAAAJkkEgACAAAAn1ESAAYAAACwURIABwAAALdREgAHAAAA1yQSAAIAAAC3URIABwAAAOBHFgACAAAALk8SAAcAAAA1TxIABwAAAC5PEgAHAAAAFCUSAAUAAACAHBYABQAAAFULEgARAAAAZgsSABIAAAB4CxIAAgAAAGYLEgASAAAAvlESAAsAAADJURIADAAAANVREgACAAAAyVESAAwAAADXURIACQAAAOBREgAJAAAAvysSAAIAAACAHBYABQAAADVIFgADAAAAwSsSAAMAAABg4hEAAwAAADAfEgA0AAAAROIRABAAAAAwJhIAUAAAAHTiEQAWAAAAxCsSABwAAABU4hEABgAAAMg6EgBEAQAAY+IRABEAAADIOhIARAEAAIriEQAOAAAAcE8SABsAAACY4hEACgAAAOxREgApAAAAjOERAGYAAABoAgAAFgAAAAAAAAD1AQAA+gEAABcCAABQAgAAqAIAALACAADeAgAA4AIAAOkCAAAAAwAARQMAAGADAABhAwAAdAMAAHUDAAB6AwAAegMAAH4DAAB+AwAAhAMAAIoDAACMAwAAjAMAAI4DAAChAwAAowMAAM4DAADQAwAA1gMAANoDAADaAwAA3AMAANwDAADeAwAA3gMAAOADAADgAwAA4gMAAPMDAAABBAAADAQAAA4EAABPBAAAUQQAAFwEAABeBAAAhgQAAJAEAADEBAAAxwQAAMgEAADLBAAAzAQAANAEAADrBAAA7gQAAPUEAAD4BAAA+QQAADEFAABWBQAAWQUAAF8FAABhBQAAhwUAAIkFAACJBQAAsAUAALkFAAC7BQAAwwUAANAFAADqBQAA8AUAAPQFAAAMBgAADAYAABsGAAAbBgAAHwYAAB8GAAAhBgAAOgYAAEAGAABSBgAAYAYAAG0GAABwBgAAtwYAALoGAAC+BgAAwAYAAM4GAADQBgAA7QYAAPAGAAD5BgAAAQkAAAMJAAAFCQAAOQkAADwJAABNCQAAUAkAAFQJAABYCQAAcAkAAIEJAACDCQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvAkAALwJAAC+CQAAxAkAAMcJAADICQAAywkAAM0J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AADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAAohAAAKIQAADiEAAA8hAAATIQAAEyEAAC8hAAAvIQAANCEAADQhAAA5IQAAOSEAADwhAAA9IQAARiEAAEkhAABOIQAATiEAAIQhAACEIQAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcSwAAHEsAABzLAAAdCwAAHYsAAB7LAAAgSwAAIEsAACDLAAAgywAAIUsAACFLAAAhywAAIcsAACJLAAAiSwAAIssAACLLAAAjSwAAI0sAACPLAAAjywAAJEsAACRLAAAkywAAJMsAACVLAAAlSwAAJcsAACXLAAAmSwAAJksAACbLAAAmywAAJ0sAACdLAAAnywAAJ8sAAChLAAAoSwAAKMsAACjLAAApSwAAKUsAACnLAAApywAAKksAACpLAAAqywAAKssAACtLAAArSwAAK8sAACvLAAAsSwAALEsAACzLAAAsywAALUsAAC1LAAAtywAALcsAAC5LAAAuSwAALssAAC7LAAAvSwAAL0sAAC/LAAAvywAAMEsAADBLAAAwywAAMMsAADFLAAAxSwAAMcsAADHLAAAySwAAMksAADLLAAAyywAAM0sAADNLAAAzywAAM8sAADRLAAA0SwAANMsAADTLAAA1SwAANUsAADXLAAA1ywAANksAADZLAAA2ywAANssAADdLAAA3SwAAN8sAADfLAAA4SwAAOEsAADjLAAA5CwAAOwsAADsLAAA7iwAAO4sAADzLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AAEGmAABBpgAAQ6YAAEOmAABFpgAARaYAAEemAABHpgAASaYAAEmmAABLpgAAS6YAAE2mAABNpgAAT6YAAE+mAABRpgAAUaYAAFOmAABTpgAAVaYAAFWmAABXpgAAV6YAAFmmAABZpgAAW6YAAFumAABdpgAAXaYAAF+mAABfpgAAYaYAAGGmAABjpgAAY6YAAGWmAABlpgAAZ6YAAGemAABppgAAaaYAAGumAABrpgAAbaYAAG2mAACBpgAAgaYAAIOmAACDpgAAhaYAAIWmAACHpgAAh6YAAImmAACJpgAAi6YAAIumAACNpgAAjaYAAI+mAACPpgAAkaYAAJGmAACTpgAAk6YAAJWmAACVpgAAl6YAAJemAACZpgAAmaYAAJumAACbpgAAI6cAACOnAAAlpwAAJacAACenAAAnpwAAKacAACmnAAArpwAAK6cAAC2nAAAtpwAAL6cAADGnAAAzpwAAM6cAADWnAAA1pwAAN6cAADenAAA5pwAAOacAADunAAA7pwAAPacAAD2nAAA/pwAAP6cAAEGnAABBpwAAQ6cAAEOnAABFpwAARacAAEenAABHpwAASacAAEmnAABLpwAAS6cAAE2nAABNpwAAT6cAAE+nAABRpwAAUacAAFOnAABTpwAAVacAAFWnAABXpwAAV6cAAFmnAABZpwAAW6cAAFunAABdpwAAXacAAF+nAABfpwAAYacAAGGnAABjpwAAY6cAAGWnAABlpwAAZ6cAAGenAABppwAAaacAAGunAABrpwAAbacAAG2nAABvpwAAb6cAAHGnAAB4pwAAeqcAAHqnAAB8pwAAfKcAAH+nAAB/pwAAgacAAIGnAACDpwAAg6cAAIWnAACFpwAAh6cAAIenAACMpwAAjKcAAI6nAACOpwAAkacAAJGnAACTpwAAlacAAJenAACXpwAAmacAAJmnAACbpwAAm6cAAJ2nAACdpwAAn6cAAJ+nAAChpwAAoacAAKOnAACjpwAApacAAKWnAACnpwAAp6cAAKmnAACppwAAr6cAAK+nAAC1pwAAtacAALenAAC3pwAAuacAALmnAAC7pwAAu6cAAL2nAAC9pwAAv6cAAL+nAADBpwAAwacAAMOn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AAD6HgAA/B4AAPweAAD+HgAA/h4AAAgfAAAPHwAAGB8AAB0fAAAoHwAALx8AADgfAAA/HwAASB8AAE0fAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAXx8AAGgfAABvHwAAuB8AALsfAADIHwAAyx8AANgfAADbHwAA6B8AAOwfAAD4HwAA+x8AAAIhAAACIQAAByEAAAchAAALIQAADSEAABAhAAASIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAAMCEAADMhAAA+IQAAPyEAAEUhAABFIQAAgyEAAIMhAAAALAAALywAAGAsAABgLAAAYiwAAGQsAABnLAAAZywAAGksAABpLAAAaywAAGssAABtLAAAcCwAAHIsAAByLAAAdSwAAHUsAAB+LAAAgCwAAIIsAACCLAAAhCwAAIQsAACGLAAAhiwAAIgsAACILAAAiiwAAIosAACMLAAAjCwAAI4sAACOLAAAkCwAAJAsAACSLAAAkiwAAJQsAACULAAAliwAAJYsAACYLAAAmCwAAJosAACaLAAAnCwAAJwsAACeLAAAniwAAKAsAACgLAAAoiwAAKIsAACkLAAApCwAAKYsAACmLAAAqCwAAKgsAACqLAAAqiwAAKwsAACsLAAAriwAAK4sAACwLAAAsCwAALIsAACyLAAAtCwAALQsAAC2LAAAtiwAALgsAAC4LAAAuiwAALosAAC8LAAAvCwAAL4sAAC+LAAAwCwAAMAsAADCLAAAwiwAAMQsAADELAAAxiwAAMYsAADILAAAyCwAAMosAADKLAAAzCwAAMwsAADOLAAAziwAANAsAADQLAAA0iwAANIsAADULAAA1CwAANYsAADWLAAA2CwAANgsAADaLAAA2iwAANwsAADcLAAA3iwAAN4sAADgLAAA4CwAAOIsAADiLAAA6ywAAOssAADtLAAA7SwAAPIsAADyLAAAQKYAAECmAABCpgAAQqYAAESmAABEpgAARqYAAEamAABIpgAASKYAAEqmAABKpgAATKYAAEymAABOpgAATqYAAFCmAABQpgAAUqYAAFKmAABUpgAAVKYAAFamAABWpgAAWKYAAFimAABapgAAWqYAAFymAABcpgAAXqYAAF6mAABgpgAAYKYAAGKmAABipgAAZKYAAGSmAABmpgAAZqYAAGimAABopgAAaqYAAGqmAABspgAAbKYAAICmAACApgAAgqYAAIKmAACEpgAAhKYAAIamAACGpgAAiKYAAIimAACKpgAAiqYAAIymAACMpgAAjqYAAI6mAACQpgAAkKYAAJKmAACSpgAAlKYAAJSmAACWpgAAlqYAAJimAACYpgAAmqYAAJqmAAAipwAAIqcAACSnAAAkpwAAJqcAACanAAAopwAAKKcAACqnAAAqpwAALKcAACynAAAupwAALqcAADKnAAAypwAANKcAADSnAAA2pwAANqcAADinAAA4pwAAOqcAADqnAAA8pwAAPKcAAD6nAAA+pwAAQKcAAECnAABCpwAAQqcAAESnAABEpwAARqcAAEanAABIpwAASKcAAEqnAABKpwAATKcAAEynAABOpwAATqcAAFCnAABQpwAAUqcAAFKnAABUpwAAVKcAAFanAABWpwAAWKcAAFinAABapwAAWqcAAFynAABcpwAAXqcAAF6nAABgpwAAYKcAAGKnAABipwAAZKcAAGSnAABmpwAAZqcAAGinAABopwAAaqcAAGqnAABspwAAbKcAAG6nAABupwAAeacAAHmnAAB7pwAAe6cAAH2nAAB+pwAAgKcAAICnAACCpwAAgqcAAISnAACEpwAAhqcAAIanAACLpwAAi6cAAI2nAACNpwAAkKcAAJCnAACSpwAAkqcAAJanAACWpwAAmKcAAJinAACapwAAmqcAAJynAACcpwAAnqcAAJ6nAACgpwAAoKcAAKKnAACipwAApKcAAKSnAACmpwAApqcAAKinAACopwAAqqcAAK6nAACwpwAAtKcAALanAAC2pwAAuKcAALinAAC6pwAAuqcAALynAAC8pwAAvqcAAL6nAADApwAAwKcAAMKnAADCpwAAxKcAAMenAADJpwAAyacAANCnAADQpwAA1qcAANanAADYpwAA2KcAAPWnAAD1pwAAIf8AADr/AAAABAEAJwQBALAEAQDTBAEAcAUBAHoFAQB8BQEAigUBAIwFAQCSBQEAlAUBAJUFAQCADAEAsgwBAKAYAQC/GAEAQG4BAF9uAQAA1AEAGdQBADTUAQBN1AEAaNQBAIHUAQCc1AEAnNQBAJ7UAQCf1AEAotQBAKLUAQCl1AEAptQBAKnUAQCs1AEArtQBALXUAQDQ1AEA6dQBAATV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AABSCQAAZAkAAGUJAAAADQAADA0AAA4NAAAQDQAAEg0AAEQNAABGDQAASA0AAEoNAABPDQAAVA0AAGMNAABmDQAAfw0AANocAADaHAAAMKgAADKoAABABgAAQAYAAEAIAABbCAAAXggAAF4IAABABgAAQAYAAMAKAQDmCgEA6woBAPYKAQBkCQAAZQkAAAAdAQAGHQEACB0BAAkdAQALHQEANh0BADodAQA6HQEAPB0BAD0dAQA/HQEARx0BAFAdAQBZHQEAMKgAADmoAAAAFgEARBYBAFAWAQBZFgEAABgAABkYAAAgGAAAeBgAAIAYAACqGAAALyAAAC8gAABgFgEAbBYBAGYKAABvCgAAgBIBAIYSAQCIEgEAiBIBAIoSAQCNEgEAjxIBAJ0SAQCfEgEAqRIBAAAQAACfEAAALqkAAC6pAADgqQAA/qkAAGCqAAB/qgAAZAkAAGUJAADmDAAA7wwAAOkcAADpHAAA8hwAAPIcAAD6HAAA+hwAADCoAAA1qAAAoBkBAKcZAQCqGQEA1xkBANoZAQDkGQEADAYAAAwGAAAbBgAAGwYAAB8GAAAfBgAAwAcAAPoHAAD9BwAA/wcAAD79AAA//QAAgwQAAIMEAABQAwEAegMBAEAGAABABgAA8goBAPIKAQBwDwEAiQ8BAFEJAABSCQAAZAkAAGUJAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAAB3CwAA2hwAANocAADyHAAA8hwAAAIYAAADGAAABRgAAAUYAABAqAAAd6gAAEAGAABABgAAgAsBAJELAQCZCwEAnAsBAKkLAQCvCwEAUQkAAFEJAADXHAAA1xwAANkcAADZHAAA3BwAAN0cAADgHAAA4BwAAIARAQDfEQEAZAkAAGUJAACBDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADKDQAAyg0AAM8NAADUDQAA1g0AANYNAADYDQAA3w0AAOYNAADvDQAA8g0AAPQNAADhEQEA9BEBAEAGAABABgAAMA8BAFkPAQBkCQAAZQkAAOYJAADvCQAAAKgAACyo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AADIHgAAyB4AAMoeAADKHgAAzB4AAMweAADOHgAAzh4AANAeAADQHgAA0h4AANIeAADUHgAA1B4AANYeAADWHgAA2B4AANgeAADaHgAA2h4AANweAADcHgAA3h4AAN4eAADgHgAA4B4AAOIeAADiHgAA5B4AAOQeAADmHgAA5h4AAOgeAADoHgAA6h4AAOoeAADsHgAA7B4AAO4eAADuHgAA8B4AAPAeAADyHgAA8h4AAPQeAAD0HgAA9h4AAPYeAAD4HgAA+B4AAPoeAAD6HgAA/B4AAPweAAD+HgAA/h4AAAgfAAAPHwAAGB8AAB0fAAAoHwAALx8AADgfAAA/HwAASB8AAE0fAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAXx8AAGgfAABvHwAAgB8AAK8fAACyHwAAtB8AALcfAAC8HwAAwh8AAMQfAADHHwAAzB8AANgfAADbHwAA6B8AAOwfAADyHwAA9B8AAPcfAAD8HwAAJiEAACYhAAAqIQAAKyEAADIhAAAyIQAAYCEAAG8hAACDIQAAgyEAALYkAADPJAAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAAlqcAAJinAACYpwAAmqcAAJqnAACcpwAAnKcAAJ6nAACepwAAoKcAAKCnAACipwAAoqcAAKSnAACkpwAApqcAAKanAACopwAAqKcAAKqnAACupwAAsKcAALSnAAC2pwAAtqcAALinAAC4pwAAuqcAALqnAAC8pwAAvKcAAL6nAAC+pwAAwKcAAMCnAADCpwAAwqcAAMSnAADHpwAAyacAAMmnAADQpwAA0KcAANanAADWpwAA2KcAANin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AAA2HgAANh4AADgeAAA4HgAAOh4AADoeAAA8HgAAPB4AAD4eAAA+HgAAQB4AAEAeAABCHgAAQh4AAEQeAABEHgAARh4AAEYeAABIHgAASB4AAEoeAABKHgAATB4AAEweAABOHgAATh4AAFAeAABQHgAAUh4AAFIeAABUHgAAVB4AAFYeAABWHgAAWB4AAFgeAABaHgAAWh4AAFweAABcHgAAXh4AAF4eAABgHgAAYB4AAGIeAABiHgAAZB4AAGQeAABmHgAAZh4AAGgeAABoHgAAah4AAGoeAABsHgAAbB4AAG4eAABuHgAAcB4AAHAeAAByHgAAch4AAHQeAAB0HgAAdh4AAHYeAAB4HgAAeB4AAHoeAAB6HgAAfB4AAHweAAB+HgAAfh4AAIAeAACAHgAAgh4AAIIeAACEHgAAhB4AAIYeAACGHgAAiB4AAIgeAACKHgAAih4AAIweAACMHgAAjh4AAI4eAACQHgAAkB4AAJIeAACSHgAAlB4AAJQeAACeHgAAnh4AAKAeAACgHgAAoh4AAKIeAACkHgAApB4AAKYeAACmHgAAqB4AAKgeAACqHgAAqh4AAKweAACsHgAArh4AAK4eAACwHgAAsB4AALIeAACyHgAAtB4AALQeAAC2HgAAth4AALgeAAC4HgAAuh4AALoeAAC8HgAAvB4AAL4eAAC+HgAAwB4AAMAeAADCHgAAwh4AAMQeAADEHgAAxh4AAMYeAADIHgAAyB4AAMoeAADKHgAAzB4AAMweAADOHgAAzh4AANAeAADQHgAA0h4AANIeAADUHgAA1B4AANYeAADWHgAA2B4AANgeAADaHgAA2h4AANweAADcHgAA3h4AAN4eAADgHgAA4B4AAOIeAADiHgAA5B4AAOQeAADmHgAA5h4AAOgeAADoHgAA6h4AAOoeAADsHgAA7B4AAO4eAADuHgAA8B4AAPAeAADyHgAA8h4AAPQeAAD0HgAA9h4AAPYeAAD4HgAA+B4AAPoeAAD6HgAA/B4AAPweAAD+HgAA/h4AAAgfAAAPHwAAGB8AAB0fAAAoHwAALx8AADgfAAA/HwAASB8AAE0fAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAXx8AAGgfAABvHwAAiB8AAI8fAACYHwAAnx8AAKgfAACvHwAAuB8AALwfAADIHwAAzB8AANgfAADbHwAA6B8AAOwfAAD4HwAA/B8AACYhAAAmIQAAKiEAACshAAAyIQAAMiEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAAXKcAAFynAABepwAAXqcAAGCnAABgpwAAYqcAAGKnAABkpwAAZKcAAGanAABmpwAAaKcAAGinAABqpwAAaqcAAGynAABspwAAbqcAAG6nAAB5pwAAeacAAHunAAB7pwAAfacAAH6nAACApwAAgKcAAIKnAACCpwAAhKcAAISnAACGpwAAhqcAAIunAACLpwAAjacAAI2nAACQpwAAkKcAAJKnAACSpwAAlqcAAJanAACYpwAAmKcAAJqnAACapwAAnKcAAJynAACepwAAnqcAAKCnAACgpwAAoqcAAKKnAACkpwAApKcAAKanAACmpwAAqKcAAKinAACqpwAArqcAALCnAAC0pwAAtqcAALanAAC4pwAAuKcAALqnAAC6pwAAvKcAALynAAC+pwAAvqcAAMCnAADApwAAwqcAAMKnAADEpwAAx6cAAMmnAADJpwAA0KcAANCnAADWpwAA1qcAANinAADYpwAA9acAAPWnAAAh/wAAOv8AAAAEAQAnBAEAsAQBANMEAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAIAMAQCyDAEAoBgBAL8YAQBAbgEAX24BAADpAQAh6QEAYQAAAHoAAAC1AAAAtQAAAN8AAAD2AAAA+AAAAP8AAAABAQAAAQEAAAMBAAADAQAABQEAAAUBAAAHAQAABwEAAAkBAAAJAQAACwEAAAsBAAANAQAADQEAAA8BAAAPAQAAEQEAABEBAAATAQAAEwEAABUBAAAVAQAAFwEAABcBAAAZAQAAGQEAABsBAAAbAQAAHQEAAB0BAAAfAQAAHwEAACEBAAAhAQAAIwEAACMBAAAlAQAAJQEAACcBAAAnAQAAKQEAACkBAAArAQAAKwEAAC0BAAAtAQAALwEAAC8BAAAxAQAAMQEAADMBAAAzAQAANQEAADUBAAA3AQAANwEAADoB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AACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcywAAHMsAAB2LAAAdiwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOMsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAm6YAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAvpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAG+nAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAkacAAJGnAACTpwAAlKcAAJenAACXpwAAmacAAJmnAACbpwAAm6cAAJ2nAACdpwAAn6cAAJ+nAAChpwAAoacAAKOnAACjpwAApacAAKWn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AAAdHgAAHx4AAB8eAAAhHgAAIR4AACMeAAAjHgAAJR4AACUeAAAnHgAAJx4AACkeAAApHgAAKx4AACseAAAtHgAALR4AAC8eAAAvHgAAMR4AADEeAAAzHgAAMx4AADUeAAA1HgAANx4AADceAAA5HgAAOR4AADseAAA7HgAAPR4AAD0eAAA/HgAAPx4AAEEeAABBHgAAQx4AAEMeAABFHgAARR4AAEceAABHHgAASR4AAEkeAABLHgAASx4AAE0eAABNHgAATx4AAE8eAABRHgAAUR4AAFMeAABTHgAAVR4AAFUeAABXHgAAVx4AAFkeAABZHgAAWx4AAFseAABdHgAAXR4AAF8eAABfHgAAYR4AAGEeAABjHgAAYx4AAGUeAABlHgAAZx4AAGceAABpHgAAaR4AAGseAABrHgAAbR4AAG0eAABvHgAAbx4AAHEeAABxHgAAcx4AAHMeAAB1HgAAdR4AAHceAAB3HgAAeR4AAHkeAAB7HgAAex4AAH0eAAB9HgAAfx4AAH8eAACBHgAAgR4AAIMeAACDHgAAhR4AAIUeAACHHgAAhx4AAIkeAACJHgAAix4AAIseAACNHgAAjR4AAI8eAACPHgAAkR4AAJEeAACTHgAAkx4AAJUeAACbHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAtB8AALYfAAC3HwAAvB8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADMHwAAzB8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAAD8HwAA/B8AAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcywAAHMsAAB2LAAAdiwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOMsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAm6YAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAvpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAG+nAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAkacAAJGnAACTpwAAlKcAAJenAACXpwAAmacAAJmnAACbpwAAm6cAAJ2nAACdpwAAn6cAAJ+nAAChpwAAoacAAKOnAACjpwAApacAAKWnAACnpwAAp6cAAKmnAACppwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANenAADXpwAA2acAANmnAAD2pwAA9qcAAFOrAABTqwAAcKsAAL+rAAAA+wAABvsAABP7AAAX+wAAQf8AAFr/AAAoBAEATwQBANgEAQD7BAEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQDADAEA8gwBAMAYAQDfGAEAYG4BAH9uAQAi6QEAQ+kBAC0AAAAtAAAAigUAAIoFAAC+BQAAvgUAAAAUAAAAFAAABhgAAAYYAAAQIAAAFSAAAFMgAABTIAAAeyAAAHsgAACLIAAAiyAAABIiAAASIgAAFy4AABcuAAAaLgAAGi4AADouAAA7LgAAQC4AAEAuAABdLgAAXS4AABwwAAAcMAAAMDAAADAw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AABZHgAAWx4AAFseAABdHgAAXR4AAF8eAABfHgAAYR4AAGEeAABjHgAAYx4AAGUeAABlHgAAZx4AAGceAABpHgAAaR4AAGseAABrHgAAbR4AAG0eAABvHgAAbx4AAHEeAABxHgAAcx4AAHMeAAB1HgAAdR4AAHceAAB3HgAAeR4AAHkeAAB7HgAAex4AAH0eAAB9HgAAfx4AAH8eAACBHgAAgR4AAIMeAACDHgAAhR4AAIUeAACHHgAAhx4AAIkeAACJHgAAix4AAIseAACNHgAAjR4AAI8eAACPHgAAkR4AAJEeAACTHgAAkx4AAJUeAACdHgAAnx4AAJ8eAAChHgAAoR4AAKMeAACjHgAApR4AAKUeAACnHgAApx4AAKkeAACpHgAAqx4AAKseAACtHgAArR4AAK8eAACvHgAAsR4AALEeAACzHgAAsx4AALUeAAC1HgAAtx4AALceAAC5HgAAuR4AALseAAC7HgAAvR4AAL0eAAC/HgAAvx4AAMEeAADBHgAAwx4AAMMeAADFHgAAxR4AAMceAADHHgAAyR4AAMkeAADLHgAAyx4AAM0eAADNHgAAzx4AAM8eAADRHgAA0R4AANMeAADTHgAA1R4AANUeAADXHgAA1x4AANkeAADZHgAA2x4AANseAADdHgAA3R4AAN8eAADfHgAA4R4AAOEeAADjHgAA4x4AAOUeAADlHgAA5x4AAOceAADpHgAA6R4AAOseAADrHgAA7R4AAO0eAADvHgAA7x4AAPEeAADxHgAA8x4AAPMeAAD1HgAA9R4AAPceAAD3HgAA+R4AAPkeAAD7HgAA+x4AAP0eAAD9HgAA/x4AAAcfAAAQHwAAFR8AACAfAAAnHwAAMB8AADcfAABAHwAARR8AAFAfAABXHwAAYB8AAGcfAABwHwAAfR8AAIAfAACHHwAAkB8AAJcfAACgHwAApx8AALAfAAC0HwAAth8AALcfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADQHwAA0x8AANYfAADXHwAA4B8AAOcfAADyHwAA9B8AAPYfAAD3HwAAcSAAAHEgAAB/IAAAfyAAAJAgAACcIAAACiEAAAohAAAOIQAADyEAABMhAAATIQAALyEAAC8hAAA0IQAANCEAADkhAAA5IQAAPCEAAD0hAABGIQAASSEAAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcSwAAHEsAABzLAAAdCwAAHYsAAB9LAAAgSwAAIEsAACDLAAAgywAAIUsAACFLAAAhywAAIcsAACJLAAAiSwAAIssAACLLAAAjSwAAI0sAACPLAAAjywAAJEsAACRLAAAkywAAJMsAACVLAAAlSwAAJcsAACXLAAAmSwAAJksAACbLAAAmywAAJ0sAACdLAAAnywAAJ8sAAChLAAAoSwAAKMsAACjLAAApSwAAKUsAACnLAAApywAAKksAACpLAAAqywAAKssAACtLAAArSwAAK8sAACvLAAAsSwAALEsAACzLAAAsywAALUsAAC1LAAAtywAALcsAAC5LAAAuSwAALssAAC7LAAAvSwAAL0sAAC/LAAAvywAAMEsAADBLAAAwywAAMMsAADFLAAAxSwAAMcsAADHLAAAySwAAMksAADLLAAAyywAAM0sAADNLAAAzywAAM8sAADRLAAA0SwAANMsAADTLAAA1SwAANUsAADXLAAA1ywAANksAADZLAAA2ywAANssAADdLAAA3SwAAN8sAADfLAAA4SwAAOEsAADjLAAA5CwAAOwsAADsLAAA7iwAAO4sAADzLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AAEGmAABBpgAAQ6YAAEOmAABFpgAARaYAAEemAABHpgAASaYAAEmmAABLpgAAS6YAAE2mAABNpgAAT6YAAE+mAABRpgAAUaYAAFOmAABTpgAAVaYAAFWmAABXpgAAV6YAAFmmAABZpgAAW6YAAFumAABdpgAAXaYAAF+mAABfpgAAYaYAAGGmAABjpgAAY6YAAGWmAABlpgAAZ6YAAGemAABppgAAaaYAAGumAABrpgAAbaYAAG2mAACBpgAAgaYAAIOmAACDpgAAhaYAAIWmAACHpgAAh6YAAImmAACJpgAAi6YAAIumAACNpgAAjaYAAI+mAACPpgAAkaYAAJGmAACTpgAAk6YAAJWmAACVpgAAl6YAAJemAACZpgAAmaYAAJumAACdpgAAI6cAACOnAAAlpwAAJacAACenAAAnpwAAKacAACmnAAArpwAAK6cAAC2nAAAtpwAAL6cAADGnAAAzpwAAM6cAADWnAAA1pwAAN6cAADenAAA5pwAAOacAADunAAA7pwAAPacAAD2nAAA/pwAAP6cAAEGnAABBpwAAQ6cAAEOnAABFpwAARacAAEenAABHpwAASacAAEmnAABLpwAAS6cAAE2nAABNpwAAT6cAAE+nAABRpwAAUacAAFOnAABTpwAAVacAAFWnAABXpwAAV6cAAFmnAABZpwAAW6cAAFunAABdpwAAXacAAF+nAABfpwAAYacAAGGnAABjpwAAY6cAAGWnAABlpwAAZ6cAAGenAABppwAAaacAAGunAABrpwAAbacAAG2nAABvpwAAeKcAAHqnAAB6pwAAfKcAAHynAAB/pwAAf6cAAIGnAACBpwAAg6cAAIOnAACFpwAAhacAAIenAACHpwAAjKcAAIynAACOpwAAjqcAAJGnAACRpwAAk6cAAJWnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAAK+nAACvpwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANOnAADTpwAA1acAANWnAADXpwAA16cAANmnAADZpwAA8qcAAPSnAAD2pwAA9qcAAPinAAD6pwAAMKsAAFqrAABcqwAAaasAAHCrAAC/qwAAAPsAAAb7AAAT+wAAF/sAAEH/AABa/wAAKAQBAE8EAQDYBAEA+wQBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAgAcBAIAHAQCDBwEAhQcBAIcHAQCwBwEAsgcBALoHAQDADAEA8gwBAMAYAQDfGAEAYG4BAH9uAQAa1AEAM9QBAE7UAQBU1AEAVtQBAGfUAQCC1AEAm9QBALbUAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQDP1AEA6tQBAAPVAQAe1QEAN9UBAFLVAQBr1QEAhtUBAJ/VAQC61QEA09UBAO7VAQAH1gEAItYBADvWAQBW1gEAb9YBAIrWAQCl1gEAwtYBANrWAQDc1gEA4dYBAPzWAQAU1wEAFtcBABvXAQA21wEATtcBAFDXAQBV1wEAcNcBAIjX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AABgHgAAYh4AAGIeAABkHgAAZB4AAGYeAABmHgAAaB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJ4eAACeHgAAoB4AAKAeAACiHgAAoh4AAKQeAACkHgAAph4AAKYeAACoHgAAqB4AAKoeAACqHgAArB4AAKweAACuHgAArh4AALAeAACwHgAAsh4AALIeAAC0HgAAtB4AALYeAAC2HgAAuB4AALgeAAC6HgAAuh4AALweAAC8HgAAvh4AAL4eAADAHgAAwB4AAMIeAADCHgAAxB4AAMQeAADGHgAAxh4AAMgeAADIHgAAyh4AAMoeAADMHgAAzB4AAM4eAADOHgAA0B4AANAeAADSHgAA0h4AANQeAADUHgAA1h4AANYeAADYHgAA2B4AANoeAADaHgAA3B4AANweAADeHgAA3h4AAOAeAADgHgAA4h4AAOIeAADkHgAA5B4AAOYeAADmHgAA6B4AAOgeAADqHgAA6h4AAOweAADsHgAA7h4AAO4eAADwHgAA8B4AAPIeAADyHgAA9B4AAPQeAAD2HgAA9h4AAPgeAAD4HgAA+h4AAPoeAAD8HgAA/B4AAP4eAAD+HgAACB8AAA8fAAAYHwAAHR8AACgfAAAvHwAAOB8AAD8fAABIHwAATR8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAABfHwAAaB8AAG8fAAC4HwAAux8AAMgfAADLHwAA2B8AANsfAADoHwAA7B8AAPgfAAD7HwAAAiEAAAIhAAAHIQAAByEAAAshAAANIQAAECEAABIhAAAVIQAAFSEAABkhAAAdIQAAJCEAACQhAAAmIQAAJiEAACghAAAoIQAAKiEAAC0hAAAwIQAAMyEAAD4hAAA/IQAARSEAAEUhAABgIQAAbyEAAIMhAACDIQAAtiQAAM8kAAAALAAALywAAGAsAABgLAAAYiwAAGQsAABnLAAAZywAAGksAABpLAAAaywAAGssAABtLAAAcCwAAHIsAAByLAAAdSwAAHUsAAB+LAAAgCwAAIIsAACCLAAAhCwAAIQsAACGLAAAhiwAAIgsAACILAAAiiwAAIosAACMLAAAjCwAAI4sAACOLAAAkCwAAJAsAACSLAAAkiwAAJQsAACULAAAliwAAJYsAACYLAAAmCwAAJosAACaLAAAnCwAAJwsAACeLAAAniwAAKAsAACgLAAAoiwAAKIsAACkLAAApCwAAKYsAACmLAAAqCwAAKgsAACqLAAAqiwAAKwsAACsLAAAriwAAK4sAACwLAAAsCwAALIsAACyLAAAtCwAALQsAAC2LAAAtiwAALgsAAC4LAAAuiwAALosAAC8LAAAvCwAAL4sAAC+LAAAwCwAAMAsAADCLAAAwiwAAMQsAADELAAAxiwAAMYsAADILAAAyCwAAMosAADKLAAAzCwAAMwsAADOLAAAziwAANAsAADQLAAA0iwAANIsAADULAAA1CwAANYsAADWLAAA2CwAANgsAADaLAAA2iwAANwsAADcLAAA3iwAAN4sAADgLAAA4CwAAOIsAADiLAAA6ywAAOssAADtLAAA7SwAAPIsAADyLAAAQKYAAECmAABCpgAAQqYAAESmAABEpgAARqYAAEamAABIpgAASKYAAEqmAABKpgAATKYAAEymAABOpgAATqYAAFCmAABQpgAAUqYAAFKmAABUpgAAVKYAAFamAABWpgAAWKYAAFimAABapgAAWqYAAFymAABcpgAAXqYAAF6mAABgpgAAYKYAAGKmAABipgAAZKYAAGSmAABmpgAAZqYAAGimAABopgAAaqYAAGqmAABspgAAbKYAAICmAACApgAAgqYAAIKmAACEpgAAhKYAAIamAACGpgAAiKYAAIimAACKpgAAiqYAAIymAACMpgAAjqYAAI6mAACQpgAAkKYAAJKmAACSpgAAlKYAAJSmAACWpgAAlqYAAJimAACYpgAAmqYAAJqmAAAipwAAIqcAACSnAAAkpwAAJqcAACanAAAopwAAKKcAACqnAAAqpwAALKcAACynAAAupwAALqcAADKnAAAypwAANKcAADSnAAA2pwAANqcAADinAAA4pwAAOqcAADqnAAA8pwAAPKcAAD6nAAA+pwAAQKcAAECnAABCpwAAQqcAAESnAABEpwAARqcAAEanAABIpwAASKcAAEqn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AACBBAAAigQAAC8FAAAxBQAAVgUAAFkFAABZBQAAYAUAAIgFAADQBQAA6gUAAO8FAADyBQAAIAYAAEoGAABuBgAAbwYAAHEGAADTBgAA1QYAANUGAADlBgAA5gYAAO4GAADvBgAA+gYAAPwGAAD/BgAA/wYAABAHAAAQBwAAEgcAAC8HAABNBwAApQcAALEHAACxBwAAygcAAOoHAAD0BwAA9QcAAPoHAAD6BwAAAAgAABUIAAAaCAAAGggAACQIAAAkCAAAKAgAACgIAABACAAAWAgAAGAIAABqCAAAcAgAAIcIAACJCAAAjggAAKAIAADJCAAABAkAADkJAAA9CQAAPQkAAFAJAABQCQAAWAkAAGEJAABxCQAAgAkAAIUJAACMCQAAjwkAAJAJAACTCQAAqAkAAKoJAACwCQAAsgkAALIJAAC2CQAAuQkAAL0JAAC9CQAAzgkAAM4JAADcCQAA3QkAAN8JAADhCQAA8AkAAPEJAAD8CQAA/AkAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAWQoAAFwKAABeCgAAXgoAAHIKAAB0CgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvQoAAL0KAADQCgAA0AoAAOAKAADhCgAA+QoAAPkKAAAFCwAADAsAAA8LAAAQCwAAEwsAACgLAAAqCwAAMAsAADILAAAzCwAANQsAADkLAAA9CwAAPQsAAFwLAABdCwAAXwsAAGELAABxCwAAcQsAAIMLAACDCwAAhQsAAIoLAACOCwAAkAsAAJILAACVCwAAmQsAAJoLAACcCwAAnAsAAJ4LAACfCwAAowsAAKQLAACoCwAAqgsAAK4LAAC5CwAA0AsAANALAAAFDAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAAD0MAAA9DAAAWAwAAFoMAABdDAAAXQwAAGAMAABhDAAAgAwAAIAMAACFDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvQwAAL0MAADdDAAA3gwAAOAMAADhDAAA8QwAAPIMAAAEDQAADA0AAA4NAAAQDQAAEg0AADoNAAA9DQAAPQ0AAE4NAABODQAAVA0AAFYNAABfDQAAYQ0AAHoNAAB/DQAAhQ0AAJYNAACaDQAAsQ0AALMNAAC7DQAAvQ0AAL0NAADADQAAxg0AAAEOAAAwDgAAMg4AADIOAABADgAARg4AAIEOAACCDgAAhA4AAIQOAACGDgAAig4AAIwOAACjDgAApQ4AAKUOAACnDgAAsA4AALIOAACyDgAAvQ4AAL0OAADADgAAxA4AAMYOAADGDgAA3A4AAN8OAAAADwAAAA8AAEAPAABHDwAASQ8AAGwPAACIDwAAjA8AAAAQAAAqEAAAPxAAAD8QAABQEAAAVRAAAFoQAABdEAAAYRAAAGEQAABlEAAAZhAAAG4QAABwEAAAdRAAAIEQAACOEAAAjhAAAKAQAADFEAAAxxAAAMcQAADNEAAAzRAAANAQAAD6EAAA/BAAAEgSAABKEgAATRIAAFASAABWEgAAWBIAAFgSAABaEgAAXRIAAGASAACIEgAAihIAAI0SAACQEgAAsBIAALISAAC1EgAAuBIAAL4SAADAEgAAwBIAAMISAADFEgAAyBIAANYSAADYEgAAEBMAABITAAAVEwAAGBMAAFoTAACAEwAAjxMAAKATAAD1EwAA+BMAAP0TAAABFAAAbBYAAG8WAAB/FgAAgRYAAJoWAACgFgAA6hYAAO4WAAD4FgAAABcAABEXAAAfFwAAMRcAAEAXAABRFwAAYBcAAGwXAABuFwAAcBcAAIAXAACzFwAA1xcAANcXAADcFwAA3BcAACAYAAB4GAAAgBgAAKgYAACqGAAAqhgAALAYAAD1GAAAABkAAB4ZAABQGQAAbRkAAHAZAAB0GQAAgBkAAKsZAACwGQAAyRkAAAAaAAAWGgAAIBoAAFQaAACnGgAApxoAAAUbAAAzGwAARRsAAEwbAACDGwAAoBsAAK4bAACvGwAAuhsAAOUbAAAAHAAAIxwAAE0cAABPHAAAWhwAAH0cAACAHAAAiBwAAJAcAAC6HAAAvRwAAL8cAADpHAAA7BwAAO4cAADzHAAA9RwAAPYcAAD6HAAA+hwAAAAdAAC/HQAAAB4AABUfAAAYHwAAHR8AACAfAABFHwAASB8AAE0fAABQHwAAVx8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAvB8AAL4fAAC+HwAAwh8AAMQfAADGHwAAzB8AANAfAADTHwAA1h8AANsfAADgHwAA7B8AAPIfAAD0HwAA9h8AAPwfAABxIAAAcSAAAH8gAAB/IAAAkCAAAJwgAAACIQAAAiEAAAchAAAHIQAACiEAABMhAAAVIQAAFSEAABghAAAdIQAAJCEAACQhAAAmIQAAJiEAACghAAAoIQAAKiEAADkhAAA8IQAAPyEAAEUhAABJIQAATiEAAE4hAABgIQAAiCEAAAAsAADkLAAA6ywAAO4sAADyLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAG8tAACALQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAAAFMAAABzAAACEwAAApMAAAMTAAADUwAAA4MAAAPDAAAEEwAACWMAAAnTAAAJ8wAAChMAAA+jAAAPwwAAD/MAAABTEAAC8xAAAxMQAAjjEAAKAxAAC/MQAA8DEAAP8xAAAANAAAv00AAABOAACMpAAA0KQAAP2kAAAApQAADKYAABCmAAAfpgAAKqYAACumAABApgAAbqYAAH+mAACdpgAAoKYAAO+mAAAXpwAAH6cAACKnAACIpwAAi6cAAMqnAADQpwAA0acAANOnAADTpwAA1acAANmnAADypwAAAagAAAOoAAAFqAAAB6gAAAqoAAAMqAAAIqgAAECoAABzqAAAgqgAALOoAADyqAAA96gAAPuoAAD7qAAA/agAAP6oAAAKqQAAJakAADCpAABGqQAAYKkAAHypAACEqQAAsqkAAM+pAADPqQAA4KkAAOSpAADmqQAA76kAAPqpAAD+qQAAAKoAACiqAABAqgAAQqoAAESqAABLqgAAYKoAAHaqAAB6qgAAeqoAAH6qAACvqgAAsaoAALGqAAC1qgAAtqoAALmqAAC9qgAAwKoAAMCqAADCqgAAwqoAANuqAADdqgAA4KoAAOqqAADyqgAA9KoAAAGrAAAGqwAACasAAA6rAAARqwAAFqsAACCrAAAmqwAAKKsAAC6rAAAwqwAAWqsAAFyrAABpqwAAcKsAAOKrAAAArAAAo9cAALDXAADG1wAAy9cAAPvXAAAA+QAAbfoAAHD6AADZ+gAAAPsAAAb7AAAT+wAAF/sAAB37AAAd+wAAH/sAACj7AAAq+wAANvsAADj7AAA8+wAAPvsAAD77AABA+wAAQfsAAEP7AABE+wAARvsAALH7AADT+wAAXfwAAGT8AAA9/QAAUP0AAI/9AACS/QAAx/0AAPD9AAD5/QAAcf4AAHH+AABz/gAAc/4AAHf+AAB3/gAAef4AAHn+AAB7/gAAe/4AAH3+AAB9/gAAf/4AAPz+AAAh/wAAOv8AAEH/AABa/wAAZv8AAJ3/AACg/wAAvv8AAML/AADH/wAAyv8AAM//AADS/wAA1/8AANr/AADc/wAAAAABAAsAAQANAAEAJgABACgAAQA6AAEAPAABAD0AAQA/AAEATQABAFAAAQBdAAEAgAABAPoAAQBAAQEAdAEBAIACAQCcAgEAoAIBANACAQAAAwEAHwMBAC0DAQBKAwEAUAMBAHUDAQCAAwEAnQMBAKADAQDDAwEAyAMBAM8DAQDRAwEA1QMBAAAEAQCdBAEAsAQBANMEAQDYBAEA+wQBAAAFAQAnBQEAMAUBAGMFAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAAAYBADYHAQBABwEAVQcBAGAHAQBnBwEAgAcBAIUHAQCHBwEAsAcBALIHAQC6BwEAAAgBAAUIAQAICAEACAgBAAoIAQA1CAEANwgBADgIAQA8CAEAPAgBAD8IAQBVCAEAYAgBAHYIAQCACAEAnggBAOAIAQDyCAEA9AgBAPUIAQAACQEAFQkBACAJAQA5CQEAgAkBALcJAQC+CQEAvwkBAAAKAQAACgEAEAoBABMKAQAVCgEAFwoBABkKAQA1CgEAYAoBAHwKAQCACgEAnAoBAMAKAQDHCgEAyQoBAOQKAQAACwEANQsBAEALAQBVCwEAYAsBAHILAQCACwEAkQsBAAAMAQBIDAEAgAwBALIMAQDADAEA8gwBAAANAQAjDQEAgA4BAKkOAQCwDgEAsQ4BAAAPAQAcDwEAJw8BACcPAQAwDwEARQ8BAHAPAQCBDwEAsA8BAMQPAQDgDwEA9g8BAAMQAQA3EAEAcRABAHIQAQB1EAEAdRABAIMQAQCvEAEA0BABAOgQAQADEQEAJhEBAEQRAQBEEQEARxEBAEcRAQBQEQEAchEBAHYRAQB2EQEAgxEBALIRAQDBEQEAxBEBANoRAQDaEQEA3BEBANwRAQAAEgEAERIBABMSAQArEgEAPxIBAEASAQCAEgEAhhIBAIgSAQCIEgEAihIBAI0SAQCPEgEAnRIBAJ8SAQCoEgEAsBIBAN4SAQAFEwEADBMBAA8TAQAQEwEAExMBACgTAQAqEwEAMBMBADITAQAzEwEANRMBADkTAQA9EwEAPRMBAFATAQBQEwEAXRMBAGETAQAAFAEANBQBAEcUAQBKFAEAXxQBAGEUAQCAFAEArxQBAMQUAQDFFAEAxxQBAMcUAQCAFQEArhUBANgVAQDbFQEAABYBAC8WAQBEFgEARBYBAIAWAQCqFgEAuBYBALgWAQAAFwEAGhcBAEAXAQBGFwEAABgBACsYAQCgGAEA3xgBAP8YAQAGGQEACRkBAAkZAQAMGQEAExkBABUZAQAWGQEAGBkBAC8ZAQA/GQEAPxkBAEEZAQBBGQEAoBkBAKcZAQCqGQEA0BkBAOEZAQDhGQEA4xkBAOMZAQAAGgEAABoBAAsaAQAyGgEAOhoBADoaAQBQGgEAUBoBAFwaAQCJGgEAnRoBAJ0aAQCwGgEA+BoBAAAcAQAIHAEAChwBAC4cAQBAHAEAQBwBAHIcAQCPHAEAAB0BAAYdAQAIHQEACR0BAAsdAQAwHQEARh0BAEYdAQBgHQEAZR0BAGcdAQBoHQEAah0BAIkdAQCYHQEAmB0BAOAeAQDyHgEAAh8BAAIfAQAEHwEAEB8BABIfAQAzHwEAsB8BALAfAQAAIAEAmSMBAAAkAQBuJAEAgCQBAEMlAQCQLwEA8C8BAAAwAQAvNAEAQTQBAEY0AQAARAEARkYBAABoAQA4agEAQGoBAF5qAQBwagEAvmoBANBqAQDtagEAAGsBAC9rAQBAawEAQ2sBAGNrAQB3awEAfWsBAI9rAQBAbgEAf24BAABvAQBKbwEAUG8BAFBvAQCTbwEAn28BAOBvAQDhbwEA428BAONvAQAAcAEA94cBAACIAQDVjAEAAI0BAAiNAQDwrwEA868BAPWvAQD7rwEA/a8BAP6vAQAAsAEAIrEBADKxAQAysQEAULEBAFKxAQBVsQEAVbEBAGSxAQBnsQEAcLEBAPuyAQAAvAEAarwBAHC8AQB8vAEAgLwBAIi8AQCQvAEAmbwBAADUAQBU1AEAVtQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAHtUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAFLVAQCl1gEAqNYBAMDWAQDC1gEA2tYBANzWAQD61gEA/NYBABTXAQAW1wEANNcBADbXAQBO1wEAUNcBAG7XAQBw1wEAiNcBAIrXAQCo1wEAqtcBAMLXAQDE1wEAy9cBAADfAQAe3wEAJd8BACrfAQAw4AEAbeABAADhAQAs4QEAN+EBAD3hAQBO4QEATuEBAJDiAQCt4gEAwOIBAOviAQDQ5AEA6+QBAODnAQDm5wEA6OcBAOvnAQDt5wEA7ucBAPDnAQD+5wEAAOgBAMToAQAA6QEAQ+kBAEvpAQBL6QEAAO4BAAPuAQAF7gEAH+4BACHuAQAi7gEAJO4BACTuAQAn7gEAJ+4BACnuAQAy7gEANO4BADfuAQA57gEAOe4BADvuAQA77gEAQu4BAELuAQBH7gEAR+4BAEnuAQBJ7gEAS+4BAEvuAQBN7gEAT+4BAFHuAQBS7gEAVO4BAFTuAQBX7gEAV+4BAFnuAQBZ7gEAW+4BAFvuAQBd7gEAXe4BAF/uAQBf7gEAYe4BAGLuAQBk7gEAZO4BAGfuAQBq7gEAbO4BAHLuAQB07gEAd+4BAHnuAQB87gEAfu4BAH7uAQCA7gEAie4BAIvuAQCb7gEAoe4BAKPuAQCl7gEAqe4BAKvuAQC77gEAAAACAN+mAgAApwIAObcCAEC3AgAduAIAILgCAKHOAgCwzgIA4OsCAAD4AgAd+gIAAAADAEoTAwBQEwMAryMDAEv9EQAPAAAAlKATAAMAAABa/REACgAAAKygEwDcAgAAjP0RAAwAAACMtxMABAAAALH9EQANAAAArLcTAHIAAACr/hEADgAAADy7EwC1AQAAgv4RAAUAAADkyBMAnQAAAOj+EQAXAAAAzM0TAG4CAAAU/xEAFwAAADzhEwCDAAAAQP8RABcAAABU5RMAYQIAAKH/EQAXAAAAXPgTAHICAADN/xEAFwAAAOwLFABzAgAA/wESAAQAAACEHxQAFwAAAGgCEgAcAAAAPCAUABEAAACHAhIACgAAAMQgFAAIAAAAoAISAAkAAAAEIRQAwwAAABkDEgAFAAAAHCcUAJcAAADzAhIADwAAANQrFAAKAAAABgMSAA4AAAAkLBQAAQAAANsCEgATAAAALCwUACgAAABbAxIAEgAAAGwtFABRAAAAOgQSABUAAAD0LxQATgAAAB4EEgAIAAAAZDIUACEAAAC4BBIADQAAAGwzFABrAwAA5wQSAA8AAADEThQAawEAAAIFEgANAAAAHFoUADgAAABJBRIACQAAANxbFAAGAAAAYwUSAAYAAAAMXBQACgAAAKoFEgATAAAAXFwUAAIAAADSBRIAFAAAAGxcFAABAAAAbAUSAAsAAAB0XBQAAAMAAJ4FEgAIAAAAdHQUAJMCAACFBRIACwAAAAyJFAAUAAAAoQYSAAwAAACsiRQAAQAAANgHEgAXAAAAtIkUAAcAAAAECBIACQAAAOyJFACfAgAAKggSAAQAAADknhQAigAAAF0IEgAXAAAANKMUABIAAABsCRIAEAAAAMSjFADwAAAAhwkSACIAAABEqxQACwAAAK8JEgAVAAAAnKsUABkAAADICRIAEQAAAGSsFAAEAAAA3QkSAA4AAACErBQABAAAAPEJEgAPAAAApKwUABwAAAAFChIACgAAAIStFACGAAAAjwoSAA8AAAC0sRQABQAAAKoKEgAOAAAA3LEUABwAAADWChIAEwAAALyyFAAFAAAA8QoSABwAAADkshQABwAAACwLEgAOAAAAHLMUAA0AAABOCxIABwAAAISzFAADAAAAZgsSABIAAACcsxQAAQAAAM8LEgARAAAApLMUAFAAAACnCxIACwAAACS2FAAiAAAAuAwSABQAAAA0txQAbAAAAAcNEgARAAAAlLoUABAAAABIDRIACQAAABS7FACLAgAAfg0SABIAAABszxQABAAAAIsMEgALAAAAvPoRAAoAAADaDRIADAAAAIzPFAAHAwAA9Q0SAAkAAADE5xQAmgIAAA0AAAANAAAAAAAAAAkAAAALAAAADAAAAA4AAAAfAAAAfwAAAJ8AAACtAAAArQAAABwGAAAcBgAADhgAAA4YAAALIAAACyAAAA4gAAAPIAAAKCAAAC4gAABgIAAAbyAAAP/+AAD//gAA8P8AAPv/AAAwNAEAPzQBAKC8AQCjvAEAc9EBAHrRAQAAAA4AHwAOAIAADgD/AA4A8AEOAP8PDgAAAwAAbwMAAIMEAACJBAAAkQUAAL0FAAC/BQAAvwUAAMEFAADCBQAAxAUAAMUFAADHBQAAxwUAABAGAAAaBgAASwYAAF8GAABwBgAAcAYAANYGAADcBgAA3wYAAOQGAADnBgAA6AYAAOoGAADtBgAAEQcAABEHAAAwBwAASgcAAKYHAACwBwAA6wcAAPMHAAD9BwAA/QcAABYIAAAZCAAAGwgAACMIAAAlCAAAJwgAACkIAAAtCAAAWQgAAFsIAACYCAAAnwgAAMoIAADhCAAA4wgAAAIJAAA6CQAAOgkAADwJAAA8CQAAQQkAAEgJAABNCQAATQkAAFEJAABXCQAAYgkAAGMJAACBCQAAgQkAALwJAAC8CQAAvgkAAL4JAADBCQAAxAkAAM0JAADNCQAA1wkAANcJAADiCQAA4wkAAP4JAAD+CQAAAQoAAAIKAAA8CgAAPAoAAEEKAABCCgAARwoAAEgKAABLCgAATQoAAFEKAABRCgAAcAoAAHEKAAB1CgAAdQoAAIEKAACCCgAAvAoAALwKAADBCgAAxQoAAMcKAADICgAAzQoAAM0KAADiCgAA4woAAPoKAAD/CgAAAQsAAAELAAA8CwAAPAsAAD4LAAA/CwAAQQsAAEQLAABNCwAATQsAAFULAABXCwAAYgsAAGMLAACCCwAAggsAAL4LAAC+CwAAwAsAAMALAADNCwAAzQsAANcLAADXCwAAAAwAAAAMAAAEDAAABAwAADwMAAA8DAAAPgwAAEAMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABiDAAAYwwAAIEMAACBDAAAvAwAALwMAAC/DAAAvwwAAMIMAADCDAAAxgwAAMYMAADMDAAAzQwAANUMAADWDAAA4gwAAOMMAAAADQAAAQ0AADsNAAA8DQAAPg0AAD4NAABBDQAARA0AAE0NAABNDQAAVw0AAFcNAABiDQAAYw0AAIENAACBDQAAyg0AAMoNAADPDQAAzw0AANINAADUDQAA1g0AANYNAADfDQAA3w0AADEOAAAxDgAANA4AADoOAABHDgAATg4AALEOAACxDgAAtA4AALwOAADIDgAAzg4AABgPAAAZDwAANQ8AADUPAAA3DwAANw8AADkPAAA5DwAAcQ8AAH4PAACADwAAhA8AAIYPAACHDwAAjQ8AAJcPAACZDwAAvA8AAMYPAADGDwAALRAAADAQAAAyEAAANxAAADkQAAA6EAAAPRAAAD4QAABYEAAAWRAAAF4QAABgEAAAcRAAAHQQAACCEAAAghAAAIUQAACGEAAAjRAAAI0QAACdEAAAnRAAAF0TAABfEwAAEhcAABQXAAAyFwAAMxcAAFIXAABTFwAAchcAAHMXAAC0FwAAtRcAALcXAAC9FwAAxhcAAMYXAADJFwAA0xcAAN0XAADdFwAACxgAAA0YAAAPGAAADxgAAIUYAACGGAAAqRgAAKkYAAAgGQAAIhkAACcZAAAoGQAAMhkAADIZAAA5GQAAOxkAABcaAAAYGgAAGxoAABsaAABWGgAAVhoAAFgaAABeGgAAYBoAAGAaAABiGgAAYhoAAGUaAABsGgAAcxoAAHwaAAB/GgAAfxoAALAaAADOGgAAABsAAAMbAAA0GwAAOhsAADwbAAA8GwAAQhsAAEIbAABrGwAAcxsAAIAbAACBGwAAohsAAKUbAACoGwAAqRsAAKsbAACtGwAA5hsAAOYbAADoGwAA6RsAAO0bAADtGwAA7xsAAPEbAAAsHAAAMxwAADYcAAA3HAAA0BwAANIcAADUHAAA4BwAAOIcAADoHAAA7RwAAO0cAAD0HAAA9BwAAPgcAAD5HAAAwB0AAP8dAAAMIAAADCAAANAgAADwIAAA7ywAAPEsAAB/LQAAfy0AAOAtAAD/LQAAKjAAAC8wAACZMAAAmjAAAG+mAABypgAAdKYAAH2mAACepgAAn6YAAPCmAADxpgAAAqgAAAKoAAAGqAAABqgAAAuoAAALqAAAJagAACaoAAAsqAAALKgAAMSoAADFqAAA4KgAAPGoAAD/qAAA/6gAACapAAAtqQAAR6kAAFGpAACAqQAAgqkAALOpAACzqQAAtqkAALmpAAC8qQAAvakAAOWpAADlqQAAKaoAAC6qAAAxqgAAMqoAADWqAAA2qgAAQ6oAAEOqAABMqgAATKoAAHyqAAB8qgAAsKoAALCqAACyqgAAtKoAALeqAAC4qgAAvqoAAL+qAADBqgAAwaoAAOyqAADtqgAA9qoAAPaqAADlqwAA5asAAOirAADoqwAA7asAAO2rAAAe+wAAHvsAAAD+AAAP/gAAIP4AAC/+AACe/wAAn/8AAP0BAQD9AQEA4AIBAOACAQB2AwEAegMBAAEKAQADCgEABQoBAAYKAQAMCgEADwoBADgKAQA6CgEAPwoBAD8KAQDlCgEA5goBACQNAQAnDQEAqw4BAKwOAQD9DgEA/w4BAEYPAQBQDwEAgg8BAIUPAQABEAEAARABADgQAQBGEAEAcBABAHAQAQBzEAEAdBABAH8QAQCBEAEAsxABALYQAQC5EAEAuhABAMIQAQDCEAEAABEBAAIRAQAnEQEAKxEBAC0RAQA0EQEAcxEBAHMRAQCAEQEAgREBALYRAQC+EQEAyREBAMwRAQDPEQEAzxEBAC8SAQAxEgEANBIBADQSAQA2EgEANxIBAD4SAQA+EgEAQRIBAEESAQDfEgEA3xIBAOMSAQDqEgEAABMBAAETAQA7EwEAPBMBAD4TAQA+EwEAQBMBAEATAQBXEwEAVxMBAGYTAQBsEwEAcBMBAHQTAQA4FAEAPxQBAEIUAQBEFAEARhQBAEYUAQBeFAEAXhQBALAUAQCwFAEAsxQBALgUAQC6FAEAuhQBAL0UAQC9FAEAvxQBAMAUAQDCFAEAwxQBAK8VAQCvFQEAshUBALUVAQC8FQEAvRUBAL8VAQDAFQEA3BUBAN0VAQAzFgEAOhYBAD0WAQA9FgEAPxYBAEAWAQCrFgEAqxYBAK0WAQCtFgEAsBYBALUWAQC3FgEAtxYBAB0XAQAfFwEAIhcBACUXAQAnFwEAKxcBAC8YAQA3GAEAORgBADoYAQAwGQEAMBkBADsZAQA8GQEAPhkBAD4ZAQBDGQEAQxkBANQZAQDXGQEA2hkBANsZAQDgGQEA4BkBAAEaAQAKGgEAMxoBADgaAQA7GgEAPhoBAEcaAQBHGgEAURoBAFYaAQBZGgEAWxoBAIoaAQCWGgEAmBoBAJkaAQAwHAEANhwBADgcAQA9HAEAPxwBAD8cAQCSHAEApxwBAKocAQCwHAEAshwBALMcAQC1HAEAthwBADEdAQA2HQEAOh0BADodAQA8HQEAPR0BAD8dAQBFHQEARx0BAEcdAQCQHQEAkR0BAJUdAQCVHQEAlx0BAJcdAQDzHgEA9B4BAAAfAQABHwEANh8BADofAQBAHwEAQB8BAEIfAQBCHwEAQDQBAEA0AQBHNAEAVTQBAPBqAQD0agEAMGsBADZrAQBPbwEAT28BAI9vAQCSbwEA5G8BAORvAQCdvAEAnrwBAADPAQAtzwEAMM8BAEbPAQBl0QEAZdEBAGfRAQBp0QEAbtEBAHLRAQB70QEAgtEBAIXRAQCL0QEAqtEBAK3RAQBC0gEARNIBAADaAQA22gEAO9oBAGzaAQB12gEAddoBAITaAQCE2gEAm9oBAJ/aAQCh2gEAr9oBAADgAQAG4AEACOABABjgAQAb4AEAIeABACPgAQAk4AEAJuABACrgAQCP4AEAj+ABADDhAQA24QEAruIBAK7iAQDs4gEA7+IBAOzkAQDv5AEA0OgBANboAQBE6QEASukBAPvzAQD/8wEAIAAOAH8ADgAAAQ4A7wEOAAARAABfEQAAYKkAAHypAAAKAAAACgAAAACsAAAArAAAHKwAABysAAA4rAAAOKwAAFSsAABUrAAAcKwAAHCsAACMrAAAjKwAAKisAACorAAAxKwAAMSsAADgrAAA4KwAAPysAAD8rAAAGK0AABitAAA0rQAANK0AAFCtAABQrQAAbK0AAGytAACIrQAAiK0AAKStAACkrQAAwK0AAMCtAADcrQAA3K0AAPitAAD4rQAAFK4AABSuAAAwrgAAMK4AAEyuAABMrgAAaK4AAGiuAACErgAAhK4AAKCuAACgrgAAvK4AALyuAADYrgAA2K4AAPSuAAD0rgAAEK8AABCvAAAsrwAALK8AAEivAABIrwAAZK8AAGSvAACArwAAgK8AAJyvAACcrwAAuK8AALivAADUrwAA1K8AAPCvAADwrwAADLAAAAywAAAosAAAKLAAAESwAABEsAAAYLAAAGCwAAB8sAAAfLAAAJiwAACYsAAAtLAAALSwAADQsAAA0LAAAOywAADssAAACLEAAAixAAAksQAAJLEAAECxAABAsQAAXLEAAFyxAAB4sQAAeLEAAJSxAACUsQAAsLEAALCxAADMsQAAzLEAAOixAADosQAABLIAAASyAAAgsgAAILIAADyyAAA8sgAAWLIAAFiyAAB0sgAAdLIAAJCyAACQsgAArLIAAKyyAADIsgAAyLIAAOSyAADksgAAALMAAACzAAAcswAAHLMAADizAAA4swAAVLMAAFSzAABwswAAcLMAAIyzAACMswAAqLMAAKizAADEswAAxLMAAOCzAADgswAA/LMAAPyzAAAYtAAAGLQAADS0AAA0tAAAULQAAFC0AABstAAAbLQAAIi0AACItAAApLQAAKS0AADAtAAAwLQAANy0AADctAAA+LQAAPi0AAAUtQAAFLUAADC1AAAwtQAATLUAAEy1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AAAEzgAABM4AACDOAAAgzgAAPM4AADzOAABYzgAAWM4AAHTOAAB0zgAAkM4AAJDOAACszgAArM4AAMjOAADIzgAA5M4AAOTOAAAAzwAAAM8AABzPAAAczwAAOM8AADjPAABUzwAAVM8AAHDPAABwzwAAjM8AAIzPAACozwAAqM8AAMTPAADEzwAA4M8AAODPAAD8zwAA/M8AABjQAAAY0AAANNAAADTQAABQ0AAAUNAAAGzQAABs0AAAiNAAAIjQAACk0AAApNAAAMDQAADA0AAA3NAAANzQAAD40AAA+NAAABTRAAAU0QAAMNEAADDRAABM0QAATNEAAGjRAABo0QAAhNEAAITRAACg0QAAoNEAALzRAAC80QAA2NEAANjRAAD00QAA9NEAABDSAAAQ0gAALNIAACzSAABI0gAASNIAAGTSAABk0gAAgNIAAIDSAACc0gAAnNIAALjSAAC40gAA1NIAANTSAADw0gAA8NIAAAzTAAAM0wAAKNMAACjTAABE0wAARNMAAGDTAABg0wAAfNMAAHzTAACY0wAAmNMAALTTAAC00wAA0NMAANDTAADs0wAA7NMAAAjUAAAI1AAAJNQAACTUAABA1AAAQNQAAFzUAABc1AAAeNQAAHjUAACU1AAAlNQAALDUAACw1AAAzNQAAMzUAADo1AAA6NQAAATVAAAE1QAAINUAACDVAAA81QAAPNUAAFjVAABY1QAAdNUAAHTVAACQ1QAAkNUAAKzVAACs1QAAyNUAAMjVAADk1QAA5NUAAADWAAAA1gAAHNYAABzWAAA41gAAONYAAFTWAABU1gAAcNYAAHDWAACM1gAAjNYAAKjWAACo1gAAxNYAAMTWAADg1gAA4NYAAPzWAAD81gAAGNcAABjXAAA01wAANNcAAFDXAABQ1wAAbNcAAGzXAACI1wAAiNcAAAGsAAAbrAAAHawAADesAAA5rAAAU6wAAFWsAABvrAAAcawAAIusAACNrAAAp6wAAKmsAADDrAAAxawAAN+sAADhrAAA+6wAAP2sAAAXrQAAGa0AADOtAAA1rQAAT60AAFGtAABrrQAAba0AAIetAACJrQAAo60AAKWtAAC/rQAAwa0AANutAADdrQAA960AAPmtAAATrgAAFa4AAC+uAAAxrgAAS64AAE2uAABnrgAAaa4AAIOuAACFrgAAn64AAKGuAAC7rgAAva4AANeuAADZrgAA864AAPWuAAAPrwAAEa8AACuvAAAtrwAAR68AAEmvAABjrwAAZa8AAH+vAACBrwAAm68AAJ2vAAC3rwAAua8AANOvAADVrwAA768AAPGvAAALsAAADbAAACewAAApsAAAQ7AAAEWwAABfsAAAYbAAAHuwAAB9sAAAl7AAAJmwAACzsAAAtbAAAM+wAADRsAAA67AAAO2wAAAHsQAACbEAACOxAAAlsQAAP7EAAEGxAABbsQAAXbEAAHexAAB5sQAAk7EAAJWxAACvsQAAsbEAAMuxAADNsQAA57EAAOmxAAADsgAABbIAAB+yAAAhsgAAO7IAAD2yAABXsgAAWbIAAHOyAAB1sgAAj7IAAJGyAACrsgAArbIAAMeyAADJsgAA47IAAOWyAAD/sgAAAbMAABuzAAAdswAAN7MAADmzAABTswAAVbMAAG+zAABxswAAi7MAAI2zAACnswAAqbMAAMOzAADFswAA37MAAOGzAAD7swAA/bMAABe0AAAZtAAAM7QAADW0AABPtAAAUbQAAGu0AABttAAAh7QAAIm0AACjtAAApbQAAL+0AADBtAAA27QAAN20AAD3tAAA+bQAABO1AAAVtQAAL7UAADG1AABLtQAATbUAAGe1AABptQAAg7UAAIW1AACftQAAobUAALu1AAC9tQAA17UAANm1AADztQAA9bUAAA+2AAARtgAAK7YAAC22AABHtgAASbYAAGO2AABltgAAf7YAAIG2AACbtgAAnbYAALe2AAC5tgAA07YAANW2AADvtgAA8bYAAAu3AAANtwAAJ7cAACm3AABDtwAARbcAAF+3AABhtwAAe7cAAH23AACXtwAAmbcAALO3AAC1twAAz7cAANG3AADrtwAA7bcAAAe4AAAJuAAAI7gAACW4AAA/uAAAQbgAAFu4AABduAAAd7gAAHm4AACTuAAAlbgAAK+4AACxuAAAy7gAAM24AADnuAAA6bgAAAO5AAAFuQAAH7kAACG5AAA7uQAAPbkAAFe5AABZuQAAc7kAAHW5AACPuQAAkbkAAKu5AACtuQAAx7kAAMm5AADjuQAA5bkAAP+5AAABugAAG7oAAB26AAA3ugAAOboAAFO6AABVugAAb7oAAHG6AACLugAAjboAAKe6AACpugAAw7oAAMW6AADfugAA4boAAPu6AAD9ugAAF7sAABm7AAAzuwAANbsAAE+7AABRuwAAa7sAAG27AACHuwAAibsAAKO7AACluwAAv7sAAMG7AADbuwAA3bsAAPe7AAD5uwAAE7wAABW8AAAvvAAAMbwAAEu8AABNvAAAZ7wAAGm8AACDvAAAhbwAAJ+8AAChvAAAu7wAAL28AADXvAAA2bwAAPO8AAD1vAAAD70AABG9AAArvQAALb0AAEe9AABJvQAAY70AAGW9AAB/vQAAgb0AAJu9AACdvQAAt70AALm9AADTvQAA1b0AAO+9AADxvQAAC74AAA2+AAAnvgAAKb4AAEO+AABFvgAAX74AAGG+AAB7vgAAfb4AAJe+AACZvgAAs74AALW+AADPvgAA0b4AAOu+AADtvgAAB78AAAm/AAAjvwAAJb8AAD+/AABBvwAAW78AAF2/AAB3vwAAeb8AAJO/AACVvwAAr78AALG/AADLvwAAzb8AAOe/AADpvwAAA8AAAAXAAAAfwAAAIcAAADvAAAA9wAAAV8AAAFnAAABzwAAAdcAAAI/AAACRwAAAq8AAAK3AAADHwAAAycAAAOPAAADlwAAA/8AAAAHBAAAbwQAAHcEAADfBAAA5wQAAU8EAAFXBAABvwQAAccEAAIvBAACNwQAAp8EAAKnBAADDwQAAxcEAAN/BAADhwQAA+8EAAP3BAAAXwgAAGcIAADPCAAA1wgAAT8IAAFHCAABrwgAAbcIAAIfCAACJwgAAo8IAAKXCAAC/wgAAwcIAANvCAADdwgAA98IAAPnCAAATwwAAFcMAAC/DAAAxwwAAS8MAAE3DAABnwwAAacMAAIPDAACFwwAAn8MAAKHDAAC7wwAAvcMAANfDAADZwwAA88MAAPXDAAAPxAAAEcQAACvEAAAtxAAAR8QAAEnEAABjxAAAZcQAAH/EAACBxAAAm8QAAJ3EAAC3xAAAucQAANPEAADVxAAA78QAAPHEAAALxQAADcUAACfFAAApxQAAQ8UAAEXFAABfxQAAYcUAAHvFAAB9xQAAl8UAAJnFAACzxQAAtcUAAM/FAADRxQAA68UAAO3FAAAHxgAACcYAACPGAAAlxgAAP8YAAEHGAABbxgAAXcYAAHfGAAB5xgAAk8YAAJXGAACvxgAAscYAAMvGAADNxgAA58YAAOnGAAADxwAABccAAB/HAAAhxwAAO8cAAD3HAABXxwAAWccAAHPHAAB1xwAAj8cAAJHHAACrxwAArccAAMfHAADJxwAA48cAAOXHAAD/xwAAAcgAABvIAAAdyAAAN8gAADnIAABTyAAAVcgAAG/IAABxyAAAi8gAAI3IAACnyAAAqcgAAMPIAADFyAAA38gAAOHIAAD7yAAA/cgAABfJAAAZyQAAM8kAADXJAABPyQAAUckAAGvJAABtyQAAh8kAAInJAACjyQAApckAAL/JAADByQAA28kAAN3JAAD3yQAA+ckAABPKAAAVygAAL8oAADHKAABLygAATcoAAGfKAABpygAAg8oAAIXKAACfygAAocoAALvKAAC9ygAA18oAANnKAADzygAA9coAAA/LAAARywAAK8sAAC3LAABHywAAScsAAGPLAABlywAAf8sAAIHLAACbywAAncsAALfLAAC5ywAA08sAANXLAADvywAA8csAAAvMAAANzAAAJ8wAACnMAABDzAAARcwAAF/MAABhzAAAe8wAAH3MAACXzAAAmcwAALPMAAC1zAAAz8wAANHMAADrzAAA7cwAAAfNAAAJzQAAI80AACXNAAA/zQAAQc0AAFvNAABdzQAAd80AAHnNAACTzQAAlc0AAK/NAACxzQAAy80AAM3NAADnzQAA6c0AAAPOAAAFzgAAH84AACHOAAA7zgAAPc4AAFfOAABZzgAAc84AAHXOAACPzgAAkc4AAKvOAACtzgAAx84AAMnOAADjzgAA5c4AAP/OAAABzwAAG88AAB3PAAA3zwAAOc8AAFPPAABVzwAAb88AAHHPAACLzwAAjc8AAKfPAACpzwAAw88AAMXPAADfzwAA4c8AAPvPAAD9zwAAF9AAABnQAAAz0AAANdAAAE/QAABR0AAAa9AAAG3QAACH0AAAidAAAKPQAACl0AAAv9AAAMHQAADb0AAA3dAAAPfQAAD50AAAE9EAABXRAAAv0QAAMdEAAEvRAABN0QAAZ9EAAGnRAACD0QAAhdEAAJ/RAACh0QAAu9EAAL3RAADX0QAA2dEAAPPRAAD10QAAD9IAABHSAAAr0gAALdIAAEfSAABJ0gAAY9IAAGXSAAB/0gAAgdIAAJvSAACd0gAAt9IAALnSAADT0gAA1dIAAO/SAADx0gAAC9MAAA3TAAAn0wAAKdMAAEPTAABF0wAAX9MAAGHTAAB70wAAfdMAAJfT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AAAoCwAAKgsAADALAAAyCwAAMwsAADULAAA5CwAAPQsAAD0LAABcCwAAXQsAAF8LAABhCwAAcQsAAHELAACDCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAANALAADQCwAABQwAAAwMAAAODAAAEAwAABIMAAAoDAAAKgwAADkMAAA9DAAAPQwAAFgMAABaDAAAXQwAAF0MAABgDAAAYQwAAIAMAACADAAAhQwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAAL0MAAC9DAAA3QwAAN4MAADgDAAA4QwAAPEMAADyDAAABA0AAAwNAAAODQAAEA0AABINAAA6DQAAPQ0AAD0NAABODQAATg0AAFQNAABWDQAAXw0AAGENAAB6DQAAfw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAAAADwAAAA8AAEAPAABHDwAASQ8AAGwPAACIDwAAjA8AAKAQAADFEAAAxxAAAMcQAADNEAAAzRAAANAQAAD6EAAA/BAAAEgSAABKEgAATRIAAFASAABWEgAAWBIAAFgSAABaEgAAXRIAAGASAACIEgAAihIAAI0SAACQEgAAsBIAALISAAC1EgAAuBIAAL4SAADAEgAAwBIAAMISAADFEgAAyBIAANYSAADYEgAAEBMAABITAAAVEwAAGBMAAFoTAACAEwAAjxMAAKATAAD1EwAA+BMAAP0TAAABFAAAbBYAAG8WAAB/FgAAgRYAAJoWAACgFgAA6hYAAO4WAAD4FgAAABcAABEXAAAfFwAAMRcAAEAXAABRFwAAYBcAAGwXAABuFwAAcBcAACAYAAB4GAAAgBgAAIQYAACHGAAAqBgAAKoYAACqGAAAsBgAAPUYAAAAGQAAHhkAAAAaAAAWGgAABRsAADMbAABFGwAATBsAAIMbAACgGwAArhsAAK8bAAC6GwAA5RsAAAAcAAAjHAAATRwAAE8cAABaHAAAfRwAAIAcAACIHAAAkBwAALocAAC9HAAAvxwAAOkcAADsHAAA7hwAAPMcAAD1HAAA9hwAAPocAAD6HAAAAB0AAL8dAAAAHgAAFR8AABgfAAAdHwAAIB8AAEUf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AAA/HgAAPx4AAEEeAABBHgAAQx4AAEMeAABFHgAARR4AAEceAABHHgAASR4AAEkeAABLHgAASx4AAE0eAABNHgAATx4AAE8eAABRHgAAUR4AAFMeAABTHgAAVR4AAFUeAABXHgAAVx4AAFkeAABZHgAAWx4AAFseAABdHgAAXR4AAF8eAABfHgAAYR4AAGEeAABjHgAAYx4AAGUeAABlHgAAZx4AAGceAABpHgAAaR4AAGseAABrHgAAbR4AAG0eAABvHgAAbx4AAHEeAABxHgAAcx4AAHMeAAB1HgAAdR4AAHceAAB3HgAAeR4AAHkeAAB7HgAAex4AAH0eAAB9HgAAfx4AAH8eAACBHgAAgR4AAIMeAACDHgAAhR4AAIUeAACHHgAAhx4AAIkeAACJHgAAix4AAIseAACNHgAAjR4AAI8eAACPHgAAkR4AAJEeAACTHgAAkx4AAJUeAACdHgAAnx4AAJ8eAAChHgAAoR4AAKMeAACjHgAApR4AAKUeAACnHgAApx4AAKkeAACpHgAAqx4AAKseAACtHgAArR4AAK8eAACvHgAAsR4AALEeAACzHgAAsx4AALUeAAC1HgAAtx4AALceAAC5HgAAuR4AALseAAC7HgAAvR4AAL0eAAC/HgAAvx4AAMEeAADBHgAAwx4AAMMeAADFHgAAxR4AAMceAADHHgAAyR4AAMkeAADLHgAAyx4AAM0eAADNHgAAzx4AAM8eAADRHgAA0R4AANMeAADTHgAA1R4AANUeAADXHgAA1x4AANkeAADZHgAA2x4AANseAADdHgAA3R4AAN8eAADfHgAA4R4AAOEeAADjHgAA4x4AAOUeAADlHgAA5x4AAOceAADpHgAA6R4AAOseAADrHgAA7R4AAO0eAADvHgAA7x4AAPEeAADxHgAA8x4AAPMeAAD1HgAA9R4AAPceAAD3HgAA+R4AAPkeAAD7HgAA+x4AAP0eAAD9HgAA/x4AAAcfAAAQHwAAFR8AACAfAAAnHwAAMB8AADcfAABAHwAARR8AAFAfAABXHwAAYB8AAGcfAABwHwAAfR8AAIAfAACHHwAAkB8AAJcfAACgHwAApx8AALAfAAC0HwAAth8AALcfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADQHwAA0x8AANYfAADXHwAA4B8AAOcfAADyHwAA9B8AAPYfAAD3HwAAcSAAAHEgAAB/IAAAfyAAAJAgAACcIAAACiEAAAohAAAOIQAADyEAABMhAAATIQAALyEAAC8hAAA0IQAANCEAADkhAAA5IQAAPCEAAD0hAABGIQAASSEAAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcSwAAHEsAABzLAAAdCwAAHYsAAB9LAAAgSwAAIEsAACDLAAAgywAAIUsAACFLAAAhywAAIcsAACJLAAAiSwAAIssAACLLAAAjSwAAI0sAACPLAAAjywAAJEsAACRLAAAkywAAJMsAACVLAAAlSwAAJcsAACXLAAAmSwAAJksAACbLAAAmywAAJ0sAACdLAAAnywAAJ8sAAChLAAAoSwAAKMsAACjLAAApSwAAKUsAACnLAAApywAAKksAACpLAAAqywAAKssAACtLAAArSwAAK8sAACvLAAAsSwAALEsAACzLAAAsywAALUsAAC1LAAAtywAALcsAAC5LAAAuSwAALssAAC7LAAAvSwAAL0sAAC/LAAAvywAAMEsAADBLAAAwywAAMMsAADFLAAAxSwAAMcsAADHLAAAySwAAMksAADLLAAAyywAAM0sAADNLAAAzywAAM8sAADRLAAA0SwAANMsAADTLAAA1SwAANUsAADXLAAA1ywAANksAADZLAAA2ywAANssAADdLAAA3SwAAN8sAADfLAAA4SwAAOEsAADjLAAA5CwAAOwsAADsLAAA7iwAAO4sAADzLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AAEGmAABBpgAAQ6YAAEOmAABFpgAARaYAAEemAABHpgAASaYAAEmmAABLpgAAS6YAAE2mAABNpgAAT6YAAE+mAABRpgAAUaYAAFOmAABTpgAAVaYAAFWmAABXpgAAV6YAAFmmAABZpgAAW6YAAFumAABdpgAAXaYAAF+mAABfpgAAYaYAAGGmAABjpgAAY6YAAGWmAABlpgAAZ6YAAGemAABppgAAaaYAAGumAABrpgAAbaYAAG2mAACBpgAAgaYAAIOmAACDpgAAhaYAAIWmAACHpgAAh6YAAImmAACJpgAAi6YAAIumAACNpgAAjaYAAI+mAACPpgAAkaYAAJGmAACTpgAAk6YAAJWmAACVpgAAl6YAAJemAACZpgAAmaYAAJumAACdpgAAI6cAACOnAAAlpwAAJacAACenAAAnpwAAKacAACmnAAArpwAAK6cAAC2nAAAtpwAAL6cAADGnAAAzpwAAM6cAADWnAAA1pwAAN6cAADenAAA5pwAAOacAADunAAA7pwAAPacAAD2nAAA/pwAAP6cAAEGnAABBpwAAQ6cAAEOnAABFpwAARacAAEenAABHpwAASacAAEmnAABLpwAAS6cAAE2nAABNpwAAT6cAAE+nAABRpwAAUacAAFOnAABTpwAAVacAAFWnAABXpwAAV6cAAFmnAABZpwAAW6cAAFunAABdpwAAXacAAF+nAABfpwAAYacAAGGnAABjpwAAY6cAAGWnAABlpwAAZ6cAAGenAABppwAAaacAAGunAABrpwAAbacAAG2nAABvpwAAeKcAAHqnAAB6pwAAfKcAAHynAAB/pwAAf6cAAIGnAACBpwAAg6cAAIOnAACFpwAAhacAAIenAACHpwAAjKcAAIynAACOpwAAjqcAAJGnAACRpwAAk6cAAJWnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAAK+nAACvpwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANOnAADTpwAA1acAANWnAADXpwAA16cAANmnAADZpwAA8qcAAPSnAAD2pwAA9qcAAPinAAD6pwAAMKsAAFqrAABcqwAAaasAAHCrAAC/qwAAAPsAAAb7AAAT+wAAF/sAAEH/AABa/wAAKAQBAE8EAQDYBAEA+wQBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAgAcBAIAHAQCDBwEAhQcBAIcHAQCwBwEAsgcBALoHAQDADAEA8gwBAMAYAQDfGAEAYG4BAH9uAQAa1AEAM9QBAE7UAQBU1AEAVtQBAGfUAQCC1AEAm9QBALbUAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQDP1AEA6tQBAAPVAQAe1QEAN9UBAFLV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AADmHgAA6B4AAOgeAADqHgAA6h4AAOweAADsHgAA7h4AAO4eAADwHgAA8B4AAPIeAADyHgAA9B4AAPQeAAD2HgAA9h4AAPgeAAD4HgAA+h4AAPoeAAD8HgAA/B4AAP4eAAD+HgAACB8AAA8fAAAYHwAAHR8AACgfAAAvHwAAOB8AAD8fAABIHwAATR8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAABfHwAAaB8AAG8fAACIHwAAjx8AAJgfAACfHwAAqB8AAK8fAAC4HwAAvB8AAMgfAADMHwAA2B8AANsfAADoHwAA7B8AAPgfAAD8HwAAAiEAAAIhAAAHIQAAByEAAAshAAANIQAAECEAABIhAAAVIQAAFSEAABkhAAAdIQAAJCEAACQhAAAmIQAAJiEAACghAAAoIQAAKiEAAC0hAAAwIQAAMyEAAD4hAAA/IQAARSEAAEUhAABgIQAAbyEAAIMhAACDIQAAtiQAAM8kAAAALAAALywAAGAsAABgLAAAYiwAAGQsAABnLAAAZywAAGksAABpLAAAaywAAGssAABtLAAAcCwAAHIsAAByLAAAdSwAAHUsAAB+LAAAgCwAAIIsAACCLAAAhCwAAIQsAACGLAAAhiwAAIgsAACILAAAiiwAAIosAACMLAAAjCwAAI4sAACOLAAAkCwAAJAsAACSLAAAkiwAAJQsAACULAAAliwAAJYsAACYLAAAmCwAAJosAACaLAAAnCwAAJwsAACeLAAAniwAAKAsAACgLAAAoiwAAKIsAACkLAAApCwAAKYsAACmLAAAqCwAAKgsAACqLAAAqiwAAKwsAACsLAAAriwAAK4sAACwLAAAsCwAALIsAACyLAAAtCwAALQsAAC2LAAAtiwAALgsAAC4LAAAuiwAALosAAC8LAAAvCwAAL4sAAC+LAAAwCwAAMAsAADCLAAAwiwAAMQsAADELAAAxiwAAMYsAADILAAAyCwAAMosAADKLAAAzCwAAMwsAADOLAAAziwAANAsAADQLAAA0iwAANIsAADULAAA1CwAANYsAADWLAAA2CwAANgsAADaLAAA2iwAANwsAADcLAAA3iwAAN4sAADgLAAA4CwAAOIsAADiLAAA6ywAAOssAADtLAAA7SwAAPIsAADyLAAAQKYAAECmAABCpgAAQqYAAESmAABEpgAARqYAAEamAABIpgAASKYAAEqmAABKpgAATKYAAEymAABOpgAATqYAAFCmAABQpgAAUqYAAFKmAABUpgAAVKYAAFamAABWpgAAWKYAAFimAABapgAAWqYAAFymAABcpgAAXqYAAF6mAABgpgAAYKYAAGKmAABipgAAZKYAAGSmAABmpgAAZqYAAGimAABopgAAaqYAAGqmAABspgAAbKYAAICmAACApgAAgqYAAIKmAACEpgAAhKYAAIamAACGpgAAiKYAAIimAACKpgAAiqYAAIymAACMpgAAjqYAAI6mAACQpgAAkKYAAJKmAACSpgAAlKYAAJSmAACWpgAAlqYAAJimAACYpgAAmqYAAJqmAAAipwAAIqcAACSnAAAkpwAAJqcAACanAAAopwAAKKcAACqnAAAqpwAALKcAACynAAAupwAALqcAADKnAAAypwAANKcAADSnAAA2pwAANqcAADinAAA4pwAAOqcAADqnAAA8pwAAPKcAAD6nAAA+pwAAQKcAAECnAABCpwAAQqcAAESnAABEpwAARqcAAEanAABIpwAASKcAAEqnAABKpwAATKcAAEynAABOpwAATqcAAFCnAABQpwAAUqcAAFKnAABUpwAAVKcAAFanAABWpwAAWKcAAFinAABapwAAWqcAAFynAABcpwAAXqcAAF6nAABgpwAAYKcAAGKnAABipwAAZKcAAGSnAABmpwAAZqcAAGinAABopwAAaqcAAGqnAABspwAAbKcAAG6nAABupwAAeacAAHmnAAB7pwAAe6cAAH2nAAB+pwAAgKcAAICnAACCpwAAgqcAAISnAACEpwAAhqcAAIanAACLpwAAi6cAAI2nAACNpwAAkKcAAJCnAACSpwAAkqcAAJanAACWpwAAmKcAAJinAACapwAAmqcAAJynAACcpwAAnqcAAJ6nAACgpwAAoKcAAKKnAACipwAApKcAAKSnAACmpwAApqcAAKinAACopwAAqqcAAK6nAACwpwAAtKcAALanAAC2pwAAuKcAALinAAC6pwAAuqcAALynAAC8pwAAvqcAAL6nAADApwAAwKcAAMKnAADCpwAAxKcAAMenAADJpwAAyacAANCnAADQpwAA1qcAANanAADYpwAA2KcAAPWnAAD1pwAAIf8AADr/AAAABAEAJwQBALAEAQDTBAEAcAUBAHoFAQB8BQEAigUBAIwFAQCSBQEAlAUBAJUFAQCADAEAsgwBAKAYAQC/GAEAQG4BAF9uAQAA1AEAGdQBADTUAQBN1AEAaNQBAIHUAQCc1AEAnNQBAJ7UAQCf1AEAotQBAKLUAQCl1AEAptQBAKnUAQCs1AEArtQBALXUAQDQ1AEA6dQBAATVAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAONUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAGzVAQCF1QEAoNUBALnVAQDU1QEA7dUBAAjWAQAh1gEAPNYBAFXWAQBw1gEAidYBAKjWAQDA1gEA4tYBAPrWAQAc1wEANNcBAFbXAQBu1wEAkNcBAKjXAQDK1wEAytcBAADpAQAh6QEAMPEBAEnxAQBQ8QEAafEBAHDxAQCJ8QEACk8SAAUAAADcTRUABAAAADIrEgACAAAAVAAVAAEAAAAWTxIABQAAAPxNFQAtAAAAaCsSAAYAAABkTxUAOQEAAJAiEgAGAAAALFkVABUAAACUKxIAAgAAAGQMFQABAAAAKU8SAAUAAADUWRUAnQIAAC5PEgAHAAAAvG4VAEEAAAAiTxIABwAAAMRwFQAfAgAAQ08SAAkAAAC8gRUAEwAAAGNPEgAFAAAAVIIVAE0AAABXTxIAAwAAALyEFQACAAAAX08SAAIAAADMhBUACQAAAGpPEgAFAAAAFIUVAIwCAACM4REAZgAAAHcDAAAcAAAAjOERAGYAAACoAwAALQAAAIzhEQBmAAAAqgMAAAkAAACM4REAZgAAAKsDAAAJAAAAjOERAGYAAACuAwAADwAAAIzhEQBmAAAAoAMAAA0AAACM4REAZgAAAJ0DAAANAAAAKgMAAAwAAAAEAAAATgMAABsEAABkAwAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy91dGY4LnJzaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogaW52YWxpZCBlbmNvZGVkIGxlbmd0aDogAAAAP5sVAEIAAADcmhUAYwAAAIMAAAASAAAA3JoVAGMAAAC0AQAALQAAANyaFQBjAAAAtQEAACsAAADcmhUAYwAAALgBAAAJAEHUt9YAC84QAQAAABwEAABUcnlGcm9tQ2hhckVycm9yZXhjZWVkZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhcHR1cmluZyBncm91cHMgKAAAAOybFQAxAAAA4NAYAAEAAABpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSBmb3VuZCBpbiBjaGFyYWN0ZXIgY2xhc3MwnBUAMAAAAGludmFsaWQgY2hhcmFjdGVyIGNsYXNzIHJhbmdlLCB0aGUgc3RhcnQgbXVzdCBiZSA8PSB0aGUgZW5kAGicFQA7AAAAaW52YWxpZCByYW5nZSBib3VuZGFyeSwgbXVzdCBiZSBhIGxpdGVyYWwAAACsnBUAKQAAAHVuY2xvc2VkIGNoYXJhY3RlciBjbGFzc+CcFQAYAAAAZGVjaW1hbCBsaXRlcmFsIGVtcHR5AAAAAJ0VABUAAABkZWNpbWFsIGxpdGVyYWwgaW52YWxpZAAgnRUAFwAAAGhleGFkZWNpbWFsIGxpdGVyYWwgZW1wdHkAAABAnRUAGQAAAGhleGFkZWNpbWFsIGxpdGVyYWwgaXMgbm90IGEgVW5pY29kZSBzY2FsYXIgdmFsdWUAAABknRUAMQAAAGludmFsaWQgaGV4YWRlY2ltYWwgZGlnaXQAAACgnRUAGQAAAGluY29tcGxldGUgZXNjYXBlIHNlcXVlbmNlLCByZWFjaGVkIGVuZCBvZiBwYXR0ZXJuIHByZW1hdHVyZWx5AADEnRUAPgAAAHVucmVjb2duaXplZCBlc2NhcGUgc2VxdWVuY2UMnhUAHAAAAGRhbmdsaW5nIGZsYWcgbmVnYXRpb24gb3BlcmF0b3IAMJ4VAB8AAABkdXBsaWNhdGUgZmxhZwAAWJ4VAA4AAABmbGFnIG5lZ2F0aW9uIG9wZXJhdG9yIHJlcGVhdGVkAHCeFQAfAAAAZXhwZWN0ZWQgZmxhZyBidXQgZ290IGVuZCBvZiByZWdleAAAmJ4VACIAAAB1bnJlY29nbml6ZWQgZmxhZwAAAMSeFQARAAAAZHVwbGljYXRlIGNhcHR1cmUgZ3JvdXAgbmFtZeCeFQAcAAAAZW1wdHkgY2FwdHVyZSBncm91cCBuYW1lBJ8VABgAAABpbnZhbGlkIGNhcHR1cmUgZ3JvdXAgY2hhcmFjdGVyACSfFQAfAAAAdW5jbG9zZWQgY2FwdHVyZSBncm91cCBuYW1lAEyfFQAbAAAAdW5jbG9zZWQgZ3JvdXAAAHCfFQAOAAAAdW5vcGVuZWQgZ3JvdXAAAIifFQAOAAAAZXhjZWVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiBuZXN0ZWQgcGFyZW50aGVzZXMvYnJhY2tldHMgKAAAoJ8VADoAAADg0BgAAQAAAGludmFsaWQgcmVwZXRpdGlvbiBjb3VudCByYW5nZSwgdGhlIHN0YXJ0IG11c3QgYmUgPD0gdGhlIGVuZOyfFQA8AAAAcmVwZXRpdGlvbiBxdWFudGlmaWVyIGV4cGVjdHMgYSB2YWxpZCBkZWNpbWFsAAAAMKAVAC0AAAB1bmNsb3NlZCBjb3VudGVkIHJlcGV0aXRpb24AaKAVABsAAAByZXBldGl0aW9uIG9wZXJhdG9yIG1pc3NpbmcgZXhwcmVzc2lvbgAAjKAVACYAAABzcGVjaWFsIHdvcmQgYm91bmRhcnkgYXNzZXJ0aW9uIGlzIGVpdGhlciB1bmNsb3NlZCBvciBjb250YWlucyBhbiBpbnZhbGlkIGNoYXJhY3RlcgC8oBUAUwAAAHVucmVjb2duaXplZCBzcGVjaWFsIHdvcmQgYm91bmRhcnkgYXNzZXJ0aW9uLCB2YWxpZCBjaG9pY2VzIGFyZTogc3RhcnQsIGVuZCwgc3RhcnQtaGFsZiBvciBlbmQtaGFsZgAYoRUAYwAAAGZvdW5kIGVpdGhlciB0aGUgYmVnaW5uaW5nIG9mIGEgc3BlY2lhbCB3b3JkIGJvdW5kYXJ5IG9yIGEgYm91bmRlZCByZXBldGl0aW9uIG9uIGEgXGIgd2l0aCBhbiBvcGVuaW5nIGJyYWNlLCBidXQgbm8gY2xvc2luZyBicmFjZQAAAIShFQCBAAAAaW52YWxpZCBVbmljb2RlIGNoYXJhY3RlciBjbGFzcwAQohUAHwAAAGJhY2tyZWZlcmVuY2VzIGFyZSBub3Qgc3VwcG9ydGVkOKIVACAAAABsb29rLWFyb3VuZCwgaW5jbHVkaW5nIGxvb2stYWhlYWQgYW5kIGxvb2stYmVoaW5kLCBpcyBub3Qgc3VwcG9ydGVkAGCiFQBDAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy9hc3QvbW9kLnJzAACsohUAZgAAAH8CAAAiAAAArKIVAGYAAACYAgAAIgAAAGFsbnVtYXNjaWlibGFua2NudHJsZGlnaXRncmFwaGxvd2VycHJpbnRwdW5jdHNwYWNldXBwZXJ4ZGlnaXQAAACsohUAZgAAAPMEAAAjAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy9oaXIvbW9kLnJzAACEoxUAZgAAAL8EAAAuAAAAhKMVAGYAAADABAAAKgAAACoDAAAMAAAABAAAAE4DAAAdBAAAZAMAQazI1gAL9QYBAAAALgMAAHJlZ2V4IHBhcnNlIGVycm9yOgoANKQVABMAAABlcnJvcjogAFCkFQAHAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy9lcnJvci5yc29uIGxpbmUgIChjb2x1bW4gKSB0aHJvdWdoIGxpbmUgxKQVAAgAAADMpBUACQAAANWkFQAPAAAAzKQVAAkAAADg0BgAAQAAAGCkFQBkAAAAuwAAABkAAABgpBUAZAAAALwAAAAZAAAAYKQVAGQAAADdAAAAIgAAAGCkFQBkAAAA+AAAAD8AAAAwOhgATQAAABUKAAAiAAAAAAAAAAgAAAAEAAAA6wIAAAAAAAAEAAAABAAAAHACAAAAAAAABAAAAAQAAAC3AAAAAAAAAAQAAAAEAAAAJgAAAAAAAAAEAAAABAAAAJIAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2FzdC92aXNpdG9yLnJzAACspRUAagAAABcBAAAeAAAArKUVAGoAAAAYAQAAHgAAAKylFQBqAAAAEwEAADMAAACs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dHlwZSB2YXJpYW50dHVwbGUgdmFyaWFudHN0cnVjdCB2YXJpYW50ZXhwbGljaXQgcGFuaWO0GhgAAQAAALQaGAABAAAAYCBvciBgAAC0GhgAAQAAALgCFgAGAAAAtBoYAAEAAABvbmUgb2YgLjAAAAB8BhYAXwAAAFgCAAAwAAAAKgMAAAwAAAAEAAAATgMAAGMDAAAnBABBlIbYAAu5CAEAAAAuAwAARU9GIHdoaWxlIHBhcnNpbmcgYSBsaXN0RU9GIHdoaWxlIHBhcnNpbmcgYW4gb2JqZWN0RU9GIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmdFT0Ygd2hpbGUgcGFyc2luZyBhIHZhbHVlZXhwZWN0ZWQgYDpgZXhwZWN0ZWQgYCxgIG9yIGBdYGV4cGVjdGVkIGAsYCBvciBgfWBleHBlY3RlZCBpZGVudGV4cGVjdGVkIHZhbHVlZXhwZWN0ZWQgYCJgaW52YWxpZCBlc2NhcGVpbnZhbGlkIG51bWJlcm51bWJlciBvdXQgb2YgcmFuZ2VpbnZhbGlkIHVuaWNvZGUgY29kZSBwb2ludGNvbnRyb2wgY2hhcmFjdGVyIChcdTAwMDAtXHUwMDFGKSBmb3VuZCB3aGlsZSBwYXJzaW5nIGEgc3RyaW5na2V5IG11c3QgYmUgYSBzdHJpbmdpbnZhbGlkIHZhbHVlOiBleHBlY3RlZCBrZXkgdG8gYmUgYSBudW1iZXIgaW4gcXVvdGVzZmxvYXQga2V5IG11c3QgYmUgZmluaXRlIChnb3QgTmFOIG9yICsvLWluZilsb25lIGxlYWRpbmcgc3Vycm9nYXRlIGluIGhleCBlc2NhcGV0cmFpbGluZyBjb21tYXRyYWlsaW5nIGNoYXJhY3RlcnN1bmV4cGVjdGVkIGVuZCBvZiBoZXggZXNjYXBlcmVjdXJzaW9uIGxpbWl0IGV4Y2VlZGVkIGF0IGxpbmUgIGNvbHVtbiAAAAABAAAAAAAAAFAFFgAJAAAAWQUWAAgAAABFcnJvcigsIGxpbmU6ICwgY29sdW1uOiB8BRYABgAAAIIFFgAIAAAAigUWAAoAAADg0BgAAQAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5L3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbmF2aWdhdGUucnMAfAYWAF8AAADGAAAAJwAAAHwGFgBfAAAAFgIAAC8AAAB8BhYAXwAAAKEAAAAkAAAAKgMAAAwAAAAEAAAATgMAABgEAAAnBAAAaW52YWxpZCB0eXBlOiAsIGV4cGVjdGVkIAAAACQHFgAOAAAAMgcWAAsAQdiO2AALjwEBAAAAKAQAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlLXdhc20tYmluZGdlbi0wLjYuNS9zcmMvbGliLnJzYAcWAGgAAAA1AAAADgAAAExheW91dHNpemVhbGlnbgBB8I/YAAvSAwEAAAD4AwAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc21hcnRzdHJpbmctMS4wLjEvc3JjL2lubGluZS5yc/gHFgBkAAAAKwAAACsAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zbWFydHN0cmluZy0xLjAuMS9zcmMvYm94ZWQucnMAbAgWAGMAAABBAAAADgAAAGwIFgBjAAAAdgAAACQAAABodHRwOmh0dHBzOgABAAAAAAAAAFgYGAABAAAAYXR0ZW1wdCB0byBqb2luIGludG8gY29sbGVjdGlvbiB3aXRoIGxlbiA+IHVzaXplOjpNQVgvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2FsbG9jL3NyYy9zdHIucnMAAABBCRYASAAAAJoAAAAKAAAAQQkWAEgAAACxAAAAFgAAACoDAAAMAAAABAAAAE4DAAApBAAAJwQAQcyT2AALvwEBAAAALgMAACTtFwBgAAAAFAAAAA8AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZV9qc29uLTEuMC4xMzMvc3JjL3Nlci5ycwAA5AkWAGIAAAANBgAAEgAAAOQJFgBiAAAAMAgAADMAAAB1dXV1dXV1dWJ0bnVmcnV1dXV1dXV1dXV1dXV1dXV1dQAAIgBBxJXYAAsBXABB6JbYAAuiB+QJFgBiAAAAIwgAAEAAAABcdGxpbmVjb2x1bW5vZmZzZXRtYXBuYW1lc21hcHBpbmdzdmVyc2lvbmZpbGVzb3VyY2Vzc291cmNlUm9vdHNvdXJjZXNDb250ZW50c2VjdGlvbnNyYW5nZU1hcHBpbmdzeF9mYWNlYm9va19vZmZzZXRzeF9tZXRyb19tb2R1bGVfcGF0aHN4X2ZhY2Vib29rX3NvdXJjZXNkZWJ1Z19pZGJhZCBqc29uOiAAGQwWAAoAAABsZWZ0b3ZlciBjdXIvc2hpZnQgaW4gdmxxIGRlY29kZSwMFgAgAAAAdmxxIGRlY29kZSBkaWQgbm90IHByb2R1Y2UgYW55IHZhbHVlcwAAAFQMFgAlAAAAdmxxIGRlY29kZSBjYXVzZWQgYW4gb3ZlcmZsb3cAAACEDBYAHQAAAGdvdCAgc2VnbWVudHMsIGV4cGVjdGVkIDQgb3IgNQAArAwWAAQAAACwDBYAGgAAAGJhZCByZWZlcmVuY2UgdG8gc291cmNlICMAAADcDBYAGQAAAGJhZCByZWZlcmVuY2UgdG8gbmFtZSAjAAANFgAXAAAAZW5jb3VudGVyZWQgaW5jb21wYXRpYmxlIHNvdXJjZW1hcCBmb3JtYXQAAAAgDRYAKQAAAHRoZSBwcm92aWRlZCBkYXRhIFVSTCBpcyBpbnZhbGlkVA0WACAAAABjYW5ub3QgZmxhdHRlbiB0aGUgaW5kZXhlZCBzb3VyY2VtYXA6IAAAfA0WACYAAABpbnZhbGlkIG1hZ2ljIG51bWJlciBmb3IgcmFtIGJ1bmRsZQCsDRYAIwAAAGludmFsaWQgbW9kdWxlIGluZGV4IGluIHJhbSBidW5kbGUAANgNFgAiAAAAaW52YWxpZCByYW0gYnVuZGxlIG1vZHVsZSBlbnRyeQAEDhYAHwAAAG5vdCBhIHJhbSBidW5kbGUsDhYAEAAAAGludmFsaWQgcmFuZ2UgbWFwcGluZyBpbmRleDogAAAARA4WAB0AAABpbnZhbGlkIGJhc2U2NCBjaGFyYWN0ZXI6IAAAbA4WABoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi93eXotMC41LjEvc3JjL2NvbXUucnMAAJAOFgBaAAAAJwEAAAIAAABOdWxsUHRyRXJyb3J1OABBlJ7YAAvSIQEAAAD4AwAAuDsYAEkAAADbBwAAKQAAAExheW91dEVycm9yTWlzYWxpZ25FcnJvcgEAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zb3VyY2VtYXAtOS4wLjAvc3JjL2J1aWxkZXIucnNDYW5ub3Qgc2V0IHNvdXJjZXMgZm9yIHRvbWJzdG9uZSBzb3VyY2UgaWQAAABIDxYAYwAAAHkAAAAJAAAASA8WAGMAAAB9AAAAHQAAAGNhbm5vdCAgYml0cyBmcm9tIGEgLWJpdCByZWdpb24A+A8WAAcAAAD6FxgAAQAAAP8PFgANAAAADBAWAAsAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9iaXR2ZWMtMS4wLjEvc3JjL2ZpZWxkLnJzAAA4EBYAXgAAAA4CAAACAAAAcmFuZ2UgIG91dCBvZiBib3VuZHM6IAAAqBAWAAYAAACuEBYAEAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2JpdHZlYy0xLjAuMS9zcmMvc2xpY2UvYXBpLnJzAADQEBYAYgAAAI4KAAABAAAATQMAABQAAAAEAAAAKgQAAAAAAAAIAAAABAAAACsEAABJbmNsdWRlZEV4Y2x1ZGVkVW5ib3VuZGVkL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYml0dmVjLTEuMC4xL3NyYy9zbGljZS5ycwB9ERYAXgAAAE8BAAAjAAAAaW5kZXggIG91dCBvZiByYW5nZTogAAAA7BEWAAYAAADyERYADwAAAH0RFgBeAAAAMQYAAAMAAABsb2FkQml0U3BhbkVycm9yPD46OigSFgANAAAANRIWAAMAAABNaXNhbGlnbmVkVG9vTG9uZ1Rvb0hpZ2gvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zb3VyY2VtYXAtOS4wLjAvc3JjL2VuY29kZXIucnNpbnZhbGlkIGJ5dGUAYBIWAGMAAAAjAAAAEgAAAGludmFsaWQgdXRmOGASFgBjAAAAZgAAACEAAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvAAAAAAQAAAAEAAAALAQAAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjYvc3JjL2RsbWFsbG9jLnJzYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPj0gc2l6ZSArIG1pbl9vdmVyaGVhZABMExYAKQAAAKgEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAATBMWACkAAACuBAAADQAAAHVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MKICAgICAgICAgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWQA9BMWAGcAAABzdGQvc3JjL3RocmVhZC9jdXJyZW50LnJzAAAAZBQWABkAAADtAAAACQAAAEFjY2Vzc0Vycm9yc3RkL3NyYy90aHJlYWQvbW9kLnJzZmFpbGVkIHRvIGdlbmVyYXRlIHVuaXF1ZSB0aHJlYWQgSUQ6IGJpdHNwYWNlIGV4aGF1c3RlZACwFBYANwAAAJsUFgAVAAAAkwQAAA0AAABzdGQvc3JjL2JhY2t0cmFjZS5yc3Vuc3VwcG9ydGVkIGJhY2t0cmFjZWRpc2FibGVkIGJhY2t0cmFjZQAAFRYAFAAAAIoBAAAdAAAALQQAABAAAAAEAAAALgQAAC8EAABlbnRpdHkgbm90IGZvdW5kcGVybWlzc2lvbiBkZW5pZWRjb25uZWN0aW9uIHJlZnVzZWRjb25uZWN0aW9uIHJlc2V0aG9zdCB1bnJlYWNoYWJsZW5ldHdvcmsgdW5yZWFjaGFibGVjb25uZWN0aW9uIGFib3J0ZWRub3QgY29ubmVjdGVkYWRkcmVzcyBpbiB1c2VhZGRyZXNzIG5vdCBhdmFpbGFibGVuZXR3b3JrIGRvd25icm9rZW4gcGlwZWVudGl0eSBhbHJlYWR5IGV4aXN0c29wZXJhdGlvbiB3b3VsZCBibG9ja25vdCBhIGRpcmVjdG9yeWlzIGEgZGlyZWN0b3J5ZGlyZWN0b3J5IG5vdCBlbXB0eXJlYWQtb25seSBmaWxlc3lzdGVtIG9yIHN0b3JhZ2UgbWVkaXVtZmlsZXN5c3RlbSBsb29wIG9yIGluZGlyZWN0aW9uIGxpbWl0IChlLmcuIHN5bWxpbmsgbG9vcClzdGFsZSBuZXR3b3JrIGZpbGUgaGFuZGxlaW52YWxpZCBpbnB1dCBwYXJhbWV0ZXJpbnZhbGlkIGRhdGF0aW1lZCBvdXR3cml0ZSB6ZXJvbm8gc3RvcmFnZSBzcGFjZXNlZWsgb24gdW5zZWVrYWJsZSBmaWxlZmlsZXN5c3RlbSBxdW90YSBleGNlZWRlZGZpbGUgdG9vIGxhcmdlcmVzb3VyY2UgYnVzeWV4ZWN1dGFibGUgZmlsZSBidXN5ZGVhZGxvY2tjcm9zcy1kZXZpY2UgbGluayBvciByZW5hbWV0b28gbWFueSBsaW5rc2ludmFsaWQgZmlsZW5hbWVhcmd1bWVudCBsaXN0IHRvbyBsb25nb3BlcmF0aW9uIGludGVycnVwdGVkdW5zdXBwb3J0ZWR1bmV4cGVjdGVkIGVuZCBvZiBmaWxlb3V0IG9mIG1lbW9yeWluIHByb2dyZXNzb3RoZXIgZXJyb3J1bmNhdGVnb3JpemVkIGVycm9yT3NLaW5kQ3VzdG9tIChvcyBlcnJvciAAAQAAAAAAAABkGBYACwAAAODQGAABAAAAOiBzdGQvc3JjL3BhdGgucnMAAACKGBYADwAAANICAAAhAAAAihgWAA8AAAD5AgAALAAAAIoYFgAPAAAA+wIAACYAAACKGBYADwAAAAgDAAAnAAAAihgWAA8AAAAUAwAAJwAAAIoYFgAPAAAAfgMAACkAAACKGBYADwAAAH8DAAArAAAAihgWAA8AAACUAwAALwAAAIoYFgAPAAAAjAMAAC8AAACKGBYADwAAAJoDAAArAAAAc3RkL3NyYy9zeW5jL2xhenlfbG9jay5ycwAAADwZFgAZAAAA0AAAABMAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleGgZFgAgAAAAc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYWRzLnJzkBkWACQAAAAUAAAACQAAAHN0ZC9zcmMvc3luYy9vbmNlLnJzxBkWABQAAADZAAAAFAAAADx1bmtub3duPu+/vXN0ZC9zcmMvLi4vLi4vYmFja3RyYWNlL3NyYy9zeW1ib2xpemUvbW9kLnJz9BkWACwAAABnAQAAMAAAAAEAAAAAAAAAiBgWAAIAAAAgLSAAAQAAAAAAAABAGhYAAwAAACAgICAgICAgICAgICAgICAgICBhdCBOb3RGb3VuZFBlcm1pc3Npb25EZW5pZWRDb25uZWN0aW9uUmVmdXNlZENvbm5lY3Rpb25SZXNldEhvc3RVbnJlYWNoYWJsZU5ldHdvcmtVbnJlYWNoYWJsZUNvbm5lY3Rpb25BYm9ydGVkTm90Q29ubmVjdGVkQWRkckluVXNlQWRkck5vdEF2YWlsYWJsZU5ldHdvcmtEb3duQnJva2VuUGlwZUFscmVhZHlFeGlzdHNXb3VsZEJsb2NrTm90QURpcmVjdG9yeUlzQURpcmVjdG9yeURpcmVjdG9yeU5vdEVtcHR5UmVhZE9ubHlGaWxlc3lzdGVtRmlsZXN5c3RlbUxvb3BTdGFsZU5ldHdvcmtGaWxlSGFuZGxlSW52YWxpZElucHV0SW52YWxpZERhdGFUaW1lZE91dFdyaXRlWmVyb1N0b3JhZ2VGdWxsTm90U2Vla2FibGVGaWxlc3lzdGVtUXVvdGFFeGNlZWRlZEZpbGVUb29MYXJnZVJlc291cmNlQnVzeUV4ZWN1dGFibGVGaWxlQnVzeURlYWRsb2NrQ3Jvc3Nlc0RldmljZXNUb29NYW55TGlua3NJbnZhbGlkRmlsZW5hbWVBcmd1bWVudExpc3RUb29Mb25nSW50ZXJydXB0ZWRVbnN1cHBvcnRlZFVuZXhwZWN0ZWRFb2ZPdXRPZk1lbW9yeUluUHJvZ3Jlc3NPdGhlclVuY2F0ZWdvcml6ZWRvcGVyYXRpb24gc3VjY2Vzc2Z1bE9uY2UgaW5zdGFuY2UgaGFzIHByZXZpb3VzbHkgYmVlbiBwb2lzb25lZKYcFgAqAAAAb25lLXRpbWUgaW5pdGlhbGl6YXRpb24gbWF5IG5vdCBiZSBwZXJmb3JtZWQgcmVjdXJzaXZlbHnYHBYAOAAAABAAAAARAAAAEgAAABAAAAAQAAAAEwAAABIAAAANAAAADgAAABUAAAAMAAAACwAAABUAAAAVAAAADwAAAA4AAAATAAAAJgAAADgAAAAZAAAAFwAAAAwAAAAJAAAACgAAABAAAAAXAAAAGQAAAA4AAAANAAAAFAAAAAgAAAAbAAAADgAAABAAAAAWAAAAFQAAAAsAAAAWAAAADQAAAAsAAAALAAAAEwAAAGAVFgBwFRYAgRUWAJMVFgCjFRYAsxUWAMYVFgDYFRYA5RUWAPMVFgAIFhYAFBYWAB8WFgA0FhYASRYWAFgWFgBmFhYAeRYWAJ8WFgDXFhYA8BYWAAcXFgATFxYAHBcWACYXFgA2FxYATRcWAGYXFgB0FxYAgRcWAJUXFgCdFxYAuBcWAMYXFgDWFxYA7BcWAAEYFgAMGBYAIhgWAC8YFgA6GBYARRgWAAgAAAAQAAAAEQAAAA8AAAAPAAAAEgAAABEAAAAMAAAACQAAABAAAAALAAAACgAAAA0AAAAKAAAADQAAAAwAAAARAAAAEgAAAA4AAAAWAAAADAAAAAsAAAAIAAAACQAAAAsAAAALAAAAFwAAAAwAAAAMAAAAEgAAAAgAAAAOAAAADAAAAA8AAAATAAAACwAAAAsAAAANAAAACwAAAAoAAAAFAAAADQAAAGoaFgByGhYAghoWAJMaFgCiGhYAsRoWAMMaFgDUGhYA4BoWAOkaFgD5GhYABBsWAA4bFgAbGxYAJRsWADIbFgA+GxYATxsWAGEbFgBvGxYAhRsWAJEbFgCcGxYApBsWAK0bFgC4GxYAwxsWANobFgDmGxYA8hsWAAQcFgAMHBYAGhwWACYcFgA1HBYASBwWAFMcFgBeHBYAaxwWAHYcFgCAHBYAhRwWAAAAAAAEAAAABAAAADAEAAAxBAAAMgQAACoDAAAMAAAABAAAAE4DAAApBAAAJwQAQfC/2AALFgEAAAAuAwAAAAAAAAQAAAAEAAAAMwQAQZDA2AALjREBAAAANQQAADYEAAA3BAAANOwXAGcAAAAeAQAAJwAAADTsFwBnAAAAQwEAADEAAAA6IGJwb3MgPSA7IGxpbmVicG9zID0gAAABAAAAAAAAAEAgFgAJAAAASSAWAA0AAAD5FxgAAQAAADTsFwBnAAAARAEAABEAAAA07BcAZwAAAFoBAAAZAAAANOwXAGcAAAB8AQAARgAAAG1hcC5zdGFydF9wb3MgPSA7IHRvdGFsX2V4dHJhX2J5dGVzID0gOyBicG9zID0gAKggFgAQAAAAuCAWABYAAADOIBYACQAAADTsFwBnAAAA5QMAAAkAAAA07BcAZwAAACIEAAA0AAAANOwXAGcAAAAOBAAANAAAADTsFwBnAAAATwQAABAAAAA07BcAZwAAAA8FAAA6AAAANOwXAGcAAAAxBQAAKgAAADTsFwBnAAAAcAUAABAAAABOb0ZpbGVGb3JubyBlcnJvcnMgZW5jb3VudGVyZWQgZXZlbiB0aG91Z2ggYGRlbGF5X3NwYW5fYnVnYCBpc3N1ZWQAAGkhFgA5AAAAuCYWAGcAAACYAQAAEQAAAGVuY291bnRlcmVkIGVycm9yIHdpdGggYC1aIHRyZWF0X2Vycl9hc19idWcAvCEWACsAAAC4JhYAZwAAAGUCAAANAAAATWFjaGluZUFwcGxpY2FibGVIYXNQbGFjZWhvbGRlcnNNYXliZUluY29ycmVjdFVuc3BlY2lmaWVkQ29kZVN1Z2dlc3Rpb25zdWJzdGl0dXRpb25zbXNnc2hvd19jb2RlX3doZW5faW5saW5lYXBwbGljYWJpbGl0eVN1YnN0aXR1dGlvbnBhcnRzU3Vic3RpdHV0aW9uUGFydHNuaXBwZXQAAAA4BAAATWVzc2FnZUxpbnRTdWJEaWFnbm9zdGljcmVuZGVyX3NwYW4vaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9jb21tZW50cy5yc8siFgBlAAAApwEAABYAAADLIhYAZQAAAKwBAAAOAAAAyyIWAGUAAACzAQAAJwAAAMsiFgBlAAAAvwEAADIAAADLIhYAZQAAAMcBAAAWAAAAyyIWAGUAAADLAQAAFgAAAMsiFgBlAAAAzwEAABcAAADLIhYAZQAAANQBAAAOAAAAyyIWAGUAAADbAQAAKAAAAMsiFgBlAAAA5wEAADMAAADLIhYAZQAAAO8BAAAXAAAAyyIWAGUAAADzAQAAFwAAAMsiFgBlAAAA+QEAACwAAABjYW5ub3QgYWRkIHB1cmUgY29tbWVudCB0byB6ZXJvIHBvc2l0aW9uACQWACgAAADLIhYAZQAAAPcBAAAJAAAAI19fQF9fAADLIhYAZQAAADECAAAtAAAAyyIWAGUAAABlAgAALgAAABglFgBvAAAAzAAAAB0AAAAYJRYAbwAAAHsBAAAtAAAAGCUWAG8AAAAwAgAANgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3J1c3RjLWhhc2gtMS4xLjAvc3JjL2xpYi5yc5gkFgBgAAAAZwAAABsAAACYJBYAYAAAAF8AAAAbAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2NvbW1vbi01LjAuMC9zcmMvc3ludGF4X3Bvcy9oeWdpZW5lLnJzABglFgBvAAAAcgEAAA0AAABNYXJrMx8YAEsAAACWBwAAJAAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuaXNfY2hhcl9ib3VuZGFyeShlbmQpMx8YAEsAAACYBwAACQAAAAAAAAAMAAAABAAAADkEAAA6BAAAAAAAAAwAAAAEAAAAOwQAADwEAABFcnJvciBjb25zdHJ1Y3RlZCBidXQgbm90IGVtaXR0ZWQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9lcnJvcnMvZGlhZ25vc3RpY19idWlsZGVyLnJzADEmFgB2AAAAWQEAAA0AAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9lcnJvcnMvbW9kLnJzALgmFgBnAAAAUAMAAB8AAABhc3NlcnRpb24gZmFpbGVkOiBzdGFydCA8PSBlbmQvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfY29tbW9uLTUuMC4wL3NyYy9pbnB1dC5yc04nFgBiAAAAHwAAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBzb3VyY2VfZmlsZV9lbmQgPj0gbGFzdF9saW5lX3N0YXJ0L2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2NvbW1vbi01LjAuMC9zcmMvc3ludGF4X3Bvcy9hbmFseXplX3NvdXJjZV9maWxlLnJzAPQnFgB7AAAAKgAAAAkAAAD0JxYAewAAAGoAAAAYAAAA9CcWAHsAAABqAAAALQBBqNHYAAuhCgEAAAA9BAAAPgQAAD8EAAAAAAAABAAAAAQAAAAVAQAAAAAAAAQAAAAEAAAAQAQAAC4uAAABAAAAAAAAANgoFgACAAAAIG1hY3Jvcz5KGBgAAQAAAOwoFgAIAAAAPHF1b3RlIGV4cGFuc2lvbj4AAAAEKRYAEQAAADxhbm9uPgAAICkWAAYAAAA8bWFjcm8gZXhwYW5zaW9uPgAAADApFgARAAAAPHByb2MtbWFjcm8gc291cmNlIGNvZGU+TCkWABgAAABKGBgAAQAAAE0YGAABAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2NvbW1vbi01LjAuMC9zcmMvc3ludGF4X3Bvcy5yc2Fzc2VydGlvbiBmYWlsZWQ6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FgAIAAAAnE0WAAkAAAC8URYACgAAABBLFgANAAAA0VEWAAsAAAAdSxYACwAAAAJaFgAIAAAAQmluZGluZ0lkZW50S2V5VmFsdWVQYXRQcm9wQ29tcHV0ZWRQcm9wTmFtZWZhaWxlZCB0byBwYXJzZSBzdHJpbmcgYXMgbnVtYmVyL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4yL3NyYy9sZXhlci9qc3gucnMAAF9EFgBrAAAAhwAAAC8AAABmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIGFzIGNoYXIAAF9EFgBrAAAAiQAAAA4AAAABAAAAAAAAAAMbGAABAAAAAQAAAAAAAADkGhgAAQAAAHF1b3RhbXBhcG9zbHRndG5ic3BpZXhjbGNlbnRwb3VuZGN1cnJlbnllbmJydmJhcnNlY3R1bWxjb3B5b3JkZmxhcXVvbm90c2h5cmVnbWFjcmRlZ3BsdXNtbnN1cDJzdXAzYWN1dGVtaWNyb3BhcmFtaWRkb3RjZWRpbHN1cDFvcmRtcmFxdW9mcmFjMTRmcmFjMTJmcmFjMzRpcXVlc3RBZ3JhdmVBYWN1dGVBY2lyY0F0aWxkZUF1bWxBcmluZ0FFbGlnQ2NlZGlsRWdyYXZlRWFjdXRlRWNpcmNFdW1sSWdyYXZlSWFjdXRlSWNpcmNJdW1sRVRITnRpbGRlT2dyYXZlT2FjdXRlT2NpcmNPdGlsZGVPdW1sdGltZXNPc2xhc2hVZ3JhdmVVYWN1dGVVY2lyY1V1bWxZYWN1dGVUSE9STnN6bGlnYWdyYXZlYWFjdXRlYWNpcmNhdGlsZGVhdW1sYXJpbmdhZWxpZ2NjZWRpbGVncmF2ZWVhY3V0ZWVjaXJjZXVtbGlncmF2ZWlhY3V0ZWljaXJjaXVtbGV0aG50aWxkZW9ncmF2ZW9hY3V0ZW9jaXJjb3RpbGRlb3VtbGRpdmlkZW9zbGFzaHVncmF2ZXVhY3V0ZXVjaXJjdXVtbHlhY3V0ZXRob3JueXVtbE9FbGlnb2VsaWdTY2Fyb25zY2Fyb25ZdW1sZm5vZmNpcmN0aWxkZUFscGhhQmV0YUdhbW1hRGVsdGFFcHNpbG9uWmV0YUV0YVRoZXRhSW90YUthcHBhTGFtYmRhTXVOdVhpT21pY3JvblBpUmhvU2lnbWFUYXVVcHNpbG9uUGhpQ2hpUHNpT21lZ2FhbHBoYWJldGFnYW1tYWRlbHRhZXBzaWxvbnpldGFldGF0aGV0YWlvdGFrYXBwYWxhbWJkYW11bnV4aW9taWNyb25waXJob3NpZ21hZnNpZ21hdGF1dXBzaWxvbnBoaWNoaXBzaW9tZWdhdGhldGFzeW11cHNpaHBpdmVuc3BlbXNwdGhpbnNwenduanp3amxybXJsbW5kYXNobWRhc2hsc3F1b3JzcXVvc2JxdW9sZHF1b3JkcXVvYmRxdW9kYWdnZXJEYWdnZXJidWxsaGVsbGlwcGVybWlscHJpbWVQcmltZWxzYXF1b3JzYXF1b29saW5lZnJhc2xldXJvaW1hZ2V3ZWllcnByZWFsdHJhZGVhbGVmc3ltbGFycnVhcnJyYXJyZGFycmhhcnJjcmFycmxBcnJ1QXJyckFycmRBcnJoQXJyZm9yYWxscGFydGV4aXN0ZW1wdHluYWJsYWlzaW5ub3Rpbm5pcHJvZHN1bW1pbnVzbG93YXN0cmFkaWNpbmZpbmFuZ2FuZG9yY2FwY3VwaW50dGhlcmU0c2ltY29uZ2FzeW1wbmVlcXVpdmxlZ2VzdWJzdXBuc3Vic3ViZXN1cGVvcGx1c290aW1lc3BlcnBzZG90bGNlaWxyY2VpbGxmbG9vcnJmbG9vcmxhbmdyYW5nbG96c3BhZGVzY2x1YnNoZWFydHNkaWFtc0Jvb2xOdWxsTnVtQmlnSW50UmVnZXhKU1hUZXh0ZXhwZmxhZ3NOdW1iZXJKU1hBdHRySlNYRW1wdHlFeHByAACDBAAADAAAAAQAAACrAQAAUGFyYW1wYXRJZGVudE5hbWVKU1hFeHByQ29udGFpbmVySlNYU3ByZWFkQ2hpbGQAkAQAAAQAAAAEAAAANwEAAFRzQXNFeHBykQQAAAwAAAAEAAAA9wEAAFRzRm5UeXBlbGl0dHlwZV9uYW1lSlNYQ2xvc2luZ0VsZW1lbnRuc0pTWENsb3NpbmdGcmFnbWVudEpTWE9wZW5pbmdGcmFnbWVudGVsZW1fdHlwZXR5cGVfcGFyYW1Uc0VudGl0eU5hbWVUc0V4dGVybmFsTW9kdWxlUmVmAAAAAAAAAAEAAAABAAAAhAQAAAAAAAABAAAAAQAAABQAAAAAAAAABAAAAAQAAACSBAAAYWNjZXNzaWJpbGl0eWlzX292ZXJyaWRlcGFyYW0AAABPKRgABAAAALxRFgAKAAAAEEsWAA0AAAAdSxYACwAAAPIaGAAIAAAAKEsWAAUAAABUc1BhcmFtUHJvcGVsZW1fdHlwZXMAAACTBAAAGAAAAAgAAADmAQAAlAQAAAQAAAAEAAAAlQQAAAAAAAAEAAAABAAAAJYEAABpc19pbmlzX291dGNvbnN0cmFpbnQAAABPKRgABAAAAPpZFgAEAAAAqEsWAAUAAACtSxYABgAAAGpUFgAIAAAAs0sWAAoAAABOHRgABwAAAFRzVHlwZVBhcmFtZXhwcl9uYW1lVHNVbmlvblR5cGV0eXBlc1RzRW51bU1lbWJlcnF1YWxpZmllcgAAAAAAAAABAAAAAQAAAJcEAACYBAAAMAAAAAgAAACZBAAAbmFtZV90eXBlAAAATykYAAQAAADyGhgACAAAALRKFgAKAAAAVEwWAAkAAADLVxYACAAAACVUFgAIAAAAVHNUcGxMaXRUeXBlUHVibGljUHJvdGVjdGVkUHJpdmF0ZVRydWVQbHVzTWludXNUc05vbk51bGxFeHByVHNDYWxsU2lnbmF0dXJlRGVjbFRzQ29uc3RydWN0U2lnbmF0dXJlRGVjbFRzUHJvcGVydHlTaWduYXR1cmVUc0dldHRlclNpZ25hdHVyZVRzU2V0dGVyU2lnbmF0dXJlVHNNZXRob2RTaWduYXR1cmVUc0luZGV4U2lnbmF0dXJlVHNUdXBsZUVsZW1lbnRsYWJlbHR5VHNJbnRlcmZhY2VCb2R5VHNTYXRpc2ZpZXNFeHBycGFyYW1fbmFtZQAAmgQAAAQAAAAEAAAA+AEAAGlzX3N0YXRpY2NoZWNrX3R5cGVleHRlbmRzX3R5cGV0cnVlX3R5cGVmYWxzZV90eXBlVHNDb25zdHJ1Y3RvclR5cGVrZXljb21wdXRlZFRzQW55S2V5d29yZFRzVW5rbm93bktleXdvcmRUc051bWJlcktleXdvcmRUc09iamVjdEtleXdvcmRUc0Jvb2xlYW5LZXl3b3JkVHNCaWdJbnRLZXl3b3JkVHNTdHJpbmdLZXl3b3JkVHNTeW1ib2xLZXl3b3JkVHNWb2lkS2V5d29yZFRzVW5kZWZpbmVkS2V5d29yZFRzTnVsbEtleXdvcmRUc05ldmVyS2V5d29yZFRzSW50cmluc2ljS2V5d29yZAAAAAAAAAAEAAAABAAAADICAABPKRgABAAAAN9NFgADAAAA4k0WAAgAAADLVxYACAAAAIRYFgAGAAAAJVQWAAgAAACiWBYACwAAAFRzRXhwcldpdGhUeXBlQXJnc1RzSW50ZXJzZWN0aW9uVHlwZW9ial90eXBlaW5kZXhfdHlwZQAATykYAAQAAADyGhgACAAAAN9NFgADAAAA4k0WAAgAAADLVxYACAAAACVUFgAIAAAAVHNOYW1lc3BhY2VFeHBvcnREZWNsY29udGV4dC5jdXJyZW50KCkgaWYgUGFyZW5TdG10LCBzbyBwcmV2IHRva2VuIGNhbm5vdCBiZSBOb25lAAAAkC8YAG0AAAArAgAAGgAAAAwAAACQLxgAbQAAAOkBAAAtAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogVXNpbmcgaXMgbm90IGEgdmFsaWQgZGVjbGFyYXRpb24gZm9yIGBkZWNsYXJlYCBrZXl3b3Jk2E8WAGAAAACc7xcAcwAAAAwLAAAcAAAAVGhpc1VuYXJ5VXBkYXRlQmluQ29uZENhbGxOZXdTZXFMaXRBcnJvd1lpZWxkTWV0YVByb3BBd2FpdEpTWE1lbWJlckpTWE5hbWVzcGFjZWROYW1lSlNYRW1wdHlKU1hFbGVtZW50SlNYRnJhZ21lbnRUc0NvbnN0QXNzZXJ0aW9uU2hvcnRoYW5kS2V5VmFsdWVHZXR0ZXJTZXR0ZXJNZXRob2RCbG9ja0RlYnVnZ2VyV2l0aFJldHVybkxhYmVsZWRCcmVha0NvbnRpbnVlSWZTd2l0Y2hUaHJvd1RyeVdoaWxlRG9XaGlsZUZvckZvckluRm9yT2ZEZWNsgwQAAAwAAAAEAAAAqwEAAJsEAAAMAAAABAAAAJwEAACdBAAABAAAAAQAAAB4AQAAAAAAAAEAAAABAAAAFAAAAJ4EAAAEAAAABAAAACcCAACfBAAABAAAAAQAAABoAgAAAAAAAAQAAAAEAAAAoAQAAGRlY29yYXRvcnNzdXBlcl9jbGFzc2lzX2Fic3RyYWN0c3VwZXJfdHlwZV9wYXJhbXMAAABPKRgABAAAAMRXFgAEAAAAvFEWAAoAAACKWBYABAAAAMZRFgALAAAA0VEWAAsAAACiWBYACwAAANxRFgARAAAAtB0YAAoAAABWYXJEZWNsZGVjbHNUcnlTdG10YmxvY2toYW5kbGVyZmluYWxpemVySlNYTWVtYmVyRXhwclVzaW5nRGVjbGlzX2F3YWl0b3BlbmluZ2Nsb3NpbmdCbG9ja1N0bXRzdG10cwAAoQQAAAwAAAAEAAAAogQAAKMEAAAYAAAABAAAAIsEAACEWBYABgAAALxRFgAKAAAATykYAAQAAADEVxYABAAAAIpYFgAEAAAAllgWAAwAAACOWBYACAAAAKJYFgALAAAArVgWAAsAAABGdW5jdGlvblRzS2V5d29yZFR5cGVUc1RoaXNUeXBlVHNGbk9yQ29uc3RydWN0b3JUeXBlVHNUeXBlUmVmVHNUeXBlUXVlcnlUc1R5cGVMaXRUc0FycmF5VHlwZVRzVHVwbGVUeXBlVHNPcHRpb25hbFR5cGVUc1Jlc3RUeXBlVHNVbmlvbk9ySW50ZXJzZWN0aW9uVHlwZVRzQ29uZGl0aW9uYWxUeXBlVHNJbmZlclR5cGVUc1BhcmVudGhlc2l6ZWRUeXBlVHNUeXBlT3BlcmF0b3JUc0luZGV4ZWRBY2Nlc3NUeXBlVHNNYXBwZWRUeXBlVHNMaXRUeXBlVHNUeXBlUHJlZGljYXRlVHNJbXBvcnRUeXBlVHNUeXBlQW5udHlwZV9hbm5KU1hPcGVuaW5nRWxlbWVudGF0dHJzc2VsZl9jbG9zaW5nAJMEAAAYAAAACAAAAOYBAABUc0VudW1EZWNsaXNfY29uc3RtZW1iZXJzVHNRdWFsaWZpZWROYW1lVHNNb2R1bGVEZWNspAQAAAwAAAAEAAAApQQAAAAAAAAEAAAABAAAAKYEAABPKRgABAAAAPyuFgACAAAApBoYAAcAAACiWBYACwAAANwaGAAHAAAAilgWAAQAAABUc01vZHVsZUJsb2NrVHNOYW1lc3BhY2VEZWNsVHNUeXBlQWxpYXNEZWNsVHNUeXBlUGFyYW1EZWNsVHNJbXBvcnRFcXVhbHNEZWNsaXNfZXhwb3J0bW9kdWxlX3JlZlRzVHlwZVBhcmFtSW5zdGFudGlhdGlvbgCnBAAABAAAAAQAAACBAgAAAAAAAAEAAAABAAAAFAAAAEV4cG9ydEFsbHNyY3R5cGVfb25seUV4cG9ydERlY2xkZWNsAKgEAAAMAAAABAAAAKkEAACqBAAABAAAAAQAAACrBAAAc3BlY2lmaWVycwAATykYAAQAAADAVRYACgAAAIVVFgADAAAAiFUWAAkAAABDHBgABAAAAJxXFgAFAAAASW1wb3J0RGVjbEV4cG9ydE5hbWVkRXhwb3J0RGVmYXVsdERlY2xFeHBvcnREZWZhdWx0RXhwclRzSW1wb3J0RXF1YWxzVHNFeHBvcnRBc3NpZ25tZW50VHNOYW1lc3BhY2VFeHBvcnRUc0ludGVyZmFjZURlY2xFdmFsdWF0aW9uU291cmNlRGVmZXJOYW1lZEV4cG9ydE5hbWVzcGFjZURlZmF1bHROYW1lZFN0ckV4cG9ydE5hbWVkU3BlY2lmaWVyb3JpZ2V4cG9ydGVkaXNfdHlwZV9vbmx5SW1wb3J0TmFtZWRTcGVjaWZpZXJsb2NhbGltcG9ydGVkSW1wb3J0U3RhckFzU3BlY2lmaWVyRXhwb3J0RGVmYXVsdFNwZWNpZmllckltcG9ydERlZmF1bHRTcGVjaWZpZXJFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXJUcGxleHByc3F1YXNpc1N1cGVyAAAAAAEAAAABAAAAFAAAAEZuRGVjbGlkZW50SW1wb3J0Rm5FeHByAAAAAAAEAAAABAAAAIQCAABwaGFzZQAAAAAAAAAEAAAABAAAAOgBAAAAAAAABAAAAAQAAACSAAAAY3R4dHN5bW9wdGlvbmFsQmluRXhwcm9wcmlnaHROZXdFeHByY2FsbGVlYXJnc3R5cGVfYXJnc09wdENhbGxTZXFFeHByQXJyYXlMaXRlbGVtc0NhbGxFeHByQ29uZEV4cHJ0ZXN0Y29uc2FsdFRoaXNFeHByQ2xhc3NEZWNsAACsBAAADAAAAAQAAACtBAAArgQAAAQAAAAEAAAArwQAAJ4EAAAEAAAABAAAACcCAAAAAAAABAAAAAQAAABBAQAAcGFyYW1zYm9keWlzX2FzeW5jaXNfZ2VuZXJhdG9ydHlwZV9wYXJhbXNyZXR1cm5fdHlwZU8pGAAEAAAAxFcWAAQAAACEWBYABgAAAIpYFgAEAAAAjlgWAAgAAACWWBYADAAAAKJYFgALAAAArVgWAAsAAABBcnJvd0V4cHJBd2FpdEV4cHJhcmdDbGFzc0V4cHJPYmplY3RMaXRwcm9wc1BhcmVuRXhwckNvbXB1dGVkVGFnZ2VkVHBsdHBsVW5hcnlFeHByWWllbGRFeHByZGVsZWdhdGVBc3NpZ25FeHByTWVtYmVyRXhwcm9ianByb3BQcml2YXRlTmFtZVRwbEVsZW1lbnR0YWlsY29va2VkcmF3VXBkYXRlRXhwcnByZWZpeFNpbXBsZVBhdEV4cHJPclNwcmVhZHNwcmVhZE1ldGFQcm9wRXhwcmtpbmRPcHRDaGFpbkV4cHJiYXNlU3ByZWFkUHJvcFZhckRlY2xhcmF0b3JuYW1laW5pdGRlZmluaXRlU3ByZWFkRWxlbWVudGRvdDNfdG9rZW5TdXBlclByb3BFeHByTWVtYmVyU3VwZXJQcm9wUGFyZW5PcHRDaGFpblRzQXNUc1NhdGlzZmllc1RzTm9uTnVsbFRzVHlwZUFzc2VydGlvblRzSW5zdGFudGlhdGlvbgBBpLXZAAsSsAQAALEEAACwBAAAsAQAALEEAEGAttkACwKwBABBgLnZAAvaiwayBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAALIEAACyBAAAsgQAAHN0cnVjdCBUc1N5bnRheC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3BhcnNlci02LjAuMi9zcmMvbGV4ZXIvdXRpbC5ycy9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3NtYXJ0c3RyaW5nLTEuMC4xL3NyYy9vcHMucnP7XhYAYQAAAHoAAAA7AAAAVW5leHBlY3RlZCBlb2YvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9wYXJzZXItNi4wLjIvc3JjL2Vycm9yLnJzRGVjbGFyYXRpb24gaXMgbm90IGFsbG93ZWRVc2luZyBkZWNsYXJhdGlvbiBpcyBub3QgYWxsb3dlZFVzaW5nIGRlY2xhcmF0aW9uIGlzIG5vdCBhbGxvd2VkIGluIGZvci1pbiBsb29wVXNpbmcgZGVjbGFyYXRpb24gaXMgbm90IGVuYWJsZWQuIFNldCBqc2MucGFyc2VyLmV4cGxpY2l0UmVzb3VyY2VNYW5hZ2VtZW50IHRvIHRydWVVc2luZyBkZWNsYXJhdGlvbiBvbmx5IGFsbG93cyBpZGVudGlmaWVyc1VzaW5nIGRlY2xhcmF0aW9uIHJlcXVpcmVzIGluaXRpYWxpemVycHJpdmF0ZSBuYW1lcyBhcmUgbm90IGFsbG93ZWQgaW4gaW50ZXJmYWNlSW52YWxpZCBgc3VwZXIoKWBJbnZhbGlkIGFjY2VzcyB0byBzdXBlckluZGV4IHN1cGVyIHdpdGggcHJpdmF0ZSBuYW1lIGlzIG5vdCBhbGxvd2VkJ25ldy50YXJnZXQnIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBmdW5jdGlvbiBleHByZXNzaW9uLCBvciBjbGFzcy5JbXBvcnQgaXMgbm90IGFsbG93ZWQgaGVyZUFuIGFycm93IGZ1bmN0aW9uIGlzIG5vdCBhbGxvd2VkIGhlcmVgZXhwb3J0YCBpcyBub3QgYWxsb3dlZCBoZXJlQSBnZXR0ZXIgb3IgYSBzZXR0ZXIgY2Fubm90IGJlIHJlYWRvbmx5QSBnZXR0ZXIgb3IgYSBzZXR0ZXIgY2Fubm90IGJlIG9wdGlvbmFsQSBgZ2V0YCBhY2Nlc3NvciBjYW5ub3QgaGF2ZSBwYXJhbWV0ZXJzQSBgc2V0YCBhY2Nlc3NvciBtdXN0IGhhdmUgZXhhY3RseSBvbmUgcGFyYW1ldGVydG9wIGxldmVsIGF3YWl0IGlzIG9ubHkgYWxsb3dlZCBpbiBtb2R1bGVMZWdhY3kgZGVjaW1hbCBlc2NhcGUgaXMgbm90IHBlcm1pdHRlZCBpbiBzdHJpY3QgbW9kZUxlZ2FjeSBvY3RhbCBlc2NhcGUgaXMgbm90IHBlcm1pdHRlZCBpbiBzdHJpY3QgbW9kZUludmFsaWQgY2hhcmFjdGVyIGluIGlkZW50aWZpZXJhIGJpbmFyeWFuIG9jdGFsYSBkZWNpbWFsYSBoZXhhZGVjaW1hbEV4cGVjdGVkICBkaWdpdAAAAKJjFgAJAAAAq2MWAAYAAAB6XxYAZwAAAEIBAAAaAAAAU2V0dGVyIHNob3VsZCBoYXZlIGV4YWN0bHkgb25lIHBhcmFtZXRlclJlc3QgcGF0dGVybiBpcyBub3QgYWxsb3dlZCBpbiBzZXR0ZXJVbnRlcm1pbmF0ZWQgYmxvY2sgY29tbWVudFVudGVybWluYXRlZCBzdHJpbmcgY29uc3RhbnRFeHBlY3RlZCB1bmljb2RlIGVzY2FwZVVuZXhwZWN0ZWQgZXNjYXBlIHNlcXVlbmNlIGluIHJlc2VydmVkIHdvcmQ6IABuZBYALQAAAFVudGVybWluYXRlZCByZWdleHAgbGl0ZXJhbFVudGVybWluYXRlZCB0ZW1wbGF0ZUlkZW50aWZpZXIgY2Fubm90IGZvbGxvdyBudW1iZXJVbmV4cGVjdGVkIGNoYXJhY3RlciDzZBYAFQAAAEludmFsaWQgc3RyaW5nIGVzY2FwZUludmFsaWQgdW5pY29kZSBlc2NhcGVCYWQgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZSwgZXhwZWN0ZWQgADtlFgAoAAAARXhwZWN0ZWQgKywgLSBvciBkZWNpbWFsIGRpZ2l0IGFmdGVyIGVMZWdhY3kgY29tbWVudHMgY2Fubm90IGJlIHVzZWQgaW4gbW9kdWxlIGNvZGVgIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGlkZW50aWZpZXIgaW4gc3RyaWN0IG1vZGUAtBoYAAEAAAC/ZRYAMAAAAGBhd2FpdGAgY2Fubm90IGJlIHVzZWQgYXMgYW4gaWRlbnRpZmllciBpbiBhbiBhc3luYyBjb250ZXh0J2V2YWwnIGFuZCAnYXJndW1lbnRzJyBjYW5ub3QgYmUgdXNlZCBhcyBhIGJpbmRpbmcgaWRlbnRpZmllciBpbiBzdHJpY3QgbW9kZSdhcmd1bWVudHMnIGlzIG9ubHkgYWxsb3dlZCBpbiBmdW5jdGlvbnMgYW5kIGNsYXNzIG1ldGhvZHNJbGxlZ2FsICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgaW4gZnVuY3Rpb24gd2l0aCBub24tc2ltcGxlIHBhcmFtZXRlciBsaXN0LicqKicgY2Fubm90IGJlIGFwcGxpZWQgdG8gdW5hcnkvYXdhaXQgZXhwcmVzc2lvbi5VbmV4cGVjdGVkIHRva2VuICcjJ0xpbmVCcmVhayBjYW5ub3QgZm9sbG93ICd0aHJvdydVbmV4cGVjdGVkIGxpbmUgYnJlYWsgYmV0d2VlbiBhcnJvdyBoZWFkIGFuZCBhcnJvd1VuZXhwZWN0ZWQgdG9rZW4gYGAuIEV4cGVjdGVkIAChZxYAEgAAALNnFgAMAAAAICwgb3IgAADTZxYAAwAAACBvciBVbmV4cGVjdGVkIHRva2VuLiBEaWQgeW91IG1lYW4gAORnFgAfAAAA4xoYAAEAAABjYW5ub3QgaW1wb3J0IGFzIHJlc2VydmVkIHdvcmRhc3NpZ25tZW50IHByb3BlcnR5IGlzIGludmFsaWQgc3ludGF4RXhwZWN0ZWQgJycsIGdvdCAnJwAAV2gWAAoAAABhaBYACAAAAGloFgABAAAARXhwZWN0ZWQgJzsnLCAnfScgb3IgPGVvZj5hd2FpdCogaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBhc3luYyBmdW5jdGlvbnMgcHJvcG9zYWwuIFVzZSBQcm9taXNlLmFsbCgpIGluc3RlYWQuQ2Fubm90IHVzZSBhIHJlc2VydmVkIHdvcmQgYXMgYSBzaG9ydGhhbmQgcHJvcGVydHlOdWxsaXNoIGNvYWxlc2Npbmcgb3BlcmF0b3IoPz8pIHJlcXVpcmVzIHBhcmVucyB3aGVuIG1peGluZyB3aXRoIGxvZ2ljYWwgb3BlcmF0b3JzQSBzd2l0Y2ggYmxvY2sgY2Fubm90IGhhdmUgbXVsdGlwbGUgZGVmYXVsdHNUcmFpbGluZyBjb21tYSBpc24ndCBwZXJtaXR0ZWQgYWZ0ZXIgYSByZXN0IGVsZW1lbnRSZXN0IGVsZW1lbnQgbXVzdCBiZSBmaW5hbCBlbGVtZW50UGFyZW50aGVzaXplZCBleHByZXNzaW9uIGNhbm5vdCBjb250YWluIHNwcmVhZCBvcGVyYXRvclBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbiBjYW5ub3QgYmUgZW1wdHlOb3QgYSBwYXR0ZXJuTm90IGFuIGV4cHJlc3Npb25DYW5ub3QgYXNzaWduIHRvIHRoaXNJbnZhbGlkIGFzc2lnbm1lbnQgdGFyZ2V0RXhwZWN0ZWQgaWRlbnRFeHBlY3RlZCAnOycgb3IgbGluZSBicmVha0xhYmVsICBpcyBhbHJlYWR5IGRlY2xhcmVkAAAAy2oWAAYAAADRahYAFAAAAEFuIGFzeW5jIGZ1bmN0aW9uIGNhbm5vdCBiZSBnZW5lcmF0b3InaW1wb3J0JywgYW5kICdleHBvcnQnIGFyZSBub3QgcGVybWl0dGVkIGhlcmUnaW1wb3J0JywgYW5kICdleHBvcnQnIGNhbm5vdCBiZSB1c2VkIG91dHNpZGUgb2YgbW9kdWxlIGNvZGUnaW1wb3J0Lm1ldGEnIGNhbm5vdCBiZSB1c2VkIG91dHNpZGUgb2YgbW9kdWxlIGNvZGUuRGVzdHJ1Y3R1cmluZyBiaW5kaW5ncyByZXF1aXJlIGluaXRpYWxpemVyc1dpdGggc3RhdGVtZW50IGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZVJldHVybiBzdGF0ZW1lbnQgaXMgbm90IGFsbG93ZWQgaGVyZUV4cGVjdGVkIG9uZSB2YXJpYWJsZSBiaW5kaW5nVW5leHBlY3RlZCBpbml0aWFsaXplciBpbiBmb3IgaW4vb2YgbG9vcEdlbmVyYXRvciBvciBhc3luYyBmdW5jdGlvbiBjYW5ub3QgYmUgbGFiZWxsZWRGdW5jdGlvbiBjYW5ub3QgYmUgbGFiZWxsZWQgaW4gc3RyaWN0IG1vZGUneWllbGQnIGNhbm5vdCBiZSB1c2VkIGFzIGEgcGFyYW1ldGVyIHdpdGhpbiBnZW5lcmF0b3JgYXdhaXRgIGV4cHJlc3Npb25zIGNhbm5vdCBiZSB1c2VkIGluIGEgcGFyYW1ldGVyIGluaXRpYWxpemVyLmZvciBhd2FpdCBzeW50YXggaXMgdmFsaWQgb25seSBmb3IgZm9yLW9mIHN0YXRlbWVudGF3YWl0IGlzbid0IGFsbG93ZWQgaW4gbm9uLWFzeW5jIGZ1bmN0aW9uVW50ZXJtaW5hdGVkIEpTWCBjb250ZW50c0pTWCBhdHRyaWJ1dGVzIG11c3Qgb25seSBiZSBhc3NpZ25lZCBhIG5vbi1lbXB0eSBleHByZXNzaW9uSlNYIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgYW4gZXhwcmVzc2lvbiBvciBhIHF1b3RlZCBKU1ggdGV4dEV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgSlNYIGNsb3NpbmcgdGFnIGZvciA8PkV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgSlNYIGNsb3NpbmcgdGFnIGZvciA8AAAAYW4WACwAAABNGBgAAQAAAExlYWRpbmcgZGVjb3JhdG9ycyBtdXN0IGJlIGF0dGFjaGVkIHRvIGEgY2xhc3MgZGVjbGFyYXRpb25Vc2luZyB0aGUgZXhwb3J0IGtleXdvcmQgYmV0d2VlbiBhIGRlY29yYXRvciBhbmQgYSBjbGFzcyBpcyBub3QgYWxsb3dlZC4gUGxlYXNlIHVzZSBgZXhwb3J0IEBkZWMgY2xhc3NgIGluc3RlYWQuQSByZXF1aXJlZCBlbGVtZW50IGNhbm5vdCBmb2xsb3cgYW4gb3B0aW9uYWwgZWxlbWVudC5UeXBlc2NyaXB0IHBhcmFtZXRlciBwcm9wZXJ0eSBtdXN0IGJlIGFuIGlkZW50aWZpZXIgb3IgYXNzaWdubWVudCBwYXR0ZXJuVW5leHBlY3RlZCBzcGFjZSBiZXR3ZWVuICMgYW5kIGlkZW50aWZpZXJDb25zdHJ1Y3RvciBjYW4ndCBiZSBhbiBhc3luYyBmdW5jdGlvbkNsYXNzZXMgbWF5IG5vdCBoYXZlIGEgbm9uLXN0YXRpYyBmaWVsZCBuYW1lZCAnY29uc3RydWN0b3InQ2xhc3NlcyBjYW4ndCBoYXZlIGEgcHJpdmF0ZSBmaWVsZCBuYW1lZCAnI2NvbnN0cnVjdG9yJy4nIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIHdpdGggYSBwcml2YXRlIGlkZW50aWZpZXIAAABpaBYAAQAAAIpwFgAzAAAAQ2xhc3MgY29uc3RydWN0b3IgY2FuJ3QgYmUgYW4gYWNjZXNzb3IuQSBtZXRob2QgY2Fubm90IGJlIHJlYWRvbmx5QSBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgZ2VuZXJhdG9yQSBjbGFzcyBjYW4gb25seSBoYXZlIG9uZSBjb25zdHJ1Y3RvckEgYmluZGluZyBwYXR0ZXJuIHBhcmFtZXRlciBjYW5ub3QgYmUgb3B0aW9uYWwgaW4gYW4gaW1wbGVtZW50YXRpb24gc2lnbmF0dXJlLlN1cGVyIGNhbGwgY2Fubm90IGJlIG9wdGlvbmFsQ29uc3RydWN0b3IgaW4vYWZ0ZXIgYW4gb3B0aW9uYWwgY2hhaW5pbmcgaXMgbm90IGFsbG93ZWQuVGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWwgaXMgbm90IGFsbG93ZWQgaW4gb3B0aW9uYWwgY2hhaW4uVHJhaWxpbmcgY29tbWEgaXMgZGlzYWxsb3dlZCBpbnNpZGUgaW1wb3J0KC4uLikgYXJndW1lbnRzZXhwb3J0IGRlZmF1bHQgc3RhdGVtZW50cyByZXF1aXJlZCBmcm9tICcuLi4nO2AgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBgZnJvbWAgY2xhdXNlAAC0GhgAAQAAAJxyFgAmAAAAYC4uLmAgbXVzdCBiZSBmb2xsb3dlZCBieSBhbiBpZGVudGlmaWVyIGluIGRlY2xhcmF0aW9uIGNvbnRleHRzQSBudW1lcmljIHNlcGFyYXRvciBpcyBvbmx5IGFsbG93ZWQgYmV0d2VlbiB0d28gZGlnaXRzQSBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgdXNlZCBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nLgotIERpZCB5b3UgbWVhbiBgaW1wb3J0IHsgIiIgYXMgZm9vIH1gPwBJcxYAUgAAAJtzFgAMAAAAQSBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgdXNlZCBhcyBhbiBleHBvcnRlZCBiaW5kaW5nIHdpdGhvdXQgYGZyb21gLidjb25zdCcgZGVjbGFyYXRpb25zIG11c3QgYmUgaW5pdGlhbGl6ZWREdXBsaWNhdGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBmbGFnICcnLiZ0FgAkAAAASnQWAAIAAABVbmtub3duIHJlZ3VsYXIgZXhwcmVzc2lvbiBmbGFncy5FeHBlY3RlZCBhbiBpZGVudGlmaWVyRXhwZWN0ZWQgYSBzZW1pY29sb25UcmFpbGluZyBjb21tYSBpcyBub3QgYWxsb3dlZEEgcmVzdCBwYXJhbWV0ZXIgbXVzdCBiZSBsYXN0IGluIGEgcGFyYW1ldGVyIGxpc3RQYXJhbWV0ZXIgY2Fubm90IGhhdmUgcXVlc3Rpb24gbWFyayBhbmQgaW5pdGlhbGl6ZXInIG1vZGlmaWVyIG11c3QgcHJlY2VkZSAnJyBtb2RpZmllci5paBYAAQAAACh1FgAZAAAAQXUWAAsAAAAnIG1vZGlmaWVyIGFscmVhZHkgc2Vlbi5paBYAAQAAAGR1FgAYAAAAYGRlY2xhcmVgIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gY2xhc3MgZWxlbWVudHMgb2YgdGhpcyBraW5kYGRlY2xhcmVgIG1vZGlmaWVyIG5vdCBhbGxvd2VkIGZvciBjb2RlIGFscmVhZHkgaW4gYW4gYW1iaWVudCBjb250ZXh0YGFzeW5jYCBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBoZXJlQSByZXN0IHBhcmFtZXRlciBjYW5ub3QgYmUgb3B0aW9uYWxBIHJlc3QgcGFyYW1ldGVyIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyanNjLnRhcmdldCBzaG91bGQgYmUgZXM1IG9yIHVwcGVyIHRvIHVzZSBnZXR0ZXIgLyBzZXR0ZXJMZWdhY3kgb2N0YWwgbGl0ZXJhbHMgYXJlIG5vdCBhdmFpbGFibGUgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCA1IGFuZCBoaWdoZXInIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbgAAAGloFgABAAAACHcWADUAAABUeXBlIHBhcmFtZXRlcnMgY2Fubm90IGFwcGVhciBvbiBhIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uQW4gaW5kZXggc2lnbmF0dXJlIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBwYXJhbWV0ZXJUeXBlIHBhcmFtZXRlciBsaXN0IGNhbm5vdCBiZSBlbXB0eUludmFsaWQgdXNlIG9mICdhcmd1bWVudHMnIGluIHN0cmljdCBtb2RlJ2RlbGV0ZScgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiBpZGVudGlmaWVyIGluIHN0cmljdCBtb2RlQSAnYnJlYWsnIHN0YXRlbWVudCBjYW4gb25seSBiZSB1c2VkIHdpdGhpbiBhbiBlbmNsb3NpbmcgaXRlcmF0aW9uIG9yIHN3aXRjaCBzdGF0ZW1lbnRUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSBgZm9yLi4ub2ZgIHN0YXRlbWVudCBtYXkgbm90IGJlIGBhc3luY2BKdW1wIHRhcmdldCBjYW5ub3QgY3Jvc3MgZnVuY3Rpb24gYm91bmRhcnlFeHByZXNzaW9uIGV4cGVjdGVkdHlwZSBleHBlY3RlZER1cGxpY2F0ZSBsYWJlbEEgJ2NvbnRpbnVlJyBzdGF0ZW1lbnQgY2FuIG9ubHkganVtcCB0byBhIGxhYmVsIG9mIGFuIGVuY2xvc2luZyBpdGVyYXRpb24gc3RhdGVtZW50QSAnYnJlYWsnIHN0YXRlbWVudCBjYW4gb25seSBqdW1wIHRvIGEgbGFiZWwgb2YgYW4gZW5jbG9zaW5nIHN0YXRlbWVudFZhcmlhYmxlIGRlY2xhcmF0aW9uIGxpc3QgY2Fubm90IGJlIGVtcHR5bGl0ZXJhbCBpbiBhbiBpbXBvcnQgdHlwZSBzaG91bGQgYmUgc3RyaW5nIGxpdGVyYWxBbiBvYmplY3QgbWVtYmVyIGNhbm5vdCBiZSBkZWNsYXJlZCBvcHRpb25hbENvbXB1dGVkIHByb3BlcnR5IG5hbWVzIGFyZSBub3QgYWxsb3dlZCBpbiBlbnVtc0EgY29tbWEgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZCBpbiBhIGNvbXB1dGVkIHByb3BlcnR5IG5hbWVgZXh0ZW5kc2AgY2xhdXNlIGFscmVhZHkgc2Vlbi4nZXh0ZW5kcycgY2xhdXNlIG11c3QgcHJlY2VkZSAnaW1wbGVtZW50cycgY2xhdXNlLkNsYXNzZXMgY2FuIG9ubHkgZXh0ZW5kIGEgc2luZ2xlIGNsYXNzYGltcGxlbWVudHNgIGNsYXVzZSBhbHJlYWR5IHNlZW5BbiBpbXBsZW1lbnRhdGlvbiBjYW5ub3QgYmUgZGVjbGFyZWQgaW4gYW1iaWVudCBjb250ZXh0c01vZGlmaWVycyBjYW5ub3QgYXBwZWFyIGhlcmVNZXJnZSBjb25mbGljdCBtYXJrZXIgZW5jb3VudGVyZWQuVHlwZSBhbm5vdGF0aW9uIGNhbm5vdCBhcHBlYXIgb24gYSBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbkNhdGNoIGNsYXVzZSB2YXJpYWJsZSBjYW5ub3QgaGF2ZSBhIHR5cGUgYW5ub3RhdGlvbmBhYnN0cmFjdGAgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgY2xhc3Mgb3IgbWV0aG9kIGRlY2xhcmF0aW9uJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCB3aXRoICcAAABpaBYAAQAAAHl8FgAgAAAAQXUWAAsAAABBYnN0cmFjdCBtZXRob2RzIGNhbiBvbmx5IGFwcGVhciB3aXRoaW4gYW4gYWJzdHJhY3QgY2xhc3MuQWJzdHJhY3QgbWV0aG9kIGNhbm5vdCBoYXZlIGFuIGltcGxlbWVudGF0aW9uLkFic3RyYWN0IHByb3BlcnR5IGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLicgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhIHR5cGUgcGFyYW1ldGVyAAAAaWgWAAEAAABJfRYALAAAACcgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIgb2YgYSBjbGFzcywgaW50ZXJmYWNlIG9yIHR5cGUgYWxpYXMAAGloFgABAAAAiH0WAFIAAAAnIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIHR5cGUgcGFyYW1ldGVyIG9mIGEgZnVuY3Rpb24sIG1ldGhvZCBvciBjbGFzcwAAAGloFgABAAAA7H0WAE0AAABUaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgaW1wb3J0IHdoZW4gJ2ltcG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBpbXBvcnQgc3RhdGVtZW50LlRoZSAndHlwZScgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgb24gYSBuYW1lZCBleHBvcnQgd2hlbiAnZXhwb3J0IHR5cGUnIGlzIHVzZWQgb24gaXRzIGV4cG9ydCBzdGF0ZW1lbnQuQSBwYXJhbWV0ZXIgcHJvcGVydHkgaXMgb25seSBhbGxvd2VkIGluIGEgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb25BIHBhcmFtZXRlciBpbml0aWFsaXplciBpcyBvbmx5IGFsbG93ZWQgaW4gYSBmdW5jdGlvbiBvciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvblRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhbiBhc3NpZ25tZW50IGV4cHJlc3Npb24gbXVzdCBiZSBhIHZhcmlhYmxlIG9yIGEgcHJvcGVydHkgYWNjZXNzLlRoZSAnd2l0aCcgc3RhdGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQuIEFsbCBzeW1ib2xzIGluIGEgJ3dpdGgnIGJsb2NrIHdpbGwgaGF2ZSB0eXBlICdhbnknLkludmFsaWQgY2xhc3MgbmFtZWludGVyZmFjZSBuYW1lIGlzIGludmFsaWRBbiBlbnVtIG1lbWJlciBjYW5ub3QgaGF2ZSBhIG51bWVyaWMgbmFtZVRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5vZicgc3RhdGVtZW50IGNhbm5vdCB1c2UgYSB0eXBlIGFubm90YXRpb25UaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSAnZm9yLi4uaW4nIHN0YXRlbWVudCBjYW5ub3QgYmUgYSBkZXN0cnVjdHVyaW5nIHBhdHRlcm5BbiBpbnRlcmZhY2UgY2FuIG9ubHkgZXh0ZW5kIGFuIGlkZW50aWZpZXIvcXVhbGlmaWVkLW5hbWUgd2l0aCBvcHRpb25hbCB0eXBlIGFyZ3VtZW50cy5UaGUgb3BlcmFuZCBvZiBhIGRlbGV0ZSBvcGVyYXRvciBtdXN0IGJlIGEgcHJvcGVydHkgcmVmZXJlbmNlLlRoaXMgbWVtYmVyIGNhbm5vdCBoYXZlIGFuICdvdmVycmlkZScgbW9kaWZpZXIgYmVjYXVzZSBpdHMgY29udGFpbmluZyBjbGFzcyBkb2VzIG5vdCBleHRlbmQgYW5vdGhlciBjbGFzcy5EZWNvcmF0b3JzIG1heSBub3QgYXBwZWFyIGFmdGVyIGBleHBvcnRgIG9yIGBleHBvcnQgZGVmYXVsdGAgaWYgdGhleSBhbHNvIGFwcGVhciBiZWZvcmUgYGV4cG9ydGAuQW4gYWNjZXNzaWJpbGl0eSBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCB3aXRoIGEgcHJpdmF0ZSBpZGVudGlmaWVyLlR5cGUgYW5ub3RhdGlvbnMgbXVzdCBjb21lIGJlZm9yZSBkZWZhdWx0IGFzc2lnbm1lbnRzVHlwZXNjcmlwdCBub24tbnVsbCBhc3NlcnRpb24gb3BlcmF0b3IgaXMgbm90IGFsbG93ZWQgd2l0aCAnACeDFgA8AAAAaWgWAAEAAABUaGlzIHN5bnRheCBpcyByZXNlcnZlZCBpbiBmaWxlcyB3aXRoIHRoZSAubXRzIG9yIC5jdHMgZXh0ZW5zaW9uLiBVc2UgYW4gYGFzYCBleHByZXNzaW9uIGluc3RlYWQuVGhpcyBzeW50YXggaXMgcmVzZXJ2ZWQgaW4gZmlsZXMgd2l0aCB0aGUgLm10cyBvciAuY3RzIGV4dGVuc2lvbi4gQWRkIGEgdHJhaWxpbmcgY29tbWEsIGFzIGluIGA8VCw+KCkgPT4gLi4uYC5UaGlzIGlzIHRoZSBleHByZXNzaW9uIHBhcnQgb2YgYW4gZXhwcmVzc2lvbiBzdGF0ZW1lbnRwcmV2aW91cyBkZWZhdWx0IGNhc2UgaXMgZGVjbGFyZWQgYXQgaGVyZUVvZkRlY2xOb3RBbGxvd2VkVXNpbmdEZWNsTm90QWxsb3dlZFVzaW5nRGVjbE5vdEFsbG93ZWRGb3JGb3JJbkxvb3BVc2luZ0RlY2xOb3RFbmFibGVkSW52YWxpZE5hbWVJblVzaW5nRGVjbEluaXRSZXF1aXJlZEZvclVzaW5nRGVjbFByaXZhdGVOYW1lSW5JbnRlcmZhY2VJbnZhbGlkU3VwZXJDYWxsSW52YWxpZFN1cGVySW52YWxpZFN1cGVyUHJpdmF0ZU5hbWVJbnZhbGlkTmV3VGFyZ2V0SW52YWxpZEltcG9ydEFycm93Tm90QWxsb3dlZEV4cG9ydE5vdEFsbG93ZWRHZXR0ZXJTZXR0ZXJDYW5ub3RCZVJlYWRvbmx5R2V0dGVyU2V0dGVyQ2Fubm90QmVPcHRpb25hbEdldHRlclBhcmFtU2V0dGVyUGFyYW1Ub3BMZXZlbEF3YWl0SW5TY3JpcHRMZWdhY3lEZWNpbWFsTGVnYWN5T2N0YWxJbnZhbGlkSWRlbnRDaGFyRXhwZWN0ZWREaWdpdHJhZGl4U2V0dGVyUGFyYW1SZXF1aXJlZFJlc3RQYXRJblNldHRlclVudGVybWluYXRlZEJsb2NrQ29tbWVudFVudGVybWluYXRlZFN0ckxpdEV4cGVjdGVkVW5pY29kZUVzY2FwZUVzY2FwZUluUmVzZXJ2ZWRXb3Jkd29yZFVudGVybWluYXRlZFJlZ0V4cFVudGVybWluYXRlZFRwbElkZW50QWZ0ZXJOdW1VbmV4cGVjdGVkQ2hhcmNJbnZhbGlkU3RyRXNjYXBlSW52YWxpZFVuaWNvZGVFc2NhcGVCYWRDaGFyYWN0ZXJFc2NhcGVTZXF1ZW5jZWV4cGVjdGVkTnVtTGl0VGVybWluYXRlZFdpdGhFeHBMZWdhY3lDb21tZW50SW5Nb2R1bGVJbnZhbGlkSWRlbnRJblN0cmljdEludmFsaWRJZGVudEluQXN5bmNFdmFsQW5kQXJndW1lbnRzSW5TdHJpY3RBcmd1bWVudHNJbkNsYXNzRmllbGRJbGxlZ2FsTGFuZ3VhZ2VNb2RlRGlyZWN0aXZlVW5hcnlJbkV4cGxlZnRsZWZ0X3NwYW5IYXNoTGluZUJyZWFrSW5UaHJvd0xpbmVCcmVha0JlZm9yZUFycm93VW5leHBlY3RlZGdvdFVuZXhwZWN0ZWRUb2tlbldpdGhTdWdnZXN0aW9uc2NhbmRpZGF0ZV9saXN0UmVzZXJ2ZWRXb3JkSW5JbXBvcnRBc3NpZ25Qcm9wZXJ0eUV4cGVjdGVkRXhwZWN0ZWRTZW1pRm9yRXhwclN0bXRleHByQXdhaXRTdGFyUmVzZXJ2ZWRXb3JkSW5PYmpTaG9ydGhhbmRPclBhdE51bGxpc2hDb2FsZXNjaW5nV2l0aExvZ2ljYWxPcE11bHRpcGxlRGVmYXVsdHByZXZpb3VzQ29tbWFBZnRlclJlc3RFbGVtZW50Tm9uTGFzdFJlc3RQYXJhbVNwcmVhZEluUGFyZW5FeHByRW1wdHlQYXJlbkV4cHJJbnZhbGlkUGF0SW52YWxpZEV4cHJOb3RTaW1wbGVBc3NpZ25JbnZhbGlkQXNzaWduVGFyZ2V0RXhwZWN0ZWRJZGVudEV4cGVjdGVkU2VtaUR1cGxpY2F0ZUxhYmVsQXN5bmNHZW5lcmF0b3JOb25Ub3BMZXZlbEltcG9ydEV4cG9ydEltcG9ydEV4cG9ydEluU2NyaXB0SW1wb3J0TWV0YUluU2NyaXB0UGF0VmFyV2l0aG91dEluaXRXaXRoSW5TdHJpY3RSZXR1cm5Ob3RBbGxvd2VkVG9vTWFueVZhckluRm9ySW5IZWFkVmFySW5pdGlhbGl6ZXJJbkZvckluSGVhZExhYmVsbGVkR2VuZXJhdG9yT3JBc3luY0xhYmVsbGVkRnVuY3Rpb25JblN0cmljdFlpZWxkUGFyYW1JbkdlbkF3YWl0UGFyYW1JbkFzeW5jQXdhaXRGb3JTdG10QXdhaXRJbkZ1bmN0aW9uVW50ZXJtaW5hdGVkSlNYQ29udGVudHNFbXB0eUpTWEF0dHJJbnZhbGlkSlNYVmFsdWVKU1hFeHBlY3RlZENsb3NpbmdUYWdGb3JMdEd0SlNYRXhwZWN0ZWRDbG9zaW5nVGFndGFnSW52YWxpZExlYWRpbmdEZWNvcmF0b3JEZWNvcmF0b3JPbkV4cG9ydFRzUmVxdWlyZWRBZnRlck9wdGlvbmFsVHNJbnZhbGlkUGFyYW1Qcm9wUGF0U3BhY2VCZXR3ZWVuSGFzaEFuZElkZW50QXN5bmNDb25zdHJ1Y3RvclByb3BlcnR5TmFtZWRDb25zdHJ1Y3RvclByaXZhdGVDb25zdHJ1Y3RvclByaXZhdGVOYW1lTW9kaWZpZXJDb25zdHJ1Y3RvckFjY2Vzc29yUmVhZE9ubHlNZXRob2RHZW5lcmF0b3JDb25zdHJ1Y3RvckR1cGxpY2F0ZUNvbnN0cnVjdG9yVHNCaW5kaW5nUGF0Q2Fubm90QmVPcHRpb25hbFN1cGVyQ2FsbE9wdGlvbmFsT3B0Q2hhaW5DYW5ub3RGb2xsb3dDb25zdHJ1Y3RvckNhbGxUYWdnZWRUcGxJbk9wdENoYWluVHJhaWxpbmdDb21tYUluc2lkZUltcG9ydEV4cG9ydERlZmF1bHRXaXRoT3V0RnJvbUV4cG9ydEV4cGVjdEZyb21Eb3RzV2l0aG91dElkZW50aWZpZXJOdW1lcmljU2VwYXJhdG9ySXNBbGxvd2VkT25seUJldHdlZW5Ud29EaWdpdHNJbXBvcnRCaW5kaW5nSXNTdHJpbmdFeHBvcnRCaW5kaW5nSXNTdHJpbmdDb25zdERlY2xhcmF0aW9uc1JlcXVpcmVJbml0aWFsaXphdGlvbkR1cGxpY2F0ZWRSZWdFeHBGbGFnc1Vua25vd25SZWdFeHBGbGFnc1RTMTAwM1RTMTAwNVRTMTAwOVRTMTAxNFRTMTAxNVRTMTAyOVRTMTAzMFRTMTAzMVRTMTAzOFRTMTA0MlRTMTA0N1RTMTA0OFRTMTA1NlRTMTA4NVRTMTA4OVRTMTA5MlRTMTA5NlRTMTA5OFRTMTEwMFRTMTEwMlRTMTEwNVRTMTEwNlRTMTEwN1RTMTEwOVRTMTExMFRTMTExNFRTMTExNVRTMTExNlRTMTEyM1RTMTE0MVRTMTE2MlRTMTE2NFRTMTE3MVRTMTE3MlRTMTE3M1RTMTE3NFRTMTE3NVRTMTE4M1RTMTE4NFRTMTE4NVRTMTA5M1RTMTE5NlRTMTI0MlRTMTI0M1RTMTI0NFRTMTI0NVRTMTI2N1RTMTI3M1RTMTI3NFRTMTI3N1RTMjIwNlRTMjIwN1RTMjM2OVRTMjM3MVRTMjQwNlRTMjQxMFRTMjQxNFRTMjQyN1RTMjQ1MlRTMjQ4M1RTMjQ5MVRTMjQ5OVRTMjcwM1RTNDExMlRTODAzOFRTMTgwMTBUU1R5cGVBbm5vdGF0aW9uQWZ0ZXJBc3NpZ25Uc05vbk51bGxBc3NlcnRpb25Ob3RBbGxvd2VkAAAAAAAACAAAAAQAAAB9AAAAV2l0aExhYmVsaW5uZXJub3RlUmVzZXJ2ZWRUeXBlQXNzZXJ0aW9uUmVzZXJ2ZWRBcnJvd1R5cGVQYXJhbQAAAAWuFgB2AAAA/QAAAAEAAABfYXBwbHlfZGVjb3JhdGVkX2Rlc2NyaXB0b3JAc3djL2hlbHBlcnMvXy9fYXBwbHlfZGVjb3JhdGVkX2Rlc2NyaXB0b3JfYXJyYXlfbGlrZV90b19hcnJheUBzd2MvaGVscGVycy9fL19hcnJheV9saWtlX3RvX2FycmF5X2FycmF5X3dpdGhfaG9sZXNAc3djL2hlbHBlcnMvXy9fYXJyYXlfd2l0aF9ob2xlc19hcnJheV93aXRob3V0X2hvbGVzQHN3Yy9oZWxwZXJzL18vX2FycmF5X3dpdGhvdXRfaG9sZXNfYXNzZXJ0X3RoaXNfaW5pdGlhbGl6ZWRAc3djL2hlbHBlcnMvXy9fYXNzZXJ0X3RoaXNfaW5pdGlhbGl6ZWRfYXN5bmNfZ2VuZXJhdG9yQHN3Yy9oZWxwZXJzL18vX2FzeW5jX2dlbmVyYXRvcl9hc3luY19nZW5lcmF0b3JfZGVsZWdhdGVAc3djL2hlbHBlcnMvXy9fYXN5bmNfZ2VuZXJhdG9yX2RlbGVnYXRlX2FzeW5jX2l0ZXJhdG9yQHN3Yy9oZWxwZXJzL18vX2FzeW5jX2l0ZXJhdG9yX2FzeW5jX3RvX2dlbmVyYXRvckBzd2MvaGVscGVycy9fL19hc3luY190b19nZW5lcmF0b3JfYXdhaXRfYXN5bmNfZ2VuZXJhdG9yQHN3Yy9oZWxwZXJzL18vX2F3YWl0X2FzeW5jX2dlbmVyYXRvcl9hd2FpdF92YWx1ZUBzd2MvaGVscGVycy9fL19hd2FpdF92YWx1ZV9jYWxsX3N1cGVyQHN3Yy9oZWxwZXJzL18vX2NhbGxfc3VwZXJfY2hlY2tfcHJpdmF0ZV9yZWRlY2xhcmF0aW9uQHN3Yy9oZWxwZXJzL18vX2NoZWNrX3ByaXZhdGVfcmVkZWNsYXJhdGlvbl9jbGFzc19hcHBseV9kZXNjcmlwdG9yX2Rlc3RydWN0dXJlQHN3Yy9oZWxwZXJzL18vX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZGVzdHJ1Y3R1cmVfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9nZXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9nZXRfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXRfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl91cGRhdGVAc3djL2hlbHBlcnMvXy9fY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl91cGRhdGVfY2xhc3NfY2FsbF9jaGVja0Bzd2MvaGVscGVycy9fL19jbGFzc19jYWxsX2NoZWNrX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2ZpZWxkX2Rlc2NyaXB0b3JAc3djL2hlbHBlcnMvXy9fY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvcl9jbGFzc19leHRyYWN0X2ZpZWxkX2Rlc2NyaXB0b3JAc3djL2hlbHBlcnMvXy9fY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yX2NsYXNzX25hbWVfdGR6X2Vycm9yQHN3Yy9oZWxwZXJzL18vX2NsYXNzX25hbWVfdGR6X2Vycm9yX2NsYXNzX3ByaXZhdGVfZmllbGRfZ2V0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfZ2V0X2NsYXNzX3ByaXZhdGVfZmllbGRfaW5pdEBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX2ZpZWxkX2luaXRfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZV9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleUBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleV9jbGFzc19wcml2YXRlX2ZpZWxkX3NldEBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX2ZpZWxkX3NldF9jbGFzc19wcml2YXRlX2ZpZWxkX3VwZGF0ZUBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX2ZpZWxkX3VwZGF0ZV9jbGFzc19wcml2YXRlX21ldGhvZF9nZXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9tZXRob2RfZ2V0X2NsYXNzX3ByaXZhdGVfbWV0aG9kX2luaXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9tZXRob2RfaW5pdF9jbGFzc19wcml2YXRlX21ldGhvZF9zZXRAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9tZXRob2Rfc2V0X2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfZ2V0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfZ2V0X2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfc2V0QHN3Yy9oZWxwZXJzL18vX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfc2V0X2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3VwZGF0ZUBzd2MvaGVscGVycy9fL19jbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF91cGRhdGVfY29uc3RydWN0QHN3Yy9oZWxwZXJzL18vX2NvbnN0cnVjdF9jcmVhdGVfY2xhc3NAc3djL2hlbHBlcnMvXy9fY3JlYXRlX2NsYXNzX2RlY29yYXRlQHN3Yy9oZWxwZXJzL18vX2RlY29yYXRlX2RlZmF1bHRzQHN3Yy9oZWxwZXJzL18vX2RlZmF1bHRzX2RlZmluZV9lbnVtZXJhYmxlX3Byb3BlcnRpZXNAc3djL2hlbHBlcnMvXy9fZGVmaW5lX2VudW1lcmFibGVfcHJvcGVydGllc19kZWZpbmVfcHJvcGVydHlAc3djL2hlbHBlcnMvXy9fZGVmaW5lX3Byb3BlcnR5X2V4cG9ydF9zdGFyQHN3Yy9oZWxwZXJzL18vX2V4cG9ydF9zdGFyX2V4dGVuZHNAc3djL2hlbHBlcnMvXy9fZXh0ZW5kc19nZXRAc3djL2hlbHBlcnMvXy9fZ2V0X2dldF9wcm90b3R5cGVfb2ZAc3djL2hlbHBlcnMvXy9fZ2V0X3Byb3RvdHlwZV9vZl9pbmhlcml0c0Bzd2MvaGVscGVycy9fL19pbmhlcml0c19pbmhlcml0c19sb29zZUBzd2MvaGVscGVycy9fL19pbmhlcml0c19sb29zZV9pbml0aWFsaXplcl9kZWZpbmVfcHJvcGVydHlAc3djL2hlbHBlcnMvXy9faW5pdGlhbGl6ZXJfZGVmaW5lX3Byb3BlcnR5X2luaXRpYWxpemVyX3dhcm5pbmdfaGVscGVyQHN3Yy9oZWxwZXJzL18vX2luaXRpYWxpemVyX3dhcm5pbmdfaGVscGVyX2luc3RhbmNlb2ZAc3djL2hlbHBlcnMvXy9faW5zdGFuY2VvZl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdEBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkX2lzX25hdGl2ZV9mdW5jdGlvbkBzd2MvaGVscGVycy9fL19pc19uYXRpdmVfZnVuY3Rpb25faXRlcmFibGVfdG9fYXJyYXlAc3djL2hlbHBlcnMvXy9faXRlcmFibGVfdG9fYXJyYXlfaXRlcmFibGVfdG9fYXJyYXlfbGltaXRAc3djL2hlbHBlcnMvXy9faXRlcmFibGVfdG9fYXJyYXlfbGltaXRfaXRlcmFibGVfdG9fYXJyYXlfbGltaXRfbG9vc2VAc3djL2hlbHBlcnMvXy9faXRlcmFibGVfdG9fYXJyYXlfbGltaXRfbG9vc2VfanN4QHN3Yy9oZWxwZXJzL18vX2pzeF9uZXdfYXJyb3dfY2hlY2tAc3djL2hlbHBlcnMvXy9fbmV3X2Fycm93X2NoZWNrX25vbl9pdGVyYWJsZV9yZXN0QHN3Yy9oZWxwZXJzL18vX25vbl9pdGVyYWJsZV9yZXN0X25vbl9pdGVyYWJsZV9zcHJlYWRAc3djL2hlbHBlcnMvXy9fbm9uX2l0ZXJhYmxlX3NwcmVhZF9vYmplY3RfZGVzdHJ1Y3R1cmluZ19lbXB0eUBzd2MvaGVscGVycy9fL19vYmplY3RfZGVzdHJ1Y3R1cmluZ19lbXB0eV9vYmplY3Rfc3ByZWFkQHN3Yy9oZWxwZXJzL18vX29iamVjdF9zcHJlYWRfb2JqZWN0X3NwcmVhZF9wcm9wc0Bzd2MvaGVscGVycy9fL19vYmplY3Rfc3ByZWFkX3Byb3BzX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNAc3djL2hlbHBlcnMvXy9fb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19vYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzX2xvb3NlQHN3Yy9oZWxwZXJzL18vX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2VfcG9zc2libGVfY29uc3RydWN0b3JfcmV0dXJuQHN3Yy9oZWxwZXJzL18vX3Bvc3NpYmxlX2NvbnN0cnVjdG9yX3JldHVybl9yZWFkX29ubHlfZXJyb3JAc3djL2hlbHBlcnMvXy9fcmVhZF9vbmx5X2Vycm9yX3NldEBzd2MvaGVscGVycy9fL19zZXRfc2V0X3Byb3RvdHlwZV9vZkBzd2MvaGVscGVycy9fL19zZXRfcHJvdG90eXBlX29mX3NraXBfZmlyc3RfZ2VuZXJhdG9yX25leHRAc3djL2hlbHBlcnMvXy9fc2tpcF9maXJzdF9nZW5lcmF0b3JfbmV4dF9zbGljZWRfdG9fYXJyYXlAc3djL2hlbHBlcnMvXy9fc2xpY2VkX3RvX2FycmF5X3NsaWNlZF90b19hcnJheV9sb29zZUBzd2MvaGVscGVycy9fL19zbGljZWRfdG9fYXJyYXlfbG9vc2Vfc3VwZXJfcHJvcF9iYXNlQHN3Yy9oZWxwZXJzL18vX3N1cGVyX3Byb3BfYmFzZV90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbEBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZUBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZV90aHJvd0Bzd2MvaGVscGVycy9fL190aHJvd190b19hcnJheUBzd2MvaGVscGVycy9fL190b19hcnJheV90b19jb25zdW1hYmxlX2FycmF5QHN3Yy9oZWxwZXJzL18vX3RvX2NvbnN1bWFibGVfYXJyYXlfdG9fcHJpbWl0aXZlQHN3Yy9oZWxwZXJzL18vX3RvX3ByaW1pdGl2ZV90b19wcm9wZXJ0eV9rZXlAc3djL2hlbHBlcnMvXy9fdG9fcHJvcGVydHlfa2V5X3VwZGF0ZUBzd2MvaGVscGVycy9fL191cGRhdGVfdHlwZV9vZkBzd2MvaGVscGVycy9fL190eXBlX29mX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5QHN3Yy9oZWxwZXJzL18vX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5X3dyYXBfYXN5bmNfZ2VuZXJhdG9yQHN3Yy9oZWxwZXJzL18vX3dyYXBfYXN5bmNfZ2VuZXJhdG9yX3dyYXBfbmF0aXZlX3N1cGVyQHN3Yy9oZWxwZXJzL18vX3dyYXBfbmF0aXZlX3N1cGVyX3dyaXRlX29ubHlfZXJyb3JAc3djL2hlbHBlcnMvXy9fd3JpdGVfb25seV9lcnJvcl9jbGFzc19wcml2YXRlX2ZpZWxkX2Rlc3RydWN0dXJlQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfZGVzdHJ1Y3R1cmVfY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfZGVzdHJ1Y3R1cmVAc3djL2hlbHBlcnMvXy9fY2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfZGVzdHJ1Y3R1cmVfY2xhc3Nfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2dldEBzd2MvaGVscGVycy9fL19jbGFzc19zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZ2V0X2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2Vzc0Bzd2MvaGVscGVycy9fL19jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3NfaXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0QHN3Yy9oZWxwZXJzL18vX2lzX25hdGl2ZV9yZWZsZWN0X2NvbnN0cnVjdF9jcmVhdGVfc3VwZXJAc3djL2hlbHBlcnMvXy9fY3JlYXRlX3N1cGVyX2NyZWF0ZV9mb3Jfb2ZfaXRlcmF0b3JfaGVscGVyX2xvb3NlQHN3Yy9oZWxwZXJzL18vX2NyZWF0ZV9mb3Jfb2ZfaXRlcmF0b3JfaGVscGVyX2xvb3NlX3RzX2RlY29yYXRlQHN3Yy9oZWxwZXJzL18vX3RzX2RlY29yYXRlX3RzX2dlbmVyYXRvckBzd2MvaGVscGVycy9fL190c19nZW5lcmF0b3JfdHNfbWV0YWRhdGFAc3djL2hlbHBlcnMvXy9fdHNfbWV0YWRhdGFfdHNfcGFyYW1Ac3djL2hlbHBlcnMvXy9fdHNfcGFyYW1fdHNfdmFsdWVzQHN3Yy9oZWxwZXJzL18vX3RzX3ZhbHVlc190c19hZGRfZGlzcG9zYWJsZV9yZXNvdXJjZUBzd2MvaGVscGVycy9fL190c19hZGRfZGlzcG9zYWJsZV9yZXNvdXJjZV90c19kaXNwb3NlX3Jlc291cmNlc0Bzd2MvaGVscGVycy9fL190c19kaXNwb3NlX3Jlc291cmNlc19hcHBseV9kZWNzXzIyMDNfckBzd2MvaGVscGVycy9fL19hcHBseV9kZWNzXzIyMDNfcl9pZGVudGl0eUBzd2MvaGVscGVycy9fL19pZGVudGl0eV9kaXNwb3NlQHN3Yy9oZWxwZXJzL18vX2Rpc3Bvc2VfdXNpbmdAc3djL2hlbHBlcnMvXy9fdXNpbmdfdXNpbmdfY3R4QHN3Yy9oZWxwZXJzL18vX3VzaW5nX2N0eGFwcGx5X2RlY29yYXRlZF9kZXNjcmlwdG9yYXJyYXlfbGlrZV90b19hcnJheWFycmF5X3dpdGhfaG9sZXNhcnJheV93aXRob3V0X2hvbGVzYXNzZXJ0X3RoaXNfaW5pdGlhbGl6ZWRhc3luY19nZW5lcmF0b3Jhc3luY19nZW5lcmF0b3JfZGVsZWdhdGVhc3luY19pdGVyYXRvcmFzeW5jX3RvX2dlbmVyYXRvcmF3YWl0X2FzeW5jX2dlbmVyYXRvcmF3YWl0X3ZhbHVlY2FsbF9zdXBlcmNoZWNrX3ByaXZhdGVfcmVkZWNsYXJhdGlvbmNsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZGVzdHJ1Y3R1cmVjbGFzc19hcHBseV9kZXNjcmlwdG9yX2dldGNsYXNzX2FwcGx5X2Rlc2NyaXB0b3Jfc2V0Y2xhc3NfYXBwbHlfZGVzY3JpcHRvcl91cGRhdGVjbGFzc19jYWxsX2NoZWNrY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvcmNsYXNzX2V4dHJhY3RfZmllbGRfZGVzY3JpcHRvcmNsYXNzX25hbWVfdGR6X2Vycm9yY2xhc3NfcHJpdmF0ZV9maWVsZF9nZXRjbGFzc19wcml2YXRlX2ZpZWxkX2luaXRjbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VjbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleWNsYXNzX3ByaXZhdGVfZmllbGRfc2V0Y2xhc3NfcHJpdmF0ZV9maWVsZF91cGRhdGVjbGFzc19wcml2YXRlX21ldGhvZF9nZXRjbGFzc19wcml2YXRlX21ldGhvZF9pbml0Y2xhc3NfcHJpdmF0ZV9tZXRob2Rfc2V0Y2xhc3Nfc3RhdGljX3ByaXZhdGVfZmllbGRfc3BlY19nZXRjbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9zcGVjX3NldGNsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3VwZGF0ZWNvbnN0cnVjdGNyZWF0ZV9jbGFzc2RlY29yYXRlZGVmYXVsdHNkZWZpbmVfZW51bWVyYWJsZV9wcm9wZXJ0aWVzZGVmaW5lX3Byb3BlcnR5ZXhwb3J0X3N0YXJnZXRfcHJvdG90eXBlX29maW5oZXJpdHNpbmhlcml0c19sb29zZWluaXRpYWxpemVyX2RlZmluZV9wcm9wZXJ0eWluaXRpYWxpemVyX3dhcm5pbmdfaGVscGVyaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRpbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRpc19uYXRpdmVfZnVuY3Rpb25pdGVyYWJsZV90b19hcnJheWl0ZXJhYmxlX3RvX2FycmF5X2xpbWl0aXRlcmFibGVfdG9fYXJyYXlfbGltaXRfbG9vc2Vqc3huZXdfYXJyb3dfY2hlY2tub25faXRlcmFibGVfcmVzdG5vbl9pdGVyYWJsZV9zcHJlYWRvYmplY3RfZGVzdHJ1Y3R1cmluZ19lbXB0eW9iamVjdF9zcHJlYWRvYmplY3Rfc3ByZWFkX3Byb3Bzb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2Vwb3NzaWJsZV9jb25zdHJ1Y3Rvcl9yZXR1cm5yZWFkX29ubHlfZXJyb3JzZXRfcHJvdG90eXBlX29mc2tpcF9maXJzdF9nZW5lcmF0b3JfbmV4dHNsaWNlZF90b19hcnJheXNsaWNlZF90b19hcnJheV9sb29zZXN1cGVyX3Byb3BfYmFzZXRhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2V0b19hcnJheXRvX2NvbnN1bWFibGVfYXJyYXl0b19wcmltaXRpdmV0b19wcm9wZXJ0eV9rZXl1cGRhdGV0eXBlX29mdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXl3cmFwX2FzeW5jX2dlbmVyYXRvcndyYXBfbmF0aXZlX3N1cGVyd3JpdGVfb25seV9lcnJvcmNsYXNzX3ByaXZhdGVfZmllbGRfZGVzdHJ1Y3R1cmVjbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZWNsYXNzX3N0YXRpY19wcml2YXRlX21ldGhvZF9nZXRjbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3Npc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3RjcmVhdGVfc3VwZXJjcmVhdGVfZm9yX29mX2l0ZXJhdG9yX2hlbHBlcl9sb29zZXRzX2RlY29yYXRldHNfZ2VuZXJhdG9ydHNfbWV0YWRhdGF0c19wYXJhbXRzX3ZhbHVlc3RzX2FkZF9kaXNwb3NhYmxlX3Jlc291cmNldHNfZGlzcG9zZV9yZXNvdXJjZXNhcHBseV9kZWNzXzIyMDNfcmlkZW50aXR5ZGlzcG9zZXVzaW5nX2N0eE1hcmtlciBwcm92aWRlZCB0byByZXNvbHZlciBzaG91bGQgbm90IGJlIHRoZSByb290IG1hcmsAAK+tFgA3AAAA6tkXAHcAAACKAAAABQAAACRuYW1lL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfdHJhbnNmb3Jtc19iYXNlLTcuMC4wL3NyYy9oZWxwZXJzL21vZC5yc2ludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IEVycm9yIG9jY3VycmVkIHdoaWxlIHBhcnNpbmcgZXJyb3I6IAAAAHuuFgBOAAAABa4WAHYAAAAoAAAACQAAAEBzd2MvaGVscGVycy9fL1/krhYAEAAAAGlkcmVzb3VyY2VfX190c1+zBAAAZnVuY3Rpb24gX2FwcGx5X2RlY29yYXRlZF9kZXNjcmlwdG9yKHRhcmdldCwgcHJvcGVydHksIGRlY29yYXRvcnMsIGRlc2NyaXB0b3IsIGNvbnRleHQpIHsKICAgIHZhciBkZXNjID0ge307CiAgICBPYmplY3RbImtlIiArICJ5cyJdKGRlc2NyaXB0b3IpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAgICAgZGVzY1trZXldID0gZGVzY3JpcHRvcltrZXldOwogICAgfSk7CiAgICBkZXNjLmVudW1lcmFibGUgPSAhIWRlc2MuZW51bWVyYWJsZTsKICAgIGRlc2MuY29uZmlndXJhYmxlID0gISFkZXNjLmNvbmZpZ3VyYWJsZTsKICAgIGlmICgidmFsdWUiIGluIGRlc2MgfHwgZGVzYy5pbml0aWFsaXplcikgewogICAgICAgIGRlc2Mud3JpdGFibGUgPSB0cnVlOwogICAgfQogICAgZGVzYyA9IGRlY29yYXRvcnMuc2xpY2UoKS5yZXZlcnNlKCkucmVkdWNlKGZ1bmN0aW9uKGRlc2MsIGRlY29yYXRvcikgewogICAgICAgIHJldHVybiBkZWNvcmF0b3IgPyBkZWNvcmF0b3IodGFyZ2V0LCBwcm9wZXJ0eSwgZGVzYykgfHwgZGVzYyA6IGRlc2M7CiAgICB9LCBkZXNjKTsKICAgIHZhciBoYXNBY2Nlc3NvciA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkZXNjLCAiZ2V0IikgfHwgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRlc2MsICJzZXQiKTsKICAgIGlmIChjb250ZXh0ICYmIGRlc2MuaW5pdGlhbGl6ZXIgIT09IHZvaWQgMCAmJiAhaGFzQWNjZXNzb3IpIHsKICAgICAgICBkZXNjLnZhbHVlID0gZGVzYy5pbml0aWFsaXplciA/IGRlc2MuaW5pdGlhbGl6ZXIuY2FsbChjb250ZXh0KSA6IHZvaWQgMDsKICAgICAgICBkZXNjLmluaXRpYWxpemVyID0gdW5kZWZpbmVkOwogICAgfQogICAgaWYgKGhhc0FjY2Vzc29yKSB7CiAgICAgICAgZGVsZXRlIGRlc2Mud3JpdGFibGU7CiAgICAgICAgZGVsZXRlIGRlc2MuaW5pdGlhbGl6ZXI7CiAgICAgICAgZGVsZXRlIGRlc2MudmFsdWU7CiAgICB9CiAgICBpZiAoZGVzYy5pbml0aWFsaXplciA9PT0gdm9pZCAwKSB7CiAgICAgICAgT2JqZWN0WyJkZWZpbmUiICsgIlByb3BlcnR5Il0odGFyZ2V0LCBwcm9wZXJ0eSwgZGVzYyk7CiAgICAgICAgZGVzYyA9IG51bGw7CiAgICB9CiAgICByZXR1cm4gZGVzYzsKfQpmdW5jdGlvbiBfYXJyYXlfbGlrZV90b19hcnJheShhcnIsIGxlbikgewogICAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7CiAgICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07CiAgICByZXR1cm4gYXJyMjsKfQpmdW5jdGlvbiBfYXJyYXlfd2l0aF9ob2xlcyhhcnIpIHsKICAgIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7Cn0KZnVuY3Rpb24gX2FycmF5X3dpdGhvdXRfaG9sZXMoYXJyKSB7CiAgICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gX2FycmF5X2xpa2VfdG9fYXJyYXkoYXJyKTsKfQpmdW5jdGlvbiBfYXNzZXJ0X3RoaXNfaW5pdGlhbGl6ZWQoc2VsZikgewogICAgaWYgKHNlbGYgPT09IHZvaWQgMCkgewogICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7CiAgICB9CiAgICByZXR1cm4gc2VsZjsKfQpmdW5jdGlvbiBfYXN5bmNfZ2VuZXJhdG9yKGdlbikgewogICAgdmFyIGZyb250LCBiYWNrOwogICAgZnVuY3Rpb24gc2VuZChrZXksIGFyZykgewogICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB7IGtleToga2V5LCBhcmc6IGFyZywgcmVzb2x2ZTogcmVzb2x2ZSwgcmVqZWN0OiByZWplY3QsIG5leHQ6IG51bGwgfTsKICAgICAgICAgICAgaWYgKGJhY2spIHsKICAgICAgICAgICAgICAgIGJhY2sgPSBiYWNrLm5leHQgPSByZXF1ZXN0OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZnJvbnQgPSBiYWNrID0gcmVxdWVzdDsKICAgICAgICAgICAgICAgIHJlc3VtZShrZXksIGFyZyk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KICAgIGZ1bmN0aW9uIHJlc3VtZShrZXksIGFyZykgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBnZW5ba2V5XShhcmcpOwogICAgICAgICAgICB2YXIgdmFsdWUgPSByZXN1bHQudmFsdWU7CiAgICAgICAgICAgIHZhciB3cmFwcGVkQXdhaXQgPSB2YWx1ZSBpbnN0YW5jZW9mIF9hd2FpdF92YWx1ZTsKICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHdyYXBwZWRBd2FpdCA/IHZhbHVlLndyYXBwZWQgOiB2YWx1ZSkudGhlbihmdW5jdGlvbihhcmcpIHsKICAgICAgICAgICAgICAgIGlmICh3cmFwcGVkQXdhaXQpIHsKICAgICAgICAgICAgICAgICAgICByZXN1bWUoIm5leHQiLCBhcmcpOwogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHNldHRsZShyZXN1bHQuZG9uZSA/ICJyZXR1cm4iIDogIm5vcm1hbCIsIGFyZyk7CiAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycikgewogICAgICAgICAgICAgICAgcmVzdW1lKCJ0aHJvdyIsIGVycik7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBzZXR0bGUoInRocm93IiwgZXJyKTsKICAgICAgICB9CiAgICB9CiAgICBmdW5jdGlvbiBzZXR0bGUodHlwZSwgdmFsdWUpIHsKICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICAgICAgICAgY2FzZSAicmV0dXJuIjoKICAgICAgICAgICAgICAgIGZyb250LnJlc29sdmUoeyB2YWx1ZTogdmFsdWUsIGRvbmU6IHRydWUgfSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAidGhyb3ciOgogICAgICAgICAgICAgICAgZnJvbnQucmVqZWN0KHZhbHVlKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZnJvbnQucmVzb2x2ZSh7IHZhbHVlOiB2YWx1ZSwgZG9uZTogZmFsc2UgfSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgZnJvbnQgPSBmcm9udC5uZXh0OwogICAgICAgIGlmIChmcm9udCkgewogICAgICAgICAgICByZXN1bWUoZnJvbnQua2V5LCBmcm9udC5hcmcpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJhY2sgPSBudWxsOwogICAgICAgIH0KICAgIH0KICAgIHRoaXMuX2ludm9rZSA9IHNlbmQ7CiAgICBpZiAodHlwZW9mIGdlbi5yZXR1cm4gIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0aGlzLnJldHVybiA9IHVuZGVmaW5lZDsKICAgIH0KfQppZiAodHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiBTeW1ib2wuYXN5bmNJdGVyYXRvcikgewogICAgX2FzeW5jX2dlbmVyYXRvci5wcm90b3R5cGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9Owp9Cl9hc3luY19nZW5lcmF0b3IucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbihhcmcpIHsKICAgIHJldHVybiB0aGlzLl9pbnZva2UoIm5leHQiLCBhcmcpOwp9OwpfYXN5bmNfZ2VuZXJhdG9yLnByb3RvdHlwZS50aHJvdyA9IGZ1bmN0aW9uKGFyZykgewogICAgcmV0dXJuIHRoaXMuX2ludm9rZSgidGhyb3ciLCBhcmcpOwp9OwpfYXN5bmNfZ2VuZXJhdG9yLnByb3RvdHlwZS5yZXR1cm4gPSBmdW5jdGlvbihhcmcpIHsKICAgIHJldHVybiB0aGlzLl9pbnZva2UoInJldHVybiIsIGFyZyk7Cn07CmZ1bmN0aW9uIF9hc3luY19nZW5lcmF0b3JfZGVsZWdhdGUoaW5uZXIsIGF3YWl0V3JhcCkgewogICAgdmFyIGl0ZXIgPSB7fSwgd2FpdGluZyA9IGZhbHNlOwogICAgZnVuY3Rpb24gcHVtcChrZXksIHZhbHVlKSB7CiAgICAgICAgd2FpdGluZyA9IHRydWU7CiAgICAgICAgdmFsdWUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7CiAgICAgICAgICAgIHJlc29sdmUoaW5uZXJba2V5XSh2YWx1ZSkpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiB7IGRvbmU6IGZhbHNlLCB2YWx1ZTogYXdhaXRXcmFwKHZhbHVlKSB9OwogICAgfQogICAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgU3ltYm9sLml0ZXJhdG9yKSB7CiAgICAgICAgaXRlcltTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgIH07CiAgICB9CiAgICBpdGVyLm5leHQgPSBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgIGlmICh3YWl0aW5nKSB7CiAgICAgICAgICAgIHdhaXRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcHVtcCgibmV4dCIsIHZhbHVlKTsKICAgIH07CiAgICBpZiAodHlwZW9mIGlubmVyLnRocm93ID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgaXRlci50aHJvdyA9IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgIGlmICh3YWl0aW5nKSB7CiAgICAgICAgICAgICAgICB3YWl0aW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0aHJvdyB2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcHVtcCgidGhyb3ciLCB2YWx1ZSk7CiAgICAgICAgfTsKICAgIH0KICAgIGlmICh0eXBlb2YgaW5uZXIucmV0dXJuID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgaXRlci5yZXR1cm4gPSBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICByZXR1cm4gcHVtcCgicmV0dXJuIiwgdmFsdWUpOwogICAgICAgIH07CiAgICB9CiAgICByZXR1cm4gaXRlcjsKfQpmdW5jdGlvbiBfYXN5bmNfaXRlcmF0b3IoaXRlcmFibGUpIHsKICAgIHZhciBtZXRob2QsIGFzeW5jLCBzeW5jLCByZXRyeSA9IDI7CiAgICBmb3IgKCJ1bmRlZmluZWQiICE9IHR5cGVvZiBTeW1ib2wgJiYgKGFzeW5jID0gU3ltYm9sLmFzeW5jSXRlcmF0b3IsIHN5bmMgPSBTeW1ib2wuaXRlcmF0b3IpOyByZXRyeS0tOykgewogICAgICAgIGlmIChhc3luYyAmJiBudWxsICE9IChtZXRob2QgPSBpdGVyYWJsZVthc3luY10pKSByZXR1cm4gbWV0aG9kLmNhbGwoaXRlcmFibGUpOwogICAgICAgIGlmIChzeW5jICYmIG51bGwgIT0gKG1ldGhvZCA9IGl0ZXJhYmxlW3N5bmNdKSkgcmV0dXJuIG5ldyBBc3luY0Zyb21TeW5jSXRlcmF0b3IobWV0aG9kLmNhbGwoaXRlcmFibGUpKTsKICAgICAgICBhc3luYyA9ICJAQGFzeW5jSXRlcmF0b3IiLCBzeW5jID0gIkBAaXRlcmF0b3IiOwogICAgfQogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGlzIG5vdCBhc3luYyBpdGVyYWJsZSIpOwp9CmZ1bmN0aW9uIEFzeW5jRnJvbVN5bmNJdGVyYXRvcihzKSB7CiAgICBmdW5jdGlvbiBBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24ocikgewogICAgICAgIGlmIChPYmplY3QocikgIT09IHIpIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgVHlwZUVycm9yKHIgKyAiIGlzIG5vdCBhbiBvYmplY3QuIikpOwogICAgICAgIHZhciBkb25lID0gci5kb25lOwogICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoci52YWx1ZSkudGhlbihmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogdmFsdWUsIGRvbmU6IGRvbmUgfTsKICAgICAgICB9KTsKICAgIH0KICAgIHJldHVybiBBc3luY0Zyb21TeW5jSXRlcmF0b3IgPSBmdW5jdGlvbihzKSB7CiAgICAgICAgdGhpcy5zID0gcywgdGhpcy5uID0gcy5uZXh0OwogICAgfSwKICAgICAgICBBc3luY0Zyb21TeW5jSXRlcmF0b3IucHJvdG90eXBlID0gewogICAgICAgICAgICBzOiBudWxsLAogICAgICAgICAgICBuOiBudWxsLAogICAgICAgICAgICBuZXh0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHJldHVybiBBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24odGhpcy5uLmFwcGx5KHRoaXMucywgYXJndW1lbnRzKSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJldHVybjogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgICAgIHZhciByZXQgPSB0aGlzLnMucmV0dXJuOwogICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMCA9PT0gcmV0CiAgICAgICAgICAgICAgICAgICAgPyBQcm9taXNlLnJlc29sdmUoeyB2YWx1ZTogdmFsdWUsIGRvbmU6ICEwIH0pCiAgICAgICAgICAgICAgICAgICAgOiBBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24ocmV0LmFwcGx5KHRoaXMucywgYXJndW1lbnRzKSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRocm93OiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICAgICAgdmFyIHRociA9IHRoaXMucy5yZXR1cm47CiAgICAgICAgICAgICAgICByZXR1cm4gdm9pZCAwID09PSB0aHIgPyBQcm9taXNlLnJlamVjdCh2YWx1ZSkgOiBBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24odGhyLmFwcGx5KHRoaXMucywgYXJndW1lbnRzKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIG5ldyBBc3luY0Zyb21TeW5jSXRlcmF0b3Iocyk7Cn0KZnVuY3Rpb24gYXN5bmNHZW5lcmF0b3JTdGVwKGdlbiwgcmVzb2x2ZSwgcmVqZWN0LCBfbmV4dCwgX3Rocm93LCBrZXksIGFyZykgewogICAgdHJ5IHsKICAgICAgICB2YXIgaW5mbyA9IGdlbltrZXldKGFyZyk7CiAgICAgICAgdmFyIHZhbHVlID0gaW5mby52YWx1ZTsKICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgcmVqZWN0KGVycm9yKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoaW5mby5kb25lKSB7CiAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIFByb21pc2UucmVzb2x2ZSh2YWx1ZSkudGhlbihfbmV4dCwgX3Rocm93KTsKICAgIH0KfQpmdW5jdGlvbiBfYXN5bmNfdG9fZ2VuZXJhdG9yKGZuKSB7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHNlbGYgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzOwogICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKICAgICAgICAgICAgdmFyIGdlbiA9IGZuLmFwcGx5KHNlbGYsIGFyZ3MpOwogICAgICAgICAgICBmdW5jdGlvbiBfbmV4dCh2YWx1ZSkgewogICAgICAgICAgICAgICAgYXN5bmNHZW5lcmF0b3JTdGVwKGdlbiwgcmVzb2x2ZSwgcmVqZWN0LCBfbmV4dCwgX3Rocm93LCAibmV4dCIsIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmdW5jdGlvbiBfdGhyb3coZXJyKSB7CiAgICAgICAgICAgICAgICBhc3luY0dlbmVyYXRvclN0ZXAoZ2VuLCByZXNvbHZlLCByZWplY3QsIF9uZXh0LCBfdGhyb3csICJ0aHJvdyIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgX25leHQodW5kZWZpbmVkKTsKICAgICAgICB9KTsKICAgIH07Cn0KZnVuY3Rpb24gX2F3YWl0X2FzeW5jX2dlbmVyYXRvcih2YWx1ZSkgewogICAgcmV0dXJuIG5ldyBfYXdhaXRfdmFsdWUodmFsdWUpOwp9CmZ1bmN0aW9uIF9hd2FpdF92YWx1ZSh2YWx1ZSkgewogICAgdGhpcy53cmFwcGVkID0gdmFsdWU7Cn0KZnVuY3Rpb24gX2NhbGxfc3VwZXIoX3RoaXMsIGRlcml2ZWQsIGFyZ3MpIHsKICAgIC8vIFN1cGVyCiAgICBkZXJpdmVkID0gX2dldF9wcm90b3R5cGVfb2YoZGVyaXZlZCk7CiAgICByZXR1cm4gX3Bvc3NpYmxlX2NvbnN0cnVjdG9yX3JldHVybigKICAgICAgICBfdGhpcywKICAgICAgICBfaXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0KCkKICAgICAgICAgICAgLy8gTk9URTogVGhpcyBkb2Vzbid0IHdvcmsgaWYgdGhpcy5fX3Byb3RvX18uY29uc3RydWN0b3IgaGFzIGJlZW4gbW9kaWZpZWQuCiAgICAgICAgICAgID8gUmVmbGVjdC5jb25zdHJ1Y3QoZGVyaXZlZCwgYXJncyB8fCBbXSwgX2dldF9wcm90b3R5cGVfb2YoX3RoaXMpLmNvbnN0cnVjdG9yKQogICAgICAgICAgICA6IGRlcml2ZWQuYXBwbHkoX3RoaXMsIGFyZ3MpCiAgICApOwp9CmZ1bmN0aW9uIF9jaGVja19wcml2YXRlX3JlZGVjbGFyYXRpb24ob2JqLCBwcml2YXRlQ29sbGVjdGlvbikgewogICAgaWYgKHByaXZhdGVDb2xsZWN0aW9uLmhhcyhvYmopKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGluaXRpYWxpemUgdGhlIHNhbWUgcHJpdmF0ZSBlbGVtZW50cyB0d2ljZSBvbiBhbiBvYmplY3QiKTsKICAgIH0KfQpmdW5jdGlvbiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9kZXN0cnVjdHVyZShyZWNlaXZlciwgZGVzY3JpcHRvcikgewogICAgaWYgKGRlc2NyaXB0b3Iuc2V0KSB7CiAgICAgICAgaWYgKCEoIl9fZGVzdHJPYmoiIGluIGRlc2NyaXB0b3IpKSB7CiAgICAgICAgICAgIGRlc2NyaXB0b3IuX19kZXN0ck9iaiA9IHsKICAgICAgICAgICAgICAgIHNldCB2YWx1ZSh2KSB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci5zZXQuY2FsbChyZWNlaXZlciwgdik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybiBkZXNjcmlwdG9yLl9fZGVzdHJPYmo7CiAgICB9IGVsc2UgewogICAgICAgIGlmICghZGVzY3JpcHRvci53cml0YWJsZSkgewogICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBvbmx5IHRocm93IGluIHN0cmljdCBtb2RlLCBidXQgY2xhc3MgYm9kaWVzIGFyZQogICAgICAgICAgICAvLyBhbHdheXMgc3RyaWN0IGFuZCBwcml2YXRlIGZpZWxkcyBjYW4gb25seSBiZSB1c2VkIGluc2lkZQogICAgICAgICAgICAvLyBjbGFzcyBib2RpZXMuCiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBzZXQgcmVhZCBvbmx5IHByaXZhdGUgZmllbGQiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7CiAgICB9Cn0KZnVuY3Rpb24gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZ2V0KHJlY2VpdmVyLCBkZXNjcmlwdG9yKSB7CiAgICBpZiAoZGVzY3JpcHRvci5nZXQpIHsKICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5nZXQuY2FsbChyZWNlaXZlcik7CiAgICB9CiAgICByZXR1cm4gZGVzY3JpcHRvci52YWx1ZTsKfQpmdW5jdGlvbiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IsIHZhbHVlKSB7CiAgICBpZiAoZGVzY3JpcHRvci5zZXQpIHsKICAgICAgICBkZXNjcmlwdG9yLnNldC5jYWxsKHJlY2VpdmVyLCB2YWx1ZSk7CiAgICB9IGVsc2UgewogICAgICAgIGlmICghZGVzY3JpcHRvci53cml0YWJsZSkgewogICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBvbmx5IHRocm93IGluIHN0cmljdCBtb2RlLCBidXQgY2xhc3MgYm9kaWVzIGFyZQogICAgICAgICAgICAvLyBhbHdheXMgc3RyaWN0IGFuZCBwcml2YXRlIGZpZWxkcyBjYW4gb25seSBiZSB1c2VkIGluc2lkZQogICAgICAgICAgICAvLyBjbGFzcyBib2RpZXMuCiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBzZXQgcmVhZCBvbmx5IHByaXZhdGUgZmllbGQiKTsKICAgICAgICB9CiAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IHZhbHVlOwogICAgfQp9CmZ1bmN0aW9uIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3VwZGF0ZShyZWNlaXZlciwgZGVzY3JpcHRvcikgewogICAgaWYgKGRlc2NyaXB0b3Iuc2V0KSB7CiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmdldCkgewogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJhdHRlbXB0ZWQgdG8gcmVhZCBzZXQgb25seSBwcml2YXRlIGZpZWxkIik7CiAgICAgICAgfQogICAgICAgIGlmICghKCJfX2Rlc3RyV3JhcHBlciIgaW4gZGVzY3JpcHRvcikpIHsKICAgICAgICAgICAgZGVzY3JpcHRvci5fX2Rlc3RyV3JhcHBlciA9IHsKICAgICAgICAgICAgICAgIHNldCB2YWx1ZSh2KSB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci5zZXQuY2FsbChyZWNlaXZlciwgdik7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZ2V0IHZhbHVlKCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yLmdldC5jYWxsKHJlY2VpdmVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3IuX19kZXN0cldyYXBwZXI7CiAgICB9IGVsc2UgewogICAgICAgIGlmICghZGVzY3JpcHRvci53cml0YWJsZSkgewogICAgICAgICAgICAvLyBUaGlzIHNob3VsZCBvbmx5IHRocm93IGluIHN0cmljdCBtb2RlLCBidXQgY2xhc3MgYm9kaWVzIGFyZQogICAgICAgICAgICAvLyBhbHdheXMgc3RyaWN0IGFuZCBwcml2YXRlIGZpZWxkcyBjYW4gb25seSBiZSB1c2VkIGluc2lkZQogICAgICAgICAgICAvLyBjbGFzcyBib2RpZXMuCiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byBzZXQgcmVhZCBvbmx5IHByaXZhdGUgZmllbGQiKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7CiAgICB9Cn0KZnVuY3Rpb24gX2NsYXNzX2NhbGxfY2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7CiAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpOwogICAgfQp9CmZ1bmN0aW9uIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yKGRlc2NyaXB0b3IsIGFjdGlvbikgewogICAgaWYgKGRlc2NyaXB0b3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byAiICsgYWN0aW9uICsgIiBwcml2YXRlIHN0YXRpYyBmaWVsZCBiZWZvcmUgaXRzIGRlY2xhcmF0aW9uIik7CiAgICB9Cn0KZnVuY3Rpb24gX2NsYXNzX2V4dHJhY3RfZmllbGRfZGVzY3JpcHRvcihyZWNlaXZlciwgcHJpdmF0ZU1hcCwgYWN0aW9uKSB7CiAgICBpZiAoIXByaXZhdGVNYXAuaGFzKHJlY2VpdmVyKSkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoImF0dGVtcHRlZCB0byAiICsgYWN0aW9uICsgIiBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpOwogICAgfQogICAgcmV0dXJuIHByaXZhdGVNYXAuZ2V0KHJlY2VpdmVyKTsKfQpmdW5jdGlvbiBfY2xhc3NfbmFtZV90ZHpfZXJyb3IobmFtZSkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDbGFzcyBcIiIgKyBuYW1lICsgIlwiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGNvbXB1dGVkIHByb3BlcnR5IGtleXMuIik7Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfZ2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwKSB7CiAgICB2YXIgZGVzY3JpcHRvciA9IF9jbGFzc19leHRyYWN0X2ZpZWxkX2Rlc2NyaXB0b3IocmVjZWl2ZXIsIHByaXZhdGVNYXAsICJnZXQiKTsKICAgIHJldHVybiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9nZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX2luaXQob2JqLCBwcml2YXRlTWFwLCB2YWx1ZSkgewogICAgX2NoZWNrX3ByaXZhdGVfcmVkZWNsYXJhdGlvbihvYmosIHByaXZhdGVNYXApOwogICAgcHJpdmF0ZU1hcC5zZXQob2JqLCB2YWx1ZSk7Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZShyZWNlaXZlciwgcHJpdmF0ZUtleSkgewogICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmVjZWl2ZXIsIHByaXZhdGVLZXkpKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHVzZSBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpOwogICAgfQogICAgcmV0dXJuIHJlY2VpdmVyOwp9CnZhciBpZCA9IDA7CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleShuYW1lKSB7CiAgICByZXR1cm4gIl9fcHJpdmF0ZV8iICsgaWQrKyArICJfIiArIG5hbWU7Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfZmllbGRfc2V0KHJlY2VpdmVyLCBwcml2YXRlTWFwLCB2YWx1ZSkgewogICAgdmFyIGRlc2NyaXB0b3IgPSBfY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yKHJlY2VpdmVyLCBwcml2YXRlTWFwLCAic2V0Iik7CiAgICBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9zZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IsIHZhbHVlKTsKICAgIHJldHVybiB2YWx1ZTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF91cGRhdGUocmVjZWl2ZXIsIHByaXZhdGVNYXApIHsKICAgIHZhciBkZXNjcmlwdG9yID0gX2NsYXNzX2V4dHJhY3RfZmllbGRfZGVzY3JpcHRvcihyZWNlaXZlciwgcHJpdmF0ZU1hcCwgInVwZGF0ZSIpOwogICAgcmV0dXJuIF9jbGFzc19hcHBseV9kZXNjcmlwdG9yX3VwZGF0ZShyZWNlaXZlciwgZGVzY3JpcHRvcik7Cn0KZnVuY3Rpb24gX2NsYXNzX3ByaXZhdGVfbWV0aG9kX2dldChyZWNlaXZlciwgcHJpdmF0ZVNldCwgZm4pIHsKICAgIGlmICghcHJpdmF0ZVNldC5oYXMocmVjZWl2ZXIpKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZSIpOwogICAgfQogICAgcmV0dXJuIGZuOwp9CmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX21ldGhvZF9pbml0KG9iaiwgcHJpdmF0ZVNldCkgewogICAgX2NoZWNrX3ByaXZhdGVfcmVkZWNsYXJhdGlvbihvYmosIHByaXZhdGVTZXQpOwogICAgcHJpdmF0ZVNldC5hZGQob2JqKTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9tZXRob2Rfc2V0KCkgewogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiYXR0ZW1wdGVkIHRvIHJlYXNzaWduIHByaXZhdGUgbWV0aG9kIik7Cn0KZnVuY3Rpb24gX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3NwZWNfZ2V0KHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yLCBkZXNjcmlwdG9yKSB7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfYWNjZXNzKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yKTsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19maWVsZF9kZXNjcmlwdG9yKGRlc2NyaXB0b3IsICJnZXQiKTsKICAgIHJldHVybiBfY2xhc3NfYXBwbHlfZGVzY3JpcHRvcl9nZXQocmVjZWl2ZXIsIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9jbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9zcGVjX3NldChyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3RvciwgZGVzY3JpcHRvciwgdmFsdWUpIHsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3MocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IpOwogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2ZpZWxkX2Rlc2NyaXB0b3IoZGVzY3JpcHRvciwgInNldCIpOwogICAgX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3Jfc2V0KHJlY2VpdmVyLCBkZXNjcmlwdG9yLCB2YWx1ZSk7CiAgICByZXR1cm4gdmFsdWU7Cn0KZnVuY3Rpb24gX2NsYXNzX3N0YXRpY19wcml2YXRlX2ZpZWxkX3VwZGF0ZShyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3RvciwgZGVzY3JpcHRvcikgewogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2VzcyhyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3Rvcik7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvcihkZXNjcmlwdG9yLCAidXBkYXRlIik7CiAgICByZXR1cm4gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfdXBkYXRlKHJlY2VpdmVyLCBkZXNjcmlwdG9yKTsKfQpmdW5jdGlvbiBfY29uc3RydWN0KFBhcmVudCwgYXJncywgQ2xhc3MpIHsKICAgIGlmIChfaXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0KCkpIHsKICAgICAgICBfY29uc3RydWN0ID0gUmVmbGVjdC5jb25zdHJ1Y3Q7CiAgICB9IGVsc2UgewogICAgICAgIF9jb25zdHJ1Y3QgPSBmdW5jdGlvbiBjb25zdHJ1Y3QoUGFyZW50LCBhcmdzLCBDbGFzcykgewogICAgICAgICAgICB2YXIgYSA9IFtudWxsXTsKICAgICAgICAgICAgYS5wdXNoLmFwcGx5KGEsIGFyZ3MpOwogICAgICAgICAgICB2YXIgQ29uc3RydWN0b3IgPSBGdW5jdGlvbi5iaW5kLmFwcGx5KFBhcmVudCwgYSk7CiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IG5ldyBDb25zdHJ1Y3RvcigpOwogICAgICAgICAgICBpZiAoQ2xhc3MpIF9zZXRfcHJvdG90eXBlX29mKGluc3RhbmNlLCBDbGFzcy5wcm90b3R5cGUpOwogICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiBfY29uc3RydWN0LmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07CiAgICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOwogICAgICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsKICAgICAgICBpZiAoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7CiAgICB9Cn0KZnVuY3Rpb24gX2NyZWF0ZV9jbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsKICAgIGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOwogICAgaWYgKHN0YXRpY1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOwogICAgcmV0dXJuIENvbnN0cnVjdG9yOwp9CmZ1bmN0aW9uIF9kZWNvcmF0ZShkZWNvcmF0b3JzLCBmYWN0b3J5LCBzdXBlckNsYXNzKSB7CiAgICB2YXIgciA9IGZhY3RvcnkoZnVuY3Rpb24gaW5pdGlhbGl6ZShPKSB7CiAgICAgICAgX2luaXRpYWxpemVJbnN0YW5jZUVsZW1lbnRzKE8sIGRlY29yYXRlZC5lbGVtZW50cyk7CiAgICB9LCBzdXBlckNsYXNzKTsKICAgIHZhciBkZWNvcmF0ZWQgPSBfZGVjb3JhdGVDbGFzcyhfY29hbGVzY2VDbGFzc0VsZW1lbnRzKHIuZC5tYXAoX2NyZWF0ZUVsZW1lbnREZXNjcmlwdG9yKSksIGRlY29yYXRvcnMpOwogICAgX2luaXRpYWxpemVDbGFzc0VsZW1lbnRzKHIuRiwgZGVjb3JhdGVkLmVsZW1lbnRzKTsKICAgIHJldHVybiBfcnVuQ2xhc3NGaW5pc2hlcnMoci5GLCBkZWNvcmF0ZWQuZmluaXNoZXJzKTsKfQoKZnVuY3Rpb24gX2NyZWF0ZUVsZW1lbnREZXNjcmlwdG9yKGRlZikgewogICAgdmFyIGtleSA9IF90b19wcm9wZXJ0eV9rZXkoZGVmLmtleSk7CiAgICB2YXIgZGVzY3JpcHRvcjsKICAgIGlmIChkZWYua2luZCA9PT0gIm1ldGhvZCIpIHsKICAgICAgICBkZXNjcmlwdG9yID0geyB2YWx1ZTogZGVmLnZhbHVlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiBmYWxzZSB9OwogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZWYudmFsdWUsICJuYW1lIiwgeyB2YWx1ZTogX3R5cGVfb2Yoa2V5KSA9PT0gInN5bWJvbCIgPyAiIiA6IGtleSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOwogICAgfSBlbHNlIGlmIChkZWYua2luZCA9PT0gImdldCIpIHsKICAgICAgICBkZXNjcmlwdG9yID0geyBnZXQ6IGRlZi52YWx1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiBmYWxzZSB9OwogICAgfSBlbHNlIGlmIChkZWYua2luZCA9PT0gInNldCIpIHsKICAgICAgICBkZXNjcmlwdG9yID0geyBzZXQ6IGRlZi52YWx1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiBmYWxzZSB9OwogICAgfSBlbHNlIGlmIChkZWYua2luZCA9PT0gImZpZWxkIikgewogICAgICAgIGRlc2NyaXB0b3IgPSB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUgfTsKICAgIH0KICAgIHZhciBlbGVtZW50ID0gewogICAgICAgIGtpbmQ6IGRlZi5raW5kID09PSAiZmllbGQiID8gImZpZWxkIiA6ICJtZXRob2QiLAogICAgICAgIGtleToga2V5LAogICAgICAgIHBsYWNlbWVudDogZGVmLnN0YXRpYyA/ICJzdGF0aWMiIDogZGVmLmtpbmQgPT09ICJmaWVsZCIgPyAib3duIiA6ICJwcm90b3R5cGUiLAogICAgICAgIGRlc2NyaXB0b3I6IGRlc2NyaXB0b3IKICAgIH07CiAgICBpZiAoZGVmLmRlY29yYXRvcnMpIGVsZW1lbnQuZGVjb3JhdG9ycyA9IGRlZi5kZWNvcmF0b3JzOwogICAgaWYgKGRlZi5raW5kID09PSAiZmllbGQiKSBlbGVtZW50LmluaXRpYWxpemVyID0gZGVmLnZhbHVlOwogICAgcmV0dXJuIGVsZW1lbnQ7Cn0KZnVuY3Rpb24gX2NvYWxlc2NlR2V0dGVyU2V0dGVyKGVsZW1lbnQsIG90aGVyKSB7CiAgICBpZiAoZWxlbWVudC5kZXNjcmlwdG9yLmdldCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgb3RoZXIuZGVzY3JpcHRvci5nZXQgPSBlbGVtZW50LmRlc2NyaXB0b3IuZ2V0OwogICAgfSBlbHNlIHsKICAgICAgICBvdGhlci5kZXNjcmlwdG9yLnNldCA9IGVsZW1lbnQuZGVzY3JpcHRvci5zZXQ7CiAgICB9Cn0KZnVuY3Rpb24gX2NvYWxlc2NlQ2xhc3NFbGVtZW50cyhlbGVtZW50cykgewogICAgdmFyIG5ld0VsZW1lbnRzID0gW107CiAgICB2YXIgaXNTYW1lRWxlbWVudCA9IGZ1bmN0aW9uIGlzU2FtZUVsZW1lbnQob3RoZXIpIHsKICAgICAgICByZXR1cm4gb3RoZXIua2luZCA9PT0gIm1ldGhvZCIgJiYgb3RoZXIua2V5ID09PSBlbGVtZW50LmtleSAmJiBvdGhlci5wbGFjZW1lbnQgPT09IGVsZW1lbnQucGxhY2VtZW50OwogICAgfTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgZWxlbWVudCA9IGVsZW1lbnRzW2ldOwogICAgICAgIHZhciBvdGhlcjsKICAgICAgICBpZiAoZWxlbWVudC5raW5kID09PSAibWV0aG9kIiAmJiAob3RoZXIgPSBuZXdFbGVtZW50cy5maW5kKGlzU2FtZUVsZW1lbnQpKSkgewogICAgICAgICAgICBpZiAoX2lzRGF0YURlc2NyaXB0b3IoZWxlbWVudC5kZXNjcmlwdG9yKSB8fCBfaXNEYXRhRGVzY3JpcHRvcihvdGhlci5kZXNjcmlwdG9yKSkgewogICAgICAgICAgICAgICAgaWYgKF9oYXNEZWNvcmF0b3JzKGVsZW1lbnQpIHx8IF9oYXNEZWNvcmF0b3JzKG90aGVyKSkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigiRHVwbGljYXRlZCBtZXRob2RzICgiICsgZWxlbWVudC5rZXkgKyAiKSBjYW4ndCBiZSBkZWNvcmF0ZWQuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBvdGhlci5kZXNjcmlwdG9yID0gZWxlbWVudC5kZXNjcmlwdG9yOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKF9oYXNEZWNvcmF0b3JzKGVsZW1lbnQpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKF9oYXNEZWNvcmF0b3JzKG90aGVyKSkgewogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVjb3JhdG9ycyBjYW4ndCBiZSBwbGFjZWQgb24gZGlmZmVyZW50IGFjY2Vzc29ycyB3aXRoIGZvciAiICsgInRoZSBzYW1lIHByb3BlcnR5ICgiICsgZWxlbWVudC5rZXkgKyAiKS4iCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIG90aGVyLmRlY29yYXRvcnMgPSBlbGVtZW50LmRlY29yYXRvcnM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfY29hbGVzY2VHZXR0ZXJTZXR0ZXIoZWxlbWVudCwgb3RoZXIpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbmV3RWxlbWVudHMucHVzaChlbGVtZW50KTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gbmV3RWxlbWVudHM7Cn0KZnVuY3Rpb24gX2hhc0RlY29yYXRvcnMoZWxlbWVudCkgewogICAgcmV0dXJuIGVsZW1lbnQuZGVjb3JhdG9ycyAmJiBlbGVtZW50LmRlY29yYXRvcnMubGVuZ3RoOwp9CmZ1bmN0aW9uIF9pc0RhdGFEZXNjcmlwdG9yKGRlc2MpIHsKICAgIHJldHVybiBkZXNjICE9PSB1bmRlZmluZWQgJiYgIShkZXNjLnZhbHVlID09PSB1bmRlZmluZWQgJiYgZGVzYy53cml0YWJsZSA9PT0gdW5kZWZpbmVkKTsKfQpmdW5jdGlvbiBfaW5pdGlhbGl6ZUNsYXNzRWxlbWVudHMoRiwgZWxlbWVudHMpIHsKICAgIHZhciBwcm90byA9IEYucHJvdG90eXBlOwogICAgWyJtZXRob2QiLCAiZmllbGQiXS5mb3JFYWNoKGZ1bmN0aW9uKGtpbmQpIHsKICAgICAgICBlbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgICAgICAgdmFyIHBsYWNlbWVudCA9IGVsZW1lbnQucGxhY2VtZW50OwogICAgICAgICAgICBpZiAoZWxlbWVudC5raW5kID09PSBraW5kICYmIChwbGFjZW1lbnQgPT09ICJzdGF0aWMiIHx8IHBsYWNlbWVudCA9PT0gInByb3RvdHlwZSIpKSB7CiAgICAgICAgICAgICAgICB2YXIgcmVjZWl2ZXIgPSBwbGFjZW1lbnQgPT09ICJzdGF0aWMiID8gRiA6IHByb3RvOwogICAgICAgICAgICAgICAgX2RlZmluZUNsYXNzRWxlbWVudChyZWNlaXZlciwgZWxlbWVudCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9CmZ1bmN0aW9uIF9pbml0aWFsaXplSW5zdGFuY2VFbGVtZW50cyhPLCBlbGVtZW50cykgewogICAgWyJtZXRob2QiLCAiZmllbGQiXS5mb3JFYWNoKGZ1bmN0aW9uKGtpbmQpIHsKICAgICAgICBlbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgICAgICAgaWYgKGVsZW1lbnQua2luZCA9PT0ga2luZCAmJiBlbGVtZW50LnBsYWNlbWVudCA9PT0gIm93biIpIHsKICAgICAgICAgICAgICAgIF9kZWZpbmVDbGFzc0VsZW1lbnQoTywgZWxlbWVudCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9CmZ1bmN0aW9uIF9kZWZpbmVDbGFzc0VsZW1lbnQocmVjZWl2ZXIsIGVsZW1lbnQpIHsKICAgIHZhciBkZXNjcmlwdG9yID0gZWxlbWVudC5kZXNjcmlwdG9yOwogICAgaWYgKGVsZW1lbnQua2luZCA9PT0gImZpZWxkIikgewogICAgICAgIHZhciBpbml0aWFsaXplciA9IGVsZW1lbnQuaW5pdGlhbGl6ZXI7CiAgICAgICAgZGVzY3JpcHRvciA9IHsKICAgICAgICAgICAgZW51bWVyYWJsZTogZGVzY3JpcHRvci5lbnVtZXJhYmxlLAogICAgICAgICAgICB3cml0YWJsZTogZGVzY3JpcHRvci53cml0YWJsZSwKICAgICAgICAgICAgY29uZmlndXJhYmxlOiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSwKICAgICAgICAgICAgdmFsdWU6IGluaXRpYWxpemVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpbml0aWFsaXplci5jYWxsKHJlY2VpdmVyKQogICAgICAgIH07CiAgICB9CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVjZWl2ZXIsIGVsZW1lbnQua2V5LCBkZXNjcmlwdG9yKTsKfQpmdW5jdGlvbiBfZGVjb3JhdGVDbGFzcyhlbGVtZW50cywgZGVjb3JhdG9ycykgewogICAgdmFyIG5ld0VsZW1lbnRzID0gW107CiAgICB2YXIgZmluaXNoZXJzID0gW107CiAgICB2YXIgcGxhY2VtZW50cyA9IHsgc3RhdGljOiBbXSwgcHJvdG90eXBlOiBbXSwgb3duOiBbXSB9OwogICAgZWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgX2FkZEVsZW1lbnRQbGFjZW1lbnQoZWxlbWVudCwgcGxhY2VtZW50cyk7CiAgICB9KTsKICAgIGVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgIGlmICghX2hhc0RlY29yYXRvcnMoZWxlbWVudCkpIHJldHVybiBuZXdFbGVtZW50cy5wdXNoKGVsZW1lbnQpOwogICAgICAgIHZhciBlbGVtZW50RmluaXNoZXJzRXh0cmFzID0gX2RlY29yYXRlRWxlbWVudChlbGVtZW50LCBwbGFjZW1lbnRzKTsKICAgICAgICBuZXdFbGVtZW50cy5wdXNoKGVsZW1lbnRGaW5pc2hlcnNFeHRyYXMuZWxlbWVudCk7CiAgICAgICAgbmV3RWxlbWVudHMucHVzaC5hcHBseShuZXdFbGVtZW50cywgZWxlbWVudEZpbmlzaGVyc0V4dHJhcy5leHRyYXMpOwogICAgICAgIGZpbmlzaGVycy5wdXNoLmFwcGx5KGZpbmlzaGVycywgZWxlbWVudEZpbmlzaGVyc0V4dHJhcy5maW5pc2hlcnMpOwogICAgfSk7CiAgICBpZiAoIWRlY29yYXRvcnMpIHsKICAgICAgICByZXR1cm4geyBlbGVtZW50czogbmV3RWxlbWVudHMsIGZpbmlzaGVyczogZmluaXNoZXJzIH07CiAgICB9CiAgICB2YXIgcmVzdWx0ID0gX2RlY29yYXRlQ29uc3RydWN0b3IobmV3RWxlbWVudHMsIGRlY29yYXRvcnMpOwogICAgZmluaXNoZXJzLnB1c2guYXBwbHkoZmluaXNoZXJzLCByZXN1bHQuZmluaXNoZXJzKTsKICAgIHJlc3VsdC5maW5pc2hlcnMgPSBmaW5pc2hlcnM7CiAgICByZXR1cm4gcmVzdWx0Owp9CmZ1bmN0aW9uIF9hZGRFbGVtZW50UGxhY2VtZW50KGVsZW1lbnQsIHBsYWNlbWVudHMsIHNpbGVudCkgewogICAgdmFyIGtleXMgPSBwbGFjZW1lbnRzW2VsZW1lbnQucGxhY2VtZW50XTsKICAgIGlmICghc2lsZW50ICYmIGtleXMuaW5kZXhPZihlbGVtZW50LmtleSkgIT09IC0xKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiRHVwbGljYXRlZCBlbGVtZW50ICgiICsgZWxlbWVudC5rZXkgKyAiKSIpOwogICAgfQogICAga2V5cy5wdXNoKGVsZW1lbnQua2V5KTsKfQpmdW5jdGlvbiBfZGVjb3JhdGVFbGVtZW50KGVsZW1lbnQsIHBsYWNlbWVudHMpIHsKICAgIHZhciBleHRyYXMgPSBbXTsKICAgIHZhciBmaW5pc2hlcnMgPSBbXTsKICAgIGZvciAodmFyIGRlY29yYXRvcnMgPSBlbGVtZW50LmRlY29yYXRvcnMsIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgdmFyIGtleXMgPSBwbGFjZW1lbnRzW2VsZW1lbnQucGxhY2VtZW50XTsKICAgICAgICBrZXlzLnNwbGljZShrZXlzLmluZGV4T2YoZWxlbWVudC5rZXkpLCAxKTsKICAgICAgICB2YXIgZWxlbWVudE9iamVjdCA9IF9mcm9tRWxlbWVudERlc2NyaXB0b3IoZWxlbWVudCk7CiAgICAgICAgdmFyIGVsZW1lbnRGaW5pc2hlckV4dHJhcyA9IF90b0VsZW1lbnRGaW5pc2hlckV4dHJhcygoMCwgZGVjb3JhdG9yc1tpXSkoZWxlbWVudE9iamVjdCkgfHwgZWxlbWVudE9iamVjdCk7CiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnRGaW5pc2hlckV4dHJhcy5lbGVtZW50OwogICAgICAgIF9hZGRFbGVtZW50UGxhY2VtZW50KGVsZW1lbnQsIHBsYWNlbWVudHMpOwogICAgICAgIGlmIChlbGVtZW50RmluaXNoZXJFeHRyYXMuZmluaXNoZXIpIHsKICAgICAgICAgICAgZmluaXNoZXJzLnB1c2goZWxlbWVudEZpbmlzaGVyRXh0cmFzLmZpbmlzaGVyKTsKICAgICAgICB9CiAgICAgICAgdmFyIG5ld0V4dHJhcyA9IGVsZW1lbnRGaW5pc2hlckV4dHJhcy5leHRyYXM7CiAgICAgICAgaWYgKG5ld0V4dHJhcykgewogICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG5ld0V4dHJhcy5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgX2FkZEVsZW1lbnRQbGFjZW1lbnQobmV3RXh0cmFzW2pdLCBwbGFjZW1lbnRzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBleHRyYXMucHVzaC5hcHBseShleHRyYXMsIG5ld0V4dHJhcyk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHsgZWxlbWVudDogZWxlbWVudCwgZmluaXNoZXJzOiBmaW5pc2hlcnMsIGV4dHJhczogZXh0cmFzIH07Cn0KZnVuY3Rpb24gX2RlY29yYXRlQ29uc3RydWN0b3IoZWxlbWVudHMsIGRlY29yYXRvcnMpIHsKICAgIHZhciBmaW5pc2hlcnMgPSBbXTsKICAgIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgdmFyIG9iaiA9IF9mcm9tQ2xhc3NEZXNjcmlwdG9yKGVsZW1lbnRzKTsKICAgICAgICB2YXIgZWxlbWVudHNBbmRGaW5pc2hlciA9IF90b0NsYXNzRGVzY3JpcHRvcigoMCwgZGVjb3JhdG9yc1tpXSkob2JqKSB8fCBvYmopOwogICAgICAgIGlmIChlbGVtZW50c0FuZEZpbmlzaGVyLmZpbmlzaGVyICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZmluaXNoZXJzLnB1c2goZWxlbWVudHNBbmRGaW5pc2hlci5maW5pc2hlcik7CiAgICAgICAgfQogICAgICAgIGlmIChlbGVtZW50c0FuZEZpbmlzaGVyLmVsZW1lbnRzICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgZWxlbWVudHMgPSBlbGVtZW50c0FuZEZpbmlzaGVyLmVsZW1lbnRzOwogICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGVsZW1lbnRzLmxlbmd0aCAtIDE7IGorKykgewogICAgICAgICAgICAgICAgZm9yICh2YXIgayA9IGogKyAxOyBrIDwgZWxlbWVudHMubGVuZ3RoOyBrKyspIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudHNbal0ua2V5ID09PSBlbGVtZW50c1trXS5rZXkgJiYgZWxlbWVudHNbal0ucGxhY2VtZW50ID09PSBlbGVtZW50c1trXS5wbGFjZW1lbnQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiRHVwbGljYXRlZCBlbGVtZW50ICgiICsgZWxlbWVudHNbal0ua2V5ICsgIikiKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4geyBlbGVtZW50czogZWxlbWVudHMsIGZpbmlzaGVyczogZmluaXNoZXJzIH07Cn0KZnVuY3Rpb24gX2Zyb21FbGVtZW50RGVzY3JpcHRvcihlbGVtZW50KSB7CiAgICB2YXIgb2JqID0geyBraW5kOiBlbGVtZW50LmtpbmQsIGtleTogZWxlbWVudC5rZXksIHBsYWNlbWVudDogZWxlbWVudC5wbGFjZW1lbnQsIGRlc2NyaXB0b3I6IGVsZW1lbnQuZGVzY3JpcHRvciB9OwogICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAiRGVzY3JpcHRvciIsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9OwogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgU3ltYm9sLnRvU3RyaW5nVGFnLCBkZXNjKTsKICAgIGlmIChlbGVtZW50LmtpbmQgPT09ICJmaWVsZCIpIG9iai5pbml0aWFsaXplciA9IGVsZW1lbnQuaW5pdGlhbGl6ZXI7CiAgICByZXR1cm4gb2JqOwp9CmZ1bmN0aW9uIF90b0VsZW1lbnREZXNjcmlwdG9ycyhlbGVtZW50T2JqZWN0cykgewogICAgaWYgKGVsZW1lbnRPYmplY3RzID09PSB1bmRlZmluZWQpIHJldHVybjsKICAgIHJldHVybiBfdG9fYXJyYXkoZWxlbWVudE9iamVjdHMpLm1hcChmdW5jdGlvbihlbGVtZW50T2JqZWN0KSB7CiAgICAgICAgdmFyIGVsZW1lbnQgPSBfdG9FbGVtZW50RGVzY3JpcHRvcihlbGVtZW50T2JqZWN0KTsKICAgICAgICBfZGlzYWxsb3dQcm9wZXJ0eShlbGVtZW50T2JqZWN0LCAiZmluaXNoZXIiLCAiQW4gZWxlbWVudCBkZXNjcmlwdG9yIik7CiAgICAgICAgX2Rpc2FsbG93UHJvcGVydHkoZWxlbWVudE9iamVjdCwgImV4dHJhcyIsICJBbiBlbGVtZW50IGRlc2NyaXB0b3IiKTsKICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgIH0pOwp9CmZ1bmN0aW9uIF90b0VsZW1lbnREZXNjcmlwdG9yKGVsZW1lbnRPYmplY3QpIHsKICAgIHZhciBraW5kID0gU3RyaW5nKGVsZW1lbnRPYmplY3Qua2luZCk7CiAgICBpZiAoa2luZCAhPT0gIm1ldGhvZCIgJiYga2luZCAhPT0gImZpZWxkIikgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoCiAgICAgICAgICAgICJBbiBlbGVtZW50IGRlc2NyaXB0b3IncyAua2luZCBwcm9wZXJ0eSBtdXN0IGJlIGVpdGhlciBcIm1ldGhvZFwiIG9yIgogICAgICAgICAgICAgICAgKyAiIFwiZmllbGRcIiwgYnV0IGEgZGVjb3JhdG9yIGNyZWF0ZWQgYW4gZWxlbWVudCBkZXNjcmlwdG9yIHdpdGgiICsgIiAua2luZCBcIiIgKyBraW5kICsgIlwiIgogICAgICAgICk7CiAgICB9CiAgICB2YXIga2V5ID0gX3RvX3Byb3BlcnR5X2tleShlbGVtZW50T2JqZWN0LmtleSk7CiAgICB2YXIgcGxhY2VtZW50ID0gU3RyaW5nKGVsZW1lbnRPYmplY3QucGxhY2VtZW50KTsKICAgIGlmIChwbGFjZW1lbnQgIT09ICJzdGF0aWMiICYmIHBsYWNlbWVudCAhPT0gInByb3RvdHlwZSIgJiYgcGxhY2VtZW50ICE9PSAib3duIikgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoCiAgICAgICAgICAgICJBbiBlbGVtZW50IGRlc2NyaXB0b3IncyAucGxhY2VtZW50IHByb3BlcnR5IG11c3QgYmUgb25lIG9mIFwic3RhdGljXCIsIgogICAgICAgICAgICAgICAgKyAiIFwicHJvdG90eXBlXCIgb3IgXCJvd25cIiwgYnV0IGEgZGVjb3JhdG9yIGNyZWF0ZWQgYW4gZWxlbWVudCBkZXNjcmlwdG9yIiArICIgd2l0aCAucGxhY2VtZW50IFwiIiArIHBsYWNlbWVudCArICJcIiIKICAgICAgICApOwogICAgfQogICAgdmFyIGRlc2NyaXB0b3IgPSBlbGVtZW50T2JqZWN0LmRlc2NyaXB0b3I7CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShlbGVtZW50T2JqZWN0LCAiZWxlbWVudHMiLCAiQW4gZWxlbWVudCBkZXNjcmlwdG9yIik7CiAgICB2YXIgZWxlbWVudCA9IHsga2luZDoga2luZCwga2V5OiBrZXksIHBsYWNlbWVudDogcGxhY2VtZW50LCBkZXNjcmlwdG9yOiBPYmplY3QuYXNzaWduKHt9LCBkZXNjcmlwdG9yKSB9OwogICAgaWYgKGtpbmQgIT09ICJmaWVsZCIpIHsKICAgICAgICBfZGlzYWxsb3dQcm9wZXJ0eShlbGVtZW50T2JqZWN0LCAiaW5pdGlhbGl6ZXIiLCAiQSBtZXRob2QgZGVzY3JpcHRvciIpOwogICAgfSBlbHNlIHsKICAgICAgICBfZGlzYWxsb3dQcm9wZXJ0eShkZXNjcmlwdG9yLCAiZ2V0IiwgIlRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIG9mIGEgZmllbGQgZGVzY3JpcHRvciIpOwogICAgICAgIF9kaXNhbGxvd1Byb3BlcnR5KGRlc2NyaXB0b3IsICJzZXQiLCAiVGhlIHByb3BlcnR5IGRlc2NyaXB0b3Igb2YgYSBmaWVsZCBkZXNjcmlwdG9yIik7CiAgICAgICAgX2Rpc2FsbG93UHJvcGVydHkoZGVzY3JpcHRvciwgInZhbHVlIiwgIlRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIG9mIGEgZmllbGQgZGVzY3JpcHRvciIpOwogICAgICAgIGVsZW1lbnQuaW5pdGlhbGl6ZXIgPSBlbGVtZW50T2JqZWN0LmluaXRpYWxpemVyOwogICAgfQogICAgcmV0dXJuIGVsZW1lbnQ7Cn0KZnVuY3Rpb24gX3RvRWxlbWVudEZpbmlzaGVyRXh0cmFzKGVsZW1lbnRPYmplY3QpIHsKICAgIHZhciBlbGVtZW50ID0gX3RvRWxlbWVudERlc2NyaXB0b3IoZWxlbWVudE9iamVjdCk7CiAgICB2YXIgZmluaXNoZXIgPSBfb3B0aW9uYWxDYWxsYWJsZVByb3BlcnR5KGVsZW1lbnRPYmplY3QsICJmaW5pc2hlciIpOwogICAgdmFyIGV4dHJhcyA9IF90b0VsZW1lbnREZXNjcmlwdG9ycyhlbGVtZW50T2JqZWN0LmV4dHJhcyk7CiAgICByZXR1cm4geyBlbGVtZW50OiBlbGVtZW50LCBmaW5pc2hlcjogZmluaXNoZXIsIGV4dHJhczogZXh0cmFzIH07Cn0KZnVuY3Rpb24gX2Zyb21DbGFzc0Rlc2NyaXB0b3IoZWxlbWVudHMpIHsKICAgIHZhciBvYmogPSB7IGtpbmQ6ICJjbGFzcyIsIGVsZW1lbnRzOiBlbGVtZW50cy5tYXAoX2Zyb21FbGVtZW50RGVzY3JpcHRvcikgfTsKICAgIHZhciBkZXNjID0geyB2YWx1ZTogIkRlc2NyaXB0b3IiLCBjb25maWd1cmFibGU6IHRydWUgfTsKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIFN5bWJvbC50b1N0cmluZ1RhZywgZGVzYyk7CiAgICByZXR1cm4gb2JqOwp9CmZ1bmN0aW9uIF90b0NsYXNzRGVzY3JpcHRvcihvYmopIHsKICAgIHZhciBraW5kID0gU3RyaW5nKG9iai5raW5kKTsKICAgIGlmIChraW5kICE9PSAiY2xhc3MiKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAgICAgIkEgY2xhc3MgZGVzY3JpcHRvcidzIC5raW5kIHByb3BlcnR5IG11c3QgYmUgXCJjbGFzc1wiLCBidXQgYSBkZWNvcmF0b3IiICsgIiBjcmVhdGVkIGEgY2xhc3MgZGVzY3JpcHRvciB3aXRoIC5raW5kIFwiIiArIGtpbmQKICAgICAgICAgICAgICAgICsgIlwiIgogICAgICAgICk7CiAgICB9CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShvYmosICJrZXkiLCAiQSBjbGFzcyBkZXNjcmlwdG9yIik7CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShvYmosICJwbGFjZW1lbnQiLCAiQSBjbGFzcyBkZXNjcmlwdG9yIik7CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShvYmosICJkZXNjcmlwdG9yIiwgIkEgY2xhc3MgZGVzY3JpcHRvciIpOwogICAgX2Rpc2FsbG93UHJvcGVydHkob2JqLCAiaW5pdGlhbGl6ZXIiLCAiQSBjbGFzcyBkZXNjcmlwdG9yIik7CiAgICBfZGlzYWxsb3dQcm9wZXJ0eShvYmosICJleHRyYXMiLCAiQSBjbGFzcyBkZXNjcmlwdG9yIik7CiAgICB2YXIgZmluaXNoZXIgPSBfb3B0aW9uYWxDYWxsYWJsZVByb3BlcnR5KG9iaiwgImZpbmlzaGVyIik7CiAgICB2YXIgZWxlbWVudHMgPSBfdG9FbGVtZW50RGVzY3JpcHRvcnMob2JqLmVsZW1lbnRzKTsKICAgIHJldHVybiB7IGVsZW1lbnRzOiBlbGVtZW50cywgZmluaXNoZXI6IGZpbmlzaGVyIH07Cn0KZnVuY3Rpb24gX2Rpc2FsbG93UHJvcGVydHkob2JqLCBuYW1lLCBvYmplY3RUeXBlKSB7CiAgICBpZiAob2JqW25hbWVdICE9PSB1bmRlZmluZWQpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKG9iamVjdFR5cGUgKyAiIGNhbid0IGhhdmUgYSAuIiArIG5hbWUgKyAiIHByb3BlcnR5LiIpOwogICAgfQp9CmZ1bmN0aW9uIF9vcHRpb25hbENhbGxhYmxlUHJvcGVydHkob2JqLCBuYW1lKSB7CiAgICB2YXIgdmFsdWUgPSBvYmpbbmFtZV07CiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdmFsdWUgIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCAnIiArIG5hbWUgKyAiJyB0byBiZSBhIGZ1bmN0aW9uIik7CiAgICB9CiAgICByZXR1cm4gdmFsdWU7Cn0KZnVuY3Rpb24gX3J1bkNsYXNzRmluaXNoZXJzKGNvbnN0cnVjdG9yLCBmaW5pc2hlcnMpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmluaXNoZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIG5ld0NvbnN0cnVjdG9yID0gKDAsIGZpbmlzaGVyc1tpXSkoY29uc3RydWN0b3IpOwogICAgICAgIGlmIChuZXdDb25zdHJ1Y3RvciAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgbmV3Q29uc3RydWN0b3IgIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkZpbmlzaGVycyBtdXN0IHJldHVybiBhIGNvbnN0cnVjdG9yLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3Q29uc3RydWN0b3I7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGNvbnN0cnVjdG9yOwp9CmZ1bmN0aW9uIF9kZWZhdWx0cyhvYmosIGRlZmF1bHRzKSB7CiAgICB2YXIga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGRlZmF1bHRzKTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBrZXkgPSBrZXlzW2ldOwogICAgICAgIHZhciB2YWx1ZSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZGVmYXVsdHMsIGtleSk7CiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmNvbmZpZ3VyYWJsZSAmJiBvYmpba2V5XSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBvYmo7Cn0KZnVuY3Rpb24gX2RlZmluZV9lbnVtZXJhYmxlX3Byb3BlcnRpZXMob2JqLCBkZXNjcykgewogICAgZm9yICh2YXIga2V5IGluIGRlc2NzKSB7CiAgICAgICAgdmFyIGRlc2MgPSBkZXNjc1trZXldOwogICAgICAgIGRlc2MuY29uZmlndXJhYmxlID0gZGVzYy5lbnVtZXJhYmxlID0gdHJ1ZTsKICAgICAgICBpZiAoInZhbHVlIiBpbiBkZXNjKSBkZXNjLndyaXRhYmxlID0gdHJ1ZTsKICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIGRlc2MpOwogICAgfQogICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsKICAgICAgICB2YXIgb2JqZWN0U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZGVzY3MpOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2JqZWN0U3ltYm9scy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgc3ltID0gb2JqZWN0U3ltYm9sc1tpXTsKICAgICAgICAgICAgdmFyIGRlc2MgPSBkZXNjc1tzeW1dOwogICAgICAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9IGRlc2MuZW51bWVyYWJsZSA9IHRydWU7CiAgICAgICAgICAgIGlmICgidmFsdWUiIGluIGRlc2MpIGRlc2Mud3JpdGFibGUgPSB0cnVlOwogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBzeW0sIGRlc2MpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBvYmo7Cn0KZnVuY3Rpb24gX2RlZmluZV9wcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsKICAgIGlmIChrZXkgaW4gb2JqKSB7CiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgb2JqW2tleV0gPSB2YWx1ZTsKICAgIH0KICAgIHJldHVybiBvYmo7Cn0KZnVuY3Rpb24gX2V4cG9ydF9zdGFyKGZyb20sIHRvKSB7CiAgICBPYmplY3Qua2V5cyhmcm9tKS5mb3JFYWNoKGZ1bmN0aW9uKGspIHsKICAgICAgICBpZiAoayAhPT0gImRlZmF1bHQiICYmICFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodG8sIGspKSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0bywgaywgewogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZyb21ba107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIGZyb207Cn0KZnVuY3Rpb24gX2V4dGVuZHMoKSB7CiAgICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odGFyZ2V0KSB7CiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsKICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewogICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsKICAgICAgICAgICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiB0YXJnZXQ7CiAgICB9OwogICAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cn0KZnVuY3Rpb24gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgewogICAgaWYgKHR5cGVvZiBSZWZsZWN0ICE9PSAidW5kZWZpbmVkIiAmJiBSZWZsZWN0LmdldCkgewogICAgICAgIF9nZXQgPSBSZWZsZWN0LmdldDsKICAgIH0gZWxzZSB7CiAgICAgICAgX2dldCA9IGZ1bmN0aW9uIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcikgewogICAgICAgICAgICB2YXIgYmFzZSA9IF9zdXBlcl9wcm9wX2Jhc2UodGFyZ2V0LCBwcm9wZXJ0eSk7CiAgICAgICAgICAgIGlmICghYmFzZSkgcmV0dXJuOwogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZSwgcHJvcGVydHkpOwogICAgICAgICAgICBpZiAoZGVzYy5nZXQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBkZXNjLmdldC5jYWxsKHJlY2VpdmVyIHx8IHRhcmdldCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGRlc2MudmFsdWU7CiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiBfZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyIHx8IHRhcmdldCk7Cn0KZnVuY3Rpb24gX2dldF9wcm90b3R5cGVfb2YobykgewogICAgX2dldF9wcm90b3R5cGVfb2YgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3QuZ2V0UHJvdG90eXBlT2YgOiBmdW5jdGlvbiBnZXRQcm90b3R5cGVPZihvKSB7CiAgICAgICAgcmV0dXJuIG8uX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihvKTsKICAgIH07CiAgICByZXR1cm4gX2dldF9wcm90b3R5cGVfb2Yobyk7Cn0KZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7CiAgICBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09ICJmdW5jdGlvbiIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7CiAgICB9CiAgICBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsKICAgICAgICBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfQogICAgfSk7CiAgICBpZiAoc3VwZXJDbGFzcykgX3NldF9wcm90b3R5cGVfb2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpOwp9CmZ1bmN0aW9uIF9pbmhlcml0c19sb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgewogICAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7CiAgICBzdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBzdWJDbGFzczsKICAgIHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7Cn0KZnVuY3Rpb24gX2luaXRpYWxpemVyX2RlZmluZV9wcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5LCBkZXNjcmlwdG9yLCBjb250ZXh0KSB7CiAgICBpZiAoIWRlc2NyaXB0b3IpIHJldHVybjsKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5LCB7CiAgICAgICAgZW51bWVyYWJsZTogZGVzY3JpcHRvci5lbnVtZXJhYmxlLAogICAgICAgIGNvbmZpZ3VyYWJsZTogZGVzY3JpcHRvci5jb25maWd1cmFibGUsCiAgICAgICAgd3JpdGFibGU6IGRlc2NyaXB0b3Iud3JpdGFibGUsCiAgICAgICAgdmFsdWU6IGRlc2NyaXB0b3IuaW5pdGlhbGl6ZXIgPyBkZXNjcmlwdG9yLmluaXRpYWxpemVyLmNhbGwoY29udGV4dCkgOiB2b2lkIDAKICAgIH0pOwp9CmZ1bmN0aW9uIF9pbml0aWFsaXplcl93YXJuaW5nX2hlbHBlcihkZXNjcmlwdG9yLCBjb250ZXh0KSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgIkRlY29yYXRpbmcgY2xhc3MgcHJvcGVydHkgZmFpbGVkLiBQbGVhc2UgZW5zdXJlIHRoYXQgIiArICJwcm9wb3NhbC1jbGFzcy1wcm9wZXJ0aWVzIGlzIGVuYWJsZWQgYW5kIHNldCB0byB1c2UgbG9vc2UgbW9kZS4gIgogICAgICAgICAgICArICJUbyB1c2UgcHJvcG9zYWwtY2xhc3MtcHJvcGVydGllcyBpbiBzcGVjIG1vZGUgd2l0aCBkZWNvcmF0b3JzLCB3YWl0IGZvciAiCiAgICAgICAgICAgICsgInRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgZGVjb3JhdG9ycyBpbiBzdGFnZSAyLiIKICAgICk7Cn0KZnVuY3Rpb24gX2luc3RhbmNlb2YobGVmdCwgcmlnaHQpIHsKICAgIGlmIChyaWdodCAhPSBudWxsICYmIHR5cGVvZiBTeW1ib2wgIT09ICJ1bmRlZmluZWQiICYmIHJpZ2h0W1N5bWJvbC5oYXNJbnN0YW5jZV0pIHsKICAgICAgICByZXR1cm4gISFyaWdodFtTeW1ib2wuaGFzSW5zdGFuY2VdKGxlZnQpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbGVmdCBpbnN0YW5jZW9mIHJpZ2h0OwogICAgfQp9CmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHsKICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9Owp9CmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkgewogICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSAiZnVuY3Rpb24iKSByZXR1cm4gbnVsbDsKICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7CiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7CiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7CiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wOwogICAgfSkobm9kZUludGVyb3ApOwp9CmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkgewogICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHsKICAgICAgICByZXR1cm4gb2JqOwogICAgfQogICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSAib2JqZWN0IiAmJiB0eXBlb2Ygb2JqICE9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07CiAgICB9CiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApOwogICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7CiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopOwogICAgfQogICAgdmFyIG5ld09iaiA9IHsgX19wcm90b19fOiBudWxsIH07CiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7CiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7CiAgICAgICAgaWYgKGtleSAhPT0gImRlZmF1bHQiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHsKICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7CiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7CiAgICBpZiAoY2FjaGUpIHsKICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopOwogICAgfQogICAgcmV0dXJuIG5ld09iajsKfQpmdW5jdGlvbiBfaXNfbmF0aXZlX2Z1bmN0aW9uKGZuKSB7CiAgICByZXR1cm4gRnVuY3Rpb24udG9TdHJpbmcuY2FsbChmbikuaW5kZXhPZigiW25hdGl2ZSBjb2RlXSIpICE9PSAtMTsKfQpmdW5jdGlvbiBfaXRlcmFibGVfdG9fYXJyYXkoaXRlcikgewogICAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICJ1bmRlZmluZWQiICYmIGl0ZXJbU3ltYm9sLml0ZXJhdG9yXSAhPSBudWxsIHx8IGl0ZXJbIkBAaXRlcmF0b3IiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTsKfQpmdW5jdGlvbiBfaXRlcmFibGVfdG9fYXJyYXlfbGltaXQoYXJyLCBpKSB7CiAgICB2YXIgX2kgPSBhcnIgPT0gbnVsbCA/IG51bGwgOiB0eXBlb2YgU3ltYm9sICE9PSAidW5kZWZpbmVkIiAmJiBhcnJbU3ltYm9sLml0ZXJhdG9yXSB8fCBhcnJbIkBAaXRlcmF0b3IiXTsKICAgIGlmIChfaSA9PSBudWxsKSByZXR1cm47CiAgICB2YXIgX2FyciA9IFtdOwogICAgdmFyIF9uID0gdHJ1ZTsKICAgIHZhciBfZCA9IGZhbHNlOwogICAgdmFyIF9zLCBfZTsKICAgIHRyeSB7CiAgICAgICAgZm9yIChfaSA9IF9pLmNhbGwoYXJyKTsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkgewogICAgICAgICAgICBfYXJyLnB1c2goX3MudmFsdWUpOwogICAgICAgICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7CiAgICAgICAgfQogICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgX2QgPSB0cnVlOwogICAgICAgIF9lID0gZXJyOwogICAgfSBmaW5hbGx5IHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoIV9uICYmIF9pWyJyZXR1cm4iXSAhPSBudWxsKSBfaVsicmV0dXJuIl0oKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICBpZiAoX2QpIHRocm93IF9lOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBfYXJyOwp9CmZ1bmN0aW9uIF9pdGVyYWJsZV90b19hcnJheV9saW1pdF9sb29zZShhcnIsIGkpIHsKICAgIHZhciBfaSA9IGFyciAmJiAodHlwZW9mIFN5bWJvbCAhPT0gInVuZGVmaW5lZCIgJiYgYXJyW1N5bWJvbC5pdGVyYXRvcl0gfHwgYXJyWyJAQGl0ZXJhdG9yIl0pOwogICAgaWYgKF9pID09IG51bGwpIHJldHVybjsKICAgIHZhciBfYXJyID0gW107CiAgICBmb3IgKF9pID0gX2kuY2FsbChhcnIpLCBfc3RlcDsgIShfc3RlcCA9IF9pLm5leHQoKSkuZG9uZTspIHsKICAgICAgICBfYXJyLnB1c2goX3N0ZXAudmFsdWUpOwogICAgICAgIGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsKICAgIH0KICAgIHJldHVybiBfYXJyOwp9CnZhciBSRUFDVF9FTEVNRU5UX1RZUEU7CmZ1bmN0aW9uIF9qc3godHlwZSwgcHJvcHMsIGtleSwgY2hpbGRyZW4pIHsKICAgIGlmICghUkVBQ1RfRUxFTUVOVF9UWVBFKSB7CiAgICAgICAgUkVBQ1RfRUxFTUVOVF9UWVBFID0gdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiBTeW1ib2wuZm9yICYmIFN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSB8fCAweGVhYzc7CiAgICB9CiAgICB2YXIgZGVmYXVsdFByb3BzID0gdHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wczsKICAgIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAzOwogICAgaWYgKCFwcm9wcyAmJiBjaGlsZHJlbkxlbmd0aCAhPT0gMCkgewogICAgICAgIHByb3BzID0geyBjaGlsZHJlbjogdm9pZCAwIH07CiAgICB9CiAgICBpZiAocHJvcHMgJiYgZGVmYXVsdFByb3BzKSB7CiAgICAgICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7CiAgICAgICAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHZvaWQgMCkgewogICAgICAgICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoIXByb3BzKSB7CiAgICAgICAgcHJvcHMgPSBkZWZhdWx0UHJvcHMgfHwge307CiAgICB9CiAgICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHsKICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkcmVuOwogICAgfSBlbHNlIGlmIChjaGlsZHJlbkxlbmd0aCA+IDEpIHsKICAgICAgICB2YXIgY2hpbGRBcnJheSA9IG5ldyBBcnJheShjaGlsZHJlbkxlbmd0aCk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDNdOwogICAgICAgIH0KICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7CiAgICB9CiAgICByZXR1cm4geyAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLCB0eXBlOiB0eXBlLCBrZXk6IGtleSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6ICIiICsga2V5LCByZWY6IG51bGwsIHByb3BzOiBwcm9wcywgX293bmVyOiBudWxsIH07Cn0KZnVuY3Rpb24gX25ld19hcnJvd19jaGVjayhpbm5lclRoaXMsIGJvdW5kVGhpcykgewogICAgaWYgKGlubmVyVGhpcyAhPT0gYm91bmRUaGlzKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGluc3RhbnRpYXRlIGFuIGFycm93IGZ1bmN0aW9uIik7CiAgICB9Cn0KZnVuY3Rpb24gX25vbl9pdGVyYWJsZV9yZXN0KCkgewogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIgogICAgKTsKfQpmdW5jdGlvbiBfbm9uX2l0ZXJhYmxlX3NwcmVhZCgpIHsKICAgIHRocm93IG5ldyBUeXBlRXJyb3IoCiAgICAgICAgIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iCiAgICApOwp9CmZ1bmN0aW9uIF9vYmplY3RfZGVzdHJ1Y3R1cmluZ19lbXB0eShvKSB7CiAgICBpZiAobyA9PT0gbnVsbCB8fCBvID09PSB2b2lkIDApIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBkZXN0cnVjdHVyZSAiICsgbyk7CiAgICByZXR1cm4gbzsKfQpmdW5jdGlvbiBfb2JqZWN0X3NwcmVhZCh0YXJnZXQpIHsKICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307CiAgICAgICAgdmFyIG93bktleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpOwogICAgICAgIGlmICh0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICBvd25LZXlzID0gb3duS2V5cy5jb25jYXQoCiAgICAgICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uKHN5bSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwgc3ltKS5lbnVtZXJhYmxlOwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewogICAgICAgICAgICBfZGVmaW5lX3Byb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7CiAgICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gdGFyZ2V0Owp9CmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgewogICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOwogICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsKICAgICAgICB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsKICAgICAgICBpZiAoZW51bWVyYWJsZU9ubHkpIHsKICAgICAgICAgICAgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uKHN5bSkgewogICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7CiAgICB9CiAgICByZXR1cm4ga2V5czsKfQpmdW5jdGlvbiBfb2JqZWN0X3NwcmVhZF9wcm9wcyh0YXJnZXQsIHNvdXJjZSkgewogICAgc291cmNlID0gc291cmNlICE9IG51bGwgPyBzb3VyY2UgOiB7fTsKICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgewogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7CiAgICB9IGVsc2UgewogICAgICAgIG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpOwogICAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHRhcmdldDsKfQpmdW5jdGlvbiBfb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllcyhzb3VyY2UsIGV4Y2x1ZGVkKSB7CiAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTsKICAgIHZhciB0YXJnZXQgPSBfb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19sb29zZShzb3VyY2UsIGV4Y2x1ZGVkKTsKICAgIHZhciBrZXksIGk7CiAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgewogICAgICAgIHZhciBzb3VyY2VTeW1ib2xLZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzb3VyY2UpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VTeW1ib2xLZXlzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGtleSA9IHNvdXJjZVN5bWJvbEtleXNbaV07CiAgICAgICAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7CiAgICAgICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHNvdXJjZSwga2V5KSkgY29udGludWU7CiAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhcmdldDsKfQpmdW5jdGlvbiBfb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19sb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7CiAgICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTsKICAgIHZhciB0YXJnZXQgPSB7fTsKICAgIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTsKICAgIHZhciBrZXksIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIGtleSA9IHNvdXJjZUtleXNbaV07CiAgICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTsKICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOwogICAgfQogICAgcmV0dXJuIHRhcmdldDsKfQpmdW5jdGlvbiBfcG9zc2libGVfY29uc3RydWN0b3JfcmV0dXJuKHNlbGYsIGNhbGwpIHsKICAgIGlmIChjYWxsICYmIChfdHlwZV9vZihjYWxsKSA9PT0gIm9iamVjdCIgfHwgdHlwZW9mIGNhbGwgPT09ICJmdW5jdGlvbiIpKSB7CiAgICAgICAgcmV0dXJuIGNhbGw7CiAgICB9CiAgICByZXR1cm4gX2Fzc2VydF90aGlzX2luaXRpYWxpemVkKHNlbGYpOwp9CmZ1bmN0aW9uIF9yZWFkX29ubHlfZXJyb3IobmFtZSkgewogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiXCIiICsgbmFtZSArICJcIiBpcyByZWFkLW9ubHkiKTsKfQpmdW5jdGlvbiBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHJlY2VpdmVyKSB7CiAgICBpZiAodHlwZW9mIFJlZmxlY3QgIT09ICJ1bmRlZmluZWQiICYmIFJlZmxlY3Quc2V0KSB7CiAgICAgICAgc2V0ID0gUmVmbGVjdC5zZXQ7CiAgICB9IGVsc2UgewogICAgICAgIHNldCA9IGZ1bmN0aW9uIHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIpIHsKICAgICAgICAgICAgdmFyIGJhc2UgPSBfc3VwZXJfcHJvcF9iYXNlKHRhcmdldCwgcHJvcGVydHkpOwogICAgICAgICAgICB2YXIgZGVzYzsKICAgICAgICAgICAgaWYgKGJhc2UpIHsKICAgICAgICAgICAgICAgIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2UsIHByb3BlcnR5KTsKICAgICAgICAgICAgICAgIGlmIChkZXNjLnNldCkgewogICAgICAgICAgICAgICAgICAgIGRlc2Muc2V0LmNhbGwocmVjZWl2ZXIsIHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWRlc2Mud3JpdGFibGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVjZWl2ZXIsIHByb3BlcnR5KTsKICAgICAgICAgICAgaWYgKGRlc2MpIHsKICAgICAgICAgICAgICAgIGlmICghZGVzYy53cml0YWJsZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGRlc2MudmFsdWUgPSB2YWx1ZTsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZWNlaXZlciwgcHJvcGVydHksIGRlc2MpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgX2RlZmluZV9wcm9wZXJ0eShyZWNlaXZlciwgcHJvcGVydHksIHZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9OwogICAgfQogICAgcmV0dXJuIHNldCh0YXJnZXQsIHByb3BlcnR5LCB2YWx1ZSwgcmVjZWl2ZXIpOwp9CmZ1bmN0aW9uIF9zZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHJlY2VpdmVyLCBpc1N0cmljdCkgewogICAgdmFyIHMgPSBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUsIHJlY2VpdmVyIHx8IHRhcmdldCk7CiAgICBpZiAoIXMgJiYgaXNTdHJpY3QpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImZhaWxlZCB0byBzZXQgcHJvcGVydHkiKTsKICAgIH0KICAgIHJldHVybiB2YWx1ZTsKfQpmdW5jdGlvbiBfc2V0X3Byb3RvdHlwZV9vZihvLCBwKSB7CiAgICBfc2V0X3Byb3RvdHlwZV9vZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBzZXRQcm90b3R5cGVPZihvLCBwKSB7CiAgICAgICAgby5fX3Byb3RvX18gPSBwOwogICAgICAgIHJldHVybiBvOwogICAgfTsKICAgIHJldHVybiBfc2V0X3Byb3RvdHlwZV9vZihvLCBwKTsKfQpmdW5jdGlvbiBfc2tpcF9maXJzdF9nZW5lcmF0b3JfbmV4dChmbikgewogICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBpdCA9IGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgaXQubmV4dCgpOwogICAgICAgIHJldHVybiBpdDsKICAgIH07Cn0KZnVuY3Rpb24gX3NsaWNlZF90b19hcnJheShhcnIsIGkpIHsKICAgIHJldHVybiBfYXJyYXlfd2l0aF9ob2xlcyhhcnIpIHx8IF9pdGVyYWJsZV90b19hcnJheV9saW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZF9pdGVyYWJsZV90b19hcnJheShhcnIsIGkpIHx8IF9ub25faXRlcmFibGVfcmVzdCgpOwp9CmZ1bmN0aW9uIF9zbGljZWRfdG9fYXJyYXlfbG9vc2UoYXJyLCBpKSB7CiAgICByZXR1cm4gX2FycmF5X3dpdGhfaG9sZXMoYXJyKSB8fCBfaXRlcmFibGVfdG9fYXJyYXlfbGltaXRfbG9vc2UoYXJyLCBpKSB8fCBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkoYXJyLCBpKQogICAgICAgIHx8IF9ub25faXRlcmFibGVfcmVzdCgpOwp9CmZ1bmN0aW9uIF9zdXBlcl9wcm9wX2Jhc2Uob2JqZWN0LCBwcm9wZXJ0eSkgewogICAgd2hpbGUgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSkpIHsKICAgICAgICBvYmplY3QgPSBfZ2V0X3Byb3RvdHlwZV9vZihvYmplY3QpOwogICAgICAgIGlmIChvYmplY3QgPT09IG51bGwpIGJyZWFrOwogICAgfQogICAgcmV0dXJuIG9iamVjdDsKfQpmdW5jdGlvbiBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWwoc3RyaW5ncywgcmF3KSB7CiAgICBpZiAoIXJhdykgewogICAgICAgIHJhdyA9IHN0cmluZ3Muc2xpY2UoMCk7CiAgICB9CiAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShPYmplY3QuZGVmaW5lUHJvcGVydGllcyhzdHJpbmdzLCB7IHJhdzogeyB2YWx1ZTogT2JqZWN0LmZyZWV6ZShyYXcpIH0gfSkpOwp9CmZ1bmN0aW9uIF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZShzdHJpbmdzLCByYXcpIHsKICAgIGlmICghcmF3KSB7CiAgICAgICAgcmF3ID0gc3RyaW5ncy5zbGljZSgwKTsKICAgIH0KICAgIHN0cmluZ3MucmF3ID0gcmF3OwogICAgcmV0dXJuIHN0cmluZ3M7Cn0KZnVuY3Rpb24gX3Rocm93KGUpIHsKICAgIHRocm93IGU7Cn0KZnVuY3Rpb24gX3RvX2FycmF5KGFycikgewogICAgcmV0dXJuIF9hcnJheV93aXRoX2hvbGVzKGFycikgfHwgX2l0ZXJhYmxlX3RvX2FycmF5KGFycikgfHwgX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5KGFycikgfHwgX25vbl9pdGVyYWJsZV9yZXN0KCk7Cn0KZnVuY3Rpb24gX3RvX2NvbnN1bWFibGVfYXJyYXkoYXJyKSB7CiAgICByZXR1cm4gX2FycmF5X3dpdGhvdXRfaG9sZXMoYXJyKSB8fCBfaXRlcmFibGVfdG9fYXJyYXkoYXJyKSB8fCBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkoYXJyKSB8fCBfbm9uX2l0ZXJhYmxlX3NwcmVhZCgpOwp9CmZ1bmN0aW9uIF90b19wcmltaXRpdmUoaW5wdXQsIGhpbnQpIHsKICAgIGlmIChfdHlwZV9vZihpbnB1dCkgIT09ICJvYmplY3QiIHx8IGlucHV0ID09PSBudWxsKSByZXR1cm4gaW5wdXQ7CiAgICB2YXIgcHJpbSA9IGlucHV0W1N5bWJvbC50b1ByaW1pdGl2ZV07CiAgICBpZiAocHJpbSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdmFyIHJlcyA9IHByaW0uY2FsbChpbnB1dCwgaGludCB8fCAiZGVmYXVsdCIpOwogICAgICAgIGlmIChfdHlwZV9vZihyZXMpICE9PSAib2JqZWN0IikgcmV0dXJuIHJlczsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLiIpOwogICAgfQogICAgcmV0dXJuIChoaW50ID09PSAic3RyaW5nIiA/IFN0cmluZyA6IE51bWJlcikoaW5wdXQpOwp9CmZ1bmN0aW9uIF90b19wcm9wZXJ0eV9rZXkoYXJnKSB7CiAgICB2YXIga2V5ID0gX3RvX3ByaW1pdGl2ZShhcmcsICJzdHJpbmciKTsKICAgIHJldHVybiBfdHlwZV9vZihrZXkpID09PSAic3ltYm9sIiA/IGtleSA6IFN0cmluZyhrZXkpOwp9CmZ1bmN0aW9uIF91cGRhdGUodGFyZ2V0LCBwcm9wZXJ0eSwgcmVjZWl2ZXIsIGlzU3RyaWN0KSB7CiAgICByZXR1cm4gewogICAgICAgIGdldCBfKCkgewogICAgICAgICAgICByZXR1cm4gX2dldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik7CiAgICAgICAgfSwKICAgICAgICBzZXQgXyh2YWx1ZSkgewogICAgICAgICAgICBfc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVlLCByZWNlaXZlciwgaXNTdHJpY3QpOwogICAgICAgIH0KICAgIH07Cn0KZnVuY3Rpb24gX3R5cGVfb2Yob2JqKSB7CiAgICAiQHN3Yy9oZWxwZXJzIC0gdHlwZW9mIjsKICAgIHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCAhPT0gInVuZGVmaW5lZCIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgPyAic3ltYm9sIiA6IHR5cGVvZiBvYmo7Cn0KZnVuY3Rpb24gX3Vuc3VwcG9ydGVkX2l0ZXJhYmxlX3RvX2FycmF5KG8sIG1pbkxlbikgewogICAgaWYgKCFvKSByZXR1cm47CiAgICBpZiAodHlwZW9mIG8gPT09ICJzdHJpbmciKSByZXR1cm4gX2FycmF5X2xpa2VfdG9fYXJyYXkobywgbWluTGVuKTsKICAgIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTsKICAgIGlmIChuID09PSAiT2JqZWN0IiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOwogICAgaWYgKG4gPT09ICJNYXAiIHx8IG4gPT09ICJTZXQiKSByZXR1cm4gQXJyYXkuZnJvbShuKTsKICAgIGlmIChuID09PSAiQXJndW1lbnRzIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheV9saWtlX3RvX2FycmF5KG8sIG1pbkxlbik7Cn0KZnVuY3Rpb24gX3dyYXBfYXN5bmNfZ2VuZXJhdG9yKGZuKSB7CiAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuIG5ldyBfYXN5bmNfZ2VuZXJhdG9yKGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpOwogICAgfTsKfQpmdW5jdGlvbiBfd3JhcF9uYXRpdmVfc3VwZXIoQ2xhc3MpIHsKICAgIHZhciBfY2FjaGUgPSB0eXBlb2YgTWFwID09PSAiZnVuY3Rpb24iID8gbmV3IE1hcCgpIDogdW5kZWZpbmVkOwogICAgX3dyYXBfbmF0aXZlX3N1cGVyID0gZnVuY3Rpb24gd3JhcE5hdGl2ZVN1cGVyKENsYXNzKSB7CiAgICAgICAgaWYgKENsYXNzID09PSBudWxsIHx8ICFfaXNfbmF0aXZlX2Z1bmN0aW9uKENsYXNzKSkgcmV0dXJuIENsYXNzOwogICAgICAgIGlmICh0eXBlb2YgQ2xhc3MgIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBfY2FjaGUgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgIGlmIChfY2FjaGUuaGFzKENsYXNzKSkgcmV0dXJuIF9jYWNoZS5nZXQoQ2xhc3MpOwogICAgICAgICAgICBfY2FjaGUuc2V0KENsYXNzLCBXcmFwcGVyKTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gV3JhcHBlcigpIHsKICAgICAgICAgICAgcmV0dXJuIF9jb25zdHJ1Y3QoQ2xhc3MsIGFyZ3VtZW50cywgX2dldF9wcm90b3R5cGVfb2YodGhpcykuY29uc3RydWN0b3IpOwogICAgICAgIH0KICAgICAgICBXcmFwcGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQ2xhc3MucHJvdG90eXBlLCB7CiAgICAgICAgICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBXcmFwcGVyLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIF9zZXRfcHJvdG90eXBlX29mKFdyYXBwZXIsIENsYXNzKTsKICAgIH07CiAgICByZXR1cm4gX3dyYXBfbmF0aXZlX3N1cGVyKENsYXNzKTsKfQpmdW5jdGlvbiBfd3JpdGVfb25seV9lcnJvcihuYW1lKSB7CiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJcIiIgKyBuYW1lICsgIlwiIGlzIHdyaXRlLW9ubHkiKTsKfQpmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZShyZWNlaXZlciwgcHJpdmF0ZU1hcCkgewogICAgdmFyIGRlc2NyaXB0b3IgPSBfY2xhc3NfZXh0cmFjdF9maWVsZF9kZXNjcmlwdG9yKHJlY2VpdmVyLCBwcml2YXRlTWFwLCAic2V0Iik7CiAgICByZXR1cm4gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZGVzdHJ1Y3R1cmUocmVjZWl2ZXIsIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9jbGFzc19zdGF0aWNfcHJpdmF0ZV9maWVsZF9kZXN0cnVjdHVyZShyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3RvciwgZGVzY3JpcHRvcikgewogICAgX2NsYXNzX2NoZWNrX3ByaXZhdGVfc3RhdGljX2FjY2VzcyhyZWNlaXZlciwgY2xhc3NDb25zdHJ1Y3Rvcik7CiAgICBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfZmllbGRfZGVzY3JpcHRvcihkZXNjcmlwdG9yLCAic2V0Iik7CiAgICByZXR1cm4gX2NsYXNzX2FwcGx5X2Rlc2NyaXB0b3JfZGVzdHJ1Y3R1cmUocmVjZWl2ZXIsIGRlc2NyaXB0b3IpOwp9CmZ1bmN0aW9uIF9jbGFzc19zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZ2V0KHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yLCBtZXRob2QpIHsKICAgIF9jbGFzc19jaGVja19wcml2YXRlX3N0YXRpY19hY2Nlc3MocmVjZWl2ZXIsIGNsYXNzQ29uc3RydWN0b3IpOwogICAgcmV0dXJuIG1ldGhvZDsKfQpmdW5jdGlvbiBfY2xhc3NfY2hlY2tfcHJpdmF0ZV9zdGF0aWNfYWNjZXNzKHJlY2VpdmVyLCBjbGFzc0NvbnN0cnVjdG9yKSB7CiAgICBpZiAocmVjZWl2ZXIgIT09IGNsYXNzQ29uc3RydWN0b3IpIHsKICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIHN0YXRpYyBhY2Nlc3Mgb2Ygd3JvbmcgcHJvdmVuYW5jZSIpOwogICAgfQp9CmZ1bmN0aW9uIF9pc19uYXRpdmVfcmVmbGVjdF9jb25zdHJ1Y3QoKSB7CiAgICAvLyBTaW5jZSBSZWZsZWN0LmNvbnN0cnVjdCBjYW4ndCBiZSBwcm9wZXJseSBwb2x5ZmlsbGVkLCBzb21lCiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgKGUuZy4gY29yZS1qc0AyKSBkb24ndCBzZXQgdGhlIGNvcnJlY3QgaW50ZXJuYWwgc2xvdHMuCiAgICAvLyBUaG9zZSBwb2x5ZmlsbHMgZG9uJ3QgYWxsb3cgdXMgdG8gc3ViY2xhc3MgYnVpbHQtaW5zLCBzbyB3ZSBuZWVkIHRvCiAgICAvLyB1c2Ugb3VyIGZhbGxiYWNrIGltcGxlbWVudGF0aW9uLgogICAgdHJ5IHsKICAgICAgICAvLyBJZiB0aGUgaW50ZXJuYWwgc2xvdHMgYXJlbid0IHNldCwgdGhpcyB0aHJvd3MgYW4gZXJyb3Igc2ltaWxhciB0bwogICAgICAgIC8vICAgVHlwZUVycm9yOiB0aGlzIGlzIG5vdCBhIEJvb2xlYW4gb2JqZWN0LgogICAgICAgIHZhciByZXN1bHQgPSAhQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbigpIHt9KSk7CiAgICB9IGNhdGNoIChfKSB7fQogICAgcmV0dXJuIChfaXNfbmF0aXZlX3JlZmxlY3RfY29uc3RydWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgcmV0dXJuICEhcmVzdWx0OwogICAgfSkoKTsKfQpmdW5jdGlvbiBfY3JlYXRlX3N1cGVyKERlcml2ZWQpIHsKICAgIHZhciBoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0ID0gX2lzX25hdGl2ZV9yZWZsZWN0X2NvbnN0cnVjdCgpOwogICAgcmV0dXJuIGZ1bmN0aW9uIF9jcmVhdGVTdXBlckludGVybmFsKCkgewogICAgICAgIHZhciBTdXBlciA9IF9nZXRfcHJvdG90eXBlX29mKERlcml2ZWQpLCByZXN1bHQ7CiAgICAgICAgaWYgKGhhc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QpIHsKICAgICAgICAgICAgdmFyIE5ld1RhcmdldCA9IF9nZXRfcHJvdG90eXBlX29mKHRoaXMpLmNvbnN0cnVjdG9yOwogICAgICAgICAgICByZXN1bHQgPSBSZWZsZWN0LmNvbnN0cnVjdChTdXBlciwgYXJndW1lbnRzLCBOZXdUYXJnZXQpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJlc3VsdCA9IFN1cGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBfcG9zc2libGVfY29uc3RydWN0b3JfcmV0dXJuKHRoaXMsIHJlc3VsdCk7CiAgICB9Owp9CmZ1bmN0aW9uIF9jcmVhdGVfZm9yX29mX2l0ZXJhdG9yX2hlbHBlcl9sb29zZShvLCBhbGxvd0FycmF5TGlrZSkgewogICAgdmFyIGl0ID0gdHlwZW9mIFN5bWJvbCAhPT0gInVuZGVmaW5lZCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdIHx8IG9bIkBAaXRlcmF0b3IiXTsKICAgIGlmIChpdCkgcmV0dXJuIChpdCA9IGl0LmNhbGwobykpLm5leHQuYmluZChpdCk7CiAgICAvLyBGYWxsYmFjayBmb3IgZW5naW5lcyB3aXRob3V0IHN5bWJvbCBzdXBwb3J0CiAgICBpZiAoQXJyYXkuaXNBcnJheShvKSB8fCAoaXQgPSBfdW5zdXBwb3J0ZWRfaXRlcmFibGVfdG9fYXJyYXkobykpIHx8IGFsbG93QXJyYXlMaWtlICYmIG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSAibnVtYmVyIikgewogICAgICAgIGlmIChpdCkgbyA9IGl0OwogICAgICAgIHZhciBpID0gMDsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmIChpID49IG8ubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UsIHZhbHVlOiBvW2krK10gfTsKICAgICAgICB9OwogICAgfQogICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAiSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iCiAgICApOwp9CmZ1bmN0aW9uIF90c19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykgewogICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDsKICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gIm9iamVjdCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09ICJmdW5jdGlvbiIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTsKICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7CiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByOwp9ZnVuY3Rpb24gX3RzX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7CiAgICB2YXIgZiwgeSwgdCwgZywgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uICgpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfTsKICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCAidGhyb3ciOiB2ZXJiKDEpLCAicmV0dXJuIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9KSwgZzsKICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfQogICAgZnVuY3Rpb24gc3RlcChvcCkgewogICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7CiAgICAgICAgd2hpbGUgKF8pIHRyeSB7CiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbInJldHVybiJdIDogb3BbMF0gPyB5WyJ0aHJvdyJdIHx8ICgodCA9IHlbInJldHVybiJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDsKICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdOwogICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7CiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07CiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7CiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7CiAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfQogICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9CiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9CiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfQogICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pOwogICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH0KICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTsKICAgIH0KfWZ1bmN0aW9uIF90c19tZXRhZGF0YShrLCB2KSB7CiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09ICJvYmplY3QiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSAiZnVuY3Rpb24iKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTsKfWZ1bmN0aW9uIF90c19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHsKICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHsgZGVjb3JhdG9yKHRhcmdldCwga2V5LCBwYXJhbUluZGV4KTsgfQp9ZnVuY3Rpb24gX3RzX3ZhbHVlcyhvKSB7CiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDsKICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pOwogICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSAibnVtYmVyIikgcmV0dXJuIHsKICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7CiAgICAgICAgICAgIHJldHVybiB7IHZhbHVlOiBvICYmIG9baSsrXSwgZG9uZTogIW8gfTsKICAgICAgICB9CiAgICB9OwogICAgdGhyb3cgbmV3IFR5cGVFcnJvcihzID8gIk9iamVjdCBpcyBub3QgaXRlcmFibGUuIiA6ICJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7Cn1mdW5jdGlvbiBfdHNfYWRkX2Rpc3Bvc2FibGVfcmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHsKICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwKSB7CiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gIm9iamVjdCIgJiYgdHlwZW9mIHZhbHVlICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7CiAgICAgICAgdmFyIGRpc3Bvc2UsIGlubmVyOwogICAgICAgIGlmIChhc3luYykgewogICAgICAgICAgICBpZiAoIVN5bWJvbC5hc3luY0Rpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0Rpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7CiAgICAgICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXTsKICAgICAgICB9CiAgICAgICAgaWYgKGRpc3Bvc2UgPT09IHZvaWQgMCkgewogICAgICAgICAgICBpZiAoIVN5bWJvbC5kaXNwb3NlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTsKICAgICAgICAgICAgZGlzcG9zZSA9IHZhbHVlW1N5bWJvbC5kaXNwb3NlXTsKICAgICAgICAgICAgaWYgKGFzeW5jKSBpbm5lciA9IGRpc3Bvc2U7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgZGlzcG9zZSAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpOwogICAgICAgIGlmIChpbm5lcikgZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHsgdHJ5IHsgaW5uZXIuY2FsbCh0aGlzKTsgfSBjYXRjaCAoZSkgeyByZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7IH0gfTsKICAgICAgICBlbnYuc3RhY2sucHVzaCh7IHZhbHVlOiB2YWx1ZSwgZGlzcG9zZTogZGlzcG9zZSwgYXN5bmM6IGFzeW5jIH0pOwogICAgfQogICAgZWxzZSBpZiAoYXN5bmMpIHsKICAgICAgICBlbnYuc3RhY2sucHVzaCh7IGFzeW5jOiB0cnVlIH0pOwogICAgfQogICAgcmV0dXJuIHZhbHVlOwp9ZnVuY3Rpb24gX3RzX2Rpc3Bvc2VfcmVzb3VyY2VzKGVudikgewogICAgdmFyIF9TdXBwcmVzc2VkRXJyb3IgPSB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSAiZnVuY3Rpb24iID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7CiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7CiAgICAgICAgcmV0dXJuIGUubmFtZSA9ICJTdXBwcmVzc2VkRXJyb3IiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7CiAgICB9OwoKCiAgICByZXR1cm4gKF90c19kaXNwb3NlX3Jlc291cmNlcyA9IGZ1bmN0aW9uIF90c19kaXNwb3NlX3Jlc291cmNlcyhlbnYpIHsKICAgICAgICBmdW5jdGlvbiBmYWlsKGUpIHsKICAgICAgICAgICAgZW52LmVycm9yID0gZW52Lmhhc0Vycm9yID8gbmV3IF9TdXBwcmVzc2VkRXJyb3IoZSwgZW52LmVycm9yLCAiQW4gZXJyb3Igd2FzIHN1cHByZXNzZWQgZHVyaW5nIGRpc3Bvc2FsLiIpIDogZTsKICAgICAgICAgICAgZW52Lmhhc0Vycm9yID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIHIsIHMgPSAwOwogICAgICAgIGZ1bmN0aW9uIG5leHQoKSB7CiAgICAgICAgICAgIHdoaWxlIChyID0gZW52LnN0YWNrLnBvcCgpKSB7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIGlmICghci5hc3luYyAmJiBzID09PSAxKSByZXR1cm4gcyA9IDAsIGVudi5zdGFjay5wdXNoKHIpLCBQcm9taXNlLnJlc29sdmUoKS50aGVuKG5leHQpOwogICAgICAgICAgICAgICAgICAgIGlmIChyLmRpc3Bvc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHIuZGlzcG9zZS5jYWxsKHIudmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoci5hc3luYykgcmV0dXJuIHMgfD0gMiwgUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCkudGhlbihuZXh0LCBmdW5jdGlvbiAoZSkgeyBmYWlsKGUpOyByZXR1cm4gbmV4dCgpOyB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZWxzZSBzIHw9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgIGZhaWwoZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHMgPT09IDEpIHJldHVybiBlbnYuaGFzRXJyb3IgPyBQcm9taXNlLnJlamVjdChlbnYuZXJyb3IpIDogUHJvbWlzZS5yZXNvbHZlKCk7CiAgICAgICAgICAgIGlmIChlbnYuaGFzRXJyb3IpIHRocm93IGVudi5lcnJvcjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG5leHQoKTsKICAgIH0pKGVudik7Cn0vKiBAbWluVmVyc2lvbiA3LjIwLjAgKi8KCi8qKgogIEVudW1zIGFyZSB1c2VkIGluIHRoaXMgZmlsZSwgYnV0IG5vdCBhc3NpZ25lZCB0byB2YXJzIHRvIGF2b2lkIG5vbi1ob2lzdGFibGUgdmFsdWVzCgogIENPTlNUUlVDVE9SID0gMDsKICBQVUJMSUMgPSAxOwogIFBSSVZBVEUgPSAyOwoKICBGSUVMRCA9IDA7CiAgQUNDRVNTT1IgPSAxOwogIE1FVEhPRCA9IDI7CiAgR0VUVEVSID0gMzsKICBTRVRURVIgPSA0OwoKICBTVEFUSUMgPSA1OwoKICBDTEFTUyA9IDEwOyAvLyBvbmx5IHVzZWQgaW4gYXNzZXJ0VmFsaWRSZXR1cm5WYWx1ZQoqLwoKZnVuY3Rpb24gYXBwbHlEZWNzMjIwM1JGYWN0b3J5KCkgewogICAgZnVuY3Rpb24gY3JlYXRlQWRkSW5pdGlhbGl6ZXJNZXRob2QoaW5pdGlhbGl6ZXJzLCBkZWNvcmF0b3JGaW5pc2hlZFJlZikgewogICAgICAgIHJldHVybiBmdW5jdGlvbiBhZGRJbml0aWFsaXplcihpbml0aWFsaXplcikgewogICAgICAgICAgICBhc3NlcnROb3RGaW5pc2hlZChkZWNvcmF0b3JGaW5pc2hlZFJlZiwgImFkZEluaXRpYWxpemVyIik7CiAgICAgICAgICAgIGFzc2VydENhbGxhYmxlKGluaXRpYWxpemVyLCAiQW4gaW5pdGlhbGl6ZXIiKTsKICAgICAgICAgICAgaW5pdGlhbGl6ZXJzLnB1c2goaW5pdGlhbGl6ZXIpOwogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gbWVtYmVyRGVjKAogICAgICAgIGRlYywKICAgICAgICBuYW1lLAogICAgICAgIGRlc2MsCiAgICAgICAgaW5pdGlhbGl6ZXJzLAogICAgICAgIGtpbmQsCiAgICAgICAgaXNTdGF0aWMsCiAgICAgICAgaXNQcml2YXRlLAogICAgICAgIG1ldGFkYXRhLAogICAgICAgIHZhbHVlCiAgICApIHsKICAgICAgICB2YXIga2luZFN0cjsKCiAgICAgICAgc3dpdGNoIChraW5kKSB7CiAgICAgICAgICAgIGNhc2UgMSAvKiBBQ0NFU1NPUiAqLzoKICAgICAgICAgICAgICAgIGtpbmRTdHIgPSAiYWNjZXNzb3IiOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMiAvKiBNRVRIT0QgKi86CiAgICAgICAgICAgICAgICBraW5kU3RyID0gIm1ldGhvZCI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAzIC8qIEdFVFRFUiAqLzoKICAgICAgICAgICAgICAgIGtpbmRTdHIgPSAiZ2V0dGVyIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQgLyogU0VUVEVSICovOgogICAgICAgICAgICAgICAga2luZFN0ciA9ICJzZXR0ZXIiOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICBraW5kU3RyID0gImZpZWxkIjsKICAgICAgICB9CgogICAgICAgIHZhciBjdHggPSB7CiAgICAgICAgICAgIGtpbmQ6IGtpbmRTdHIsCiAgICAgICAgICAgIG5hbWU6IGlzUHJpdmF0ZSA/ICIjIiArIG5hbWUgOiBuYW1lLAogICAgICAgICAgICBzdGF0aWM6IGlzU3RhdGljLAogICAgICAgICAgICBwcml2YXRlOiBpc1ByaXZhdGUsCiAgICAgICAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSwKICAgICAgICB9OwoKICAgICAgICB2YXIgZGVjb3JhdG9yRmluaXNoZWRSZWYgPSB7IHY6IGZhbHNlIH07CgogICAgICAgIGN0eC5hZGRJbml0aWFsaXplciA9IGNyZWF0ZUFkZEluaXRpYWxpemVyTWV0aG9kKAogICAgICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAgICAgIGRlY29yYXRvckZpbmlzaGVkUmVmCiAgICAgICAgKTsKCiAgICAgICAgdmFyIGdldCwgc2V0OwogICAgICAgIGlmIChraW5kID09PSAwIC8qIEZJRUxEICovKSB7CiAgICAgICAgICAgIGlmIChpc1ByaXZhdGUpIHsKICAgICAgICAgICAgICAgIGdldCA9IGRlc2MuZ2V0OwogICAgICAgICAgICAgICAgc2V0ID0gZGVzYy5zZXQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBnZXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbbmFtZV07CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgc2V0ID0gZnVuY3Rpb24gKHYpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzW25hbWVdID0gdjsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDIgLyogTUVUSE9EICovKSB7CiAgICAgICAgICAgIGdldCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBkZXNjLnZhbHVlOwogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIHJlcGxhY2Ugd2l0aCB2YWx1ZXMgdGhhdCB3aWxsIGdvIHRocm91Z2ggdGhlIGZpbmFsIGdldHRlciBhbmQgc2V0dGVyCiAgICAgICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovIHx8IGtpbmQgPT09IDMgLyogR0VUVEVSICovKSB7CiAgICAgICAgICAgICAgICBnZXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlc2MuZ2V0LmNhbGwodGhpcyk7CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoa2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLyB8fCBraW5kID09PSA0IC8qIFNFVFRFUiAqLykgewogICAgICAgICAgICAgICAgc2V0ID0gZnVuY3Rpb24gKHYpIHsKICAgICAgICAgICAgICAgICAgICBkZXNjLnNldC5jYWxsKHRoaXMsIHYpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjdHguYWNjZXNzID0KICAgICAgICAgICAgZ2V0ICYmIHNldCA/IHsgZ2V0OiBnZXQsIHNldDogc2V0IH0gOiBnZXQgPyB7IGdldDogZ2V0IH0gOiB7IHNldDogc2V0IH07CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHJldHVybiBkZWModmFsdWUsIGN0eCk7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgZGVjb3JhdG9yRmluaXNoZWRSZWYudiA9IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGFzc2VydE5vdEZpbmlzaGVkKGRlY29yYXRvckZpbmlzaGVkUmVmLCBmbk5hbWUpIHsKICAgICAgICBpZiAoZGVjb3JhdG9yRmluaXNoZWRSZWYudikgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoCiAgICAgICAgICAgICAgICAiYXR0ZW1wdGVkIHRvIGNhbGwgIiArIGZuTmFtZSArICIgYWZ0ZXIgZGVjb3JhdGlvbiB3YXMgZmluaXNoZWQiCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGFzc2VydENhbGxhYmxlKGZuLCBoaW50KSB7CiAgICAgICAgaWYgKHR5cGVvZiBmbiAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGhpbnQgKyAiIG11c3QgYmUgYSBmdW5jdGlvbiIpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhc3NlcnRWYWxpZFJldHVyblZhbHVlKGtpbmQsIHZhbHVlKSB7CiAgICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7CgogICAgICAgIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgIGlmICh0eXBlICE9PSAib2JqZWN0IiB8fCB2YWx1ZSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAgICAgICAgICAgICAiYWNjZXNzb3IgZGVjb3JhdG9ycyBtdXN0IHJldHVybiBhbiBvYmplY3Qgd2l0aCBnZXQsIHNldCwgb3IgaW5pdCBwcm9wZXJ0aWVzIG9yIHZvaWQgMCIKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHZhbHVlLmdldCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBhc3NlcnRDYWxsYWJsZSh2YWx1ZS5nZXQsICJhY2Nlc3Nvci5nZXQiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodmFsdWUuc2V0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGFzc2VydENhbGxhYmxlKHZhbHVlLnNldCwgImFjY2Vzc29yLnNldCIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh2YWx1ZS5pbml0ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGFzc2VydENhbGxhYmxlKHZhbHVlLmluaXQsICJhY2Nlc3Nvci5pbml0Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKHR5cGUgIT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgdmFyIGhpbnQ7CiAgICAgICAgICAgIGlmIChraW5kID09PSAwIC8qIEZJRUxEICovKSB7CiAgICAgICAgICAgICAgICBoaW50ID0gImZpZWxkIjsKICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAxMCAvKiBDTEFTUyAqLykgewogICAgICAgICAgICAgICAgaGludCA9ICJjbGFzcyI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBoaW50ID0gIm1ldGhvZCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigKICAgICAgICAgICAgICAgIGhpbnQgKyAiIGRlY29yYXRvcnMgbXVzdCByZXR1cm4gYSBmdW5jdGlvbiBvciB2b2lkIDAiCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGFwcGx5TWVtYmVyRGVjKAogICAgICAgIHJldCwKICAgICAgICBiYXNlLAogICAgICAgIGRlY0luZm8sCiAgICAgICAgbmFtZSwKICAgICAgICBraW5kLAogICAgICAgIGlzU3RhdGljLAogICAgICAgIGlzUHJpdmF0ZSwKICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAgbWV0YWRhdGEKICAgICkgewogICAgICAgIHZhciBkZWNzID0gZGVjSW5mb1swXTsKCiAgICAgICAgdmFyIGRlc2MsIGluaXQsIHZhbHVlOwoKICAgICAgICBpZiAoaXNQcml2YXRlKSB7CiAgICAgICAgICAgIGlmIChraW5kID09PSAwIC8qIEZJRUxEICovIHx8IGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8pIHsKICAgICAgICAgICAgICAgIGRlc2MgPSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBkZWNJbmZvWzNdLAogICAgICAgICAgICAgICAgICAgIHNldDogZGVjSW5mb1s0XSwKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMyAvKiBHRVRURVIgKi8pIHsKICAgICAgICAgICAgICAgIGRlc2MgPSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0OiBkZWNJbmZvWzNdLAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSA0IC8qIFNFVFRFUiAqLykgewogICAgICAgICAgICAgICAgZGVzYyA9IHsKICAgICAgICAgICAgICAgICAgICBzZXQ6IGRlY0luZm9bM10sCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZGVzYyA9IHsKICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVjSW5mb1szXSwKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGtpbmQgIT09IDAgLyogRklFTEQgKi8pIHsKICAgICAgICAgICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZSwgbmFtZSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoa2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLykgewogICAgICAgICAgICB2YWx1ZSA9IHsKICAgICAgICAgICAgICAgIGdldDogZGVzYy5nZXQsCiAgICAgICAgICAgICAgICBzZXQ6IGRlc2Muc2V0LAogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMiAvKiBNRVRIT0QgKi8pIHsKICAgICAgICAgICAgdmFsdWUgPSBkZXNjLnZhbHVlOwogICAgICAgIH0gZWxzZSBpZiAoa2luZCA9PT0gMyAvKiBHRVRURVIgKi8pIHsKICAgICAgICAgICAgdmFsdWUgPSBkZXNjLmdldDsKICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDQgLyogU0VUVEVSICovKSB7CiAgICAgICAgICAgIHZhbHVlID0gZGVzYy5zZXQ7CiAgICAgICAgfQoKICAgICAgICB2YXIgbmV3VmFsdWUsIGdldCwgc2V0OwoKICAgICAgICBpZiAodHlwZW9mIGRlY3MgPT09ICJmdW5jdGlvbiIpIHsKICAgICAgICAgICAgbmV3VmFsdWUgPSBtZW1iZXJEZWMoCiAgICAgICAgICAgICAgICBkZWNzLAogICAgICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAgICAgIGRlc2MsCiAgICAgICAgICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAgICAgICAgICBraW5kLAogICAgICAgICAgICAgICAgaXNTdGF0aWMsCiAgICAgICAgICAgICAgICBpc1ByaXZhdGUsCiAgICAgICAgICAgICAgICBtZXRhZGF0YSwKICAgICAgICAgICAgICAgIHZhbHVlCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IHZvaWQgMCkgewogICAgICAgICAgICAgICAgYXNzZXJ0VmFsaWRSZXR1cm5WYWx1ZShraW5kLCBuZXdWYWx1ZSk7CgogICAgICAgICAgICAgICAgaWYgKGtpbmQgPT09IDAgLyogRklFTEQgKi8pIHsKICAgICAgICAgICAgICAgICAgICBpbml0ID0gbmV3VmFsdWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDEgLyogQUNDRVNTT1IgKi8pIHsKICAgICAgICAgICAgICAgICAgICBpbml0ID0gbmV3VmFsdWUuaW5pdDsKICAgICAgICAgICAgICAgICAgICBnZXQgPSBuZXdWYWx1ZS5nZXQgfHwgdmFsdWUuZ2V0OwogICAgICAgICAgICAgICAgICAgIHNldCA9IG5ld1ZhbHVlLnNldCB8fCB2YWx1ZS5zZXQ7CgogICAgICAgICAgICAgICAgICAgIHZhbHVlID0geyBnZXQ6IGdldCwgc2V0OiBzZXQgfTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBuZXdWYWx1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSBkZWNzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICAgICAgICB2YXIgZGVjID0gZGVjc1tpXTsKCiAgICAgICAgICAgICAgICBuZXdWYWx1ZSA9IG1lbWJlckRlYygKICAgICAgICAgICAgICAgICAgICBkZWMsCiAgICAgICAgICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAgICAgICAgICBkZXNjLAogICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemVycywKICAgICAgICAgICAgICAgICAgICBraW5kLAogICAgICAgICAgICAgICAgICAgIGlzU3RhdGljLAogICAgICAgICAgICAgICAgICAgIGlzUHJpdmF0ZSwKICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSwKICAgICAgICAgICAgICAgICAgICB2YWx1ZQogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IHZvaWQgMCkgewogICAgICAgICAgICAgICAgICAgIGFzc2VydFZhbGlkUmV0dXJuVmFsdWUoa2luZCwgbmV3VmFsdWUpOwogICAgICAgICAgICAgICAgICAgIHZhciBuZXdJbml0OwoKICAgICAgICAgICAgICAgICAgICBpZiAoa2luZCA9PT0gMCAvKiBGSUVMRCAqLykgewogICAgICAgICAgICAgICAgICAgICAgICBuZXdJbml0ID0gbmV3VmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld0luaXQgPSBuZXdWYWx1ZS5pbml0OwogICAgICAgICAgICAgICAgICAgICAgICBnZXQgPSBuZXdWYWx1ZS5nZXQgfHwgdmFsdWUuZ2V0OwogICAgICAgICAgICAgICAgICAgICAgICBzZXQgPSBuZXdWYWx1ZS5zZXQgfHwgdmFsdWUuc2V0OwoKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB7IGdldDogZ2V0LCBzZXQ6IHNldCB9OwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gbmV3VmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobmV3SW5pdCAhPT0gdm9pZCAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbml0ID09PSB2b2lkIDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBuZXdJbml0OwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbml0ID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gW2luaXQsIG5ld0luaXRdOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdC5wdXNoKG5ld0luaXQpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoa2luZCA9PT0gMCAvKiBGSUVMRCAqLyB8fCBraW5kID09PSAxIC8qIEFDQ0VTU09SICovKSB7CiAgICAgICAgICAgIGlmIChpbml0ID09PSB2b2lkIDApIHsKICAgICAgICAgICAgICAgIC8vIElmIHRoZSBpbml0aWFsaXplciB3YXMgdm9pZCAwLCBzdWIgaW4gYSBkdW1teSBpbml0aWFsaXplcgogICAgICAgICAgICAgICAgaW5pdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgaW5pdCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBpbml0OwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5pdCAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgdmFyIG93bkluaXRpYWxpemVycyA9IGluaXQ7CgogICAgICAgICAgICAgICAgaW5pdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgaW5pdCkgewogICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGluaXQ7CgogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3duSW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gb3duSW5pdGlhbGl6ZXJzW2ldLmNhbGwoaW5zdGFuY2UsIHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgb3JpZ2luYWxJbml0aWFsaXplciA9IGluaXQ7CgogICAgICAgICAgICAgICAgaW5pdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgaW5pdCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbEluaXRpYWxpemVyLmNhbGwoaW5zdGFuY2UsIGluaXQpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0LnB1c2goaW5pdCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoa2luZCAhPT0gMCAvKiBGSUVMRCAqLykgewogICAgICAgICAgICBpZiAoa2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLykgewogICAgICAgICAgICAgICAgZGVzYy5nZXQgPSB2YWx1ZS5nZXQ7CiAgICAgICAgICAgICAgICBkZXNjLnNldCA9IHZhbHVlLnNldDsKICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAyIC8qIE1FVEhPRCAqLykgewogICAgICAgICAgICAgICAgZGVzYy52YWx1ZSA9IHZhbHVlOwogICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDMgLyogR0VUVEVSICovKSB7CiAgICAgICAgICAgICAgICBkZXNjLmdldCA9IHZhbHVlOwogICAgICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT09IDQgLyogU0VUVEVSICovKSB7CiAgICAgICAgICAgICAgICBkZXNjLnNldCA9IHZhbHVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoaXNQcml2YXRlKSB7CiAgICAgICAgICAgICAgICBpZiAoa2luZCA9PT0gMSAvKiBBQ0NFU1NPUiAqLykgewogICAgICAgICAgICAgICAgICAgIHJldC5wdXNoKGZ1bmN0aW9uIChpbnN0YW5jZSwgYXJncykgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZ2V0LmNhbGwoaW5zdGFuY2UsIGFyZ3MpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIHJldC5wdXNoKGZ1bmN0aW9uIChpbnN0YW5jZSwgYXJncykgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuc2V0LmNhbGwoaW5zdGFuY2UsIGFyZ3MpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09PSAyIC8qIE1FVEhPRCAqLykgewogICAgICAgICAgICAgICAgICAgIHJldC5wdXNoKHZhbHVlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0LnB1c2goZnVuY3Rpb24gKGluc3RhbmNlLCBhcmdzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5jYWxsKGluc3RhbmNlLCBhcmdzKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCBuYW1lLCBkZXNjKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhcHBseU1lbWJlckRlY3MoQ2xhc3MsIGRlY0luZm9zLCBtZXRhZGF0YSkgewogICAgICAgIHZhciByZXQgPSBbXTsKICAgICAgICB2YXIgcHJvdG9Jbml0aWFsaXplcnM7CiAgICAgICAgdmFyIHN0YXRpY0luaXRpYWxpemVyczsKCiAgICAgICAgdmFyIGV4aXN0aW5nUHJvdG9Ob25GaWVsZHMgPSBuZXcgTWFwKCk7CiAgICAgICAgdmFyIGV4aXN0aW5nU3RhdGljTm9uRmllbGRzID0gbmV3IE1hcCgpOwoKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlY0luZm9zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHZhciBkZWNJbmZvID0gZGVjSW5mb3NbaV07CgogICAgICAgICAgICAvLyBza2lwIGNvbXB1dGVkIHByb3BlcnR5IG5hbWVzCiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShkZWNJbmZvKSkgY29udGludWU7CgogICAgICAgICAgICB2YXIga2luZCA9IGRlY0luZm9bMV07CiAgICAgICAgICAgIHZhciBuYW1lID0gZGVjSW5mb1syXTsKICAgICAgICAgICAgdmFyIGlzUHJpdmF0ZSA9IGRlY0luZm8ubGVuZ3RoID4gMzsKCiAgICAgICAgICAgIHZhciBpc1N0YXRpYyA9IGtpbmQgPj0gNTsgLyogU1RBVElDICovCiAgICAgICAgICAgIHZhciBiYXNlOwogICAgICAgICAgICB2YXIgaW5pdGlhbGl6ZXJzOwoKICAgICAgICAgICAgaWYgKGlzU3RhdGljKSB7CiAgICAgICAgICAgICAgICBiYXNlID0gQ2xhc3M7CiAgICAgICAgICAgICAgICBraW5kID0ga2luZCAtIDUgLyogU1RBVElDICovOwogICAgICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZSBzdGF0aWNJbml0aWFsaXplcnMgd2hlbiB3ZSBzZWUgYSBub24tZmllbGQgc3RhdGljIG1lbWJlcgogICAgICAgICAgICAgICAgc3RhdGljSW5pdGlhbGl6ZXJzID0gc3RhdGljSW5pdGlhbGl6ZXJzIHx8IFtdOwogICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzID0gc3RhdGljSW5pdGlhbGl6ZXJzOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYmFzZSA9IENsYXNzLnByb3RvdHlwZTsKICAgICAgICAgICAgICAgIC8vIGluaXRpYWxpemUgcHJvdG9Jbml0aWFsaXplcnMgd2hlbiB3ZSBzZWUgYSBub24tZmllbGQgbWVtYmVyCiAgICAgICAgICAgICAgICBwcm90b0luaXRpYWxpemVycyA9IHByb3RvSW5pdGlhbGl6ZXJzIHx8IFtdOwogICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzID0gcHJvdG9Jbml0aWFsaXplcnM7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChraW5kICE9PSAwIC8qIEZJRUxEICovICYmICFpc1ByaXZhdGUpIHsKICAgICAgICAgICAgICAgIHZhciBleGlzdGluZ05vbkZpZWxkcyA9IGlzU3RhdGljCiAgICAgICAgICAgICAgICAgICAgPyBleGlzdGluZ1N0YXRpY05vbkZpZWxkcwogICAgICAgICAgICAgICAgICAgIDogZXhpc3RpbmdQcm90b05vbkZpZWxkczsKCiAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmdLaW5kID0gZXhpc3RpbmdOb25GaWVsZHMuZ2V0KG5hbWUpIHx8IDA7CgogICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nS2luZCA9PT0gdHJ1ZSB8fAogICAgICAgICAgICAgICAgICAgIChleGlzdGluZ0tpbmQgPT09IDMgLyogR0VUVEVSICovICYmIGtpbmQgIT09IDQpIC8qIFNFVFRFUiAqLyB8fAogICAgICAgICAgICAgICAgICAgIChleGlzdGluZ0tpbmQgPT09IDQgLyogU0VUVEVSICovICYmIGtpbmQgIT09IDMpIC8qIEdFVFRFUiAqLwogICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKAogICAgICAgICAgICAgICAgICAgICAgICAiQXR0ZW1wdGVkIHRvIGRlY29yYXRlIGEgcHVibGljIG1ldGhvZC9hY2Nlc3NvciB0aGF0IGhhcyB0aGUgc2FtZSBuYW1lIGFzIGEgcHJldmlvdXNseSBkZWNvcmF0ZWQgcHVibGljIG1ldGhvZC9hY2Nlc3Nvci4gVGhpcyBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSB0aGUgZGVjb3JhdG9ycyBwbHVnaW4uIFByb3BlcnR5IG5hbWUgd2FzOiAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZQogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFleGlzdGluZ0tpbmQgJiYga2luZCA+IDIgLyogTUVUSE9EICovKSB7CiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdOb25GaWVsZHMuc2V0KG5hbWUsIGtpbmQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBleGlzdGluZ05vbkZpZWxkcy5zZXQobmFtZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGFwcGx5TWVtYmVyRGVjKAogICAgICAgICAgICAgICAgcmV0LAogICAgICAgICAgICAgICAgYmFzZSwKICAgICAgICAgICAgICAgIGRlY0luZm8sCiAgICAgICAgICAgICAgICBuYW1lLAogICAgICAgICAgICAgICAga2luZCwKICAgICAgICAgICAgICAgIGlzU3RhdGljLAogICAgICAgICAgICAgICAgaXNQcml2YXRlLAogICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzLAogICAgICAgICAgICAgICAgbWV0YWRhdGEKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgIHB1c2hJbml0aWFsaXplcnMocmV0LCBwcm90b0luaXRpYWxpemVycyk7CiAgICAgICAgcHVzaEluaXRpYWxpemVycyhyZXQsIHN0YXRpY0luaXRpYWxpemVycyk7CiAgICAgICAgcmV0dXJuIHJldDsKICAgIH0KCiAgICBmdW5jdGlvbiBwdXNoSW5pdGlhbGl6ZXJzKHJldCwgaW5pdGlhbGl6ZXJzKSB7CiAgICAgICAgaWYgKGluaXRpYWxpemVycykgewogICAgICAgICAgICByZXQucHVzaChmdW5jdGlvbiAoaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzW2ldLmNhbGwoaW5zdGFuY2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICAgICB9KTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gYXBwbHlDbGFzc0RlY3ModGFyZ2V0Q2xhc3MsIGNsYXNzRGVjcywgbWV0YWRhdGEpIHsKICAgICAgICBpZiAoY2xhc3NEZWNzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdmFyIGluaXRpYWxpemVycyA9IFtdOwogICAgICAgICAgICB2YXIgbmV3Q2xhc3MgPSB0YXJnZXRDbGFzczsKICAgICAgICAgICAgdmFyIG5hbWUgPSB0YXJnZXRDbGFzcy5uYW1lOwoKICAgICAgICAgICAgZm9yICh2YXIgaSA9IGNsYXNzRGVjcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewogICAgICAgICAgICAgICAgdmFyIGRlY29yYXRvckZpbmlzaGVkUmVmID0geyB2OiBmYWxzZSB9OwoKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5leHROZXdDbGFzcyA9IGNsYXNzRGVjc1tpXShuZXdDbGFzcywgewogICAgICAgICAgICAgICAgICAgICAgICBraW5kOiAiY2xhc3MiLAogICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICBhZGRJbml0aWFsaXplcjogY3JlYXRlQWRkSW5pdGlhbGl6ZXJNZXRob2QoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXplcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0b3JGaW5pc2hlZFJlZgogICAgICAgICAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSwKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgICAgICAgICAgZGVjb3JhdG9yRmluaXNoZWRSZWYudiA9IHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKG5leHROZXdDbGFzcyAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgYXNzZXJ0VmFsaWRSZXR1cm5WYWx1ZSgxMCAvKiBDTEFTUyAqLywgbmV4dE5ld0NsYXNzKTsKICAgICAgICAgICAgICAgICAgICBuZXdDbGFzcyA9IG5leHROZXdDbGFzczsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIFsKICAgICAgICAgICAgICAgIGRlZmluZU1ldGFkYXRhKG5ld0NsYXNzLCBtZXRhZGF0YSksCiAgICAgICAgICAgICAgICBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZXJzW2ldLmNhbGwobmV3Q2xhc3MpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF07CiAgICAgICAgfQogICAgICAgIC8vIFRoZSB0cmFuc2Zvcm1lciB3aWxsIG5vdCBlbWl0IGFzc2lnbm1lbnQgd2hlbiB0aGVyZSBhcmUgbm8gY2xhc3MgZGVjb3JhdG9ycywKICAgICAgICAvLyBzbyB3ZSBkb24ndCBoYXZlIHRvIHJldHVybiBhbiBlbXB0eSBhcnJheSBoZXJlLgogICAgfQoKICAgIGZ1bmN0aW9uIGRlZmluZU1ldGFkYXRhKENsYXNzLCBtZXRhZGF0YSkgewogICAgICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoCiAgICAgICAgICAgIENsYXNzLAogICAgICAgICAgICBTeW1ib2wubWV0YWRhdGEgfHwgU3ltYm9sLmZvcigiU3ltYm9sLm1ldGFkYXRhIiksCiAgICAgICAgICAgIHsgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogbWV0YWRhdGEgfQogICAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICBCYXNpYyB1c2FnZToKICAKICAgIGFwcGx5RGVjcygKICAgICAgQ2xhc3MsCiAgICAgIFsKICAgICAgICAvLyBtZW1iZXIgZGVjb3JhdG9ycwogICAgICAgIFsKICAgICAgICAgIGRlYywgICAgICAgICAgICAgICAgLy8gZGVjIG9yIGFycmF5IG9mIGRlY3MKICAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgLy8ga2luZCBvZiB2YWx1ZSBiZWluZyBkZWNvcmF0ZWQKICAgICAgICAgICdwcm9wJywgICAgICAgICAgICAgLy8gbmFtZSBvZiBwdWJsaWMgcHJvcCBvbiBjbGFzcyBjb250YWluaW5nIHRoZSB2YWx1ZSBiZWluZyBkZWNvcmF0ZWQsCiAgICAgICAgICAnI3AnLCAgICAgICAgICAgICAgIC8vIHRoZSBuYW1lIG9mIHRoZSBwcml2YXRlIHByb3BlcnR5IChpZiBpcyBwcml2YXRlLCB2b2lkIDAgb3RoZXJ3aXNlKSwKICAgICAgICBdCiAgICAgIF0sCiAgICAgIFsKICAgICAgICAvLyBjbGFzcyBkZWNvcmF0b3JzCiAgICAgICAgZGVjMSwgZGVjMgogICAgICBdCiAgICApCiAgICBgYGAKICAKICAgIEZ1bGx5IHRyYW5zcGlsZWQgZXhhbXBsZToKICAKICAgIGBgYGpzCiAgICBAZGVjCiAgICBjbGFzcyBDbGFzcyB7CiAgICAgIEBkZWMKICAgICAgYSA9IDEyMzsKICAKICAgICAgQGRlYwogICAgICAjYSA9IDEyMzsKICAKICAgICAgQGRlYwogICAgICBAZGVjMgogICAgICBhY2Nlc3NvciBiID0gMTIzOwogIAogICAgICBAZGVjCiAgICAgIGFjY2Vzc29yICNiID0gMTIzOwogIAogICAgICBAZGVjCiAgICAgIGMoKSB7IGNvbnNvbGUubG9nKCdjJyk7IH0KICAKICAgICAgQGRlYwogICAgICAjYygpIHsgY29uc29sZS5sb2coJ3ByaXZDJyk7IH0KICAKICAgICAgQGRlYwogICAgICBnZXQgZCgpIHsgY29uc29sZS5sb2coJ2QnKTsgfQogIAogICAgICBAZGVjCiAgICAgIGdldCAjZCgpIHsgY29uc29sZS5sb2coJ3ByaXZEJyk7IH0KICAKICAgICAgQGRlYwogICAgICBzZXQgZSh2KSB7IGNvbnNvbGUubG9nKCdlJyk7IH0KICAKICAgICAgQGRlYwogICAgICBzZXQgI2UodikgeyBjb25zb2xlLmxvZygncHJpdkUnKTsgfQogICAgfQogIAogIAogICAgLy8gYmVjb21lcwogICAgbGV0IGluaXRpYWxpemVJbnN0YW5jZTsKICAgIGxldCBpbml0aWFsaXplQ2xhc3M7CiAgCiAgICBsZXQgaW5pdEE7CiAgICBsZXQgaW5pdFByaXZBOwogIAogICAgbGV0IGluaXRCOwogICAgbGV0IGluaXRQcml2QiwgZ2V0UHJpdkIsIHNldFByaXZCOwogIAogICAgbGV0IHByaXZDOwogICAgbGV0IHByaXZEOwogICAgbGV0IHByaXZFOwogIAogICAgbGV0IENsYXNzOwogICAgY2xhc3MgX0NsYXNzIHsKICAgICAgc3RhdGljIHsKICAgICAgICBsZXQgcmV0ID0gYXBwbHlEZWNzKAogICAgICAgICAgdGhpcywKICAgICAgICAgIFsKICAgICAgICAgICAgW2RlYywgMCwgJ2EnXSwKICAgICAgICAgICAgW2RlYywgMCwgJ2EnLCAoaSkgPT4gaS4jYSwgKGksIHYpID0+IGkuI2EgPSB2XSwKICAgICAgICAgICAgW1tkZWMsIGRlYzJdLCAxLCAnYiddLAogICAgICAgICAgICBbZGVjLCAxLCAnYicsIChpKSA9PiBpLiNwcml2QkRhdGEsIChpLCB2KSA9PiBpLiNwcml2QkRhdGEgPSB2XSwKICAgICAgICAgICAgW2RlYywgMiwgJ2MnXSwKICAgICAgICAgICAgW2RlYywgMiwgJ2MnLCAoKSA9PiBjb25zb2xlLmxvZygncHJpdkMnKV0sCiAgICAgICAgICAgIFtkZWMsIDMsICdkJ10sCiAgICAgICAgICAgIFtkZWMsIDMsICdkJywgKCkgPT4gY29uc29sZS5sb2coJ3ByaXZEJyldLAogICAgICAgICAgICBbZGVjLCA0LCAnZSddLAogICAgICAgICAgICBbZGVjLCA0LCAnZScsICgpID0+IGNvbnNvbGUubG9nKCdwcml2RScpXSwKICAgICAgICAgIF0sCiAgICAgICAgICBbCiAgICAgICAgICAgIGRlYwogICAgICAgICAgXQogICAgICAgICkKICAKICAgICAgICBpbml0QSA9IHJldFswXTsKICAKICAgICAgICBpbml0UHJpdkEgPSByZXRbMV07CiAgCiAgICAgICAgaW5pdEIgPSByZXRbMl07CiAgCiAgICAgICAgaW5pdFByaXZCID0gcmV0WzNdOwogICAgICAgIGdldFByaXZCID0gcmV0WzRdOwogICAgICAgIHNldFByaXZCID0gcmV0WzVdOwogIAogICAgICAgIHByaXZDID0gcmV0WzZdOwogIAogICAgICAgIHByaXZEID0gcmV0WzddOwogIAogICAgICAgIHByaXZFID0gcmV0WzhdOwogIAogICAgICAgIGluaXRpYWxpemVJbnN0YW5jZSA9IHJldFs5XTsKICAKICAgICAgICBDbGFzcyA9IHJldFsxMF0KICAKICAgICAgICBpbml0aWFsaXplQ2xhc3MgPSByZXRbMTFdOwogICAgICB9CiAgCiAgICAgIGEgPSAoaW5pdGlhbGl6ZUluc3RhbmNlKHRoaXMpLCBpbml0QSh0aGlzLCAxMjMpKTsKICAKICAgICAgI2EgPSBpbml0UHJpdkEodGhpcywgMTIzKTsKICAKICAgICAgI2JEYXRhID0gaW5pdEIodGhpcywgMTIzKTsKICAgICAgZ2V0IGIoKSB7IHJldHVybiB0aGlzLiNiRGF0YSB9CiAgICAgIHNldCBiKHYpIHsgdGhpcy4jYkRhdGEgPSB2IH0KICAKICAgICAgI3ByaXZCRGF0YSA9IGluaXRQcml2Qih0aGlzLCAxMjMpOwogICAgICBnZXQgI2IoKSB7IHJldHVybiBnZXRQcml2Qih0aGlzKTsgfQogICAgICBzZXQgI2IodikgeyBzZXRQcml2Qih0aGlzLCB2KTsgfQogIAogICAgICBjKCkgeyBjb25zb2xlLmxvZygnYycpOyB9CiAgCiAgICAgICNjKC4uLmFyZ3MpIHsgcmV0dXJuIHByaXZDKHRoaXMsIC4uLmFyZ3MpIH0KICAKICAgICAgZ2V0IGQoKSB7IGNvbnNvbGUubG9nKCdkJyk7IH0KICAKICAgICAgZ2V0ICNkKCkgeyByZXR1cm4gcHJpdkQodGhpcyk7IH0KICAKICAgICAgc2V0IGUodikgeyBjb25zb2xlLmxvZygnZScpOyB9CiAgCiAgICAgIHNldCAjZSh2KSB7IHByaXZFKHRoaXMsIHYpOyB9CiAgICB9CiAgCiAgICBpbml0aWFsaXplQ2xhc3MoQ2xhc3MpOwogICAqLwoKICAgIHJldHVybiBmdW5jdGlvbiBhcHBseURlY3MyMjAzUih0YXJnZXRDbGFzcywgbWVtYmVyRGVjcywgY2xhc3NEZWNzLCBwYXJlbnRDbGFzcykgewogICAgICAgIGlmIChwYXJlbnRDbGFzcyAhPT0gdm9pZCAwKSB7CiAgICAgICAgICAgIHZhciBwYXJlbnRNZXRhZGF0YSA9CiAgICAgICAgICAgICAgICBwYXJlbnRDbGFzc1tTeW1ib2wubWV0YWRhdGEgfHwgU3ltYm9sLmZvcigiU3ltYm9sLm1ldGFkYXRhIildOwogICAgICAgIH0KICAgICAgICB2YXIgbWV0YWRhdGEgPSBPYmplY3QuY3JlYXRlKAogICAgICAgICAgICBwYXJlbnRNZXRhZGF0YSA9PT0gdm9pZCAwID8gbnVsbCA6IHBhcmVudE1ldGFkYXRhCiAgICAgICAgKTsKICAgICAgICB2YXIgZSA9IGFwcGx5TWVtYmVyRGVjcyh0YXJnZXRDbGFzcywgbWVtYmVyRGVjcywgbWV0YWRhdGEpOwogICAgICAgIGlmICghY2xhc3NEZWNzLmxlbmd0aCkgZGVmaW5lTWV0YWRhdGEodGFyZ2V0Q2xhc3MsIG1ldGFkYXRhKTsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBlOiBlLAogICAgICAgICAgICAvLyBMYXppbHkgYXBwbHkgY2xhc3MgZGVjb3JhdGlvbnMgc28gdGhhdCBtZW1iZXIgaW5pdCBsb2NhbHMgY2FuIGJlIHByb3Blcmx5IGJvdW5kLgogICAgICAgICAgICBnZXQgYygpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhcHBseUNsYXNzRGVjcyh0YXJnZXRDbGFzcywgY2xhc3NEZWNzLCBtZXRhZGF0YSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgfTsKICAgIH07Cn0KCmZ1bmN0aW9uIF9hcHBseV9kZWNzXzIyMDNfcih0YXJnZXRDbGFzcywgbWVtYmVyRGVjcywgY2xhc3NEZWNzLCBwYXJlbnRDbGFzcykgewogICAgcmV0dXJuIChfYXBwbHlfZGVjc18yMjAzX3IgPSBhcHBseURlY3MyMjAzUkZhY3RvcnkoKSkoCiAgICAgICAgdGFyZ2V0Q2xhc3MsCiAgICAgICAgbWVtYmVyRGVjcywKICAgICAgICBjbGFzc0RlY3MsCiAgICAgICAgcGFyZW50Q2xhc3MKICAgICk7Cn0KZnVuY3Rpb24gX2lkZW50aXR5KHgpIHsgcmV0dXJuIHg7IH0KLyogQG1pblZlcnNpb24gNy4yMi4wICovCmZ1bmN0aW9uIGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yKHN1cHByZXNzZWQsIGVycm9yKSB7CiAgICBpZiAodHlwZW9mIFN1cHByZXNzZWRFcnJvciAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWYKICAgICAgICBkaXNwb3NlX1N1cHByZXNzZWRFcnJvciA9IFN1cHByZXNzZWRFcnJvcjsKICAgIH0gZWxzZSB7CiAgICAgICAgZGlzcG9zZV9TdXBwcmVzc2VkRXJyb3IgPSBmdW5jdGlvbiBTdXBwcmVzc2VkRXJyb3Ioc3VwcHJlc3NlZCwgZXJyb3IpIHsKICAgICAgICAgICAgdGhpcy5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZDsKICAgICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yOwogICAgICAgICAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKCkuc3RhY2s7CiAgICAgICAgfTsKICAgICAgICBkaXNwb3NlX1N1cHByZXNzZWRFcnJvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSwgewogICAgICAgICAgICBjb25zdHJ1Y3RvcjogewogICAgICAgICAgICAgICAgdmFsdWU6IGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yLAogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gbmV3IGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yKHN1cHByZXNzZWQsIGVycm9yKTsKfQoKZnVuY3Rpb24gX2Rpc3Bvc2Uoc3RhY2ssIGVycm9yLCBoYXNFcnJvcikgewogICAgZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgICB3aGlsZSAoc3RhY2subGVuZ3RoID4gMCkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgdmFyIHIgPSBzdGFjay5wb3AoKTsKICAgICAgICAgICAgICAgIHZhciBwID0gci5kLmNhbGwoci52KTsKICAgICAgICAgICAgICAgIGlmIChyLmEpIHJldHVybiBQcm9taXNlLnJlc29sdmUocCkudGhlbihuZXh0LCBlcnIpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZXJyKGUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChoYXNFcnJvcikgdGhyb3cgZXJyb3I7CiAgICB9CgogICAgZnVuY3Rpb24gZXJyKGUpIHsKICAgICAgICBlcnJvciA9IGhhc0Vycm9yID8gbmV3IGRpc3Bvc2VfU3VwcHJlc3NlZEVycm9yKGUsIGVycm9yKSA6IGU7CiAgICAgICAgaGFzRXJyb3IgPSB0cnVlOwoKICAgICAgICByZXR1cm4gbmV4dCgpOwogICAgfQoKICAgIHJldHVybiBuZXh0KCk7Cn1mdW5jdGlvbiBfdXNpbmcoc3RhY2ssIHZhbHVlLCBpc0F3YWl0KSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHZvaWQgMCkgcmV0dXJuIHZhbHVlOwogICAgaWYgKE9iamVjdCh2YWx1ZSkgIT09IHZhbHVlKSB7CiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigidXNpbmcgZGVjbGFyYXRpb25zIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBvYmplY3RzLCBmdW5jdGlvbnMsIG51bGwsIG9yIHVuZGVmaW5lZC4iKTsKICAgIH0KICAgIC8vIGNvcmUtanMtcHVyZSB1c2VzIFN5bWJvbC5mb3IgZm9yIHBvbHlmaWxsaW5nIHdlbGwta25vd24gc3ltYm9scwogICAgaWYgKGlzQXdhaXQpIHsKICAgICAgICB2YXIgZGlzcG9zZSA9CiAgICAgICAgICAgIHZhbHVlW1N5bWJvbC5hc3luY0Rpc3Bvc2UgfHwgU3ltYm9sLmZvcigiU3ltYm9sLmFzeW5jRGlzcG9zZSIpXTsKICAgIH0KICAgIGlmIChkaXNwb3NlID09PSBudWxsIHx8IGRpc3Bvc2UgPT09IHZvaWQgMCkgewogICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuZGlzcG9zZSB8fCBTeW1ib2wuZm9yKCJTeW1ib2wuZGlzcG9zZSIpXTsKICAgIH0KICAgIGlmICh0eXBlb2YgZGlzcG9zZSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFByb3BlcnR5IFtTeW1ib2wuZGlzcG9zZV0gaXMgbm90IGEgZnVuY3Rpb24uYCk7CiAgICB9CiAgICBzdGFjay5wdXNoKHsgdjogdmFsdWUsIGQ6IGRpc3Bvc2UsIGE6IGlzQXdhaXQgfSk7CiAgICByZXR1cm4gdmFsdWU7Cn1mdW5jdGlvbiBfdXNpbmdfY3R4KCkgewogICAgdmFyIF9kaXNwb3NlU3VwcHJlc3NlZEVycm9yID0KICAgICAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSAiZnVuY3Rpb24iCiAgICAgICAgICAgID8gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmCiAgICAgICAgICAgIFN1cHByZXNzZWRFcnJvcgogICAgICAgICAgICA6IChmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQpIHsKICAgICAgICAgICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoKTsKICAgICAgICAgICAgICAgIGVyci5uYW1lID0gIlN1cHByZXNzZWRFcnJvciI7CiAgICAgICAgICAgICAgICBlcnIuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQ7CiAgICAgICAgICAgICAgICBlcnIuZXJyb3IgPSBlcnJvcjsKICAgICAgICAgICAgICAgIHJldHVybiBlcnI7CiAgICAgICAgICAgIH0pLAogICAgICAgIGVtcHR5ID0ge30sCiAgICAgICAgc3RhY2sgPSBbXTsKICAgIGZ1bmN0aW9uIHVzaW5nKGlzQXdhaXQsIHZhbHVlKSB7CiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHsKICAgICAgICAgICAgaWYgKE9iamVjdCh2YWx1ZSkgIT09IHZhbHVlKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKAogICAgICAgICAgICAgICAgICAgICJ1c2luZyBkZWNsYXJhdGlvbnMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIG9iamVjdHMsIGZ1bmN0aW9ucywgbnVsbCwgb3IgdW5kZWZpbmVkLiIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIGNvcmUtanMtcHVyZSB1c2VzIFN5bWJvbC5mb3IgZm9yIHBvbHlmaWxsaW5nIHdlbGwta25vd24gc3ltYm9scwogICAgICAgICAgICBpZiAoaXNBd2FpdCkgewogICAgICAgICAgICAgICAgdmFyIGRpc3Bvc2UgPQogICAgICAgICAgICAgICAgICAgIHZhbHVlW1N5bWJvbC5hc3luY0Rpc3Bvc2UgfHwgU3ltYm9sLmZvcigiU3ltYm9sLmFzeW5jRGlzcG9zZSIpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZGlzcG9zZSA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBkaXNwb3NlID0gdmFsdWVbU3ltYm9sLmRpc3Bvc2UgfHwgU3ltYm9sLmZvcigiU3ltYm9sLmRpc3Bvc2UiKV07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHR5cGVvZiBkaXNwb3NlICE9PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBQcm9wZXJ0eSBbU3ltYm9sLmRpc3Bvc2VdIGlzIG5vdCBhIGZ1bmN0aW9uLmApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0YWNrLnB1c2goeyB2OiB2YWx1ZSwgZDogZGlzcG9zZSwgYTogaXNBd2FpdCB9KTsKICAgICAgICB9IGVsc2UgaWYgKGlzQXdhaXQpIHsKICAgICAgICAgICAgLy8gcHJvdmlkZSB0aGUgbnVsbGlzaCBgdmFsdWVgIGFzIGBkYCBmb3IgbWluaWZpY2F0aW9uIGdhaW4KICAgICAgICAgICAgc3RhY2sucHVzaCh7IGQ6IHZhbHVlLCBhOiBpc0F3YWl0IH0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdmFsdWU7CiAgICB9CiAgICByZXR1cm4gewogICAgICAgIC8vIGVycm9yCiAgICAgICAgZTogZW1wdHksCiAgICAgICAgLy8gdXNpbmcKICAgICAgICB1OiB1c2luZy5iaW5kKG51bGwsIGZhbHNlKSwKICAgICAgICAvLyBhd2FpdCB1c2luZwogICAgICAgIGE6IHVzaW5nLmJpbmQobnVsbCwgdHJ1ZSksCiAgICAgICAgLy8gZGlzcG9zZQogICAgICAgIGQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGVycm9yID0gdGhpcy5lOwoKICAgICAgICAgICAgZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUKICAgICAgICAgICAgICAgIHdoaWxlICgocmVzb3VyY2UgPSBzdGFjay5wb3AoKSkpIHsKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzb3VyY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwb3NhbFJlc3VsdCA9IHJlc291cmNlLmQgJiYgcmVzb3VyY2UuZC5jYWxsKHJlc291cmNlLnYpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzb3VyY2UuYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShkaXNwb3NhbFJlc3VsdCkudGhlbihuZXh0LCBlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyKGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChlcnJvciAhPT0gZW1wdHkpIHRocm93IGVycm9yOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmdW5jdGlvbiBlcnIoZSkgewogICAgICAgICAgICAgICAgZXJyb3IgPSBlcnJvciAhPT0gZW1wdHkgPyBuZXcgX2Rpc3Bvc2VTdXBwcmVzc2VkRXJyb3IoZXJyb3IsIGUpIDogZTsKCiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dCgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gbmV4dCgpOwogICAgICAgIH0sCiAgICB9Owp9L2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfdHJhbnNmb3Jtc19iYXNlLTcuMC4wL3NyYy9yZXNvbHZlci9tb2QucnMAAADq2RcAdwAAALcGAAA2AAAAY2FsbGVkIGV4cGVjdCBvbiAAAAB02hcAEQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX2FzdC01LjAuMS9zcmMvcGF0LnJzAACQ2hcAYgAAAA0AAAAUAAAAGwUAAAQAAAAEAAAANwEAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfYmFzZS03LjAuMC9zcmMvZml4ZXIucnMU2xcAcAAAAMQAAABAAAAAFNsXAHAAAACxAgAAFgAAABTbFwBwAAAAFgQAACAAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9pbmRleG1hcC0yLjQuMC9zcmMvbWFwL2NvcmUucnMAtNsXAGMAAAAtAAAAIwAAAGluZGV4IG5vdCBmb3VuZAC02xcAYwAAADoAAAAKAAAAtNsXAGMAAABTAQAAPQAAALTbFwBjAAAAOwIAADQAAAC02xcAYwAAADwCAAA0AAAAtNsXAGMAAAC6AQAALAAAALTbFwBjAAAAsAEAACIAAABhc3NlcnRpb24gZmFpbGVkOiBpbmRpY2VzLmNhcGFjaXR5KCkgLSBpbmRpY2VzLmxlbigpID49IGVudHJpZXMubGVuKCkvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9pbmRleG1hcC0yLjQuMC9zcmMvbWFwL2NvcmUvcmF3LnJz3dwXAGcAAAAOAAAABQAAALTbFwBjAAAAJQAAAA8AAAAAAAAADAAAAAQAAAAcBQAAHQUAAB4FAAAoAAAACAAAADUBAABDbGFzc0ZuVmFyVXNpbmdUc0ludGVyZmFjZVRzVHlwZUFsaWFzVHNFbnVtVHNNb2R1bGVpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBkZXN0cnVjdHVyaW5nIHBhdHRlcm4gaW5zaWRlIFRzUGFyYW1ldGVyUHJvcGVydHkAAAC73RcAWgAAAGjfFwB6AAAAPgEAACEAAABo3xcAegAAADwDAAANAAAA1CMYACoAAABo3xcAegAAAMsDAAAdAAAAaN8XAHoAAACmAwAAQAAAAF9rZXlo3xcAegAAADYEAABRAAAAaN8XAHoAAABABAAAJwAAAF9jcmVhdGVSZXF1aXJlX19yZXF1aXJlZXhwb3J0c2NyZWF0ZVJlcXVpcmV1cmwAAGjfFwB6AAAALAUAABoAAABo3xcAegAAAC4FAAAaAAAAT25seSBhbWJpZW50IG1vZHVsZXMgY2FuIHVzZSBxdW90ZWQgbmFtZXMuAABo3xcAegAAANgFAAAOAAAAbm90IGltcGxlbWVudGVkABTkFwBkAAAAnQwAAD4AAAAU5BcAZAAAAKkMAAA8AAAAFOQXAGQAAACKDAAAJgAAAB8FAAAEAAAABAAAADcBAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV90cmFuc2Zvcm1zX3R5cGVzY3JpcHQtNy4wLjAvc3JjL3RyYW5zZm9ybS5ycwAAaN8XAHoAAAC6AgAAOAAAAEltcG9ydCBkZWNsYXJhdGlvbnMgaW4gYSBuYW1lc3BhY2UgY2Fubm90IHJlZmVyZW5jZSBhIG1vZHVsZS5FU00tc3R5bGUgbW9kdWxlIGRlY2xhcmF0aW9ucyBhcmUgbm90IHBlcm1pdHRlZCBpbiBhIG5hbWVzcGFjZS5JbXBvcnQgYXNzaWdubWVudCBjYW5ub3QgYmUgdXNlZCB3aGVuIHRhcmdldGluZyBFQ01BU2NyaXB0IG1vZHVsZXMuIENvbnNpZGVyIHVzaW5nIGBpbXBvcnQgKiBhcyBucyBmcm9tICJtb2QiYCwgYGltcG9ydCB7YX0gZnJvbSAibW9kImAsIGBpbXBvcnQgZCBmcm9tICJtb2QiYCwgb3IgYW5vdGhlciBtb2R1bGUgZm9ybWF0IGluc3RlYWQuRXhwb3J0IGFzc2lnbm1lbnQgY2Fubm90IGJlIHVzZWQgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCBtb2R1bGVzLiBDb25zaWRlciB1c2luZyBgZXhwb3J0IGRlZmF1bHRgIG9yIGFub3RoZXIgbW9kdWxlIGZvcm1hdCBpbnN0ZWFkLi9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfdHlwZXNjcmlwdC03LjAuMC9zcmMvdHlwZXNjcmlwdC5ycwAAALbhFwB7AAAAPQAAACwAAAAqAwAADAAAAAQAAABOAwAATwMAAC0DAEHkxN8AC54DAQAAAC4DAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV90cmFuc2Zvcm1zX3R5cGVzY3JpcHQtNy4wLjAvc3JjL3RzX2VudW0ucnNOYU4AbOIXAHgAAACvAAAAEgAAAGziFwB4AAAA2QAAABoAAAAgBQAABAAAAAQAAAA3AQAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfdHJhbnNmb3Jtc190eXBlc2NyaXB0LTcuMC4wL3NyYy9zdHJpcF90eXBlLnJzABjjFwB7AAAAyQAAACkAAABzdHJ1Y3QgQ29uZmlnZW51bSBUc0ltcG9ydEV4cG9ydEFzc2lnbkNvbmZpZ2VudW0gSW1wb3J0c05vdFVzZWRBc1ZhbHVlcwAqAwAADAAAAAQAAABOAwAATwMAACcEAEGMyN8AC4oEAQAAAC4DAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV91dGlscy03LjAuMC9zcmMvbGliLnJzXwAAAAEAAAAAAAAAeOQXAAEA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AAAtAwBBxK7gAAv+DgEAAAAuAwAASWRlbnRBcnJheVJlc3RPYmplY3RBc3NpZ25JbnZhbGlkRXhwcgAAAAAAAAAEAAAAAAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX2NvZGVnZW4tNS4wLjEvc3JjL3RleHRfd3JpdGVyL2Jhc2ljX2ltcGwucnM7IHZhcmxldGNvbnN0KyF+dHlwZW9mdm9pZGRlbGV0ZT0rPS09Kj0vPSU9PDw9Pj49Pj4+PXw9Xj0mPSoqPSYmPXx8PT8/PT09IT09PT0hPT08PD0+Pj08PD4+Pj4+Ki8lfF4mfHwmJioqPz8rKy0tL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvaXRlci5yc3VuZXhwZWN0ZWQgcmVnZXggZmluZCBlcnJvcjogCnRvIGhhbmRsZSBmaW5kIGVycm9ycywgdXNlICd0cnknIG9yICdzZWFyY2gnIG1ldGhvZHMAAADTGBgAHQAAAPAYGAA1AAAAaRgYAGoAAAB+AQAAGQAAAGArGABqAAAAXgIAABwAAABgKxgAagAAAGsCAAAyAAAAAgAAAGArGABqAAAAAQMAABUAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9zZWFyY2gucnNpbnZhbGlkIHNwYW4gIGZvciBoYXlzdGFjayBvZiBsZW5ndGggAAAA6BkYAA0AAAD1GRgAGAAAAHwZGABsAAAAqgEAAAkAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9jb2RlZ2VuLTUuMC4xL3NyYy90eXBlc2NyaXB0LnJzYXMoPT57fWRlY2xhcmVuYW1lc3BhY2VgAAAAMBoYAG0AAAC2AQAAIgAAACR7AAAwGhgAbQAAALkBAAAhAAAAZXh0ZW5kcz86ZW51bS4uLl1pbmZlcnJlYWRvbmx5b3V0aW1wb3J0Lm1vZHVsZWdsb2JhbGFueXVua25vd25udW1iZXJvYmplY3Rib29sZWFuYmlnaW50c3RyaW5nc3ltYm9sdW5kZWZpbmVkbnVsbG5ldmVyaW50cmluc2lja2V5b2Z1bmlxdWVpbnRlcmZhY2VleHBvcnRzYXRpc2ZpZXNhc3NlcnRzaXN0eXBlYWJzdHJhY3RuZXdyZXF1aXJlgBcYAHkAAABxAAAAGgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX2NvZGVnZW4tNS4wLjEvc3JjL2xpYi5ycwAArBsYAGYAAADlBwAALwAAAKwbGABmAAAA3wcAADAAAABzdXBlcmRlZmVyLGZyb213aXRoYXNzZXJ0YXNzZXJ0aW9uIGZhaWxlZDogbi5zcGVjaWZpZXJzLmxlbigpIDw9IDIAAKwbGABmAAAAaAEAABUAAAAjIQAArBsYAGYAAAByDgAAEgAAAG4tMHidHBgAAwAAADB4AACoHBgAAgAAAGZ1bmN0aW9uYXN5bmNpZmVsc2U8aW52YWxpZD51c2Ugc3RyaWN0c2NyaXB0PCEtLVx4M2MhLS0tLT4tLVx4M2WsGxgAZgAAAL0HAAAiAAAArBsYAGYAAADABwAAIQAAAGZvcnRyeWZpbmFsbHlAPy5hd2FpdGJyZWFrY2xhc3N0aHJvd3doaWxleWllbGRvZnJldHVybmNhc2VkZWZhdWx0AAAArBsYAGYAAAB/DQAAGgAAAKwbGABmAAAAgg0AADsAAABzd2l0Y2hjYXRjaCNwdWJsaWNwcm90ZWN0ZWRwcml2YXRlYWNjZXNzb3Jjb250aW51ZWRlYnVnZ2VyZG9pbXBsZW1lbnRzbmV3LnRhcmdldGltcG9ydC5tZXRhbm90IGltcGxlbWVudGVkOiBjb2RlZ2VuIG9mIGBleHBvcnQgZGVmYXVsdCBmcm9tICdmb28nO2AA0x0YADgAAACsGxgAZgAAALYBAAARAAAArBsYAGYAAADjAgAANAAAAEluZmluaXR5ZWNvbnN0cnVjdG9yrBsYAGYAAAAgCgAASAAAAKwbGABmAAAAIQoAACgAAACsGxgAZgAAAAkIAABMAAAArBsYAGYAAAAMCAAAJwAAAGZhbHNldHJ1ZTwvPC8+PD51c2luZy8vLyoqLyNfX1BVUkVfXyoDAAAMAAAABAAAAE4DAABDBQAALQMAQcy94AALHgEAAAAuAwAAKgMAAAwAAAAEAAAATgMAAE8DAAAtAwBB9L3gAAudBgEAAAAuAwAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseS9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAAMx8YAEsAAAB7CgAADgAAAE0FAAAIAAAABAAAAE4FAABPBQAABAAAAAQAAABQBQAAW10gALAfGAABAAAAsR8YAAIAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZmFzdF90c19zdHJpcC03LjEuMC9zcmMvbGliLnJzAFEFAAAIAAAABAAAAFIFAABTBQAAVAUAAFUFAABWBQAAVwUAAFgFAABZBQAAWgUAAFsFAABcBQAAXQUAAF4FAABfBQAAU3ludGF4IGVycm9yxB8YAGcAAADzAAAASQAAAMQfGABnAAAAPgEAABUAAADEHxgAZwAAABEBAAAlAAAAxB8YAGcAAAAgAQAAJQAAAMQfGABnAAAAJAEAACUAAADEHxgAZwAAACUBAAAlAAAAxB8YAGcAAAApAQAAJQAAAMQfGABnAAAAKgEAACUAAADEHxgAZwAAACsBAAAlAAAAxB8YAGcAAAAxAQAAJQAAAMQfGABnAAAAMwEAACUAAADEHxgAZwAAADQBAAAlAAAAxB8YAGcAAAA1AQAAJQAAAFVuc3VwcG9ydGVkIHN5bnRheAAAxB8YAGcAAAB+AQAAMAAAAGdlbmVyYXRlZCBjb2RlIHdhcyBub3QgdXRmLThmYWlsZWQgdG8gd3JpdGUgc291cmNlIG1hcHNvdXJjZSBtYXAgd2FzIG5vdCB1dGY4AAAAxB8YAGcAAAC3AQAAEgAAAMQfGABnAAAAwwEAABUAAADEHxgAZwAAAM8BAAAVAAAAxB8YAGcAAADdAQAAGQAAAMQfGABnAAAA6QEAABkAAAAPAEGoxOAAC4EBECIYAMQfGABnAAAADQIAABkAAADEHxgAZwAAABcCAABAAAAAxB8YAGcAAAAbAgAAJAAAAG92ZXJyaWRlXCIYAAgAAADEHxgAZwAAAFECAAA8AAAAxB8YAGcAAACqAgAAGAAAAGluaW5zdGFuY2VvZmdldHNldHN0YXRpYwAAAAAQAEHAxeAAC8kldGhpc8QfGABnAAAA/wQAACQAAABzdHJ1Y3QgT3B0aW9uc3ZhcmlhbnQgaWRlbnRpZmllcmVudW0gTW9kZUludmFsaWRTeW50YXhVbnN1cHBvcnRlZFN5bnRheFVua25vd24vcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL2RyaWZ0LnJzAAAAIiMYAFsAAAD/AAAAGQAAACIjGABbAAAA8gAAABIAAAAiIxgAWwAAAM4AAAAkAAAAIiMYAFsAAADRAAAAJAAAACIjGABbAAAAQAAAACIAAAAgICAgaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogIGlzIGFscmVhZHkgcmVuYW1lZCB0byAsIGJ1dCBpdCdzIHJlbmFtZWQgYXMgANQjGAAqAAAA/iMYABcAAAAVJBgAFgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3RyYW5zZm9ybXNfYmFzZS03LjAuMC9zcmMvcmVuYW1lL21vZC5ycwAAAEQkGAB1AAAA1QAAABkAAABjYW5ub3QgYWNjZXNzIGEgc2NvcGVkIHRocmVhZCBsb2NhbCB2YXJpYWJsZSB3aXRob3V0IGNhbGxpbmcgYHNldGAgZmlyc3QvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zY29wZWQtdGxzLTEuMC4xL3NyYy9saWIucnMUJRgAYAAAAKgAAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxheUlvVXRmOEJhZEpzb25WbHFMZWZ0b3ZlclZscU5vVmFsdWVzVmxxT3ZlcmZsb3dCYWRTZWdtZW50U2l6ZUJhZFNvdXJjZVJlZmVyZW5jZUJhZE5hbWVSZWZlcmVuY2VJbmNvbXBhdGlibGVTb3VyY2VNYXBJbnZhbGlkRGF0YVVybENhbm5vdEZsYXR0ZW5JbnZhbGlkUmFtQnVuZGxlTWFnaWNJbnZhbGlkUmFtQnVuZGxlSW5kZXhJbnZhbGlkUmFtQnVuZGxlRW50cnlOb3RBUmFtQnVuZGxlSW52YWxpZFJhbmdlTWFwcGluZ0luZGV4SW52YWxpZEJhc2U2NABNBQAACAAAAAQAAABgBQAATQUAAAgAAAAEAAAATgUAAGAFAACsJhgAYQUAAGIFAABjBQAAZAUAALwCAAAAAAAACAAAAAQAAABlBQAAAAAAAAgAAAAEAAAA6wIAAGUFAADoJhgAwAIAAGYFAABnBQAAwAIAALwCAABoBQAABAAAAAQAAABpBQAAaAUAAAQAAAAEAAAAagUAAGkFAAAkJxgAawUAAGwFAAC6AgAAbQUAALwCAAAAAAAABAAAAAQAAAAyAAAARnJvbVV0ZjhFcnJvcmJ5dGVzZXJyb3JpbnZhbGlkIHV0Zi04OiBjb3JydXB0IGNvbnRlbnRzaW52YWxpZCB1dGYtOABuBQAAFAAAAAQAAABvBQAAbgUAABQAAAAEAAAAcAUAAG8FAAC0JxgAcQUAAHIFAAC6AgAAcQUAALwCAABzBQAAHAAAAAQAAAB0BQAAcwUAABwAAAAEAAAAdQUAAHQFAADwJxgAdgUAAHcFAAC6AgAAdgUAALwCAAB4BQAAMAAAAAQAAADDAgAAeAUAADAAAAAEAAAAxAIAAMMCAAAsKBgAxQIAAHkFAADHAgAAxQIAAMgCAAB6BQAAOAAAAAQAAADDAgAAegUAADgAAAAEAAAAxAIAAMMCAABoKBgAxQIAAHsFAADHAgAAxQIAAMgCAABFcnJvcmNvbnRleHRzb3VyY2UAAE0DAAAUAAAABAAAAHwFAABNAwAAFAAAAAQAAACrAgAAfAUAALgoGADAAgAAfQUAAH4FAADAAgAAvAIAAH8FAAAMAAAABAAAAIAFAAB/BQAADAAAAAQAAACqAgAAgAUAAPQoGADAAgAAgQUAALoCAACCBQAAvAIAAFRva2VuQW5kU3BhbnRva2VuaGFkX2xpbmVfYnJlYWtzcGFuAFEFAAAIAAAABAAAAFIFAABTBQAAVAUAAFUFAABWBQAAVwUAAFgFAABZBQAAWgUAAFsFAABcBQAAXQUAAF4FAABfBQAAVHlwZVNjcmlwdCBleHBvcnQgYXNzaWdubWVudCBpcyBub3Qgc3VwcG9ydGVkIGluIHN0cmlwLW9ubHkgbW9kZVR5cGVTY3JpcHQgaW1wb3J0IGVxdWFscyBkZWNsYXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIHN0cmlwLW9ubHkgbW9kZVR5cGVTY3JpcHQgZW51bSBpcyBub3Qgc3VwcG9ydGVkIGluIHN0cmlwLW9ubHkgbW9kZVR5cGVTY3JpcHQgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gc3RyaXAtb25seSBtb2RlVHlwZVNjcmlwdCBwYXJhbWV0ZXIgcHJvcGVydHkgaXMgbm90IHN1cHBvcnRlZCBpbiBzdHJpcC1vbmx5IG1vZGVUaGUgYW5nbGUtYnJhY2tldCBzeW50YXggZm9yIHR5cGUgYXNzZXJ0aW9ucywgYDxUPmV4cHJgLCBpcyBub3Qgc3VwcG9ydGVkIGluIHR5cGUgc3RyaXAgbW9kZS4gSW5zdGVhZCwgdXNlIHRoZSAnYXMnIHN5bnRheDogYGV4cHIgYXMgVGAuL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvcG9vbC5ycwAAYCsYAGoAAAA9AgAAHAAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IE1vZHVsZSBpcyBoYW5kbGVkIGFib3ZlAAAA3CsYAEEAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9wYXJzZXItNi4wLjIvc3JjL3BhcnNlci9tb2QucnMoLBgAbAAAALQAAAAyAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc3djX2VjbWFfcGFyc2VyLTYuMC4yL3NyYy9wYXJzZXIvcGF0LnJzpCwYAGwAAACaAgAAKgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3BhcnNlci02LjAuMi9zcmMvcGFyc2VyL2V4cHIucnMAAAAgLRgAbQAAAKcDAAAaAAAAgwUAAIQFAACFBQAAhgUAAIcFAADWAgAAiAUAAIkFAACKBQAAiwUAAIwFAADWAgAAZXZhbC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC9zdGFibGUvcXVpY2tzb3J0LnJzbWlkID4gbGVuMy4YAAkAAADULRgAXwAAAEwAAAAfAAAA1C0YAF8AAABGAAAAFwAAAEhhc2ggdGFibGUgY2FwYWNpdHkgb3ZlcmZsb3dkLhgAHAAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2hhc2hicm93bi0wLjE0LjUvc3JjL3Jhdy9tb2QucnOILhgAZAAAAFYAAAAoAAAAAAAAAAwAAAAEAAAAjQUAAI4FAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zd2NfZWNtYV9wYXJzZXItNi4wLjIvc3JjL3BhcnNlci9pbnB1dC5ycwAAEC8YAG4AAADPAAAAKwAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3N3Y19lY21hX3BhcnNlci02LjAuMi9zcmMvbGV4ZXIvc3RhdGUucnMAAACQLxgAbQAAAH8AAAAuAAAAkC8YAG0AAACAAAAAOAAAAJAvGABtAAAAgQAAABkAAAAQLxgAbgAAALkBAAAnAAAAEC8YAG4AAAC/AQAAIwAAADxlb2Y+UmVmQ2VsbHZhbHVlPGJvcnJvd2VkPgBhMBgACgAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnN0MBgATAAAALQHAAANAAAAeDEYAGAAAAArAQAAKQAAAHgxGABgAAAAOgEAACUAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91bmljb2RlLXdpZHRoLTAuMS4xMy9zcmMvdGFibGVzLnJzAPAwGABnAAAAJwAAABkAAADwMBgAZwAAAC0AAAAdAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdGV4dHdyYXAtMC4xNi4xL3NyYy9jb3JlLnJzeDEYAGAAAAAMAQAAHgAAAKQ5GABqAAAAwQAAACgAAACkORgAagAAAMMAAAAlAAAApDkYAGoAAADEAAAALwAAAC0AAACkORgAagAAAM4AAAAlAAAApDkYAGoAAADPAAAALwAAAAAAAAAcAAAABAAAAI8FAACQBQAAkQUAAJIFAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL3dvcmRfc2VwYXJhdG9ycy5ycwBYMhgAawAAANwAAAAoAAAAWDIYAGsAAADSAAAALAAAAJMFAAAsAAAABAAAAJQFAACQBQAAlQUAAJYFAABYMhgAawAAABYBAAAcAAAAWDIYAGsAAAA1AQAAKAAAAFgyGABrAAAALgEAACwAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zbWF3ay0wLjMuMi9zcmMvbGliLnJzADAzGABbAAAAHgEAABsAAAAwMxgAWwAAACIBAAAUAAAAMDMYAFsAAAAiAQAADQAAADAzGABbAAAAIAEAABEAAAAwMxgAWwAAACwBAAAJAAAAMDMYAFsAAAAnAQAAFwAAADAzGABbAAAACAEAABwAAAAwMxgAWwAAAAgBAAAvAAAAKGksIGopIG5vdCBhYm92ZSBkaWFnb25hbDogKCwgAAAMNBgAHAAAACg0GAACAAAA4NAYAAEAAAAwMxgAWwAAAIYBAAAUAAAAKGksIGopIG91dCBvZiBib3VuZHM6ICgpLCBzaXplOiBUNBgAFwAAACg0GAACAAAAazQYAAkAAAAwMxgAWwAAAIcBAAAZAAAAMDMYAFsAAACSAQAADAAAADAzGABbAAAAkgEAACoAAAAwMxgAWwAAAIgBAAATAAAAMDMYAFsAAAB1AQAAIQAAADAzGABbAAAAdgEAABkAAAAwMxgAWwAAAHkBAAAlAAAAMDMYAFsAAAB6AQAAGwAAADAzGABbAAAAcwEAACEAAADAOhgAdwAAAEsBAAAgAAAAwDoYAHcAAABLAQAALAAAAMA6GAB3AAAASwEAADIAAADAOhgAdwAAAFMBAAAYAAAAQzkYAE8AAADIBQAAFAAAAEM5GABPAAAAyAUAACEAAABDORgATwAAALwFAAAhAEGU6+AAC70FAQAAAJcFAABjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAEM5GABPAAAATAQAACQAAAAFNxgAawAAALkAAABGAAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdGV4dHdyYXAtMC4xNi4xL3NyYy93cmFwLnJz6DUYAGAAAAAXAQAAGAAAAE92ZXJmbG93RXJyb3JpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlL3J1c3RjLzkwYjM1YTYyMzljM2Q4YmRhYmM1MzBhNmEwODE2ZjdmZjg5YTBhYWYvbGlicmFyeS9hbGxvYy9zcmMvYm9ycm93LnJzjTYYAEsAAAAVAQAAJQAAAFV0ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdGV4dHdyYXAtMC4xNi4xL3NyYy93cmFwX2FsZ29yaXRobXMucnMFNxgAawAAAHEBAAAaAAAABTcYAGsAAABrAQAAIgAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3VuaWNvZGUtbGluZWJyZWFrLTAuMS41L3NyYy9saWIucnMAkDcYAGcAAABhAAAAFwAAAJA3GABnAAAANQAAABgAAACQNxgAZwAAADkAAAAaAAAAkDcYAGcAAAA+AAAABQAAAE5vbmVTb21lDQoKAgICAgICAgICAwMBAQEAQePw4AALEAEAAAAAAAAAAgIAAAAAAAIAQaLx4AALAQIAQcjx4AALAQEAQePx4AALAQEAQcPy4AAL4QcvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAABDORgATwAAAL4BAAA3AAAAL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdGV4dHdyYXAtMC4xNi4xL3NyYy93b3JkX3NwbGl0dGVycy5ycwAApDkYAGoAAACZAAAAJAAAAKQ5GABqAAAAmgAAACQAAAAvcnVzdGMvOTBiMzVhNjIzOWMzZDhiZGFiYzUzMGE2YTA4MTZmN2ZmODlhMGFhZi9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL21vZC5ycwAAADA6GABNAAAA4QMAACEAAAAwOhgATQAAAOEDAAAuAAAAMDoYAE0AAADlAwAAIAAAADA6GABNAAAA5QMAACsAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi90ZXh0d3JhcC0wLjE2LjEvc3JjL3dyYXBfYWxnb3JpdGhtcy9vcHRpbWFsX2ZpdC5ycwDAOhgAdwAAAK4AAAAhAAAAwDoYAHcAAAC0AAAAGwAAAMA6GAB3AAAAtAAAACMAAADAOhgAdwAAAK8AAAApAAAAwDoYAHcAAACwAAAALAAAAMA6GAB3AAAAsQAAAB8AAADAOhgAdwAAAHsBAAAaAAAAwDoYAHcAAAB8AQAAHgAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL3N5bmMucnMAAAABAAAAAAAAAExhenkgaW5zdGFuY2UgaGFzIHByZXZpb3VzbHkgYmVlbiBwb2lzb25lZAAADDwYACoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9vbmNlX2NlbGwtMS4xOS4wL3NyYy9saWIucnNAPBgAYAAAAB8FAAAZAAAA/////wAAAAAECw8TFxsfIyctMTQ4PEACRQAAAAAASQBNAAUFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFUVRYXAUFBQUFBQUFBQUFBQUFBQUFBQUFBQkAQbT64AALKAFgKGRobHArdHZ6foKGio6SlpygBTKkAAAAAJcFBaYAAAAAAAAABawAQez64AALEwWvALMFBQUFBQUFBQUFBUMFBbcAQY/74AALCJpSuQAAAAC8AEGi++AAC5oCxMYAAACtzNDUutgAANwAAAAAAAAAAAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3gUFBQUFBQXf4QUFBQUFBQUFBQXkBQUFBQUFBQUFBQUFBeIF5wAAAAAF6QAABQUFBQUFBQUF5QUFBQUFBQXrAAAAAAAACA0RFRkdISUqLzE2Oj5CAkcAAAAAAEsATwAFBQUFBQUFBQUFBQUGBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVFWWl4FBQUFBQUFBQUFBQUFBQUFBQUFBQUJAEHM/eAACygBYihmam5yK3R4fICEiIyQlJmeogUypAAAAACXBQWpAAAAAAAAAAWsAEGE/uAACxMFsQC1BQUFBQUFBQUFBQVDBQW3AEGn/uAAC7sBmlK5AAAAAL8AAAAAAAAAAKeqwsTIAMoArc7S1rraAADcAAAAAAC9AAAFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd4FBQUFBQUF3+EFBQUFBQUFBQUF5AUFBQUFBQUFBQUFBQXiBecAAAAABekAAAUFBQUFBQUFBeUFBQUFBQUF6wBB0IrhAAsBwABBwIvhAAtA/////////////////////////////////////////////z8//////z8//6r///8/////////31/cH88P/x/cHwBBlYzhAAtjBCAE//9/////f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AEGVjeEAC2kEoAT//3////9///////////////////////////////////////////////////////////////////////8PAP//f/j//////w/////////////////////////////////D/wMAH1AAQY6O4QALhAbfvEDX///7////////////v//////////////////////////////////D/wMAH1AAAP//////////////////37zA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAAAAAAAP///4cHAP/////////////////////7/P///////////////////////////v///38C//////8B/v////+/tgD///+HBwAAAAAA//////8HAAAAwP7//////////////y8AYMAAnAAA/f///wAAAOD/////////////PwACAAD8////BzAEAAD/B////////////8P////////////////vn//9/58AAP/////////n////////////////AwD///////8/JP//PwQQAQAA////Af8H////fgAA//////8DAAAAAAAA8P///////yMAAAH/AwD+/+Gf+f///cUjAEAAsAMAAxD//////z8AAP///w//B////34A////////////+////////////////////8///v/vn/n///3F8595gLDP/wNQ4If5///9bQMAAABeAAAcAOC/+////e0jAAABAAMAAALgn/n///3tIwAAALADAAIA6Mc91hjH/wMAAAEAAAAAAO6H+f///W3ThzkCXsD/PwDuv/v///3t8787AQDP/wD+7p/5///97fOfOeCwz/8CAOzHPdYYx//Dxz2BAMD/AADg3/3///3/IwAAACcDAAAA4d/9///97yMAAABgAwAGAPDf/f////8nAEBwgAMAAPzg/3/8///7L38AAAAAAAAA/9/9///9//PfPWAnz/8AAO/f/f///e/z3z1gYM//DgD/3/3//////9998IDP/wD87v9//P//+y9/hF//wP8MAP7//////w0AfwAAAAAAAADW9///r/8NIF8AAPAAAAAAAQAAAAAAAAD//v///x8AAAAfAEGglOEAC9QD/v///////wf/f/8DAAAAANb3//+v//8/X3//8wAAAAABAAAD/wOgwv/+////H/7/3////v///x9AAAAAAAAAAP//////BwCAAAA/PGLA4f8DQAAA/////78g///////3////////////////////////////////////////////////////PwAA///////////8////////AAAAAAD/D////////////wP///////////8//////78g///////3//////////////////////////////////////////////////9/AP//PwD/AAAAv////////QcAAAAAAAAAAP///////////z1/Pf//////Pf////89fz3/f/////////89//////////8HAAAAAP//AAD/////////////Pz////////////89fz3//////z3/////PX89/3//////////Pf//////////5wD+AwD//wAA/////////////z8//v////////////////////////////////////////////////////////////////////////////////////////////////////////////8DAEGAmOEAC4sC/////////////////5////7//wf////////////H/wH//wOA//8DAP//AwD/3wEA////////DwAAAIAQAAAAAP////////////////+f///+//8H////////////x/8B//8/gP//HwD//w8A/98NAP////////////+PMP8DAAAAAAAA//////////////8B//////8F//////////8/AP///38AAAAAAAD///8/HwD//////w////8DAAAAAAAAALj/A///////////////Af//////B///////////PwD///9//w//D8D/////Px8A//////8P////A/8HAAAAAP//fwD///////8fAEGUmuEACwGAAEGgmuEAC/8B4P//////DwDgHwAAAAAAAPj///8BwAD8/////z8AAAD///8P/////////3////+f/wP/A4AA/7//fwAAAAAAAP///////////x//AwD4DwD//////////////////w8A/////w8AAAAA4AD8////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAAAAAAP////////8A/+P//////z//Af//////5wAA9/////8H////////////////////////////////////////////////////////////////////////////////////AEGunOEACwYCgAAA/x8AQcCc4QALEoT8Lz9Q/f/z4EMAAP//////AQBB4ZzhAAsxMAAAAAAAgAEAEAAAAAKAAAD/HwAAAAAAAP8f4v8BAIT8Lz9Q/f/z4EMAAP//////AQBBoJ3hAAvgBv////////////////////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/fwAAAAD/////////////////////////////////////H/gPAP////+/IP////////+AAID//38Af39/f39/f3//////4AAAAP4DPh/+////////////f/j+//////////////fg///////+/////////////38AAP////8AAAAAAAD//+AAAAD+/z4f/v///////////3/+/v/////////////34P///////v////////////9/AAD/////AAAAAAAA/////////////////////////x8AAAAAAAAAAP//////P////////////////////////////////////////////////wcABAAAACcA8AD/////////////////////////H///AAwAAP//////fwCA////P/////////////8AAAAAgP/8////////////////+f////////8H6wMAAPz//x////8PAAD////////wv///////////////////AwAAAID//P////////////////n/////////B+sDAAD8/7v3//8HAAAA////////DwD8//////8PAAAAAAAAAPxoAPz//z8A//9/AAAA////H/D//////wcAAIAAAN//AHz//////xAAAP///////w8A//////////8/AP8D////6P//////P/////8PAP///x///////////wGA/wP///9///////8BAAD3DwAA//9/xP///////2I+BQAAOP8HHAB+fn4Af3////////f/A///////////////////BwAAAP///////38A/z//A///f/z//////////wcAADj//3wAfn5+AH9////////3/wP///////////////////83/wP/////////////////P/////////////////8DAAAAAH8A+KD//X9f2/////////////////8DAAAA+P///////////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj//////wBBjqThAAuhAd//////////////////////HwAAAAD+//8H/v//B8D/////////////f/z8/BwAAAAA//8AAP//GAAA4AAAAADf/////////////////////x8AAP8D/v//h/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAEHApeEACy//7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////HwBB/6XhAAsBIABBkKbhAAsr////H////////wEAAAAAAP////8A4P///wf/////PwD///8//////w//PgBB0KbhAAujAv///x////////8BAAEAAAD/////AOD///8H//////8H////P/////8P/z4AAAAAAP////////////////////////8/AAD/////D/////8P//////8A////////DwD/9//3t//7//sbAAAAAAAAAAD/////////////////////////P/8D/////w//////D///////AP///////w8A//f/97f/+//7GwAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAAEA7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwBBgKnhAAszb/Dv/v//P4cAAAAA////H////x8AAAAA//7//38AAAD///////8/AP//PwD//wcA//8DAEHAqeEACyX///////////8BAAAAAAAA////////BwD///////8HAP////8PAEGAquEACyj///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAEHQquEACwf//////wMDAEHgquEACx////8fgAD//z8AAAAAAP//AwAAAAAA//8fAAAA//9/AEGQq+EAC90B//////8bAwAAAAAAAAAA4P///x+AAP////8BAAAA//8/AAAAAAD//x8AAAD//38A+P///////wAAAAAAAAAmAPj//////wAAAAD///8BAAD4////fwAAAJAA/////0cA+P//////BwAeAAAUAAAAAP//////////fwAAAMD/P4D/////////BwQA////Af8D////////3//wAP////9PAP//////////H97/FwAAAAD///v//w8AgAEAAAAAAAAAf73/v/8B//////9/AAAAAOCf+f///e0jAAAB4AMAQYCt4QALL///+//////AAwAAAAAAAAB/vf+//wH/////////B/8D75/5///97fufOYHgzx8fAEHAreEACxn///////8fAIAHAIADAAAA////////AACwAEHwreEACyz//////38AAAAAAA8AAAAA////////////B//DAwAAAP//////////vwD/AwBBsK7hAAs5////////P/8BAAA/AAAAAP///////wAAEAAAAAAAAAD//////wcAAQAAAAAAAAAA////BwAAAAB/AEGAr+EACyn//////////xEA/wMAAAAA/////////wH/AwAAAAAAAP///+f/D/8DfwBBwK/hAAsG//////8PAEHUr+EACxX//////////wAAAIB/8m////8AgAIAQfSv4QALFP/8/////wEACgAAAP////////8HAEGUsOEAC0z///////////8DAIB/8m////+/+Q8A/wMAAAAAAAAAAP/8///////8GwAAAAH4/////wcEAAAB8P//////AwAgAAD///////////8BAEGSseEACy7///////////////8BAP////////9/gAD///////////8jAAD///////////8BAEH+seEACxTvb//9////fwAAAQAAAAAA/P///wBBoLLhAAsUf/v/////AQBAAAAAv/3///8DAAEAQcCy4QALF//9/////3//AQD/AwAA/P////z///5/AEHgsuEACxZ/+/////9/tP8A/wO//f///3/7Af8DAEGcs+EACwv//wcA9P/9////DwBBtrPhAAsBAQBB3LPhAAsQ//9/AP///f/////HBwD/AwBB9rPhAAsBAQBBgLThAAsp/////////////////38AAP///////////////////////////////w8AQcC04QALCf///////wAAfgBBgLXhAAsJ//////8///9/AEGgteEACwv///////8AAP//PwBB7LXhAAsK4OMH+OcPAAAAPABBgLbhAAsJ//////////9/AEHAtuEACwb///9/4AcAQeC24QALMv////////8B////fwAA////////////fwAA////PwAA////////AAAPAAAA+P//4P//AEGgt+EACzL/////////Af///3//A////////////3//A////z8fAP///////38ADwD/A/j//+D//wBB6LfhAAsI//////////8AQYC44QALHf///////////wcBAAAAAAAAAPj/AAAAAAAAAAALAEGouOEACwj//////////wBBwLjhAAtC////////////h/////////+A//8AAAAAAAAAABsAAwD//////////////////////////////////z8AAAAAAP8BAEGgueEACyD/////////////////////////////////////////DwBB/LnhAAsYf2//f/////////////////8H/x//Af8DAEHeuuEACxb/A/////////////////8H/x//Af9jAEGgu+EACx7///////////////////////////////////////8AQci74QALARwAQYC84QAL1gH/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3DwAAAAAAAP//////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////////////9/+P//////HyAAEAAA+P7/AEGGvuEACwj/////////PwBBoL7hAAsK//////8fgD8AQABBwL7hAAsSf///+dsH/////////z8AAACAAEHgvuEACwr//////x//P/9DAEGSv+EACwz///8/AAD//////w8AQdK/4QALDv///38AAP////////8DAEGawOEACwT///8PAEHawOEACwb//////wMAQYDB4QALKv///////////////////////////////x8AAAAAAAAA//////////8PCABBwMHhAAss////////////////////////////////HwB/AAAAAAD///////////8P/wMAQYDC4QALGO////+W/vcKhOqWqpb3917/+/8P7vv/DwBBwMLhAAusAv////////////////////////////////////8AAAAA////////////////////////////////////////////////////A////////////////////////////////////z//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AQD/////////////////////////////AwD///////////////////////////////////////////////////////////////////8H////////////////////////////////////////////PwBBoMXhAAsE////PwBB4MXhAAs2////////////////////////////////////////////////////////////////////////AEHCxuEAC5akAUAAfwC/APcA9wD3APcA9wD3APcAMAFwAaEB4QH3APcA9wAeAvcALgJfApYC1gIWA0sD9wB8A7YD6wMFBEUEhQTFBPYELAVoBaYF5QUjBmIGoAbfBh0HXQebB9kHFwhXCJUI1AgSCVIJkAnQCRAKTwqPCs4KDgtOC44LyAsIDEgMiAy4DPIMMg1SDXINmg33ANoNEQ5PDn4Oow7GDuYOJg/3APcA9wD3APcA9wD3APcA9wBmD4YPxg8GEEgMRhCGEKYQ5hAWEVYRlhHWEQwSNRJWEpYSxxIHE0ITghO8E/gTOBR4FLUU9wD3APcA9RT3APcA9wD3ADUVbxUpAq8V7xUtFm0WqxbrFhcXURd/F78X/Rc7GHsYsxj3APcA3hgSGVIZchlzGXIZphnmGSIaYhqiGuIaHxtcG4Ubuxv2G/cA9wD3APcA9wD3ADMcWxz3APcA9wD3APcAmRzPHPcA9wD3APcA5hwmHVYdlh22HfYdNh52HpEe0R7RHtEe+x47H3sfuB/1HzUg0R6BHmYgRiCmINEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe9wDRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEg0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHgQhPSH3APcA9wD3AH0hvSH7IRsi9wD3APcAWyKZItkiGSNTI5MjzCMMJEskiyTLJEgMCCVHJXcl9wCnJecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJfsl5yXvJfcl/yXrJfMl+yXnJe8l9yX/Jesl8yX7Jecl7yX3Jf8l6yXzJTMmbCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwmrCasJqwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbRHtEe0R7RHtEe0R7RHtEeLCdsJ/cAqSf3APcA9wD3ALwn9wD8JzQodCiwKPcA5igmKWQplSnUKWAKfgqbCroK2graCtoK2wraCtoK2grbCvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsK+wr7CvsKGwv3AfcA/AEUKmgCaALsJuwm9wD3APcA9wD3APcA9wDlBCQq9wD3AOMJ9wD3APcA9wD0AdoJLQfsJuwm9wD3ACsq7CbsJuwm7CbsJuwm7CbsJvcA2gn3APcA9wAtBycCBwj3APcAqR33AOUE9wD3ADsq9wBLKvcA9wCfJVoq7CbsJvcA9wD3APcA9wD3APcA9wD3AGgCuwj3APcAnyX3AAcI9wD3AMsH9wD3APcAXCr4AfgBayoBAnkq7CbsJuwm7Cb3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3AEUR9wBGEcsH7Cb9AfcA9wCJKuwm7CbsJuwmmSr3APcAoyr3ALIq9wD3APcA9AEPA+wm7CbsJvcAvyr3AMoq9wDmBOwm7CbsJuwm9wD3APcAmyX3AHYC9wD3ANoq6Qb3AOoqtg/6KvcA9wD3APcA7CbsJvcA9wAKKxor9wD3APcAKiv3AHAC9wDtBPcAOisNA+wm7CbsJuwm7Cb3APcA9wD3ALYP7CbsJuwm9wD3APcANhn3APcA9wC8D/cA9wDUD7sI7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm9wD0AfcA9wBKKzcZ7CbsJuwm+hL3APcAywf3AGoBWivsJvcAaivsJuwm9wAHCOwm9wBFESUC9wD3AGgBeit2AmgLiislAvcA9wCZK6cr9wC2D7sIJQL3AGkBtyvHK/cA9wDXKyUC9wD3AG0B5yv3K+4BNBn3AAECZAEHLBYs7CbsJuwmJiz1ATUs9wD3AGEByxK7CEUsdQL6AVQsmwdkLHIs0RLsJuwm7CbsJuwm7CbsJuwm9wD3APcAawGCLJIsNxnsJvcA9wD3AHABoiy7COwm7CbsJuwm7CbsJuwm7CbsJuwm9wD3AGEBsizBLMos7CbsJvcA9wD3AHAB2iy7COos7Cb3APcAZQH6LLsI7CbsJuwmSAwBC34KCi0EJewm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APcAZAErBOwm7CbsJuwm7CbsJvcA9wD3APcArAMwJxotJi33ADYtRC27COwm7CbsJuwmbgL3APcAVC1jLewm8CH3APcAcy2DLZMt9wD3AGYBoy2yLfcA9wD3APcAtg/CLewm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvoB9wBhAdkL0i2sA9oJ4i33AL0L2AvPEuwm7CbsJuwmCQf3APcA8S0ALrsIEC73AEISIC67COwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3ADAuQC7tAfcATC5aLrsI7CbsJuwm7CbsJi0H9wBqLnkuhy73APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA1g7sJuwm7CbsJuwm7Cb3APcA9wD3APcA9wD0AZYu9wD3APcA9wD3APcA9wD3APcA9wD3APcANRnsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9wD3APcA9wD3ADYZ9wD3APcA9wD3AKYu9wD3ALQu9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3AL4u9wD3APcA9wD3APcA9wD3AM4u3i7QEuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3AHMP9wD3APcA9wBFEewm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJvcA9wD3ALYP9wD0Ae4u9wD3APcA9wD0AbsI9wBoAv4u9wD3APcADi8aLyovAQLoBPcA7CbsJuwm7CbsJuwm7Cb3APcA9wD3APcANS/sJuwm7CbsJuwm7Cb3APcA9wD3AAgIbwFwAXABRS8lAuwm7CbsJuwmVS/UEtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEevR7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcARhHsJuwmvB7sJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJocG0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEeDh9jL+wmcy9/L9Ee0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHrke7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APcA9wD3APcA9wDlBNoJtg+PL9IS7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwmcAFwAegDcAHPEvcA9wD3APcA9wD3APcANRnsJuwm7Cb3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wBGEfcA9wBvAvcA9wD3AJ8vcAGsL/cAuC/3APcA9wDlBOwm9wD3APcA9wDGL+wm7CbsJuwm7CbsJuwm9wA1GfcANRn3APcA9wD3APcARRH3ALYP7CbsJuwm7CbsJuwm7CbsJvcA9wD3APcA9wD+AfcA9wD3APYB1C/iL/8B9wD3APcA3Q2GBvcAEA7vL+0B9wD3APcA9wD3APcA9wD3APcA9wBwAvcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD3APcA9wD5LwcwBzAHMHABcAFwAZgtcAFwAcQBFzAjMPwSpgLsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3APQBLzDsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJtkLPzBNMPcA9wD3AGgC7Cb4Euwm7CbsJuwm7CbsJuwm9wD3ANoJXTBbJOwm7CbsJuwm7CbsJuwm7CbsJuwm7Cb3AG0w7Cb3APcAZAF9MOwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm9wBkAbsI7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwmjTD0AfcA9wD3APcA9wD3APcA9wD3APcA9wD3AHECzxLsJuwm9wD3APcA9wCdMK0w7CbsJuwm7CbsJuwm7CbsJuwm7CbuAfcA9wBkKL0w7CbsJuwm7CbuAfcA9wBoAuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJv8B9wDMMNkw5zD3MAUxDTH5AQcIHDEHCOwm7CbsJjcZ7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbsJuwm7CbRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHiwxchmkGXIZchlyGTwxchlyGXIZLDHRHtEe0R5JMU8x0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEeXzFlMdEebDF6MdEe0R6HMdEe0R7RHtEelzGmMbAxtzHGMdQx5DHyMdEe0R7RHtEeGBtjLgIyEBkVG9Ee0R4OMtEeHjLRHtEe0R4qMtEeNjLRHtEe0R7RHkEy9wD3AFEy0R7RHmExYTJnMtEe0R7RHvcA9wD3APcA9wD3APcAdzL3APcA9wD3APcAAjLRHtEeAhn3APcA9wAXGxUb9wD3ABcb9wAAGdEe0R7RHtEe0R6HMq4xzzGWMtEe0R7RHs4x0R7RHtEepTKpMbQy0R7RHvcA9wD3APcA9wB3MtEe0R7RHtEe0R7RHmIy0R7RHp4x9wD3APcA9wD3APcA9wD3APcAAAL3APcA5QTsJuwmuwjRHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHtEe0R7RHrceLQjsJnABcAFwAXABcAFwAewm7CbsJuwm7CbsJuwm7CZwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAHsJjUEVQR1BJUEtQTVBPUEDwUvBU8FbwWPBa8FzwXvBQoGKgYxBlEGgAOAA4ADgANmBioGhgajBoADgAOAA4ADgAPDBuAGgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAMqBgAHgAMcB8oAygDKAMoAygDKAMoAygA8B8oAXAdvB4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAegB7cHgAOAA4ADgAPXB4ADgAOAA4ADgAOAA4AD5wcHCCcIRwhdCCoGfQiAA40IrQjECNcI5wgHCYADIAlACWAJgAmgCcAJ4AkACsoAIArKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAygDKAMoAIAqAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAoDAwMDAwMDAwMMAgAAAQMDAwMDAwMDAwMDAwMDAwMDAwkSFh0aGR0WFREdGhcOFxsYGBgYGBgYGBgYFxcdHR0SHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dFRoRHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0VDBAdAwMDAwMEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMIFRkaGhodHBwdHBYdDB0dGRocHA0dHBwcHBwWHBwcFR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwNHBwcDRwdHRwdHR0dHR0dHBwcHB0cHQ0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMIAwMDAwMDAwMDAwMDCAgICAgICAMDAwMDAwMDAwMDAwMdHR0dHR0dHSoqHR0dHRcdKioqKh0dHR0dHR0qHSodHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRcMKiodHRoqAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDDAMdAwMdAwMSAyoqKioqKioqIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjKioqKiMjIyMdHSoqKioqKioqKioqHR0dHR0dHR0dGRkZFxcdHQMDAwMDAwMDAwMDEgMSEhIdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDAwMDAwMDAxgYGBgYGBgYGBgZGBgdHR0DHR0dHR0dHR0dHR0dHR0dHR0dHR0SHQMDAwMDAwMdHQMDAwMDAx0dAwMdAwMDAx0dGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dKh0dAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDAwMqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDHSoqKioqKioqKioqKioqGBgYGBgYGBgYGB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAx0dHR0XEh0qKgMaGh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDHQMDAwMDAwMDAx0DAwMdAwMDAwMqKh0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDKiodKh0dHR0dHR0dHR0dKioqKiodHR0dHR0dHR0dHR0dHR0dKh0dKioqKioqAwMDAwMDAwMdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx0DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAx0DAwMDAwMDAwMDAwMDAwMDHQMDAwMDAwMdHR0dHR0dHR0dAwMMDBgYGBgYGBgYGBgdHR0dHR0dHR0dHR0dHR0dAwMDKh0dHR0dHR0dKiodHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dKh0qKiodHR0dKioDHQMDAwMDKioDAyoqAwMDHSoqKioqKioqAyoqKiodHSodHR0DAyoqGBgYGBgYGBgYGB0dGRkdHR0dHRkdGh0dAyoDAwMqHR0dHR0dKioqKh0dKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0qHR0qHR0qHR0qKgMqAwMDKioqKgMDKioDAwMqKioDKioqKioqKh0dHR0qHSoqKioqKioYGBgYGBgYGBgYAwMdHR0DHSoqKioqKioqKgMDAyodHR0dHR0dHR0qHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHSodHSodHR0dHSoqAx0DAwMDAwMqAwMDKgMDAyoqHSoqKioqKioqKioqKioqKh0dAwMqKhgYGBgYGBgYGBgdGioqKioqKiodAwMDAwMDKgMDAyodHR0dHR0dHSoqHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHSodHSodHR0dHSoqAx0DAwMDAyoqAwMqKgMDAyoqKioqKioDAwMqKioqHR0qHR0dAwMqKhgYGBgYGBgYGBgdHR0dHR0dHSoqKioqKioqAx0qHR0dHR0dKioqHR0dKh0dHR0qKiodHSodKh0dKioqHR0qKiodHR0qKiodHR0dHR0dHR0dHR0qKioqAwMDKioqAwMDKgMDAwMqKh0qKioqKioDKioqKioqKioqKioqKioYGBgYGBgYGBgYHR0dHR0dHR0dGh0qKioqKgMDAwMDHR0dHR0dHR0qHR0dKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0dHR0dHR0dHR0dHR0qKgMdAwMDAwMqAwMDKgMDAwMqKioqKioqAwMqHR0dKiodKiodHQMDKioYGBgYGBgYGBgYKioqKioqKg0dHR0dHR0dHQMDAw0dHR0dHR0dHSodHR0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHR0dHSodHR0dHSoqAx0DAwMDAyoDAwMqAwMDAyoqKioqKioDAyoqKioqKh0dKh0dAwMqKhgYGBgYGBgYGBgqHR0DKioqKioqKioqKioqAwMDAx0dHR0dHR0dHSodHR0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAx0DAwMDAyoDAwMqAwMDAx0dKioqKh0dHQMdHR0dHR0dHR0dAwMqKhgYGBgYGBgYGBgdHR0dHR0dHR0ZHR0dHR0dKgMDAyodHR0dHR0dHR0dHR0dHR0dHR0qKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHR0dHR0dHR0dKh0qKh0dHR0dHR0qKioDKioqKgMDAwMDAyoDKgMDAwMDAwMDKioqKioqGBgYGBgYGBgYGCoqAwMdKioqKioqKioqKiopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKioqKhopKSkpKSkpKSkpKSkpKSkdGBgYGBgYGBgYGAwMKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKSkqKSopKSkpKSopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKSopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSoqKSkpKSkqKSopKSkpKSkpKhgYGBgYGBgYGBgqKikpKSkqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKh0NDQ0NHQ0NCA0NDAgSEhISEggdEh0dHQMDHR0dHR0dGBgYGBgYGBgYGB0dHR0dHR0dHR0MAx0DHQMVEBUQAwMdHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqAwMDAwMDAwMDAwMDAwMMAwMdHR0dHQMDAwMDAwMDAwMDKgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyoMDB0dHR0dHQMdHR0dHR0qHR0NDQwNHR0dHR0ICCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpGBgYGBgYGBgYGAwMHR0dHSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKRgYGBgYGBgYGBgpKSkpKSkdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodKioqKiodKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0lJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJicnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycdHR0dHR0dHR0qHR0dHSoqHR0dHR0dHSodKh0dHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dKiodHR0dHR0dKh0dHR0qKh0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKh0dHR0qKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKgMDAx0MHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKiodHR0dHR0qKgwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0MHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0VECoqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0MDAwdHR0dHR0dHR0dHSoqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0DAwMDKioqKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwwMKioqKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dAwMqKioqKioqKioqKiodHR0dHR0dHR0dHR0dKh0dHSoDAyoqKioqKioqKioqKikpKSkpKSkpKSkpKSkpKSkpKSkpDAwUKQwdDBopKSoqGBgYGBgYGBgYGCoqKioqKh0dHR0dHR0dHR0qKioqKiodHRISDAwNHRISHQMDAwgDGBgYGBgYGBgYGCoqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqKioqKiodHR0dHQMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMdKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKioqKioqKioqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoDAwMDAwMDAwMDAwMqKioqAwMDAwMDAwMDAwMDKioqKh0qKioSEhgYGBgYGBgYGBgpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKikpKSkpKioqKioqKioqKiopKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSoqKiopKSkpKSkpKSkpKSkpKSkpKioqKioqGBgYGBgYGBgYGCkqKiopKR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMqKh0dKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKgMYGBgYGBgYGBgYKioqKioqGBgYGBgYGBgYGCoqKioqKikpKSkpKSkpKSkpKSkpKioDAwMDAwMDAwMDAwMDAwMDKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgMDAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMdHR0dHR0dHSoqKhgYGBgYGBgYGBgMDB0MDAwMHR0dHR0dHR0dHQMDAwMDAwMDAx0dHR0dHR0dHQwMKgMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMdHRgYGBgYGBgYGBgdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDAwMDAwMDKioqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMDAwMDAwMDAyoqKgwMDAwMGBgYGBgYGBgYGCoqKh0dHRgYGBgYGBgYGBgdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0MDB0dHR0dHR0dHSoqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKiodHR0dHR0dHSoqKioqKioqAwMDHQMDAwMDAwMDAwMDAwMDAwMDAwMDAx0dHR0DHR0dHR0dAx0dAwMDHSoqKioqAwMDAwMDAwMDAwMDAwgDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCAMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qKh0dHR0dHSoqHR0dHR0dHR0qHSodKh0qHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqHR0dHR0qHR0dHR0dHR0dHR0dHR0qKh0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dKiodHR0qHR0dHR0dHQ0dKgwMDAwMDAwIDAwMBwMKAwMMCAwMCxwcHRYWFRYWFhUWHBwdHRMTEwwAAAMDAwMDCBkZGRkZGRkZHRYWHBQUHR0dHRcVEBQUFB0dHR0dHR0dHR0dHQwZDAwMDB0MDAwGHR0dHSoDAwMDAwMDAwMDHR0qKhwdHR0dHR0dHRUQHB0cHBwcHR0dHR0dHR0VECodHR0dHR0dHR0dHR0dKioqGhoaGhoaGhkaGhoaGhoaGhoaGhoaGhkaGhoaGRoaGRoaGhoaGhoaGhoaGhoaGgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyoqKioqKioqKioqKioqKh0dHRkdHB0dHRkdHR0dHR0dHR0cHR0aHR0dHR0dHR0dHRwcHR0dHR0dHR0cHR0dHR0dHR0dHR0dHR0dHR0dHR0cHB0dHR0dHB0dHB0cHBwcHBwcHBwcHBwdHR0dHBwcHBwcHBwcHB0dHR0dHR0dHRwdHSoqKiocHBwcHBwcHBwcHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHRwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHB0cHB0dHRwcHR0cHR0dHB0cGhodHB0dHR0cHR0cHBwcHR0cHRwdHBwcHBwcHRwdHR0dHRwcHBwdHR0dHBwdHR0dHR0dHRwdHR0cHR0dHR0cHR0dHR0dHR0dHR0dHRwcHR0cHBwcHR0cHB0dHBwdHR0dHR0dHR0dHR0dHR0dHBwdHRwcHR0dHR0dHR0dHR0dHRwdHR0cHR0dHR0dHR0dHR0cHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRMdHR0dHR0dHR0dHR0dHR0dFRAVEB0dHR0dHRwdHR0dHR0dJCQdHR0dHR0dHR0dHR0dFRAdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0kJCQkHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKioqKioqKioqKioqKioqKioqKh0dHR0dHR0dHR0dKioqKioqKioqKioqKioqKioqKioqHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB0dHR0cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHR0dHR0dHR0dHR0cHBwcHBwcHBwcHBwcHBwcHR0cHBwcHR0dHR0dHR0dHRwcHRwcHBwcHBwdHR0dHR0dHRwcHR0cHB0dHR0cHB0dHR0cHBwdHRwdHRwcHBwdHR0dHR0dHR0dHR0dHR0dHBwcHB0dHR0dHR0dHRwdHR0dHR0dHR0dHR0dHR0dJCQkJB0cHB0dHB0dHR0cHB0dHR0kJBwcJB0kJCQfJCQdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dJCQkHR0dHRwdHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHBwdHBwcHRwkHBwdHBwdHB0dHR0dHR0dHR0dHR0dHSQdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dJCQkJCQkJCQkHBwcHCQdJCQkHCQkHBwcJCQcHCQcHCQkJB0cHR0dHRwcJBwcHBwcHCQkJCQkHCQkHyQcHCQkJCQkHR0dJCQfHx8fHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cHR0dFhYWFhYWHRISJB0dHRUQFRAVEBUQFRAVEBUQHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUQHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUQFRAVEBUQFRAdHR0dHR0dHR0dHR0dHR0dFRAVEBUQFRAVEBUQFRAVEBUQFRAVEB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUQFRAdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHRUQHR0dHR0dHR0dHR0dHR0dHR0dHR0dHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAx0dKioqKioSDAwMHRIMHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0qHSoqKioqHSoqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqKioqKiodDCoqKioqKioqKioqKioqAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKioqHR0dHR0dHSodHR0dHR0dKh0dHR0dHR0qHR0dHR0dHSoDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxYWFhYWFhYWFhYWFhYWDAwMDAwMDAwdDBUMHR0WFh0dFhYVEBUQFRAVEAwMDAwSHQwMHQwMHR0dHR0LCwwMDB0MDBUMDAwMDAwMDB0MHQwMHR0dEhIVEBUQFRAVEAwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQqJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCoqKioqKioqKioqKiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQqKioqKioqKioqKioqKioqKioqKioqKioqKiQkJCQkJCQkJCQkJCoqKioMEBAkJBQkJBUQFRAVEBUQFRAkJBUQFRAVEBUQFBUQECQkJCQkJCQkJCQDAwMDAwMkJCQkJAMkJCQkJBQUJCQkKh4kHiQeJB4kHiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQeJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJB4kHiQeJCQkJCQkHiQkJCQkJB4eKioDAxQUFBQkFB4kHiQeJB4kHiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQeJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJB4kHiQeJCQkJCQkHiQkJCQkJB4eJCQkJBQeFBQkKioqKiokJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCoqKioqKioqKioqKh4eHh4eHh4eHh4eHh4eHh4kJCQkJCQkJBwcHBwcHBwcJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkFCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCoqKiQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCoqKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0MDB0dHR0dHR0dHR0dHR0MEgwdHR0dHR0dHR0dHR0dHR0dGBgYGBgYGBgYGB0dKioqKioqKioqKioqKioqKioqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMdAwMDAwMDAwMDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMdDAwMDAwqKioqKioqKh0dHR0dHR0dHR0dKioqKiodHSodKh0dHR0dKioqKioqKioqKioqKioqKioqKioqKioqHR0dHR0dHR0dHR0dHR0DHR0dAx0dHR0DHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAx0dHR0DKioqHR0dHR0dHR0ZHSoqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0NDRISKioqKioqKioDAx0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMDAwMDKioqKioqKioMDBgYGBgYGBgYGBgqKioqKioDAwMDAwMDAwMDAwMDAwMDAwMdHR0dHR0dHR0dDR0dAxgYGBgYGBgYGBgdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAwMDAwMDAwMMDB0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMDKioqKioqKioqKiodJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUqKioDAwMDHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMDHR0dHR0dDAwMHR0dHSodGBgYGBgYGBgYGCoqKiodHSkpKSkpKSkpKSkpKSkpKSkYGBgYGBgYGBgYKSkpKSkqHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0DAwMDAwMDAwMDAwMDAyoqKioqKioqKh0dHQMdHR0dHR0dHQMDKioYGBgYGBgYGBgYKiodDAwMKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqKioqKioqKioqKioqKioqKioqKioqKiopKSkpKR0dHR0dHR0dHR0dAwMDAwMMDB0dHQMDKioqKioqKioqHR0dHR0dKiodHR0dHR0qKh0dHR0dHSoqKioqKioqKh0dHR0dHR0qHR0dHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHSoqKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHQMDAwMDAwMDDAMDKioYGBgYGBgYGBgYKioqKioqISIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiEiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiISIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIioqKioqKioqKioqKiYmJiYmJiYmJiYmJiYmJiYqKioqJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyoqKioFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKh0dHR0dHR0qKioqKioqKioqKiodHR0dHSoqKioqIwMjIyMjIyMjIyMjHSMjIyMjIyMjIyMjIyMqIyMjIyMqIyojIyojIyojIyMjIyMjIyMjHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKioqKioqKioqKh0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dEBUdHR0dHR0dHR0dHR0dHR0dKiodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioqKioqKh0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKh0dHR0dHR0dHR0dHRkdHR0DAwMDAwMDAwMDAwMDAwMDFxAQFxcSEhUQEyoqKioqKgMDAwMDAwMDAwMDAwMDAwMkJCQkJBUQFRAVEBUQFRAVECQkFRAkJCQkJCQkECQQKhQUEhIkFRAVEBUQJCQkJCQkJCQqJBoZJCoqKiodHR0dHSodHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dKioGKhIkJBoZJCQVECQkECQQJCQkJCQkJCQkJCQUFCQkJBIkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQVJBAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQVJBAkFRAQFRAQFCQeHh4eHh4eHh4eJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkFBQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkKiokJCQkJCQqKiQkJCQkJCoqJCQkJCQkKiokJCQqKioZGiQkJBoaKh0dHR0dHR0qKioqKioqKioqAwMDDxwqKh0dHR0dHR0dHR0dKh0dKh0MDAwqKioqHR0dHR0dHR0dHR0dHQMqKh0dHR0dHQMDAwMDKioqKiodHR0dHR0dHR0dHR0dHSoMHR0dHR0qKioqKioqKioqKh0dHSodHSodHR0dHR0dHR0qHR0dHR0dHSodHSoqKh0qHR0dHR0dHR0dKioqKiodHR0dHR0qKh0qHR0dHR0dKh0dKioqHSoqHR0dHR0dKgwdHR0dHR0dHSodHSoqKioqHR0dHR0dHR0dHR0dKioqDB0DAwMqAwMqKioqKgMDAwMdHR0dHR0qKgMDAyoqKioDDAwMDAwMDAwdKioqKioqKh0dHR0dAwMqKioqHR0dHR0MDAwMDAwTKioqKioqKioqHR0dHR0dKioqDAwMDAwMDB0dKioqKioqKh0dHR0qKiodHR0dHR0dHR0dKgMDDCoqAx0dHR0dHR0dHSoqKioqKh0dAwMDAx0dHR0qKioqKioDAwMDAwMDDAwdHR0dHSoqAx0dAwMdKioqKioqKioqAwMDAwMDAwMDAwMdHR0MDAMqKioqKioqKioqHSoqAwMDAwMqGBgYGBgYGBgYGAwMDAwdAwMdKioqKioqKiodHR0DHQ0dKioqKioqKioqAx0dHR0MDB0MAwMDAx0DAxgYGBgYGBgYGBgdDR0MDAwDAwMDAwMDAwwMHQwMHQMdAyoqKioqKioqKioqKioqHR0dHR0dHSodKh0dHR0qHR0dHR0dHR0dDCoqKioqKgMDAwMqHR0dHR0dHR0qKh0qHR0qHR0dHR0qAwMdAwMdKioqKioqAyoqKioqHR0dAwMqKgMDAwMDAwMqKioDAwMDAwMDHR0dHQwMDAwdGBgYGBgYGBgYGAwMKh0DHQMDAwMdHR0dKioqKioqKioDAwMDAwMqKgMDAwMDAwMDDQwMEhIdHR0MDAwMDAwMDB0dHR0DAyoqAwwMHR0qKioqKioqKioqKg0NDQ0NDQ0NDQ0NDQ0qKioDAwMDAwMDAx0dKioqKioqGBgYGBgYGBgYGCkpDAwMKR0dHR0dHR0qKh0qKh0dHR0qHR0qHR0dHR0dHR0DAwMDAwMqAwMqKgMDAwMdAwMMDAwqKioqKioqKiodAwMDAwMDAyoqAwMDAwMDHQ0dAyoqKioqKioqKioqHR0dAwMDAwMDAx0DAwMDDR0MDAwMDR0DKioqKioqKiodAwMDAwMDAwMDAwMdHR0dAwMDAwMDAwMDAwwMDB0NDQwMKioqKioqKioqKioqKg0NDQ0NDQ0NDQ0qKioqKiodDAwMDAwqKioqKioqKioqDRIdHR0dHR0dHR0dHR0dHQMDAwMDAyoqKgMqAwMqAwMDAwMDHQMqKioqKioqKh0dHR0dHSodHSodHR0dHR0DAyoDAwMDAx0qKioqKioqHR0dAwMDAx0dKioqKioqKgMDHQMdHR0dHR0dHR0dHR0DAwMDAwMDKioqAwMDDAwkJCQkJCQkJCQkJB0dHR0dHR0dHR0dHR0ZGRkdHR0dHR0dHR0dHR0dHR0qKioqKioqKioqKioqDAwMDAwqKioqKioqKioqKh0dHR0dHR0dFRUVEBAQHR0QHR0dFRAVEB0dHR0dHR0dHRUQEB0dHR0ICAgICAgIFRAICAgVEBUQAx0dHR0dHQMDAwMDAwMDAxgYGBgYGBgYGBgqKioqDAwDAwMDAwwqKioqKioqKioqAwMDAwMDAwwMDB0dHR0dHQwdKioqKioqKioqKhgYGBgYGBgYGBgqHR0dHR0dHQwMHR0qKioqKgMDAwMDAwMDKioqKioqKgMUFBQUCCoqKioqKioqKioqHioqKioqKioqKioqKioeHh4qKh4qKioqKioqKioqHh4eHioqKioqKioqHR0dHR0dHR0dHSoqHQMDDB0dHR0dAwMDAwMdHR0DAwMdHQMDAwMDAwMdHR0dHR0dHR0dAwMDAx0dAwMDHSoqKioqKioqKiodKiodHSoqHR0dHSodHR0dHR0dHR0dKh0qHR0dHR0qHSoqKh0dHR0dHR0dHR0dHSoqGBgYGBgYGBgYGBgYGBgYGB0dHR0dAx0dHR0dHR0dHR0DHR0MDAwMHSoqKioqHR0dHR0dKioqKioDAwMDAwMDAwMqKgMDAwMDKgMDKgMDAwMDKioqKioDAwMDAwMDHR0dHR0dHSoqHR0dHR0dHR0dHR0dHR0DKhgYGBgYGBgYGBgqKioqKhodHR0dHR0dKh0dHR0qHR0qHR0dHQMDAwMDAwMdKioqKhgYGBgYGBgYGBgqKioqFRUZHR0dHSoqKioqKioqKioqHR0qHSoqHSodHR0dHR0dKh0dHR0qHSodKioqKh0qKioqHSodKh0qHR0dKh0dKh0qKh0qHSodKh0qHR0qHSoqHR0dHSodHR0dKh0dHR0qHSodHR0qHR0dHR0qHR0dHR0cHBwcHBwcHBwcHBwcJCQkHBwcHBwcHBwcHB0dHSQkJCQkJCgoKCgoKCgoKCgoKCgoKCgkJCQkJB8kJCQkJCQkJCQkJCQdHSQkJCQkHSQkJB8fHyQkHyQkHx8fJCQkJCQkJCQkJCQgICAgICQkHx8kJB8fHx8fHx8fHx8kJCQkJCQkJCQkJCQkJCQfHx8fHx8fHx8fJCQkHyQkJB8fHyQfHx8kJCQkJCQkHyQkJCQkJCQkJCQkJCQkHSQdJB0kJCQkJB8kJCQkHR0kJCQkJCQkJCQkJCQkHR0dHR0kJCQkJCQkJCQkJB8fJCQkJB8kJCQkJB8kJCQkHx8kJCQkJCQkJCQdHR0dHR0dHSQkJCQdHR0dHR0kJCQkJCQfHx8kJCQfHx8fHx0dHR0dHRYWFhQUFB0dHR0kJCQkHx8fJCQkJCQkJCQkJCQfJCQkHR0dHSQkJCQkJCQkJCQkJB0dHR0dHR0dHR0dHR8kJB8fHx8fHx8fHx8kJB8fHyQkJCQkHx8kHx8kHyQkJCQfHx8fHx8fHx8fHx8fJCTAwcLdxN3Gx8jJ3cvMzc7P0NHS09TV1tfY2drb3d3U3+Dh4uPk5ebn6N3d68DBAt3E3cbHyMndy8zNzs/Q0dLT1NXW19jZ2tvd3dTf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AM/QAAAAAAAAANAAQaP74gALA9EA0gBBwPviAAss0wAA1NXW1wDY2QAA2tvc3d7fM+Dh4uPkM+Uz5gAAAOcAAAAA6OkzMwDq6+wAQYD84gALwAEzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz4QQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAQYD+4gALwAJVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXtVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXddVcf/1Xf9VVVVVVdVVVVVVVVVV1VVVVdX9XVdVVVVVVVVVVVVVVQBB3IDjAAspVVVVVVXVVVVVVVVVVVVVVVVVVVUVAFBVVVVVVVVVVVVVVVVVVVVVVQEAQY+B4wALtAEQQRBVVVVVVVVVVVVVVVVVVVVRVVUAAEBUVVVVVVVVVVVVVRUAAAAAAFVVVVVUVVVVVVVVVVUFABQAFARQVVVVVVVVVRVRVVVVVVVVVQAAAAAAAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVBQAAVFVVVVVVVVVVVVVVVVUVAABVVVFVVVVVVQUQAAABAVBVVVVVVVVVVVVVAVVVVVVVVVVVVVVVVVVQVQAAVVVVVVVVVVVVVQUAQdCC4wAL4w1AVVVVVVVVVVVVVVVVVUVUAQBUUQEAVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVUQBVFVRVRVVVQVVVVVVVVVFQVVVVVVVVVVVVVVVVVVVVEEVFFBRVVVVVVVVVVBRVVUBEFRRVVVVVQVVVVVVVQUAUVVVVVVVVVVVVVVVVVVVBAFUVVFVAVVVBVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVFVFVVUVUVVVVVVVVVVVVVVVRUVVVVVVVVVVVVVVVVVQRUBQRQVUFVVQVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVFEQFBFBVQVVVBVVVVVVVVVVQVVVVVVVVVVVVVVVVVRVEAVRVUVUVVVUFVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVVVUUVBURVFVVVVVVVVVVVVVVVVVVVVVVVVVVVUQBAVVUVAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRAABUVVUAQFVVVVVVVVVVVVVVVVVVVVVVVVBVVVVVVVURUVVVVVVVVVVVVVVVVVUBAABAAARVAQAAAQAAAAAAAAAAVFVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQEEAEFBVVVVVVVVUAVUVVVVAVRVVUVBVVFVVVVRVVVVVVVVVVWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqoAAAAAAAAAAFVVVVVVVVUBVVVVVVVVVVVVVVVVBVRVVVVVVVUFVVVVVVVVVQVVVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVUQAFBVRQEAAFVVUVVVVVVVVVVVVVUVAFVVVVVVVVVVVVVVVVVBVVVVVVVVVVVRVVVVVVVVVVVVVVVVVUAVVFVFVQFVVVVVVVUVFFVVVVVVVVVVVVVVVVVVRQBARAEAVBUAABRVVVVVVVVVVVVVVVUAAAAAAAAAQFVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVUAAFAFVVVVVVVVVVVVFQAAVVVVUFVVVVVVVVUFUBBQVVVVVVVVVVVVVVVVVUVQEVBVVVVVVVVVVVVVVVVVVQAABVVVVVVVVUAAAAAEAFRRVVRQVVVVFQDXf19ff/8FQPdd1XVVVVVVVVVVVQAAAABVV1VV/VdVVVVVVVVVVVVXVVVVVVVVVVUAAAAAAAAAAFRVVVXVXV1V1XVVVX1VVVVVVVVVVVVVVdVX1X////9V//9fVVVVXVX///9VVVVVdVVVX1VVVVX1dVdVVVXVVVVVVVVV99ff111ddf3X//93Vf9VX11VX1d1VVVVf//19V9VVVX1/19VVV1dVVVdVVVVVVXVVVVVVXVVpVVVVWlVVVVVVVVVVVVVVVVVVVWpVpZVVVVVVVVVVVVVVf/////////////////////////////////////////////f//////////9V////////////VVVV//////VfVVXf/19V9fVVX1/11/VfVVVV9V9V1VVVVWlVfV31VVpVd1VVVVVVVVVVd1WqqqpVVVXf33/fVVVVlVVVVVWVVVX1WVWlVVVVVelV+v/v//7//99V7/+v++/7VVmlVVVVVVVVVVZVVVVVXVVVVWaVmlVVVVVVVVX1//9VVVVVValVVVVVVVVWVVWVVVVVVVVVlVZVVVVVVVVVVVVVVVVW+V9VVVVVVVVVVVVVVVVVVVVVVVVVVRVQVVVVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVAAAAAAAAAACqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqlVVVaqqqqqqWlVVVVVVVaqqqqqqqqqqqqqqqqqqCgCqqqpqqaqqqqqqqqqqqqqqqqqqqqqqqqqqaoGqqqqqqqqqqqpVqaqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqKqqqqqqqqqqqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqpVVZWqqqqqqqqqqqqqqmqqqqqqqqqqqqqq//+qqqqqqqqqqqqqqqqqqqpWqqqqqqqqqqqqqqqqqmpVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFUAAAFBVVVVVVVVVBVVVVVVVVVVVVVVVVVVVVVVVVVVVUFVVVUVFFVVVVVVVVUFVVFVVVVVVUFVVVVVVVQAAAABQVUUVVVVVVVVVVVVVBQBQVVVVVVUVAABQVVVVqqqqqqqqqlZAVVVVVVVVVVVVVVUVBVBQVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVUBQEFBVVUVVVVUVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVBBRUBVFVVVVVVVVVVVVVUFVFVVVVVVVVVVVVVVVRVFFVVVVVqqqqqqqqqqqqVVVVAAAAAABAFQBBv5DjAAuhCFVVVVVVVVVVRVVVVVVVVVVVAAAAAKqqWlUAAAAAqqqqqqqqqqpqqqqqqmqqVVVVVVWqqqqqqqqqqlZVVVVVVVVVVVVVVVVVVQVUVVVVVVVVVVVVVVVVVVVVqmpVVQAAVF1VVVVVVVVVVVVVVVVVVVVRVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVUFQFUBQVUAVVVVVVVVVVVVVUAVVVVVVVVVVVVVQVVVVVVVVVVVVVVVVVVVVQBVVVVVVVVVVVVVVVVVVVVVFVRVVVVVVVVVVVVVVVVVVVVVVVVVAVUFAABUVVVVVVVVVVVVVVUFUFVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVUAAABAVVVVVVVVVVVVVRRUVRVQVVVVVVVVVVVVVVUVQEFVRVVVVVVVVVVVVVVVVVVVVUBVVVVVVVVVVRUAAQBUVVVVVVVVVVVVVVVVVVUVVVVVUFVVVVVVVVVVVVVVVQUAQFVVARRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRVQBFVFVVVVVVVVVRUVAEBVVVVVVVRVVVVVFVVVVQUAVABUVVVVVVVVVVVVVVVVVVVVVQAABURVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVRQARBEEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVBVBVEFRVVVVVVVVQVVVVVVVVVVVVVVVVVVVVVVVVVVUVAEARVFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVUQAQVVVVVVVVVVVVAQUQAFVVVVVVVVVVVVVVVVVVVVUVAABBVVVVVVVVVVVVVVVVVVRVFUQVVVVVVVVVVVVVVVVVVVVVVVVVVVUABVVUVVVVVVVVVQEAQFVVVVVVVVVVVRUAFEBVFVVVAUABVVVVVVVVVVVVVVUFAABAUFVVVVVVVVVVVVVVVVVVVVVVVVVVVQBAABBVVVVVBQAAAAAABQAEQVVVVVVVVVVVVVVVVVVVAUBFEAAQVVVVVVVVVVVVVVVVVVVVVVVVUBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVFVRVVVBVVVVVVVVVVVVVVVUFQFVEVVVVVVVVVVVVVVVVVVVVVBUAAABQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQBUVVVVVVVVVVVVVVVVVVUAQFVVVVVVFVVVVVVVVVVVVVVVVVVVVRVAVVVVVVVVVVVVVVVVVVVVVVVVVapUVVVaVVVVqqqqqqqqqqqqqqqqqqpVVaqqqqqqWlVVVVVVVVVVVVWqqlZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqqmqaaqqqqqqqqqqalVVVWVVVVVVVVVVallVVVWqVVWqqqqqqqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVBAFVVVVVVVVUAQeuY4wALRVAAAAAAAEBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRFQBQAAAABAAQBVVVVVVVVVBVBVVVVVBVRVVVVVVVVVVVVVVVVVVQBBvZnjAAsCQBUAQcuZ4wAL+AZUVVFVVVVUVVVVVRUAAQAAAFVVVVUAQAAAAAAUABAEQFVVVVVVVVVVVVVVVVVVVVVFVVVVVVVVVVVVVVVVVVVVAFVVVVVVVVVVAEBVVVVVVVVVVVVVVQBAVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVV//9/Vf////////9f//////////////////9fVf/////////vq6rq/////1dVVVVValVVVaqqqqqqqqqqqqqqVaqqVlVaVVVVqlpVVVVVVVWqqqqqqqqqqlZVVamqmqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqVVVVqqqqqqqqqqqqqmqVqlVVVaqqqqpWVqqqqqqqqqqqqqqqqqqqqqqqaqaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqWqqqqqqqqqqqqqqqqqqqqWlVVlWqqqqqqqqpVVVVVZVVVVVVVVWlVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVWVqqqqqqpVVVVVVVVVVVVVVVWqWlVWaqlVqlVVlVZVqqpWVVVVVVVVVVWqqqpVVlVVVVVVVaqqqqqqqqqqqqqqaqqqmqqqqqqqqqqqqqqqqqqqVVVVVVVVVVVVVVVVqqqqVqqqVlWqqqqqqqqqqqqqqpqqWlWlqqqqVaqqVlWqqlZV////////////////////X0VtcHR5SW52YWxpZERpZ2l0UG9zT3ZlcmZsb3dOZWdPdmVyZmxvd1plcm8wMTIzNDU2Nzg5YWJjZGVmL2hvbWUvbm9kZS9ob21lLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvdXVpZC0xLjEwLjAvc3JjL2ZtdC5ycwAAG88YAFsAAAC5AAAADQAAABvPGABbAAAAsQAAABUAAAAbzxgAWwAAALQAAAANAAAAG88YAFsAAAC1AAAADQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3dhc20tYmluZGdlbi0wLjIuOTkvc3JjL2NhY2hlL2ludGVybi5yc7jPGABsAAAAGwAAACsAAAAAAAAA//////////840BgAQdCg4wALtgRUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHlQ0BgAJAAAAC9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnN80BgATAAAAKYCAAAJAAAASnNWYWx1ZSgpAAAA2NAYAAgAAADg0BgAAQAAAC9ob21lL25vZGUvaG9tZS8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3dhc20tYmluZGdlbi1mdXR1cmVzLTAuNC40OS9zcmMvcXVldWUucnMAAAD00BgAbQAAACUAAAAuAAAA9NAYAG0AAAAoAAAAKQAAAPTQGABtAAAAPgAAABoAAAAvaG9tZS9ub2RlL2hvbWUvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi93YXNtLWJpbmRnZW4tZnV0dXJlcy0wLjQuNDkvc3JjL3Rhc2svc2luZ2xldGhyZWFkLnJzAAAAlNEYAHkAAAAiAAAAFQAAAJgFAACZBQAAmgUAAJsFAACU0RgAeQAAAGcAAAAlAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAAJwFAAAEAAAABAAAAJ0FAACeBQBBkKXjAAu0AQEAAACfBQAAY2Fubm90IGFjY2VzcyBhIFRocmVhZCBMb2NhbCBTdG9yYWdlIHZhbHVlIGR1cmluZyBvciBhZnRlciBkZXN0cnVjdGlvbi9ydXN0Yy85MGIzNWE2MjM5YzNkOGJkYWJjNTMwYTZhMDgxNmY3ZmY4OWEwYWFmL2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMAAADe0hgATwAAAAQBAAAaAAAAAAAAgABB3KbjAAv8UwECAgIAAAABAQICAggAAAANAAAADwAAAGvxEABz8RAAgPEQAAAAAAABAAAAAQAAAAgAAAANAAAADwAAAGvxEABz8RAAgPEQAAgAAAANAAAADwAAAGvxEABz8RAAgPEQAAYAAAAGAAAACAAAAAcAAADQexAAuiUSANZ7EADeexAAUJsQAFKbEABUmxAAVpsQAFibEABamxAAXJsQAF6bEABgmxAAYpsQAGSbEABmmxAAaJsQAGqbEABsmxAAbpsQAHCbEAAsoxAAPKMQAEyjEABcoxAAXKMQAGyjEAB8oxAAjKMQAJyjEACsoxAAvKMQAMyjEADcoxAA7KMQAPyjEAAMpBAAHKQQACykEAA8pBAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACcmxAAnJsQAJybEACsmxAAvJsQAMybEADcmxAA7JsQAPybEAAMnBAAHJwQACycEAA8nBAATJwQAFycEABsnBAAfJwQAIycEACcnBAArJwQALycEADMnBAA3JwQAOycEAD8nBAADJ0QAAydEAAcnRAALJ0QADydEABMnRAAXJ0QAGydEAB8nRAAjJ0QAJydEACsnRAAvJ0QALydEADMnRAA3J0Q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ANazEADesxAA5rMQAO6zEAD2sxAA/rMQAAa0EAAOtBAAFrQQAB60EAAmtBAALrQQADa0EAA+tBAARrQQAE60EABWtBAAXrQQAGa0EAButBAAdrQQAH60EACGtBAA/KwQAAKtEAAIrRAADq0QABStEAAarRAAIK0QACatEAAsrRAAMq0QADitEAA/rRAARq0QAE2tEABUrRAAW60QAGKtEABprRAAcK0QAHetEAB+rRAAha0QAIytEACTrRAAmq0QAKGtEACorRAAr60QALatEAC9rRAAxK0QAMutEADSrRAA2a0QAOCtEADnrRAA7q0QAPWtEAD8rRAAA64QAAquEAARrhAAGK4QAB+uEAAmrhAALa4QADSuEAA7rhAAQq4QAEmuEABQrhAAV64QAF6uEABlrhAAbK4QAHOuEAB6rhAAga4QAIiuEACPrhAAlq4QAJ2uEACkrhAAq64QALKuEAC5rhAAwK4QAMeuEADOrhAA1a4QANyuEADjrhAA6q4QAPGuEAD4rhAA/64QAAavEAANrxAAFK8QABuvEAAirxAAKa8QADCvEAA3rxAAPq8QAEWvEABMrxAAU68QAFqvEABhrxAAaK8QAG+vEAB2rxAAfa8QAISvEACLrxAAkq8QAJmvEACgrxAAp68QAK6vEAC2rxAAvq8QAMavEADOrxAA1q8QAN6vEADmrxAA7q8QAPavEAD+rxAABrAQAA6wEAAWsBAAHrAQACawEAAusBAANrAQAD6wEABGsBAATrAQAFawEABesBAAZrAQAG6wEAB2sBAAfrAQAIawEAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAHKbEAB0mxAAdpsQAHibEAB6mxAAfJsQAH6bEACAmxAAgpsQAISbEACHmxAAipsQAI2bEACQmxAAk5sQAJabEACZmxAA3KsQAOyrEAD8qxAADKwQAAysEAAcrBAALKwQADysEABMrBAAXKwQAGysEAB8rBAAjKwQAJysEACsrBAAvKwQAMysEADcrBAA7KwQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAATKQQAEykEABMpBAAXKQQAGykEAB8pBAAjKQQAJykEACspBAAvKQQAMykEADcpBAA7KQQAPykEAAMpRAAHKUQACylEAA8pRAATKUQAFylEABspRAAfKUQAIylEACcpRAArKUQALylEAC8pRAAzKUQANylEADspRAA/KUQAAymEAAcphAALKYQADymEABMphAAXKYQAGymEABsphAAfKYQAIymEACcphAArKYQALymEAC8phAAzKYQANymEADsphAA/KYQAAynEAAcpxAALKcQADynEABMpxAAXKcQAFynEABspxAAfKcQAIynEACcpxAArKcQALynEADMpxAA3KcQAOynEAD8pxAADKgQAByoEAAsqBAAPKgQAEyoEABcqBAAbKgQAGyoEAB8qBAAjKgQAJyoEACsqBAAvKgQAMyoEADMqBAA3KgQAOyoEAD8qBAADKkQABypEAAMpxAALKkQADypEABMqRAAXKkQAGypEAB8qRAAjKkQAJypEACsqRAAvKkQAMypEADcqRAA7KkQAPypEAAMqhAAHKoQACyqEAA8qhAATKoQAFyqEABsqhAAfKoQAIyqEACcqhAArKoQALyqEADMqhAA3KoQAOyqEAD8qhAADKsQAByrEAAsqxAAPKsQAEyrEABcqxAAbKsQAHyrEACMqxAAnKsQAKyrEAC8qxAAzKsQAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAguBAAKLgQADC4EAA4uBAAQLgQAEi4EABQuBAAWLgQAGC4EABouBAAcLgQAHi4EACAuBAAiLgQAJC4EACYuBAAoLgQAKi4EACwuBAAuLgQAMC4EADIuBAA0LgQANi4EADguBAA6LgQAPC4EAD4uBAAALkQAAi5EAAQuRAAGLkQACC5EAAouRAAMLkQADi5EABAuRAASLkQAFC5EABYuRAAYLkQAGi5EABwuRAAeLkQAIC5EACIuRAAkLkQAJi5EACguRAAqLkQALC5EAC4uRAAwLkQAMi5EADQuRAA2LkQAOC5EADouRAA8LkQAPi5EAAAuhAACLoQABC6EAAYuhAAILoQACi6EAAwuhAAOLoQAEC6EABIuhAAULoQAFi6EABguhAAaLoQAHC6EAB4uhAAgLoQAIi6EACQuhAAmLoQAKC6EACouhAAsLoQALi6EADAuhAAyLoQANC6EADYuhAA4LoQAOi6EADwuhAA+LoQAAC7EAAIuxAAELsQABi7EAAguxAAKLsQADC7EAA4uxAAQLsQAEi7EABQuxAAWLsQAGC7EABouxAAcLsQAHi7EACAuxAAiLsQAJC7EACYuxAAoLsQAKi7EACwuxAAuLsQAMC7EADIuxAA0LsQANi7EADguxAA6LsQAPC7EAD4uxAAALwQAAi8EAAQvBAAGLwQAI60EACUtBAAmrQQAKC0EACmtBAArLQQALK0EAC4tBAAvrQQAMS0EADKtBAA0bQQANi0EADftBAA5rQQAO20EAD0tBAA+7QQAAK1EAAJtRAAELUQABe1EAAetRAAJbUQACy1EAAztRAAOrUQAEG1EABItRAAT7UQAFa1EABdtRAAZLUQAGu1EABytRAAebUQAIC1EACHtRAAjrUQAJW1EACctRAAo7UQAKq1EACxtRAAuLUQAL+1EADGtRAAzbUQANS1EADbtRAA4rUQAOm1EADwtRAA97UQAP61EAAFthAADLYQABO2EAAathAAIbYQACi2EAAvthAANrYQAD22EABEthAAS7YQAFK2EABZthAAYLYQAGe2EAButhAAdbYQAHy2EACDthAAirYQ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", "base64"); var wasmModule = new WebAssembly.Module(bytes); var wasmInstance = new WebAssembly.Instance(wasmModule, imports); wasm = wasmInstance.exports; diff --git a/deps/amaro/dist/package.json b/deps/amaro/dist/package.json index 883982e8aac265..23985726c2e4ba 100644 --- a/deps/amaro/dist/package.json +++ b/deps/amaro/dist/package.json @@ -4,7 +4,7 @@ "강동윤 <kdy1997.dev@gmail.com>" ], "description": "wasm module for swc", - "version": "1.10.3", + "version": "1.10.7", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/deps/amaro/dist/strip-loader.js b/deps/amaro/dist/strip-loader.js index ebdf13b26992c9..1a55bc5a28882b 100644 --- a/deps/amaro/dist/strip-loader.js +++ b/deps/amaro/dist/strip-loader.js @@ -1,24 +1,32 @@ "use strict"; +import { isSwcError, wrapAndReThrowSwcError } from "./errors.js"; import { transformSync } from "./index.js"; export async function load(url, context, nextLoad) { const { format } = context; if (format.endsWith("-typescript")) { - const { source } = await nextLoad(url, { - ...context, - format: "module" - }); - const { code } = transformSync(source.toString(), { - mode: "strip-only" - }); - return { - format: format.replace("-typescript", ""), - // Source map is not necessary in strip-only mode. However, to map the source - // file in debuggers to the original TypeScript source, add a sourceURL magic - // comment to hint that it is a generated source. - source: `${code} + try { + const { source } = await nextLoad(url, { + ...context, + format: "module" + }); + const { code } = transformSync(source.toString(), { + mode: "strip-only" + }); + return { + format: format.replace("-typescript", ""), + // Source map is not necessary in strip-only mode. However, to map the source + // file in debuggers to the original TypeScript source, add a sourceURL magic + // comment to hint that it is a generated source. + source: `${code} //# sourceURL=${url}` - }; + }; + } catch (error) { + if (isSwcError(error)) { + wrapAndReThrowSwcError(error); + } + throw error; + } } return nextLoad(url, context); } diff --git a/deps/amaro/dist/transform-loader.js b/deps/amaro/dist/transform-loader.js index eff8cc0e8555d9..970a924c14345c 100644 --- a/deps/amaro/dist/transform-loader.js +++ b/deps/amaro/dist/transform-loader.js @@ -1,30 +1,38 @@ "use strict"; +import { isSwcError, wrapAndReThrowSwcError } from "./errors.js"; import { transformSync } from "./index.js"; export async function load(url, context, nextLoad) { const { format } = context; if (format.endsWith("-typescript")) { - const { source } = await nextLoad(url, { - ...context, - format: "module" - }); - const { code, map } = transformSync(source.toString(), { - mode: "transform", - sourceMap: true, - filename: url - }); - let output = code; - if (map) { - const base64SourceMap = Buffer.from(map).toString("base64"); - output = `${code} + try { + const { source } = await nextLoad(url, { + ...context, + format: "module" + }); + const { code, map } = transformSync(source.toString(), { + mode: "transform", + sourceMap: true, + filename: url + }); + let output = code; + if (map) { + const base64SourceMap = Buffer.from(map).toString("base64"); + output = `${code} //# sourceMappingURL=data:application/json;base64,${base64SourceMap}`; - } - return { - format: format.replace("-typescript", ""), - source: `${output} + } + return { + format: format.replace("-typescript", ""), + source: `${output} //# sourceURL=${url}` - }; + }; + } catch (error) { + if (isSwcError(error)) { + wrapAndReThrowSwcError(error); + } + throw error; + } } return nextLoad(url, context); } diff --git a/deps/amaro/package.json b/deps/amaro/package.json index d140f52bf7a313..0f770288ed6e52 100644 --- a/deps/amaro/package.json +++ b/deps/amaro/package.json @@ -1,6 +1,6 @@ { "name": "amaro", - "version": "0.2.1", + "version": "0.3.0", "description": "Node.js TypeScript wrapper", "license": "MIT", "type": "commonjs", @@ -41,7 +41,10 @@ "./strip": "./dist/register-strip.mjs", "./transform": "./dist/register-transform.mjs" }, - "files": ["dist", "LICENSE.md"], + "files": [ + "dist", + "LICENSE.md" + ], "engines": { "node": ">=22" } diff --git a/deps/corepack/CHANGELOG.md b/deps/corepack/CHANGELOG.md index 941d0b6b7e5e25..88363683a9d5f6 100644 --- a/deps/corepack/CHANGELOG.md +++ b/deps/corepack/CHANGELOG.md @@ -1,5 +1,27 @@ # Changelog +## [0.31.0](https://github.com/nodejs/corepack/compare/v0.30.0...v0.31.0) (2025-01-27) + + +### ⚠ BREAKING CHANGES + +* drop support for Node.js 21.x ([#594](https://github.com/nodejs/corepack/issues/594)) + +### Features + +* update package manager versions ([#595](https://github.com/nodejs/corepack/issues/595)) ([c7a9bde](https://github.com/nodejs/corepack/commit/c7a9bde16dcbbb7e6ef03fef740656cde7ade360)) + + +### Bug Fixes + +* only print message for `UsageError`s ([#602](https://github.com/nodejs/corepack/issues/602)) ([72a588c](https://github.com/nodejs/corepack/commit/72a588c2370c17e415b24fe389efdafb3c84e90b)) +* update npm registry keys ([#614](https://github.com/nodejs/corepack/issues/614)) ([8c90caa](https://github.com/nodejs/corepack/commit/8c90caab7f1c5c9b89f1de113bc1dfc441bf25d2)) + + +### Miscellaneous Chores + +* drop support for Node.js 21.x ([#594](https://github.com/nodejs/corepack/issues/594)) ([8bebc0c](https://github.com/nodejs/corepack/commit/8bebc0c0a5cbcdeec41673dcbaf581e6e1c1be11)) + ## [0.30.0](https://github.com/nodejs/corepack/compare/v0.29.4...v0.30.0) (2024-11-23) diff --git a/deps/corepack/README.md b/deps/corepack/README.md index d94614affc5353..66bfbc3fb6aae3 100644 --- a/deps/corepack/README.md +++ b/deps/corepack/README.md @@ -302,6 +302,8 @@ same major line. Should you need to upgrade to a new major, use an explicit ## Troubleshooting +The environment variable `DEBUG` can be set to `corepack` to enable additional debug logging. + ### Networking There are a wide variety of networking issues that can occur while running diff --git a/deps/corepack/dist/lib/corepack.cjs b/deps/corepack/dist/lib/corepack.cjs index e1919339dc38bd..7a92f3334f7687 100644 --- a/deps/corepack/dist/lib/corepack.cjs +++ b/deps/corepack/dist/lib/corepack.cjs @@ -21260,7 +21260,7 @@ function String2(descriptor, ...args) { } // package.json -var version = "0.30.0"; +var version = "0.31.0"; // sources/Engine.ts var import_fs9 = __toESM(require("fs")); @@ -21274,7 +21274,7 @@ var import_valid3 = __toESM(require_valid2()); var config_default = { definitions: { npm: { - default: "10.9.1+sha1.ab141c1229765c11c8c59060fc9cf450a2207bd6", + default: "11.0.0+sha1.7bba7c80740ef1f5b2c5d4cecc55e94912faa5e6", fetchLatestFrom: { type: "npm", package: "npm" @@ -21311,7 +21311,7 @@ var config_default = { } }, pnpm: { - default: "9.14.2+sha1.5202b50ab92394b3c922d2e293f196e2df6d441b", + default: "9.15.4+sha1.ffa0b5c573381e8035b354028ccff97c8e452047", fetchLatestFrom: { type: "npm", package: "pnpm" @@ -21375,7 +21375,7 @@ var config_default = { package: "yarn" }, transparent: { - default: "4.5.2+sha224.c2e2e9ed3cdadd6ec250589b3393f71ae56d5ec297af11cec1eba3b4", + default: "4.6.0+sha224.acd0786f07ffc6c933940eb65fc1d627131ddf5455bddcc295dc90fd", commands: [ [ "yarn", @@ -21438,11 +21438,18 @@ var config_default = { keys: { npm: [ { - expires: null, + expires: "2025-01-29T00:00:00.000Z", keyid: "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA", keytype: "ecdsa-sha2-nistp256", scheme: "ecdsa-sha2-nistp256", key: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1Olb3zMAFFxXKHiIkQO5cJ3Yhl5i6UPp+IhuteBJbuHcA5UogKo0EWtlWwW6KSaKoTNEYL7JlCQiVnkhBktUgg==" + }, + { + expires: null, + keyid: "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U", + keytype: "ecdsa-sha2-nistp256", + scheme: "ecdsa-sha2-nistp256", + key: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEY6Ya7W++7aUPzvMTrezH6Ycx3c+HOKYCcNGybJZSCJq/fd7Qa8uuAKtdIkUQtQiEKERhAmE5lMMJhP8OkDOa2g==" } ] } @@ -23099,10 +23106,18 @@ async function runMain(argv) { process.exitCode ??= code2; } } else { - await engine.executePackageManagerRequest(request, { - cwd: process.cwd(), - args: restArgs - }); + try { + await engine.executePackageManagerRequest(request, { + cwd: process.cwd(), + args: restArgs + }); + } catch (error) { + if (error?.name === `UsageError`) { + console.error(error.message); + process.exit(1); + } + throw error; + } } } // Annotate the CommonJS export names for ESM import in node: diff --git a/deps/corepack/package.json b/deps/corepack/package.json index c9c6662e99e6c9..91b95f31d77b54 100644 --- a/deps/corepack/package.json +++ b/deps/corepack/package.json @@ -1,6 +1,6 @@ { "name": "corepack", - "version": "0.30.0", + "version": "0.31.0", "homepage": "https://github.com/nodejs/corepack#readme", "bugs": { "url": "https://github.com/nodejs/corepack/issues" @@ -10,7 +10,7 @@ "url": "https://github.com/nodejs/corepack.git" }, "engines": { - "node": "^18.17.1 || >=20.10.0" + "node": "^18.17.1 || ^20.10.0 || >=22.11.0" }, "exports": { "./package.json": "./package.json" @@ -26,7 +26,7 @@ "@yarnpkg/eslint-config": "^2.0.0", "@yarnpkg/fslib": "^3.0.0-rc.48", "@zkochan/cmd-shim": "^6.0.0", - "better-sqlite3": "^10.0.0", + "better-sqlite3": "^11.7.2", "clipanion": "patch:clipanion@npm%3A3.2.1#~/.yarn/patches/clipanion-npm-3.2.1-fc9187f56c.patch", "debug": "^4.1.1", "esbuild": "^0.21.0", diff --git a/tools/inspector_protocol/BUILD.gn b/deps/inspector_protocol/BUILD.gn similarity index 100% rename from tools/inspector_protocol/BUILD.gn rename to deps/inspector_protocol/BUILD.gn diff --git a/tools/inspector_protocol/LICENSE b/deps/inspector_protocol/LICENSE similarity index 100% rename from tools/inspector_protocol/LICENSE rename to deps/inspector_protocol/LICENSE diff --git a/deps/inspector_protocol/README.md b/deps/inspector_protocol/README.md new file mode 100644 index 00000000000000..d15f719fdda32c --- /dev/null +++ b/deps/inspector_protocol/README.md @@ -0,0 +1,18 @@ +# Chromium inspector (devtools) protocol + +This package contains code generators and templates for the Chromium +inspector protocol. + +The canonical location of this package is at +https://chromium.googlesource.com/deps/inspector_protocol/ + +In the Chromium tree, it's rolled into +https://cs.chromium.org/chromium/src/third_party/inspector_protocol/ + +In the V8 tree, it's rolled into +https://cs.chromium.org/chromium/src/v8/third_party/inspector_protocol/ + +See also [Contributing to Chrome Devtools Protocol](https://docs.google.com/document/d/1c-COD2kaK__5iMM5SEx-PzNA7HFmgttcYfOHHX0HaOM/edit). + +To build and run the tests of the crdtp library, see +[CRDTP - Chrome DevTools Protocol](crdtp/README.md). diff --git a/tools/inspector_protocol/README.node b/deps/inspector_protocol/README.node similarity index 88% rename from tools/inspector_protocol/README.node rename to deps/inspector_protocol/README.node index a8380198576d46..5d5b486b512297 100644 --- a/tools/inspector_protocol/README.node +++ b/deps/inspector_protocol/README.node @@ -2,7 +2,7 @@ Name: inspector protocol Short Name: inspector_protocol URL: https://chromium.googlesource.com/deps/inspector_protocol/ Version: 0 -Revision: 0aafd2876f7485db7b07c513c0457b7cbbbe3304 +Revision: 64cc2301620c04f0fe0313ae94a9319f003603cf License: BSD License File: LICENSE Security Critical: no diff --git a/tools/inspector_protocol/check_protocol_compatibility.py b/deps/inspector_protocol/check_protocol_compatibility.py similarity index 92% rename from tools/inspector_protocol/check_protocol_compatibility.py rename to deps/inspector_protocol/check_protocol_compatibility.py index d2df244fa97154..ca72da24e99828 100755 --- a/tools/inspector_protocol/check_protocol_compatibility.py +++ b/deps/inspector_protocol/check_protocol_compatibility.py @@ -1,31 +1,7 @@ -#!/usr/bin/env python -# Copyright (c) 2011 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#!/usr/bin/env python3 +# Copyright 2011 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. # # Inspector protocol validator. # diff --git a/deps/inspector_protocol/code_generator.py b/deps/inspector_protocol/code_generator.py new file mode 100755 index 00000000000000..53beb861259af5 --- /dev/null +++ b/deps/inspector_protocol/code_generator.py @@ -0,0 +1,733 @@ +#!/usr/bin/env python3 +# Copyright 2016 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import os +import os.path +import sys +import argparse +import collections +import functools +import re +import copy +try: + import json +except ImportError: + import simplejson as json + +import pdl + +try: + unicode +except NameError: + # Define unicode for Py3 + def unicode(s, *_): + return s + +# Path handling for libraries and templates +# Paths have to be normalized because Jinja uses the exact template path to +# determine the hash used in the cache filename, and we need a pre-caching step +# to be concurrency-safe. Use absolute path because __file__ is absolute if +# module is imported, and relative if executed directly. +# If paths differ between pre-caching and individual file compilation, the cache +# is regenerated, which causes a race condition and breaks concurrent build, +# since some compile processes will try to read the partially written cache. +module_path, module_filename = os.path.split(os.path.realpath(__file__)) + +def read_config(): + # pylint: disable=W0703 + def json_to_object(data, output_base, config_base): + def json_object_hook(object_dict): + items = [(k, os.path.join(config_base, v) if k == "path" else v) + for (k, v) in object_dict.items()] + items = [(k, os.path.join(output_base, v) if k == "output" else v) + for (k, v) in items] + keys, values = list(zip(*items)) + # 'async' is a keyword since Python 3.7. + # Avoid namedtuple(rename=True) for compatibility with Python 2.X. + keys = tuple('async_' if k == 'async' else k for k in keys) + return collections.namedtuple('X', keys)(*values) + return json.loads(data, object_hook=json_object_hook) + + def init_defaults(config_tuple, path, defaults): + keys = list(config_tuple._fields) # pylint: disable=E1101 + values = [getattr(config_tuple, k) for k in keys] + for i in range(len(keys)): + if hasattr(values[i], "_fields"): + values[i] = init_defaults(values[i], path + "." + keys[i], defaults) + for optional in defaults: + if optional.find(path + ".") != 0: + continue + optional_key = optional[len(path) + 1:] + if optional_key.find(".") == -1 and optional_key not in keys: + keys.append(optional_key) + values.append(defaults[optional]) + return collections.namedtuple('X', keys)(*values) + + try: + cmdline_parser = argparse.ArgumentParser() + cmdline_parser.add_argument("--output_base", type=unicode, required=True) + cmdline_parser.add_argument("--jinja_dir", type=unicode, required=True) + cmdline_parser.add_argument("--config", type=unicode, required=True) + cmdline_parser.add_argument("--config_value", default=[], action="append") + cmdline_parser.add_argument( + "--inspector_protocol_dir", type=unicode, required=True, + help=("directory with code_generator.py and C++ encoding / binding " + "libraries, relative to the root of the source tree.")) + arg_options = cmdline_parser.parse_args() + jinja_dir = arg_options.jinja_dir + output_base = arg_options.output_base + config_file = arg_options.config + config_base = os.path.dirname(config_file) + config_values = arg_options.config_value + inspector_protocol_dir = arg_options.inspector_protocol_dir.lstrip('/') + except Exception: + # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html + exc = sys.exc_info()[1] + sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc) + exit(1) + + try: + config_json_file = open(config_file, "r") + config_json_string = config_json_file.read() + config_partial = json_to_object(config_json_string, output_base, + config_base) + config_json_file.close() + defaults = { + ".use_snake_file_names": False, + ".use_title_case_methods": False, + ".use_embedder_types": False, + ".imported": False, + ".imported.export_macro": "", + ".imported.export_header": False, + ".imported.header": False, + ".imported.package": False, + ".imported.options": False, + ".protocol.export_macro": "", + ".protocol.export_header": False, + ".protocol.options": False, + ".protocol.file_name_prefix": "", + ".exported": False, + ".exported.export_macro": "", + ".exported.export_header": False, + ".lib": False, + ".lib.export_macro": "", + ".lib.export_header": False, + ".crdtp": False, + ".crdtp.dir": os.path.join(inspector_protocol_dir, "crdtp"), + ".crdtp.namespace": "crdtp", + } + for key_value in config_values: + parts = key_value.split("=") + if len(parts) == 2: + defaults["." + parts[0]] = parts[1] + return (jinja_dir, config_file, init_defaults(config_partial, "", defaults)) + except Exception: + # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html + exc = sys.exc_info()[1] + sys.stderr.write("Failed to parse config file: %s\n\n" % exc) + exit(1) + + +# ---- Begin of utilities exposed to generator ---- + + +def to_title_case(name): + return name[:1].upper() + name[1:] + + +def dash_to_camelcase(word): + prefix = "" + if word[0] == "-": + prefix = "Negative" + word = word[1:] + return prefix + "".join(to_title_case(x) or "-" for x in word.split("-")) + + +def to_snake_case(name): + name = re.sub(r"([A-Z]{2,})([A-Z][a-z])", r"\1_\2", name) + return re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name, sys.maxsize).lower() + + +def to_method_case(config, name): + if config.use_title_case_methods: + return to_title_case(name) + return name + + +def join_arrays(dict, keys): + result = [] + for key in keys: + if key in dict: + result += dict[key] + return result + + +def format_include(config, header, file_name=None): + if file_name is not None: + header = header + "/" + file_name + ".h" + header = "\"" + header + "\"" if header[0] not in "<\"" else header + if config.use_snake_file_names: + header = to_snake_case(header) + return header + + +def format_domain_include(config, header, file_name): + return format_include(config, header, + config.protocol.file_name_prefix + file_name) + + +def to_file_name(config, file_name): + if config.use_snake_file_names: + return to_snake_case(file_name).replace(".cpp", ".cc") + return file_name + + +# ---- End of utilities exposed to generator ---- + + +def initialize_jinja_env(jinja_dir, cache_dir, config): + # pylint: disable=F0401 + sys.path.insert(1, os.path.abspath(jinja_dir)) + import jinja2 + + jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(module_path), + # Bytecode cache is not concurrency-safe unless pre-cached: + # if pre-cached this is read-only, but writing creates a race condition. + bytecode_cache=jinja2.FileSystemBytecodeCache(cache_dir), + keep_trailing_newline=True, # newline-terminate generated files + lstrip_blocks=True, # so can indent control flow tags + trim_blocks=True) + jinja_env.filters.update({ + "to_title_case": to_title_case, + "dash_to_camelcase": dash_to_camelcase, + "to_method_case": functools.partial(to_method_case, config)}) + jinja_env.add_extension("jinja2.ext.loopcontrols") + return jinja_env + + +def create_imported_type_definition(domain_name, type, imported_namespace): + # pylint: disable=W0622 + return { + "return_type": "std::unique_ptr<%s::%s::API::%s>" % ( + imported_namespace, domain_name, type["id"]), + "pass_type": "std::unique_ptr<%s::%s::API::%s>" % ( + imported_namespace, domain_name, type["id"]), + "to_raw_type": "%s.get()", + "to_pass_type": "std::move(%s)", + "to_rvalue": "std::move(%s)", + "type": "std::unique_ptr<%s::%s::API::%s>" % ( + imported_namespace, domain_name, type["id"]), + "raw_type": "%s::%s::API::%s" % ( + imported_namespace, domain_name, type["id"]), + "raw_pass_type": "%s::%s::API::%s*" % ( + imported_namespace, domain_name, type["id"]), + "raw_return_type": "%s::%s::API::%s*" % ( + imported_namespace, domain_name, type["id"]), + } + + +def create_user_type_definition(domain_name, type): + # pylint: disable=W0622 + return { + "return_type": "std::unique_ptr<protocol::%s::%s>" % ( + domain_name, type["id"]), + "pass_type": "std::unique_ptr<protocol::%s::%s>" % ( + domain_name, type["id"]), + "to_raw_type": "%s.get()", + "to_pass_type": "std::move(%s)", + "to_rvalue": "std::move(%s)", + "type": "std::unique_ptr<protocol::%s::%s>" % (domain_name, type["id"]), + "raw_type": "protocol::%s::%s" % (domain_name, type["id"]), + "raw_pass_type": "protocol::%s::%s*" % (domain_name, type["id"]), + "raw_return_type": "protocol::%s::%s*" % (domain_name, type["id"]), + } + + +def create_object_type_definition(): + # pylint: disable=W0622 + return { + "return_type": "std::unique_ptr<protocol::DictionaryValue>", + "pass_type": "std::unique_ptr<protocol::DictionaryValue>", + "to_raw_type": "%s.get()", + "to_pass_type": "std::move(%s)", + "to_rvalue": "std::move(%s)", + "type": "std::unique_ptr<protocol::DictionaryValue>", + "raw_type": "protocol::DictionaryValue", + "raw_pass_type": "protocol::DictionaryValue*", + "raw_return_type": "protocol::DictionaryValue*", + } + + +def create_any_type_definition(): + # pylint: disable=W0622 + return { + "return_type": "std::unique_ptr<protocol::Value>", + "pass_type": "std::unique_ptr<protocol::Value>", + "to_raw_type": "%s.get()", + "to_pass_type": "std::move(%s)", + "to_rvalue": "std::move(%s)", + "type": "std::unique_ptr<protocol::Value>", + "raw_type": "protocol::Value", + "raw_pass_type": "protocol::Value*", + "raw_return_type": "protocol::Value*", + } + + +def create_string_type_definition(): + # pylint: disable=W0622 + return { + "return_type": "String", + "pass_type": "const String&", + "to_pass_type": "%s", + "to_raw_type": "%s", + "to_rvalue": "%s", + "type": "String", + "raw_type": "String", + "raw_pass_type": "const String&", + "raw_return_type": "String", + "is_primitive": True + } + + +def create_binary_type_definition(): + # pylint: disable=W0622 + return { + "return_type": "Binary", + "pass_type": "const Binary&", + "to_pass_type": "%s", + "to_raw_type": "%s", + "to_rvalue": "%s", + "type": "Binary", + "raw_type": "Binary", + "raw_pass_type": "const Binary&", + "raw_return_type": "Binary", + "is_primitive": True + } + + +def create_primitive_type_definition(type): + # pylint: disable=W0622 + typedefs = { + "number": "double", + "integer": "int", + "boolean": "bool" + } + defaults = { + "number": "0", + "integer": "0", + "boolean": "false" + } + jsontypes = { + "number": "TypeDouble", + "integer": "TypeInteger", + "boolean": "TypeBoolean", + } + return { + "return_type": typedefs[type], + "pass_type": typedefs[type], + "to_pass_type": "%s", + "to_raw_type": "%s", + "to_rvalue": "%s", + "type": typedefs[type], + "raw_type": typedefs[type], + "raw_pass_type": typedefs[type], + "raw_return_type": typedefs[type], + "default_value": defaults[type], + "is_primitive": True + } + +def wrap_array_definition(type): + # pylint: disable=W0622 + return { + "return_type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], + "pass_type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], + "to_raw_type": "%s.get()", + "to_pass_type": "std::move(%s)", + "to_rvalue": "std::move(%s)", + "type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], + "raw_type": "protocol::Array<%s>" % type["raw_type"], + "raw_pass_type": "protocol::Array<%s>*" % type["raw_type"], + "raw_return_type": "protocol::Array<%s>*" % type["raw_type"], + "out_type": "protocol::Array<%s>&" % type["raw_type"], + } + + +class Protocol(object): + + def __init__(self, config): + self.config = config + self.json_api = {"domains": []} + self.imported_domains = [] + self.exported_domains = [] + self.generate_domains = self.read_protocol_file(config.protocol.path) + + if config.protocol.options: + self.generate_domains = [rule.domain for rule in config.protocol.options] + self.exported_domains = [rule.domain for rule in config.protocol.options + if hasattr(rule, "exported")] + + if config.imported: + self.imported_domains = self.read_protocol_file(config.imported.path) + if config.imported.options: + self.imported_domains = [rule.domain + for rule in config.imported.options] + + self.patch_full_qualified_refs() + self.create_type_definitions() + self.generate_used_types() + + def read_protocol_file(self, file_name): + input_file = open(file_name, "r") + parsed_json = pdl.loads(input_file.read(), file_name) + input_file.close() + version = '%s.%s' % (parsed_json["version"]["major"], + parsed_json["version"]["minor"]) + domains = [] + for domain in parsed_json["domains"]: + domains.append(domain["domain"]) + domain["version"] = version + self.json_api["domains"] += parsed_json["domains"] + return domains + + def patch_full_qualified_refs(self): + def patch_full_qualified_refs_in_domain(json, domain_name): + if isinstance(json, list): + for item in json: + patch_full_qualified_refs_in_domain(item, domain_name) + if not isinstance(json, dict): + return + for key in json: + if key == "type" and json[key] == "string": + json[key] = domain_name + ".string" + if key != "$ref": + patch_full_qualified_refs_in_domain(json[key], domain_name) + continue + if json["$ref"].find(".") == -1: + json["$ref"] = domain_name + "." + json["$ref"] + return + + for domain in self.json_api["domains"]: + patch_full_qualified_refs_in_domain(domain, domain["domain"]) + + def all_references(self, json): + refs = set() + if isinstance(json, list): + for item in json: + refs |= self.all_references(item) + if not isinstance(json, dict): + return refs + for key in json: + if key != "$ref": + refs |= self.all_references(json[key]) + else: + refs.add(json["$ref"]) + return refs + + def check_if_dependency_declared(self, domain, refs): + dependencies = domain.get('dependencies', set()) + for ref in refs: + type_definition = self.type_definitions[ref] + if type_definition.get('is_primitive', False): + continue + domain_match = re.match(r'^(.*)[.]', ref) + if domain_match: + referenced_domain_name = domain_match.group(1) + if referenced_domain_name != domain['domain'] and not referenced_domain_name in dependencies: + sys.stderr.write(("Domains [%s] uses type [%s] from domain [%s], but did not declare the dependency\n\n" + ) % (domain["domain"], ref, referenced_domain_name)) + exit(1) + + def generate_used_types(self): + all_refs = set() + for domain in self.json_api["domains"]: + domain_name = domain["domain"] + if "commands" in domain: + for command in domain["commands"]: + if self.generate_command(domain_name, command["name"]): + all_refs_command = self.all_references(command) + # If the command has a redirect, it is as if it didn't exist on this domain. + if not command.get('redirect', False): + self.check_if_dependency_declared(domain, all_refs_command) + all_refs |= all_refs_command + + if "events" in domain: + for event in domain["events"]: + if self.generate_event(domain_name, event["name"]): + all_refs_event = self.all_references(event) + self.check_if_dependency_declared(domain, all_refs_event) + all_refs |= all_refs_event + + + dependencies = self.generate_type_dependencies() + queue = set(all_refs) + while len(queue): + ref = queue.pop() + if ref in dependencies: + queue |= dependencies[ref] - all_refs + all_refs |= dependencies[ref] + self.used_types = all_refs + + def generate_type_dependencies(self): + dependencies = dict() + domains_with_types = (x for x in self.json_api["domains"] if "types" in x) + for domain in domains_with_types: + domain_name = domain["domain"] + for type in domain["types"]: + related_types = self.all_references(type) + if len(related_types): + dependencies[domain_name + "." + type["id"]] = related_types + return dependencies + + def create_type_definitions(self): + imported_namespace = "" + if self.config.imported: + imported_namespace = "::".join(self.config.imported.namespace) + self.type_definitions = {} + self.type_definitions["number"] = create_primitive_type_definition("number") + self.type_definitions["integer"] = create_primitive_type_definition("integer") + self.type_definitions["boolean"] = create_primitive_type_definition("boolean") + self.type_definitions["object"] = create_object_type_definition() + self.type_definitions["any"] = create_any_type_definition() + self.type_definitions["binary"] = create_binary_type_definition() + for domain in self.json_api["domains"]: + self.type_definitions[domain["domain"] + ".string"] = ( + create_string_type_definition()) + self.type_definitions[domain["domain"] + ".binary"] = ( + create_binary_type_definition()) + if not ("types" in domain): + continue + for type in domain["types"]: + type_name = domain["domain"] + "." + type["id"] + if type["type"] == "object" and domain["domain"] in self.imported_domains: + self.type_definitions[type_name] = create_imported_type_definition( + domain["domain"], type, imported_namespace) + elif type["type"] == "object": + self.type_definitions[type_name] = create_user_type_definition( + domain["domain"], type) + elif type["type"] == "array": + self.type_definitions[type_name] = self.resolve_type(type) + elif type["type"] == domain["domain"] + ".string": + self.type_definitions[type_name] = create_string_type_definition() + elif type["type"] == domain["domain"] + ".binary": + self.type_definitions[type_name] = create_binary_type_definition() + else: + self.type_definitions[type_name] = create_primitive_type_definition( + type["type"]) + + def check_options(self, options, domain, name, include_attr, exclude_attr, + default): + for rule in options: + if rule.domain != domain: + continue + if include_attr and hasattr(rule, include_attr): + return name in getattr(rule, include_attr) + if exclude_attr and hasattr(rule, exclude_attr): + return name not in getattr(rule, exclude_attr) + return default + return False + + + # ---- Begin of methods exposed to generator + + def type_definition(self, name): + return self.type_definitions[name] + + def resolve_type(self, prop): + if "$ref" in prop: + return self.type_definitions[prop["$ref"]] + if prop["type"] == "array": + return wrap_array_definition(self.resolve_type(prop["items"])) + return self.type_definitions[prop["type"]] + + def generate_command(self, domain, command): + if not self.config.protocol.options: + return domain in self.generate_domains + return self.check_options(self.config.protocol.options, domain, command, + "include", "exclude", True) + + def generate_event(self, domain, event): + if not self.config.protocol.options: + return domain in self.generate_domains + return self.check_options(self.config.protocol.options, domain, event, + "include_events", "exclude_events", True) + + def generate_type(self, domain, typename): + return domain + "." + typename in self.used_types + + def is_async_command(self, domain, command): + if not self.config.protocol.options: + return False + return self.check_options(self.config.protocol.options, domain, command, + "async_", None, False) + + def is_exported(self, domain, name): + if not self.config.protocol.options: + return False + return self.check_options(self.config.protocol.options, domain, name, + "exported", None, False) + + def is_imported(self, domain, name): + if not self.config.imported: + return False + if not self.config.imported.options: + return domain in self.imported_domains + return self.check_options(self.config.imported.options, domain, name, + "imported", None, False) + + def is_exported_domain(self, domain): + return domain in self.exported_domains + + def generate_disable(self, domain): + if "commands" not in domain: + return True + for command in domain["commands"]: + if command["name"] == "disable" and self.generate_command( + domain["domain"], "disable"): + return False + return True + + def is_imported_dependency(self, domain): + return domain in self.generate_domains or domain in self.imported_domains + + +def main(): + jinja_dir, config_file, config = read_config() + + protocol = Protocol(config) + + if not config.exported and len(protocol.exported_domains): + sys.stderr.write(("Domains [%s] are exported, but config is missing export " + "entry\n\n") % ", ".join(protocol.exported_domains)) + exit(1) + + if not os.path.exists(config.protocol.output): + os.mkdir(config.protocol.output) + if len(protocol.exported_domains) and not os.path.exists( + config.exported.output): + os.mkdir(config.exported.output) + jinja_env = initialize_jinja_env(jinja_dir, config.protocol.output, config) + + inputs = [] + inputs.append(__file__) + inputs.append(config_file) + inputs.append(config.protocol.path) + if config.imported: + inputs.append(config.imported.path) + templates_dir = os.path.join(module_path, "templates") + inputs.append(os.path.join(templates_dir, "TypeBuilder_h.template")) + inputs.append(os.path.join(templates_dir, "TypeBuilder_cpp.template")) + inputs.append(os.path.join(templates_dir, "Exported_h.template")) + inputs.append(os.path.join(templates_dir, "Imported_h.template")) + + h_template = jinja_env.get_template("templates/TypeBuilder_h.template") + cpp_template = jinja_env.get_template("templates/TypeBuilder_cpp.template") + exported_template = jinja_env.get_template("templates/Exported_h.template") + imported_template = jinja_env.get_template("templates/Imported_h.template") + + outputs = dict() + + for domain in protocol.json_api["domains"]: + class_name = domain["domain"] + file_name = config.protocol.file_name_prefix + class_name + template_context = { + "protocol": protocol, + "config": config, + "domain": domain, + "join_arrays": join_arrays, + "format_include": functools.partial(format_include, config), + "format_domain_include": functools.partial(format_domain_include, config), + } + + if domain["domain"] in protocol.generate_domains: + outputs[os.path.join(config.protocol.output, to_file_name( + config, file_name + ".h"))] = h_template.render(template_context) + outputs[os.path.join(config.protocol.output, to_file_name( + config, file_name + ".cpp"))] = cpp_template.render(template_context) + if domain["domain"] in protocol.exported_domains: + outputs[os.path.join(config.exported.output, to_file_name( + config, file_name + ".h"))] = exported_template.render( + template_context) + if domain["domain"] in protocol.imported_domains: + outputs[os.path.join(config.protocol.output, to_file_name( + config, file_name + ".h"))] = imported_template.render( + template_context) + + if config.lib: + template_context = { + "config": config, + "format_include": functools.partial(format_include, config), + } + + lib_templates_dir = os.path.join(module_path, "lib") + # Note these should be sorted in the right order. + + # TODO(dgozman): sort them programmatically based on commented includes. + + forward_h_templates = [ + "Forward_h.template", + ] + + protocol_h_templates = [] + protocol_cpp_templates = [] + + if not config.use_embedder_types: + protocol_h_templates += [ + "Values_h.template", + "Object_h.template", + "ValueConversions_h.template", + ] + protocol_cpp_templates += [ + "Protocol_cpp.template", + "Values_cpp.template", + "Object_cpp.template", + "ValueConversions_cpp.template", + ] + else: + protocol_h_templates += [ + "Forward_h.template", + ] + + def generate_lib_file(file_name, template_files): + parts = [] + for template_file in template_files: + inputs.append(os.path.join(lib_templates_dir, template_file)) + template = jinja_env.get_template("lib/" + template_file) + parts.append(template.render(template_context)) + outputs[file_name] = "\n\n".join(parts) + + generate_lib_file(os.path.join(config.lib.output, to_file_name( + config, "Forward.h")), forward_h_templates) + generate_lib_file(os.path.join(config.lib.output, to_file_name( + config, "Protocol.h")), protocol_h_templates) + + if not config.use_embedder_types: + generate_lib_file(os.path.join(config.lib.output, to_file_name( + config, "Protocol.cpp")), protocol_cpp_templates) + + # Make gyp / make generatos happy, otherwise make rebuilds world. + inputs_ts = max(map(os.path.getmtime, inputs)) + up_to_date = True + for output_file in outputs.keys(): + if (not os.path.exists(output_file) + or os.path.getmtime(output_file) < inputs_ts): + up_to_date = False + break + if up_to_date: + sys.exit() + + for file_name, content in outputs.items(): + # Remove output file first to account for potential case changes. + try: + os.remove(file_name) + except OSError: + pass + out_file = open(file_name, "w") + out_file.write(content) + out_file.close() + + +if __name__ == "__main__": + main() diff --git a/deps/inspector_protocol/concatenate_protocols.py b/deps/inspector_protocol/concatenate_protocols.py new file mode 100755 index 00000000000000..11f1fed06c49f6 --- /dev/null +++ b/deps/inspector_protocol/concatenate_protocols.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +# Copyright 2016 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import os.path +import sys + +try: + import json +except ImportError: + import simplejson as json + +import pdl + +def main(argv): + if len(argv) < 1: + sys.stderr.write( + "Usage: %s <protocol-1> [<protocol-2> [, <protocol-3>...]] " + "<output-file>\n" % sys.argv[0]) + return 1 + + domains = [] + version = None + for protocol in argv[:-1]: + file_name = os.path.normpath(protocol) + if not os.path.isfile(file_name): + sys.stderr.write("Cannot find %s\n" % file_name) + return 1 + input_file = open(file_name, "r") + parsed_json = pdl.loads(input_file.read(), file_name) + domains += parsed_json["domains"] + version = parsed_json["version"] + + output_file = open(argv[-1], "w") + json.dump({"version": version, "domains": domains}, output_file, + indent=4, sort_keys=False, separators=(',', ': ')) + output_file.close() + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/tools/inspector_protocol/convert_protocol_to_json.py b/deps/inspector_protocol/convert_protocol_to_json.py similarity index 67% rename from tools/inspector_protocol/convert_protocol_to_json.py rename to deps/inspector_protocol/convert_protocol_to_json.py index 835e6387120bcc..e31dd7f127e151 100755 --- a/tools/inspector_protocol/convert_protocol_to_json.py +++ b/deps/inspector_protocol/convert_protocol_to_json.py @@ -1,5 +1,5 @@ -#!/usr/bin/env python -# Copyright 2017 The Chromium Authors. All rights reserved. +#!/usr/bin/env python3 +# Copyright 2017 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. @@ -10,6 +10,13 @@ import pdl +def open_to_write(path): + if sys.version_info >= (3,0): + return open(path, 'w', encoding='utf-8') + else: + return open(path, 'wb') + + def main(argv): parser = argparse.ArgumentParser(description=( "Converts from .pdl to .json by invoking the pdl Python module.")) @@ -21,12 +28,13 @@ def main(argv): parser.add_argument("json_file", help="The .json output file write.") args = parser.parse_args(argv) file_name = os.path.normpath(args.pdl_file) - with open(file_name, "r") as input_file: - pdl_string = input_file.read() + input_file = open(file_name, "r") + pdl_string = input_file.read() protocol = pdl.loads(pdl_string, file_name, args.map_binary_to_string) - - with open(os.path.normpath(args.json_file), 'w') as output_file: - json.dump(protocol, output_file, indent=4, separators=(',', ': ')) + input_file.close() + output_file = open_to_write(os.path.normpath(args.json_file)) + json.dump(protocol, output_file, indent=4, separators=(',', ': ')) + output_file.close() if __name__ == '__main__': diff --git a/deps/inspector_protocol/crdtp/README.md b/deps/inspector_protocol/crdtp/README.md new file mode 100644 index 00000000000000..a9bbc9e8865fd2 --- /dev/null +++ b/deps/inspector_protocol/crdtp/README.md @@ -0,0 +1,114 @@ +# CRDTP - Chrome DevTools Protocol Library. + +[Canonical location for this library.](https://chromium.googlesource.com/deps/inspector_protocol/+/refs/heads/main) + +This is a support library for the Chrome DevTools protocol implementation. + +It's used from within the Jinja templates which we use for code generation +(see ../lib and ../templates) as well as from Chromium (headless, +chrome, content, blink), V8, and other code bases that use the DevTools +protocol. + +The library is designed to be portable. The only allowed dependencies are: + +- The C/C++ standard libraries, up to C++14. + The litmus test is that it compiles and passes tests for all platforms + supported by V8. + +- For testing, we depend on mini_chromium and gtest. This is isolated + into the `crdtp/test_platform.{h,cc}` library. + +We support 32 bit and 64 bit architectures. + +# Common types used in this library. + +- `uint8_t`: a byte, e.g. for raw bytes or UTF8 characters + +- `uint16_t`: two bytes, e.g. for UTF16 characters + +For input parameters: + +- `span<uint8_t>`: pointer to bytes and length + +- `span<uint16_t>`: pointer to UTF16 chars and length + +For output parameters: + +- `std::vector<uint8_t>` - Owned segment of bytes / utf8 characters and length. + +- `std::string` - Same, for compatibility, even though char is signed. + +# Building and running the tests. + +If you're familiar with +[Chromium's development process](https://www.chromium.org/developers/contributing-code) +and have the depot_tools installed, you may use these commands +to fetch the package (and dependencies) and build and run the tests: + + fetch inspector_protocol + cd src + gn gen out/Release + ninja -C out/Release crdtp_test + out/Release/crdtp_test + +You'll probably also need to install g++, since Clang uses this to find the +standard C++ headers. E.g., + + sudo apt-get install g++-8 + +# Purpose of the tests + +crdtp comes with unittest coverage. + +Upstream, in this standalone package, the unittests make development +more pleasant because they are very fast and light (try the previous +section to see). + +Downstream (in Chromium, V8, etc.), they ensure that the library behaves +correctly within each specific code base. We have seen bugs from different +architectures / compilers / etc. in the past. We have also seen +that a tweaked downstream crdtp_platform library did not behave correctly, +becaues V8's strtod routine interprets out of range literals as 'inf'. +Thus, the unittests function as a conformance test suite for such code-base +specific tweaks downstream. + +# Customization by downstream users (Chrome, V8, google3, etc.). + +Downstream users may need to customize the library. We isolate these typical +customizations into two platform libraries (crdtp_plaform and +crdtp_test_platform), to reduce the chance of merge conflicts and grief when +rolling as much as possible. While customized platform libraries may +depend on the downstream code base (e.g. abseil, Chromium's base, V8's utility +functions, Boost, etc.), they are not exposed to the headers that +downstream code depends on. + +## crdtp_platform + +This platform library is only used by the crdtp library; it is not part of the +crdtp API. Thus far it consists only of json_platform.h and json_platform.cc, +because conversion between a `std::string` and a double is tricky, and different +code bases have different preferences in this regard. In this repository +(upstream), json_platform.cc provides a reference implementation which uses the +C++ standard library. + +Downstream, in Chromium, json_platform_chromium.cc has a different +implementation that uses the routines in Chromium's //base, that is, it's a .cc +file that's specific to Chromium. Similarly, in V8, json_platform_v8.cc uses +V8's number conversion utilities, so it's a .cc file that's specific to V8. And +in google3, we use the absl library. crdtp/json_platform.cc is designed to be +easy to modify or replace, and the interface defined by its header is designed +to be stable. + +## crdtp_test_platform + +This platform library is only used by the tests. Upstream, it's setup to +use mini_chromium and gtest. Downstream, Chromium uses its //base libraries, +and V8 uses theirs; and a small amount of tweaking is needed in each code +base - e.g., Chromium, V8, and google3 each place `#include` declarations into +test_platform.h that are specific to their code base, and they have their +own routines in test_platform.cc which uses their own libraries. + +The purpose of crdtp_test_platform is to isolate the tweaking to this small, +stable library (modifying test_platform.h and test_platform.cc). This avoids +having to modify the actual tests (json_test.cc, cbor_test.cc, ...) +when rolling changes downstream. We try to not use patch files. diff --git a/deps/inspector_protocol/crdtp/cbor.cc b/deps/inspector_protocol/crdtp/cbor.cc new file mode 100644 index 00000000000000..801c1708022763 --- /dev/null +++ b/deps/inspector_protocol/crdtp/cbor.cc @@ -0,0 +1,1078 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "cbor.h" + +#include <algorithm> +#include <cassert> +#include <cmath> +#include <cstring> +#include <limits> +#include <stack> + +namespace crdtp { +namespace cbor { +namespace { +// Indicates the number of bits the "initial byte" needs to be shifted to the +// right after applying |kMajorTypeMask| to produce the major type in the +// lowermost bits. +static constexpr uint8_t kMajorTypeBitShift = 5u; +// Mask selecting the low-order 5 bits of the "initial byte", which is where +// the additional information is encoded. +static constexpr uint8_t kAdditionalInformationMask = 0x1f; +// Mask selecting the high-order 3 bits of the "initial byte", which indicates +// the major type of the encoded value. +static constexpr uint8_t kMajorTypeMask = 0xe0; +// Indicates the integer is in the following byte. +static constexpr uint8_t kAdditionalInformation1Byte = 24u; +// Indicates the integer is in the next 2 bytes. +static constexpr uint8_t kAdditionalInformation2Bytes = 25u; +// Indicates the integer is in the next 4 bytes. +static constexpr uint8_t kAdditionalInformation4Bytes = 26u; +// Indicates the integer is in the next 8 bytes. +static constexpr uint8_t kAdditionalInformation8Bytes = 27u; + +// Encodes the initial byte, consisting of the |type| in the first 3 bits +// followed by 5 bits of |additional_info|. +constexpr uint8_t EncodeInitialByte(MajorType type, uint8_t additional_info) { + return (static_cast<uint8_t>(type) << kMajorTypeBitShift) | + (additional_info & kAdditionalInformationMask); +} + +// TAG 24 indicates that what follows is a byte string which is +// encoded in CBOR format. We use this as a wrapper for +// maps and arrays, allowing us to skip them, because the +// byte string carries its size (byte length). +// https://tools.ietf.org/html/rfc7049#section-2.4.4.1 +static constexpr uint8_t kInitialByteForEnvelope = + EncodeInitialByte(MajorType::TAG, kAdditionalInformation1Byte); + +// The standalone byte for "envelope" tag, to follow kInitialByteForEnvelope +// in the correct implementation, as it is above in-tag value max (which is +// also, confusingly, 24). See EnvelopeHeader::Parse() for more. +static constexpr uint8_t kCBOREnvelopeTag = 24; + +// The initial byte for a byte string with at most 2^32 bytes +// of payload. This is used for envelope encoding, even if +// the byte string is shorter. +static constexpr uint8_t kInitialByteFor32BitLengthByteString = + EncodeInitialByte(MajorType::BYTE_STRING, 26); + +// See RFC 7049 Section 2.2.1, indefinite length arrays / maps have additional +// info = 31. +static constexpr uint8_t kInitialByteIndefiniteLengthArray = + EncodeInitialByte(MajorType::ARRAY, 31); +static constexpr uint8_t kInitialByteIndefiniteLengthMap = + EncodeInitialByte(MajorType::MAP, 31); +// See RFC 7049 Section 2.3, Table 1; this is used for finishing indefinite +// length maps / arrays. +static constexpr uint8_t kStopByte = + EncodeInitialByte(MajorType::SIMPLE_VALUE, 31); + +// See RFC 7049 Section 2.3, Table 2. +static constexpr uint8_t kEncodedTrue = + EncodeInitialByte(MajorType::SIMPLE_VALUE, 21); +static constexpr uint8_t kEncodedFalse = + EncodeInitialByte(MajorType::SIMPLE_VALUE, 20); +static constexpr uint8_t kEncodedNull = + EncodeInitialByte(MajorType::SIMPLE_VALUE, 22); +static constexpr uint8_t kInitialByteForDouble = + EncodeInitialByte(MajorType::SIMPLE_VALUE, 27); + +// See RFC 7049 Table 3 and Section 2.4.4.2. This is used as a prefix for +// arbitrary binary data encoded as BYTE_STRING. +static constexpr uint8_t kExpectedConversionToBase64Tag = + EncodeInitialByte(MajorType::TAG, 22); + +// Writes the bytes for |v| to |out|, starting with the most significant byte. +// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html +template <typename T> +void WriteBytesMostSignificantByteFirst(T v, std::vector<uint8_t>* out) { + for (int shift_bytes = sizeof(T) - 1; shift_bytes >= 0; --shift_bytes) + out->push_back(0xff & (v >> (shift_bytes * 8))); +} + +// Extracts sizeof(T) bytes from |in| to extract a value of type T +// (e.g. uint64_t, uint32_t, ...), most significant byte first. +// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html +template <typename T> +T ReadBytesMostSignificantByteFirst(span<uint8_t> in) { + assert(in.size() >= sizeof(T)); + T result = 0; + for (size_t shift_bytes = 0; shift_bytes < sizeof(T); ++shift_bytes) + result |= T(in[sizeof(T) - 1 - shift_bytes]) << (shift_bytes * 8); + return result; +} +} // namespace + +namespace internals { +// Reads the start of a token with definitive size from |bytes|. +// |type| is the major type as specified in RFC 7049 Section 2.1. +// |value| is the payload (e.g. for MajorType::UNSIGNED) or is the size +// (e.g. for BYTE_STRING). +// If successful, returns the number of bytes read. Otherwise returns 0. +size_t ReadTokenStart(span<uint8_t> bytes, MajorType* type, uint64_t* value) { + if (bytes.empty()) + return 0; + uint8_t initial_byte = bytes[0]; + *type = MajorType((initial_byte & kMajorTypeMask) >> kMajorTypeBitShift); + + uint8_t additional_information = initial_byte & kAdditionalInformationMask; + if (additional_information < 24) { + // Values 0-23 are encoded directly into the additional info of the + // initial byte. + *value = additional_information; + return 1; + } + if (additional_information == kAdditionalInformation1Byte) { + // Values 24-255 are encoded with one initial byte, followed by the value. + if (bytes.size() < 2) + return 0; + *value = ReadBytesMostSignificantByteFirst<uint8_t>(bytes.subspan(1)); + return 2; + } + if (additional_information == kAdditionalInformation2Bytes) { + // Values 256-65535: 1 initial byte + 2 bytes payload. + if (bytes.size() < 1 + sizeof(uint16_t)) + return 0; + *value = ReadBytesMostSignificantByteFirst<uint16_t>(bytes.subspan(1)); + return 3; + } + if (additional_information == kAdditionalInformation4Bytes) { + // 32 bit uint: 1 initial byte + 4 bytes payload. + if (bytes.size() < 1 + sizeof(uint32_t)) + return 0; + *value = ReadBytesMostSignificantByteFirst<uint32_t>(bytes.subspan(1)); + return 5; + } + if (additional_information == kAdditionalInformation8Bytes) { + // 64 bit uint: 1 initial byte + 8 bytes payload. + if (bytes.size() < 1 + sizeof(uint64_t)) + return 0; + *value = ReadBytesMostSignificantByteFirst<uint64_t>(bytes.subspan(1)); + return 9; + } + return 0; +} + +// Writes the start of a token with |type|. The |value| may indicate the size, +// or it may be the payload if the value is an unsigned integer. +void WriteTokenStart(MajorType type, + uint64_t value, + std::vector<uint8_t>* encoded) { + if (value < 24) { + // Values 0-23 are encoded directly into the additional info of the + // initial byte. + encoded->push_back(EncodeInitialByte(type, /*additional_info=*/value)); + return; + } + if (value <= std::numeric_limits<uint8_t>::max()) { + // Values 24-255 are encoded with one initial byte, followed by the value. + encoded->push_back(EncodeInitialByte(type, kAdditionalInformation1Byte)); + encoded->push_back(value); + return; + } + if (value <= std::numeric_limits<uint16_t>::max()) { + // Values 256-65535: 1 initial byte + 2 bytes payload. + encoded->push_back(EncodeInitialByte(type, kAdditionalInformation2Bytes)); + WriteBytesMostSignificantByteFirst<uint16_t>(value, encoded); + return; + } + if (value <= std::numeric_limits<uint32_t>::max()) { + // 32 bit uint: 1 initial byte + 4 bytes payload. + encoded->push_back(EncodeInitialByte(type, kAdditionalInformation4Bytes)); + WriteBytesMostSignificantByteFirst<uint32_t>(static_cast<uint32_t>(value), + encoded); + return; + } + // 64 bit uint: 1 initial byte + 8 bytes payload. + encoded->push_back(EncodeInitialByte(type, kAdditionalInformation8Bytes)); + WriteBytesMostSignificantByteFirst<uint64_t>(value, encoded); +} +} // namespace internals + +// ============================================================================= +// Detecting CBOR content +// ============================================================================= + +bool IsCBORMessage(span<uint8_t> msg) { + return msg.size() >= 4 && msg[0] == kInitialByteForEnvelope && + (msg[1] == kInitialByteFor32BitLengthByteString || + (msg[1] == kCBOREnvelopeTag && + msg[2] == kInitialByteFor32BitLengthByteString)); +} + +Status CheckCBORMessage(span<uint8_t> msg) { + if (msg.empty()) + return Status(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 0); + if (msg[0] != kInitialByteForEnvelope) + return Status(Error::CBOR_INVALID_START_BYTE, 0); + StatusOr<EnvelopeHeader> status_or_header = EnvelopeHeader::Parse(msg); + if (!status_or_header.ok()) + return status_or_header.status(); + const size_t pos = (*status_or_header).header_size(); + assert(pos < msg.size()); // EnvelopeParser would not allow empty envelope. + if (msg[pos] != EncodeIndefiniteLengthMapStart()) + return Status(Error::CBOR_MAP_START_EXPECTED, pos); + return Status(); +} + +// ============================================================================= +// Encoding invidiual CBOR items +// ============================================================================= + +uint8_t EncodeTrue() { + return kEncodedTrue; +} + +uint8_t EncodeFalse() { + return kEncodedFalse; +} + +uint8_t EncodeNull() { + return kEncodedNull; +} + +uint8_t EncodeIndefiniteLengthArrayStart() { + return kInitialByteIndefiniteLengthArray; +} + +uint8_t EncodeIndefiniteLengthMapStart() { + return kInitialByteIndefiniteLengthMap; +} + +uint8_t EncodeStop() { + return kStopByte; +} + +void EncodeInt32(int32_t value, std::vector<uint8_t>* out) { + if (value >= 0) { + internals::WriteTokenStart(MajorType::UNSIGNED, value, out); + } else { + uint64_t representation = static_cast<uint64_t>(-(value + 1)); + internals::WriteTokenStart(MajorType::NEGATIVE, representation, out); + } +} + +void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out) { + uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); + internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); + // When emitting UTF16 characters, we always write the least significant byte + // first; this is because it's the native representation for X86. + // TODO(johannes): Implement a more efficient thing here later, e.g. + // casting *iff* the machine has this byte order. + // The wire format for UTF16 chars will probably remain the same + // (least significant byte first) since this way we can have + // golden files, unittests, etc. that port easily and universally. + // See also: + // https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html + for (const uint16_t two_bytes : in) { + out->push_back(two_bytes); + out->push_back(two_bytes >> 8); + } +} + +void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out) { + internals::WriteTokenStart(MajorType::STRING, + static_cast<uint64_t>(in.size_bytes()), out); + out->insert(out->end(), in.begin(), in.end()); +} + +void EncodeFromLatin1(span<uint8_t> latin1, std::vector<uint8_t>* out) { + for (size_t ii = 0; ii < latin1.size(); ++ii) { + if (latin1[ii] <= 127) + continue; + // If there's at least one non-ASCII char, convert to UTF8. + std::vector<uint8_t> utf8(latin1.begin(), latin1.begin() + ii); + for (; ii < latin1.size(); ++ii) { + if (latin1[ii] <= 127) { + utf8.push_back(latin1[ii]); + } else { + // 0xC0 means it's a UTF8 sequence with 2 bytes. + utf8.push_back((latin1[ii] >> 6) | 0xc0); + utf8.push_back((latin1[ii] | 0x80) & 0xbf); + } + } + EncodeString8(SpanFrom(utf8), out); + return; + } + EncodeString8(latin1, out); +} + +void EncodeFromUTF16(span<uint16_t> utf16, std::vector<uint8_t>* out) { + // If there's at least one non-ASCII char, encode as STRING16 (UTF16). + for (uint16_t ch : utf16) { + if (ch <= 127) + continue; + EncodeString16(utf16, out); + return; + } + // It's all US-ASCII, strip out every second byte and encode as UTF8. + internals::WriteTokenStart(MajorType::STRING, + static_cast<uint64_t>(utf16.size()), out); + out->insert(out->end(), utf16.begin(), utf16.end()); +} + +void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out) { + out->push_back(kExpectedConversionToBase64Tag); + uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); + internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); + out->insert(out->end(), in.begin(), in.end()); +} + +// A double is encoded with a specific initial byte +// (kInitialByteForDouble) plus the 64 bits of payload for its value. +constexpr size_t kEncodedDoubleSize = 1 + sizeof(uint64_t); + +void EncodeDouble(double value, std::vector<uint8_t>* out) { + // The additional_info=27 indicates 64 bits for the double follow. + // See RFC 7049 Section 2.3, Table 1. + out->push_back(kInitialByteForDouble); + union { + double from_double; + uint64_t to_uint64; + } reinterpret; + reinterpret.from_double = value; + WriteBytesMostSignificantByteFirst<uint64_t>(reinterpret.to_uint64, out); +} + +// ============================================================================= +// cbor::EnvelopeEncoder - for wrapping submessages +// ============================================================================= + +void EnvelopeEncoder::EncodeStart(std::vector<uint8_t>* out) { + assert(byte_size_pos_ == 0); + out->push_back(kInitialByteForEnvelope); + out->push_back(kCBOREnvelopeTag); + out->push_back(kInitialByteFor32BitLengthByteString); + byte_size_pos_ = out->size(); + out->resize(out->size() + sizeof(uint32_t)); +} + +bool EnvelopeEncoder::EncodeStop(std::vector<uint8_t>* out) { + assert(byte_size_pos_ != 0); + // The byte size is the size of the payload, that is, all the + // bytes that were written past the byte size position itself. + uint64_t byte_size = out->size() - (byte_size_pos_ + sizeof(uint32_t)); + // We store exactly 4 bytes, so at most INT32MAX, with most significant + // byte first. + if (byte_size > std::numeric_limits<uint32_t>::max()) + return false; + for (int shift_bytes = sizeof(uint32_t) - 1; shift_bytes >= 0; + --shift_bytes) { + (*out)[byte_size_pos_++] = 0xff & (byte_size >> (shift_bytes * 8)); + } + return true; +} + +// static +StatusOr<EnvelopeHeader> EnvelopeHeader::Parse(span<uint8_t> in) { + auto header_or_status = ParseFromFragment(in); + if (!header_or_status.ok()) + return header_or_status; + if ((*header_or_status).outer_size() > in.size()) { + return StatusOr<EnvelopeHeader>( + Status(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, in.size())); + } + return header_or_status; +} + +// static +StatusOr<EnvelopeHeader> EnvelopeHeader::ParseFromFragment(span<uint8_t> in) { + // Our copy of StatusOr<> requires explicit constructor. + using Ret = StatusOr<EnvelopeHeader>; + constexpr size_t kMinEnvelopeSize = 2 + /* for envelope tag */ + 1 + /* for byte string */ + 1; /* for contents, a map or an array */ + if (in.size() < kMinEnvelopeSize) + return Ret(Status(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, in.size())); + assert(in[0] == kInitialByteForEnvelope); // Caller should assure that. + size_t offset = 1; + // TODO(caseq): require this! We're currently accepting both a legacy, + // non spec-compliant envelope tag (that this implementation still currently + // produces), as well as a well-formed two-byte tag that a correct + // implementation should emit. + if (in[offset] == kCBOREnvelopeTag) + ++offset; + MajorType type; + uint64_t size; + size_t string_header_size = + internals::ReadTokenStart(in.subspan(offset), &type, &size); + if (!string_header_size) + return Ret(Status(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, in.size())); + if (type != MajorType::BYTE_STRING) + return Ret(Status(Error::CBOR_INVALID_ENVELOPE, offset)); + // Do not allow empty envelopes -- at least an empty map/array should fit. + if (!size) { + return Ret(Status(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE, + offset + string_header_size)); + } + if (size > std::numeric_limits<uint32_t>::max()) + return Ret(Status(Error::CBOR_INVALID_ENVELOPE, offset)); + offset += string_header_size; + return Ret(EnvelopeHeader(offset, static_cast<size_t>(size))); +} + +// ============================================================================= +// cbor::NewCBOREncoder - for encoding from a streaming parser +// ============================================================================= + +namespace { +class CBOREncoder : public ParserHandler { + public: + CBOREncoder(std::vector<uint8_t>* out, Status* status) + : out_(out), status_(status) { + *status_ = Status(); + } + + void HandleMapBegin() override { + if (!status_->ok()) + return; + envelopes_.emplace_back(); + envelopes_.back().EncodeStart(out_); + out_->push_back(kInitialByteIndefiniteLengthMap); + } + + void HandleMapEnd() override { + if (!status_->ok()) + return; + out_->push_back(kStopByte); + assert(!envelopes_.empty()); + if (!envelopes_.back().EncodeStop(out_)) { + HandleError( + Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); + return; + } + envelopes_.pop_back(); + } + + void HandleArrayBegin() override { + if (!status_->ok()) + return; + envelopes_.emplace_back(); + envelopes_.back().EncodeStart(out_); + out_->push_back(kInitialByteIndefiniteLengthArray); + } + + void HandleArrayEnd() override { + if (!status_->ok()) + return; + out_->push_back(kStopByte); + assert(!envelopes_.empty()); + if (!envelopes_.back().EncodeStop(out_)) { + HandleError( + Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); + return; + } + envelopes_.pop_back(); + } + + void HandleString8(span<uint8_t> chars) override { + if (!status_->ok()) + return; + EncodeString8(chars, out_); + } + + void HandleString16(span<uint16_t> chars) override { + if (!status_->ok()) + return; + EncodeFromUTF16(chars, out_); + } + + void HandleBinary(span<uint8_t> bytes) override { + if (!status_->ok()) + return; + EncodeBinary(bytes, out_); + } + + void HandleDouble(double value) override { + if (!status_->ok()) + return; + EncodeDouble(value, out_); + } + + void HandleInt32(int32_t value) override { + if (!status_->ok()) + return; + EncodeInt32(value, out_); + } + + void HandleBool(bool value) override { + if (!status_->ok()) + return; + // See RFC 7049 Section 2.3, Table 2. + out_->push_back(value ? kEncodedTrue : kEncodedFalse); + } + + void HandleNull() override { + if (!status_->ok()) + return; + // See RFC 7049 Section 2.3, Table 2. + out_->push_back(kEncodedNull); + } + + void HandleError(Status error) override { + if (!status_->ok()) + return; + *status_ = error; + out_->clear(); + } + + private: + std::vector<uint8_t>* out_; + std::vector<EnvelopeEncoder> envelopes_; + Status* status_; +}; +} // namespace + +std::unique_ptr<ParserHandler> NewCBOREncoder(std::vector<uint8_t>* out, + Status* status) { + return std::unique_ptr<ParserHandler>(new CBOREncoder(out, status)); +} + +// ============================================================================= +// cbor::CBORTokenizer - for parsing individual CBOR items +// ============================================================================= + +CBORTokenizer::CBORTokenizer(span<uint8_t> bytes) + : bytes_(bytes), status_(Error::OK, 0) { + ReadNextToken(); +} + +CBORTokenizer::~CBORTokenizer() {} + +CBORTokenTag CBORTokenizer::TokenTag() const { + return token_tag_; +} + +void CBORTokenizer::Next() { + if (token_tag_ == CBORTokenTag::ERROR_VALUE || + token_tag_ == CBORTokenTag::DONE) + return; + ReadNextToken(); +} + +void CBORTokenizer::EnterEnvelope() { + token_byte_length_ = GetEnvelopeHeader().header_size(); + ReadNextToken(); +} + +Status CBORTokenizer::Status() const { + return status_; +} + +// The following accessor functions ::GetInt32, ::GetDouble, +// ::GetString8, ::GetString16WireRep, ::GetBinary, ::GetEnvelopeContents +// assume that a particular token was recognized in ::ReadNextToken. +// That's where all the error checking is done. By design, +// the accessors (assuming the token was recognized) never produce +// an error. + +int32_t CBORTokenizer::GetInt32() const { + assert(token_tag_ == CBORTokenTag::INT32); + // The range checks happen in ::ReadNextToken(). + return static_cast<int32_t>( + token_start_type_ == MajorType::UNSIGNED + ? token_start_internal_value_ + : -static_cast<int64_t>(token_start_internal_value_) - 1); +} + +double CBORTokenizer::GetDouble() const { + assert(token_tag_ == CBORTokenTag::DOUBLE); + union { + uint64_t from_uint64; + double to_double; + } reinterpret; + reinterpret.from_uint64 = ReadBytesMostSignificantByteFirst<uint64_t>( + bytes_.subspan(status_.pos + 1)); + return reinterpret.to_double; +} + +span<uint8_t> CBORTokenizer::GetString8() const { + assert(token_tag_ == CBORTokenTag::STRING8); + auto length = static_cast<size_t>(token_start_internal_value_); + return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); +} + +span<uint8_t> CBORTokenizer::GetString16WireRep() const { + assert(token_tag_ == CBORTokenTag::STRING16); + auto length = static_cast<size_t>(token_start_internal_value_); + return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); +} + +span<uint8_t> CBORTokenizer::GetBinary() const { + assert(token_tag_ == CBORTokenTag::BINARY); + auto length = static_cast<size_t>(token_start_internal_value_); + return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); +} + +span<uint8_t> CBORTokenizer::GetEnvelope() const { + return bytes_.subspan(status_.pos, GetEnvelopeHeader().outer_size()); +} + +span<uint8_t> CBORTokenizer::GetEnvelopeContents() const { + const EnvelopeHeader& header = GetEnvelopeHeader(); + return bytes_.subspan(status_.pos + header.header_size(), + header.content_size()); +} + +const EnvelopeHeader& CBORTokenizer::GetEnvelopeHeader() const { + assert(token_tag_ == CBORTokenTag::ENVELOPE); + return envelope_header_; +} + +// All error checking happens in ::ReadNextToken, so that the accessors +// can avoid having to carry an error return value. +// +// With respect to checking the encoded lengths of strings, arrays, etc: +// On the wire, CBOR uses 1,2,4, and 8 byte unsigned integers, so +// we initially read them as uint64_t, usually into token_start_internal_value_. +// +// However, since these containers have a representation on the machine, +// we need to do corresponding size computations on the input byte array, +// output span (e.g. the payload for a string), etc., and size_t is +// machine specific (in practice either 32 bit or 64 bit). +// +// Further, we must avoid overflowing size_t. Therefore, we use this +// kMaxValidLength constant to: +// - Reject values that are larger than the architecture specific +// max size_t (differs between 32 bit and 64 bit arch). +// - Reserve at least one bit so that we can check against overflows +// when adding lengths (array / string length / etc.); we do this by +// ensuring that the inputs to an addition are <= kMaxValidLength, +// and then checking whether the sum went past it. +// +// See also +// https://chromium.googlesource.com/chromium/src/+/main/docs/security/integer-semantics.md +static const uint64_t kMaxValidLength = + std::min<uint64_t>(std::numeric_limits<uint64_t>::max() >> 2, + std::numeric_limits<size_t>::max()); + +void CBORTokenizer::ReadNextToken() { + status_.pos += token_byte_length_; + status_.error = Error::OK; + envelope_header_ = EnvelopeHeader(); + if (status_.pos >= bytes_.size()) { + token_tag_ = CBORTokenTag::DONE; + return; + } + const size_t remaining_bytes = bytes_.size() - status_.pos; + switch (bytes_[status_.pos]) { + case kStopByte: + SetToken(CBORTokenTag::STOP, 1); + return; + case kInitialByteIndefiniteLengthMap: + SetToken(CBORTokenTag::MAP_START, 1); + return; + case kInitialByteIndefiniteLengthArray: + SetToken(CBORTokenTag::ARRAY_START, 1); + return; + case kEncodedTrue: + SetToken(CBORTokenTag::TRUE_VALUE, 1); + return; + case kEncodedFalse: + SetToken(CBORTokenTag::FALSE_VALUE, 1); + return; + case kEncodedNull: + SetToken(CBORTokenTag::NULL_VALUE, 1); + return; + case kExpectedConversionToBase64Tag: { // BINARY + const size_t bytes_read = internals::ReadTokenStart( + bytes_.subspan(status_.pos + 1), &token_start_type_, + &token_start_internal_value_); + if (!bytes_read || token_start_type_ != MajorType::BYTE_STRING || + token_start_internal_value_ > kMaxValidLength) { + SetError(Error::CBOR_INVALID_BINARY); + return; + } + const uint64_t token_byte_length = token_start_internal_value_ + + /* tag before token start: */ 1 + + /* token start: */ bytes_read; + if (token_byte_length > remaining_bytes) { + SetError(Error::CBOR_INVALID_BINARY); + return; + } + SetToken(CBORTokenTag::BINARY, static_cast<size_t>(token_byte_length)); + return; + } + case kInitialByteForDouble: { // DOUBLE + if (kEncodedDoubleSize > remaining_bytes) { + SetError(Error::CBOR_INVALID_DOUBLE); + return; + } + SetToken(CBORTokenTag::DOUBLE, kEncodedDoubleSize); + return; + } + case kInitialByteForEnvelope: { // ENVELOPE + StatusOr<EnvelopeHeader> status_or_header = + EnvelopeHeader::Parse(bytes_.subspan(status_.pos)); + if (!status_or_header.ok()) { + status_.pos += status_or_header.status().pos; + SetError(status_or_header.status().error); + return; + } + assert((*status_or_header).outer_size() <= remaining_bytes); + envelope_header_ = *status_or_header; + SetToken(CBORTokenTag::ENVELOPE, envelope_header_.outer_size()); + return; + } + default: { + const size_t bytes_read = internals::ReadTokenStart( + bytes_.subspan(status_.pos), &token_start_type_, + &token_start_internal_value_); + switch (token_start_type_) { + case MajorType::UNSIGNED: // INT32. + // INT32 is a signed int32 (int32 makes sense for the + // inspector protocol, it's not a CBOR limitation), so we check + // against the signed max, so that the allowable values are + // 0, 1, 2, ... 2^31 - 1. + if (!bytes_read || + static_cast<uint64_t>(std::numeric_limits<int32_t>::max()) < + static_cast<uint64_t>(token_start_internal_value_)) { + SetError(Error::CBOR_INVALID_INT32); + return; + } + SetToken(CBORTokenTag::INT32, bytes_read); + return; + case MajorType::NEGATIVE: { // INT32. + // INT32 is a signed int32 (int32 makes sense for the + // inspector protocol, it's not a CBOR limitation); in CBOR, the + // negative values for INT32 are represented as NEGATIVE, that is, -1 + // INT32 is represented as 1 << 5 | 0 (major type 1, additional info + // value 0). + // The represented allowed values range is -1 to -2^31. + // They are mapped into the encoded range of 0 to 2^31-1. + // We check the payload in token_start_internal_value_ against + // that range (2^31-1 is also known as + // std::numeric_limits<int32_t>::max()). + if (!bytes_read || + static_cast<uint64_t>(token_start_internal_value_) > + static_cast<uint64_t>(std::numeric_limits<int32_t>::max())) { + SetError(Error::CBOR_INVALID_INT32); + return; + } + SetToken(CBORTokenTag::INT32, bytes_read); + return; + } + case MajorType::STRING: { // STRING8. + if (!bytes_read || token_start_internal_value_ > kMaxValidLength) { + SetError(Error::CBOR_INVALID_STRING8); + return; + } + uint64_t token_byte_length = token_start_internal_value_ + bytes_read; + if (token_byte_length > remaining_bytes) { + SetError(Error::CBOR_INVALID_STRING8); + return; + } + SetToken(CBORTokenTag::STRING8, + static_cast<size_t>(token_byte_length)); + return; + } + case MajorType::BYTE_STRING: { // STRING16. + // Length must be divisible by 2 since UTF16 is 2 bytes per + // character, hence the &1 check. + if (!bytes_read || token_start_internal_value_ > kMaxValidLength || + token_start_internal_value_ & 1) { + SetError(Error::CBOR_INVALID_STRING16); + return; + } + uint64_t token_byte_length = token_start_internal_value_ + bytes_read; + if (token_byte_length > remaining_bytes) { + SetError(Error::CBOR_INVALID_STRING16); + return; + } + SetToken(CBORTokenTag::STRING16, + static_cast<size_t>(token_byte_length)); + return; + } + case MajorType::ARRAY: + case MajorType::MAP: + case MajorType::TAG: + case MajorType::SIMPLE_VALUE: + SetError(Error::CBOR_UNSUPPORTED_VALUE); + return; + } + } + } +} + +void CBORTokenizer::SetToken(CBORTokenTag token_tag, size_t token_byte_length) { + token_tag_ = token_tag; + token_byte_length_ = token_byte_length; +} + +void CBORTokenizer::SetError(Error error) { + token_tag_ = CBORTokenTag::ERROR_VALUE; + status_.error = error; +} + +// ============================================================================= +// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages +// ============================================================================= + +namespace { +// When parsing CBOR, we limit recursion depth for objects and arrays +// to this constant. +static constexpr int kStackLimit = 300; + +// Below are three parsing routines for CBOR, which cover enough +// to roundtrip JSON messages. +bool ParseMap(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out); +bool ParseArray(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out); +bool ParseValue(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out); + +void ParseUTF16String(CBORTokenizer* tokenizer, ParserHandler* out) { + std::vector<uint16_t> value; + span<uint8_t> rep = tokenizer->GetString16WireRep(); + for (size_t ii = 0; ii < rep.size(); ii += 2) + value.push_back((rep[ii + 1] << 8) | rep[ii]); + out->HandleString16(span<uint16_t>(value.data(), value.size())); + tokenizer->Next(); +} + +bool ParseUTF8String(CBORTokenizer* tokenizer, ParserHandler* out) { + assert(tokenizer->TokenTag() == CBORTokenTag::STRING8); + out->HandleString8(tokenizer->GetString8()); + tokenizer->Next(); + return true; +} + +bool ParseEnvelope(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out) { + assert(tokenizer->TokenTag() == CBORTokenTag::ENVELOPE); + // Before we enter the envelope, we save the position that we + // expect to see after we're done parsing the envelope contents. + // This way we can compare and produce an error if the contents + // didn't fit exactly into the envelope length. + size_t pos_past_envelope = + tokenizer->Status().pos + tokenizer->GetEnvelopeHeader().outer_size(); + tokenizer->EnterEnvelope(); + switch (tokenizer->TokenTag()) { + case CBORTokenTag::ERROR_VALUE: + out->HandleError(tokenizer->Status()); + return false; + case CBORTokenTag::MAP_START: + if (!ParseMap(stack_depth + 1, tokenizer, out)) + return false; + break; // Continue to check pos_past_envelope below. + case CBORTokenTag::ARRAY_START: + if (!ParseArray(stack_depth + 1, tokenizer, out)) + return false; + break; // Continue to check pos_past_envelope below. + default: + out->HandleError(Status{Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE, + tokenizer->Status().pos}); + return false; + } + // The contents of the envelope parsed OK, now check that we're at + // the expected position. + if (pos_past_envelope != tokenizer->Status().pos) { + out->HandleError(Status{Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, + tokenizer->Status().pos}); + return false; + } + return true; +} + +bool ParseValue(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out) { + if (stack_depth > kStackLimit) { + out->HandleError( + Status{Error::CBOR_STACK_LIMIT_EXCEEDED, tokenizer->Status().pos}); + return false; + } + switch (tokenizer->TokenTag()) { + case CBORTokenTag::ERROR_VALUE: + out->HandleError(tokenizer->Status()); + return false; + case CBORTokenTag::DONE: + out->HandleError(Status{Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE, + tokenizer->Status().pos}); + return false; + case CBORTokenTag::ENVELOPE: + return ParseEnvelope(stack_depth, tokenizer, out); + case CBORTokenTag::TRUE_VALUE: + out->HandleBool(true); + tokenizer->Next(); + return true; + case CBORTokenTag::FALSE_VALUE: + out->HandleBool(false); + tokenizer->Next(); + return true; + case CBORTokenTag::NULL_VALUE: + out->HandleNull(); + tokenizer->Next(); + return true; + case CBORTokenTag::INT32: + out->HandleInt32(tokenizer->GetInt32()); + tokenizer->Next(); + return true; + case CBORTokenTag::DOUBLE: + out->HandleDouble(tokenizer->GetDouble()); + tokenizer->Next(); + return true; + case CBORTokenTag::STRING8: + return ParseUTF8String(tokenizer, out); + case CBORTokenTag::STRING16: + ParseUTF16String(tokenizer, out); + return true; + case CBORTokenTag::BINARY: { + out->HandleBinary(tokenizer->GetBinary()); + tokenizer->Next(); + return true; + } + case CBORTokenTag::MAP_START: + return ParseMap(stack_depth + 1, tokenizer, out); + case CBORTokenTag::ARRAY_START: + return ParseArray(stack_depth + 1, tokenizer, out); + default: + out->HandleError( + Status{Error::CBOR_UNSUPPORTED_VALUE, tokenizer->Status().pos}); + return false; + } +} + +// |bytes| must start with the indefinite length array byte, so basically, +// ParseArray may only be called after an indefinite length array has been +// detected. +bool ParseArray(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out) { + assert(tokenizer->TokenTag() == CBORTokenTag::ARRAY_START); + tokenizer->Next(); + out->HandleArrayBegin(); + while (tokenizer->TokenTag() != CBORTokenTag::STOP) { + if (tokenizer->TokenTag() == CBORTokenTag::DONE) { + out->HandleError( + Status{Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, tokenizer->Status().pos}); + return false; + } + if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { + out->HandleError(tokenizer->Status()); + return false; + } + // Parse value. + if (!ParseValue(stack_depth, tokenizer, out)) + return false; + } + out->HandleArrayEnd(); + tokenizer->Next(); + return true; +} + +// |bytes| must start with the indefinite length array byte, so basically, +// ParseArray may only be called after an indefinite length array has been +// detected. +bool ParseMap(int32_t stack_depth, + CBORTokenizer* tokenizer, + ParserHandler* out) { + assert(tokenizer->TokenTag() == CBORTokenTag::MAP_START); + out->HandleMapBegin(); + tokenizer->Next(); + while (tokenizer->TokenTag() != CBORTokenTag::STOP) { + if (tokenizer->TokenTag() == CBORTokenTag::DONE) { + out->HandleError( + Status{Error::CBOR_UNEXPECTED_EOF_IN_MAP, tokenizer->Status().pos}); + return false; + } + if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { + out->HandleError(tokenizer->Status()); + return false; + } + // Parse key. + if (tokenizer->TokenTag() == CBORTokenTag::STRING8) { + if (!ParseUTF8String(tokenizer, out)) + return false; + } else if (tokenizer->TokenTag() == CBORTokenTag::STRING16) { + ParseUTF16String(tokenizer, out); + } else { + out->HandleError( + Status{Error::CBOR_INVALID_MAP_KEY, tokenizer->Status().pos}); + return false; + } + // Parse value. + if (!ParseValue(stack_depth, tokenizer, out)) + return false; + } + out->HandleMapEnd(); + tokenizer->Next(); + return true; +} +} // namespace + +void ParseCBOR(span<uint8_t> bytes, ParserHandler* out) { + if (bytes.empty()) { + out->HandleError(Status{Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 0}); + return; + } + CBORTokenizer tokenizer(bytes); + if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { + out->HandleError(tokenizer.Status()); + return; + } + if (!ParseValue(/*stack_depth=*/0, &tokenizer, out)) + return; + if (tokenizer.TokenTag() == CBORTokenTag::DONE) + return; + if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { + out->HandleError(tokenizer.Status()); + return; + } + out->HandleError(Status{Error::CBOR_TRAILING_JUNK, tokenizer.Status().pos}); +} + +// ============================================================================= +// cbor::AppendString8EntryToMap - for limited in-place editing of messages +// ============================================================================= + +Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, + span<uint8_t> string8_value, + std::vector<uint8_t>* cbor) { + span<uint8_t> bytes(cbor->data(), cbor->size()); + CBORTokenizer tokenizer(bytes); + if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) + return tokenizer.Status(); + if (tokenizer.TokenTag() != CBORTokenTag::ENVELOPE) + return Status(Error::CBOR_INVALID_ENVELOPE, 0); + EnvelopeHeader env_header = tokenizer.GetEnvelopeHeader(); + size_t old_size = cbor->size(); + if (old_size != env_header.outer_size()) + return Status(Error::CBOR_INVALID_ENVELOPE, 0); + assert(env_header.content_size() > 0); + if (tokenizer.GetEnvelopeContents()[0] != EncodeIndefiniteLengthMapStart()) + return Status(Error::CBOR_MAP_START_EXPECTED, env_header.header_size()); + if (bytes[bytes.size() - 1] != EncodeStop()) + return Status(Error::CBOR_MAP_STOP_EXPECTED, cbor->size() - 1); + // We generally accept envelope headers with size specified in all possible + // widths, but when it comes to modifying, we only support the fixed 4 byte + // widths that we produce. + const size_t byte_string_pos = bytes[1] == kCBOREnvelopeTag ? 2 : 1; + if (bytes[byte_string_pos] != kInitialByteFor32BitLengthByteString) + return Status(Error::CBOR_INVALID_ENVELOPE, byte_string_pos); + cbor->pop_back(); + EncodeString8(string8_key, cbor); + EncodeString8(string8_value, cbor); + cbor->push_back(EncodeStop()); + size_t new_envelope_size = + env_header.content_size() + (cbor->size() - old_size); + if (new_envelope_size > std::numeric_limits<uint32_t>::max()) + return Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, 0); + std::vector<uint8_t>::iterator out = + cbor->begin() + env_header.header_size() - sizeof(int32_t); + *(out++) = (new_envelope_size >> 24) & 0xff; + *(out++) = (new_envelope_size >> 16) & 0xff; + *(out++) = (new_envelope_size >> 8) & 0xff; + *(out) = new_envelope_size & 0xff; + return Status(); +} +} // namespace cbor +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/cbor.h b/deps/inspector_protocol/crdtp/cbor.h new file mode 100644 index 00000000000000..471aa78e605298 --- /dev/null +++ b/deps/inspector_protocol/crdtp/cbor.h @@ -0,0 +1,329 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_CBOR_H_ +#define CRDTP_CBOR_H_ + +#include <cstddef> +#include <cstdint> +#include <memory> +#include <string> +#include <vector> + +#include "export.h" +#include "parser_handler.h" +#include "span.h" + +namespace crdtp { +namespace cbor { +// The binary encoding for the inspector protocol follows the CBOR specification +// (RFC 7049). Additional constraints: +// - Only indefinite length maps and arrays are supported. +// - Maps and arrays are wrapped with an envelope, that is, a +// CBOR tag with value 24 followed by a byte string specifying +// the byte length of the enclosed map / array. The byte string +// must use a 32 bit wide length. +// - At the top level, a message must be an indefinite length map +// wrapped by an envelope. +// - Maximal size for messages is 2^32 (4 GB). +// - For scalars, we support only the int32_t range, encoded as +// UNSIGNED/NEGATIVE (major types 0 / 1). +// - UTF16 strings, including with unbalanced surrogate pairs, are encoded +// as CBOR BYTE_STRING (major type 2). For such strings, the number of +// bytes encoded must be even. +// - UTF8 strings (major type 3) are supported. +// - 7 bit US-ASCII strings must always be encoded as UTF8 strings, never +// as UTF16 strings. +// - Arbitrary byte arrays, in the inspector protocol called 'binary', +// are encoded as BYTE_STRING (major type 2), prefixed with a byte +// indicating base64 when rendered as JSON. + +// ============================================================================= +// Detecting CBOR content +// ============================================================================= + +// Checks whether |msg| is a cbor message. +CRDTP_EXPORT bool IsCBORMessage(span<uint8_t> msg); + +// Performs a leightweight check of |msg|. +// Disallows: +// - Empty message +// - Not starting with the two bytes 0xd8, 0x5a +// - Empty envelope (all length bytes are 0) +// - Not starting with a map after the envelope stanza +// DevTools messages should pass this check. +CRDTP_EXPORT Status CheckCBORMessage(span<uint8_t> msg); + +// ============================================================================= +// Encoding individual CBOR items +// ============================================================================= + +// Some constants for CBOR tokens that only take a single byte on the wire. +CRDTP_EXPORT uint8_t EncodeTrue(); +CRDTP_EXPORT uint8_t EncodeFalse(); +CRDTP_EXPORT uint8_t EncodeNull(); +CRDTP_EXPORT uint8_t EncodeIndefiniteLengthArrayStart(); +CRDTP_EXPORT uint8_t EncodeIndefiniteLengthMapStart(); +CRDTP_EXPORT uint8_t EncodeStop(); + +// Encodes |value| as |UNSIGNED| (major type 0) iff >= 0, or |NEGATIVE| +// (major type 1) iff < 0. +CRDTP_EXPORT void EncodeInt32(int32_t value, std::vector<uint8_t>* out); + +// Encodes a UTF16 string as a BYTE_STRING (major type 2). Each utf16 +// character in |in| is emitted with most significant byte first, +// appending to |out|. +CRDTP_EXPORT void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out); + +// Encodes a UTF8 string |in| as STRING (major type 3). +CRDTP_EXPORT void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out); + +// Encodes the given |latin1| string as STRING8. +// If any non-ASCII character is present, it will be represented +// as a 2 byte UTF8 sequence. +CRDTP_EXPORT void EncodeFromLatin1(span<uint8_t> latin1, + std::vector<uint8_t>* out); + +// Encodes the given |utf16| string as STRING8 if it's entirely US-ASCII. +// Otherwise, encodes as STRING16. +CRDTP_EXPORT void EncodeFromUTF16(span<uint16_t> utf16, + std::vector<uint8_t>* out); + +// Encodes arbitrary binary data in |in| as a BYTE_STRING (major type 2) with +// definitive length, prefixed with tag 22 indicating expected conversion to +// base64 (see RFC 7049, Table 3 and Section 2.4.4.2). +CRDTP_EXPORT void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out); + +// Encodes / decodes a double as Major type 7 (SIMPLE_VALUE), +// with additional info = 27, followed by 8 bytes in big endian. +CRDTP_EXPORT void EncodeDouble(double value, std::vector<uint8_t>* out); + +// ============================================================================= +// cbor::EnvelopeEncoder - for wrapping submessages +// ============================================================================= + +// An envelope indicates the byte length of a wrapped item. +// We use this for maps and array, which allows the decoder +// to skip such (nested) values whole sale. +// It's implemented as a CBOR tag (major type 6) with additional +// info = 24, followed by a byte string with a 32 bit length value; +// so the maximal structure that we can wrap is 2^32 bits long. +// See also: https://tools.ietf.org/html/rfc7049#section-2.4.4.1 +class CRDTP_EXPORT EnvelopeEncoder { + public: + // Emits the envelope start bytes and records the position for the + // byte size in |byte_size_pos_|. Also emits empty bytes for the + // byte sisze so that encoding can continue. + void EncodeStart(std::vector<uint8_t>* out); + // This records the current size in |out| at position byte_size_pos_. + // Returns true iff successful. + bool EncodeStop(std::vector<uint8_t>* out); + + private: + size_t byte_size_pos_ = 0; +}; + +class CRDTP_EXPORT EnvelopeHeader { + public: + EnvelopeHeader() = default; + ~EnvelopeHeader() = default; + + // Parse envelope. Implies that `in` accomodates the entire size of envelope. + static StatusOr<EnvelopeHeader> Parse(span<uint8_t> in); + // Parse envelope, but allow `in` to only include the beginning of the + // envelope. + static StatusOr<EnvelopeHeader> ParseFromFragment(span<uint8_t> in); + + size_t header_size() const { return header_size_; } + size_t content_size() const { return content_size_; } + size_t outer_size() const { return header_size_ + content_size_; } + + private: + EnvelopeHeader(size_t header_size, size_t content_size) + : header_size_(header_size), content_size_(content_size) {} + + size_t header_size_ = 0; + size_t content_size_ = 0; +}; + +// ============================================================================= +// cbor::NewCBOREncoder - for encoding from a streaming parser +// ============================================================================= + +// This can be used to convert to CBOR, by passing the return value to a parser +// that drives it. The handler will encode into |out|, and iff an error occurs +// it will set |status| to an error and clear |out|. Otherwise, |status.ok()| +// will be |true|. +CRDTP_EXPORT std::unique_ptr<ParserHandler> NewCBOREncoder( + std::vector<uint8_t>* out, + Status* status); + +// ============================================================================= +// cbor::CBORTokenizer - for parsing individual CBOR items +// ============================================================================= + +// Tags for the tokens within a CBOR message that CBORTokenizer understands. +// Note that this is not the same terminology as the CBOR spec (RFC 7049), +// but rather, our adaptation. For instance, we lump unsigned and signed +// major type into INT32 here (and disallow values outside the int32_t range). +enum class CBORTokenTag { + // Encountered an error in the structure of the message. Consult + // status() for details. + ERROR_VALUE, + // Booleans and NULL. + TRUE_VALUE, + FALSE_VALUE, + NULL_VALUE, + // An int32_t (signed 32 bit integer). + INT32, + // A double (64 bit floating point). + DOUBLE, + // A UTF8 string. + STRING8, + // A UTF16 string. + STRING16, + // A binary string. + BINARY, + // Starts an indefinite length map; after the map start we expect + // alternating keys and values, followed by STOP. + MAP_START, + // Starts an indefinite length array; after the array start we + // expect values, followed by STOP. + ARRAY_START, + // Ends a map or an array. + STOP, + // An envelope indicator, wrapping a map or array. + // Internally this carries the byte length of the wrapped + // map or array. While CBORTokenizer::Next() will read / skip the entire + // envelope, CBORTokenizer::EnterEnvelope() reads the tokens + // inside of it. + ENVELOPE, + // We've reached the end there is nothing else to read. + DONE, +}; + +// The major types from RFC 7049 Section 2.1. +enum class MajorType { + UNSIGNED = 0, + NEGATIVE = 1, + BYTE_STRING = 2, + STRING = 3, + ARRAY = 4, + MAP = 5, + TAG = 6, + SIMPLE_VALUE = 7 +}; + +// CBORTokenizer segments a CBOR message, presenting the tokens therein as +// numbers, strings, etc. This is not a complete CBOR parser, but makes it much +// easier to implement one (e.g. ParseCBOR, above). It can also be used to parse +// messages partially. +class CRDTP_EXPORT CBORTokenizer { + public: + explicit CBORTokenizer(span<uint8_t> bytes); + ~CBORTokenizer(); + + // Identifies the current token that we're looking at, + // or ERROR_VALUE (in which ase ::Status() has details) + // or DONE (if we're past the last token). + CBORTokenTag TokenTag() const; + + // Advances to the next token. + void Next(); + // Can only be called if TokenTag() == CBORTokenTag::ENVELOPE. + // While Next() would skip past the entire envelope / what it's + // wrapping, EnterEnvelope positions the cursor inside of the envelope, + // letting the client explore the nested structure. + void EnterEnvelope(); + + // If TokenTag() is CBORTokenTag::ERROR_VALUE, then Status().error describes + // the error more precisely; otherwise it'll be set to Error::OK. + // In either case, Status().pos is the current position. + struct Status Status() const; + + // The following methods retrieve the token values. They can only + // be called if TokenTag() matches. + + // To be called only if ::TokenTag() == CBORTokenTag::INT32. + int32_t GetInt32() const; + + // To be called only if ::TokenTag() == CBORTokenTag::DOUBLE. + double GetDouble() const; + + // To be called only if ::TokenTag() == CBORTokenTag::STRING8. + span<uint8_t> GetString8() const; + + // Wire representation for STRING16 is low byte first (little endian). + // To be called only if ::TokenTag() == CBORTokenTag::STRING16. + span<uint8_t> GetString16WireRep() const; + + // To be called only if ::TokenTag() == CBORTokenTag::BINARY. + span<uint8_t> GetBinary() const; + + // To be called only if ::TokenTag() == CBORTokenTag::ENVELOPE. + // Returns the envelope including its payload; message which + // can be passed to the CBORTokenizer constructor, which will + // then see the envelope token first (looking at it a second time, + // basically). + span<uint8_t> GetEnvelope() const; + + // To be called only if ::TokenTag() == CBORTokenTag::ENVELOPE. + // Returns only the payload inside the envelope, e.g., a map + // or an array. This is not a complete message by our + // IsCBORMessage definition, since it doesn't include the + // enclosing envelope (the header, basically). + span<uint8_t> GetEnvelopeContents() const; + + // To be called only if ::TokenTag() == CBORTokenTag::ENVELOPE. + // Returns the envelope header. + const EnvelopeHeader& GetEnvelopeHeader() const; + + private: + void ReadNextToken(); + void SetToken(CBORTokenTag token, size_t token_byte_length); + void SetError(Error error); + + const span<uint8_t> bytes_; + CBORTokenTag token_tag_; + struct Status status_; + size_t token_byte_length_ = 0; + MajorType token_start_type_; + uint64_t token_start_internal_value_; + EnvelopeHeader envelope_header_; +}; + +// ============================================================================= +// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages +// ============================================================================= + +// Parses a CBOR encoded message from |bytes|, sending events to +// |out|. If an error occurs, sends |out->HandleError|, and parsing stops. +// The client is responsible for discarding the already received information in +// that case. +CRDTP_EXPORT void ParseCBOR(span<uint8_t> bytes, ParserHandler* out); + +// ============================================================================= +// cbor::AppendString8EntryToMap - for limited in-place editing of messages +// ============================================================================= + +// Modifies the |cbor| message by appending a new key/value entry at the end +// of the map. Patches up the envelope size; Status.ok() iff successful. +// If not successful, |cbor| may be corrupted after this call. +CRDTP_EXPORT Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, + span<uint8_t> string8_value, + std::vector<uint8_t>* cbor); + +namespace internals { // Exposed only for writing tests. +CRDTP_EXPORT size_t ReadTokenStart(span<uint8_t> bytes, + cbor::MajorType* type, + uint64_t* value); + +CRDTP_EXPORT void WriteTokenStart(cbor::MajorType type, + uint64_t value, + std::vector<uint8_t>* encoded); +} // namespace internals +} // namespace cbor +} // namespace crdtp + +#endif // CRDTP_CBOR_H_ diff --git a/tools/inspector_protocol/encoding/encoding_test.cc b/deps/inspector_protocol/crdtp/cbor_test.cc similarity index 55% rename from tools/inspector_protocol/encoding/encoding_test.cc rename to deps/inspector_protocol/crdtp/cbor_test.cc index f6b40dfcefe2df..058cd787d6416b 100644 --- a/tools/inspector_protocol/encoding/encoding_test.cc +++ b/deps/inspector_protocol/crdtp/cbor_test.cc @@ -1,8 +1,8 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. +// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "encoding.h" +#include "cbor.h" #include <array> #include <clocale> @@ -13,151 +13,18 @@ #include <iostream> #include <sstream> #include <string> - -#include "encoding_test_helper.h" +#include "json.h" +#include "parser_handler.h" +#include "span.h" +#include "status.h" +#include "status_test_support.h" +#include "test_platform.h" using testing::ElementsAreArray; +using testing::Eq; -namespace v8_inspector_protocol_encoding { - -class TestPlatform : public json::Platform { - bool StrToD(const char* str, double* result) const override { - // This is not thread-safe - // (see https://en.cppreference.com/w/cpp/locale/setlocale) - // but good enough for a unittest. - const char* saved_locale = std::setlocale(LC_NUMERIC, nullptr); - char* end; - *result = std::strtod(str, &end); - std::setlocale(LC_NUMERIC, saved_locale); - if (errno == ERANGE) { - // errno must be reset, e.g. see the example here: - // https://en.cppreference.com/w/cpp/string/byte/strtof - errno = 0; - return false; - } - return end == str + strlen(str); - } - - std::unique_ptr<char[]> DToStr(double value) const override { - std::stringstream ss; - ss.imbue(std::locale("C")); - ss << value; - std::string str = ss.str(); - std::unique_ptr<char[]> result(new char[str.size() + 1]); - memcpy(result.get(), str.c_str(), str.size() + 1); - return result; - } -}; - -const json::Platform& GetTestPlatform() { - static TestPlatform* platform = new TestPlatform; - return *platform; -} - -// ============================================================================= -// span - sequence of bytes -// ============================================================================= - -template <typename T> -class SpanTest : public ::testing::Test {}; - -using TestTypes = ::testing::Types<uint8_t, uint16_t>; -TYPED_TEST_SUITE(SpanTest, TestTypes); - -TYPED_TEST(SpanTest, Empty) { - span<TypeParam> empty; - EXPECT_TRUE(empty.empty()); - EXPECT_EQ(0u, empty.size()); - EXPECT_EQ(0u, empty.size_bytes()); - EXPECT_EQ(empty.begin(), empty.end()); -} - -TYPED_TEST(SpanTest, SingleItem) { - TypeParam single_item = 42; - span<TypeParam> singular(&single_item, 1); - EXPECT_FALSE(singular.empty()); - EXPECT_EQ(1u, singular.size()); - EXPECT_EQ(sizeof(TypeParam), singular.size_bytes()); - EXPECT_EQ(singular.begin() + 1, singular.end()); - EXPECT_EQ(42, singular[0]); -} - -TYPED_TEST(SpanTest, FiveItems) { - std::vector<TypeParam> test_input = {31, 32, 33, 34, 35}; - span<TypeParam> five_items(test_input.data(), 5); - EXPECT_FALSE(five_items.empty()); - EXPECT_EQ(5u, five_items.size()); - EXPECT_EQ(sizeof(TypeParam) * 5, five_items.size_bytes()); - EXPECT_EQ(five_items.begin() + 5, five_items.end()); - EXPECT_EQ(31, five_items[0]); - EXPECT_EQ(32, five_items[1]); - EXPECT_EQ(33, five_items[2]); - EXPECT_EQ(34, five_items[3]); - EXPECT_EQ(35, five_items[4]); - span<TypeParam> three_items = five_items.subspan(2); - EXPECT_EQ(3u, three_items.size()); - EXPECT_EQ(33, three_items[0]); - EXPECT_EQ(34, three_items[1]); - EXPECT_EQ(35, three_items[2]); - span<TypeParam> two_items = five_items.subspan(2, 2); - EXPECT_EQ(2u, two_items.size()); - EXPECT_EQ(33, two_items[0]); - EXPECT_EQ(34, two_items[1]); -} - -TEST(SpanFromTest, FromConstCharAndLiteral) { - // Testing this is useful because strlen(nullptr) is undefined. - EXPECT_EQ(nullptr, SpanFrom(nullptr).data()); - EXPECT_EQ(0u, SpanFrom(nullptr).size()); - - const char* kEmpty = ""; - EXPECT_EQ(kEmpty, reinterpret_cast<const char*>(SpanFrom(kEmpty).data())); - EXPECT_EQ(0u, SpanFrom(kEmpty).size()); - - const char* kFoo = "foo"; - EXPECT_EQ(kFoo, reinterpret_cast<const char*>(SpanFrom(kFoo).data())); - EXPECT_EQ(3u, SpanFrom(kFoo).size()); - - EXPECT_EQ(3u, SpanFrom("foo").size()); -} - -TEST(SpanComparisons, ByteWiseLexicographicalOrder) { - // Compare the empty span. - EXPECT_FALSE(SpanLessThan(span<uint8_t>(), span<uint8_t>())); - EXPECT_TRUE(SpanEquals(span<uint8_t>(), span<uint8_t>())); - - // Compare message with itself. - std::string msg = "Hello, world"; - EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(msg))); - EXPECT_TRUE(SpanEquals(SpanFrom(msg), SpanFrom(msg))); - - // Compare message and copy. - EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(std::string(msg)))); - EXPECT_TRUE(SpanEquals(SpanFrom(msg), SpanFrom(std::string(msg)))); - - // Compare two messages. |lesser_msg| < |msg| because of the first - // byte ('A' < 'H'). - std::string lesser_msg = "A lesser message."; - EXPECT_TRUE(SpanLessThan(SpanFrom(lesser_msg), SpanFrom(msg))); - EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(lesser_msg))); - EXPECT_FALSE(SpanEquals(SpanFrom(msg), SpanFrom(lesser_msg))); -} - -// ============================================================================= -// Status and Error codes -// ============================================================================= - -TEST(StatusTest, StatusToASCIIString) { - Status ok_status; - EXPECT_EQ("OK", ok_status.ToASCIIString()); - Status json_error(Error::JSON_PARSER_COLON_EXPECTED, 42); - EXPECT_EQ("JSON: colon expected at position 42", json_error.ToASCIIString()); - Status cbor_error(Error::CBOR_TRAILING_JUNK, 21); - EXPECT_EQ("CBOR: trailing junk at position 21", cbor_error.ToASCIIString()); -} - +namespace crdtp { namespace cbor { - // ============================================================================= // Detecting CBOR content // ============================================================================= @@ -174,6 +41,73 @@ TEST(IsCBORMessage, SomeSmokeTests) { EXPECT_TRUE(IsCBORMessage(SpanFrom(one))); } +TEST(CheckCBORMessage, SmallestValidExample) { + // The smallest example that we consider valid for this lightweight check is + // an empty dictionary inside of an envelope. + std::vector<uint8_t> empty_dict = { + 0xd8, 0x5a, 0, 0, 0, 2, EncodeIndefiniteLengthMapStart(), EncodeStop()}; + Status status = CheckCBORMessage(SpanFrom(empty_dict)); + EXPECT_THAT(status, StatusIsOk()); +} + +TEST(CheckCBORMessage, ValidCBORButNotValidMessage) { + // The CBOR parser supports parsing values that aren't messages. E.g., this is + // the encoded unsigned int 7 (CBOR really encodes it as a single byte with + // value 7). + std::vector<uint8_t> not_a_message = {7}; + + // Show that the parser (happily) decodes it into JSON + std::string json; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&json, &status); + ParseCBOR(SpanFrom(not_a_message), json_writer.get()); + EXPECT_THAT(status, StatusIsOk()); + EXPECT_EQ("7", json); + + // ... but it's not a message. + EXPECT_THAT(CheckCBORMessage(SpanFrom(not_a_message)), + StatusIs(Error::CBOR_INVALID_START_BYTE, 0)); +} + +TEST(CheckCBORMessage, EmptyMessage) { + std::vector<uint8_t> empty; + Status status = CheckCBORMessage(SpanFrom(empty)); + EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 0)); +} + +TEST(CheckCBORMessage, InvalidStartByte) { + // Here we test that some actual json, which usually starts with {, is not + // considered CBOR. CBOR messages must start with 0xd8, 0x5a, the envelope + // start bytes. + Status status = CheckCBORMessage(SpanFrom("{\"msg\": \"Hello, world.\"}")); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_START_BYTE, 0)); +} + +TEST(CheckCBORMessage, InvalidEnvelopes) { + std::vector<uint8_t> bytes = {0xd8, 0x5a}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 2)); + bytes = {0xd8, 0x5a, 0}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 3)); + bytes = {0xd8, 0x5a, 0, 0}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 4)); + bytes = {0xd8, 0x5a, 0, 0, 0}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 5)); + bytes = {0xd8, 0x5a, 0, 0, 0, 0}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE, 6)); +} + +TEST(CheckCBORMessage, MapStartExpected) { + std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, 1}; + EXPECT_THAT(CheckCBORMessage(SpanFrom(bytes)), + StatusIs(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, 6)); +} + // ============================================================================= // Encoding individual CBOR items // cbor::CBORTokenizer - for parsing individual CBOR items @@ -299,7 +233,7 @@ TEST(EncodeDecodeInt32Test, CantRoundtripUint32) { CBORTokenizer tokenizer(SpanFrom(encoded)); // 0xdeadbeef is > std::numerical_limits<int32_t>::max(). EXPECT_EQ(CBORTokenTag::ERROR_VALUE, tokenizer.TokenTag()); - EXPECT_EQ(Error::CBOR_INVALID_INT32, tokenizer.Status().error); + EXPECT_THAT(tokenizer.Status(), StatusIs(Error::CBOR_INVALID_INT32, 0u)); } TEST(EncodeDecodeInt32Test, DecodeErrorCases) { @@ -326,7 +260,7 @@ TEST(EncodeDecodeInt32Test, DecodeErrorCases) { SCOPED_TRACE(test.msg); CBORTokenizer tokenizer(SpanFrom(test.data)); EXPECT_EQ(CBORTokenTag::ERROR_VALUE, tokenizer.TokenTag()); - EXPECT_EQ(Error::CBOR_INVALID_INT32, tokenizer.Status().error); + EXPECT_THAT(tokenizer.Status(), StatusIs(Error::CBOR_INVALID_INT32, 0u)); } } @@ -488,7 +422,7 @@ TEST(EncodeDecodeString16Test, ErrorCases) { SCOPED_TRACE(test.msg); CBORTokenizer tokenizer(SpanFrom(test.data)); EXPECT_EQ(CBORTokenTag::ERROR_VALUE, tokenizer.TokenTag()); - EXPECT_EQ(Error::CBOR_INVALID_STRING16, tokenizer.Status().error); + EXPECT_THAT(tokenizer.Status(), StatusIs(Error::CBOR_INVALID_STRING16, 0u)); } } @@ -537,7 +471,7 @@ TEST(EncodeDecodeString8Test, ErrorCases) { SCOPED_TRACE(test.msg); CBORTokenizer tokenizer(SpanFrom(test.data)); EXPECT_EQ(CBORTokenTag::ERROR_VALUE, tokenizer.TokenTag()); - EXPECT_EQ(Error::CBOR_INVALID_STRING8, tokenizer.Status().error); + EXPECT_THAT(tokenizer.Status(), StatusIs(Error::CBOR_INVALID_STRING8, 0u)); } } @@ -612,7 +546,7 @@ TEST(EncodeDecodeBinaryTest, RoundtripsHelloWorld) { std::vector<uint8_t> decoded; CBORTokenizer tokenizer(SpanFrom(encoded)); EXPECT_EQ(CBORTokenTag::BINARY, tokenizer.TokenTag()); - EXPECT_EQ(0, static_cast<int>(tokenizer.Status().error)); + EXPECT_THAT(tokenizer.Status(), StatusIsOk()); decoded = std::vector<uint8_t>(tokenizer.GetBinary().begin(), tokenizer.GetBinary().end()); EXPECT_THAT(decoded, ElementsAreArray(binary)); @@ -634,7 +568,7 @@ TEST(EncodeDecodeBinaryTest, ErrorCases) { SCOPED_TRACE(test.msg); CBORTokenizer tokenizer(SpanFrom(test.data)); EXPECT_EQ(CBORTokenTag::ERROR_VALUE, tokenizer.TokenTag()); - EXPECT_EQ(Error::CBOR_INVALID_BINARY, tokenizer.Status().error); + EXPECT_THAT(tokenizer.Status(), StatusIs(Error::CBOR_INVALID_BINARY, 0u)); } } @@ -688,24 +622,85 @@ TEST(EncodeDecodeDoubleTest, RoundtripsAdditionalExamples) { } } +TEST(EncodeDecodeEnvelopesTest, MessageWithNestingAndEnvelopeContentsAccess) { + // This encodes and decodes the following message, which has some nesting + // and therefore envelopes. + // { "inner": { "foo" : "bar" } } + // The decoding is done with the Tokenizer, + // and we test both ::GetEnvelopeContents and GetEnvelope here. + std::vector<uint8_t> message; + EnvelopeEncoder envelope; + envelope.EncodeStart(&message); + size_t pos_after_header = message.size(); + message.push_back(EncodeIndefiniteLengthMapStart()); + EncodeString8(SpanFrom("inner"), &message); + size_t pos_inside_inner = message.size(); + EnvelopeEncoder inner_envelope; + inner_envelope.EncodeStart(&message); + size_t pos_inside_inner_contents = message.size(); + message.push_back(EncodeIndefiniteLengthMapStart()); + EncodeString8(SpanFrom("foo"), &message); + EncodeString8(SpanFrom("bar"), &message); + message.push_back(EncodeStop()); + size_t pos_after_inner = message.size(); + inner_envelope.EncodeStop(&message); + message.push_back(EncodeStop()); + envelope.EncodeStop(&message); + + CBORTokenizer tokenizer(SpanFrom(message)); + ASSERT_EQ(CBORTokenTag::ENVELOPE, tokenizer.TokenTag()); + EXPECT_EQ(message.size(), tokenizer.GetEnvelope().size()); + EXPECT_EQ(message.data(), tokenizer.GetEnvelope().data()); + EXPECT_EQ(message.data() + pos_after_header, + tokenizer.GetEnvelopeContents().data()); + EXPECT_EQ(message.size() - pos_after_header, + tokenizer.GetEnvelopeContents().size()); + tokenizer.EnterEnvelope(); + ASSERT_EQ(CBORTokenTag::MAP_START, tokenizer.TokenTag()); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::STRING8, tokenizer.TokenTag()); + EXPECT_EQ("inner", std::string(tokenizer.GetString8().begin(), + tokenizer.GetString8().end())); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::ENVELOPE, tokenizer.TokenTag()); + EXPECT_EQ(message.data() + pos_inside_inner, tokenizer.GetEnvelope().data()); + EXPECT_EQ(pos_after_inner - pos_inside_inner, tokenizer.GetEnvelope().size()); + EXPECT_EQ(message.data() + pos_inside_inner_contents, + tokenizer.GetEnvelopeContents().data()); + EXPECT_EQ(pos_after_inner - pos_inside_inner_contents, + tokenizer.GetEnvelopeContents().size()); + tokenizer.EnterEnvelope(); + ASSERT_EQ(CBORTokenTag::MAP_START, tokenizer.TokenTag()); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::STRING8, tokenizer.TokenTag()); + EXPECT_EQ("foo", std::string(tokenizer.GetString8().begin(), + tokenizer.GetString8().end())); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::STRING8, tokenizer.TokenTag()); + EXPECT_EQ("bar", std::string(tokenizer.GetString8().begin(), + tokenizer.GetString8().end())); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::STOP, tokenizer.TokenTag()); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::STOP, tokenizer.TokenTag()); + tokenizer.Next(); + ASSERT_EQ(CBORTokenTag::DONE, tokenizer.TokenTag()); +} + // ============================================================================= // cbor::NewCBOREncoder - for encoding from a streaming parser // ============================================================================= -void EncodeUTF8ForTest(const std::string& key, std::vector<uint8_t>* out) { - EncodeString8(SpanFrom(key), out); -} TEST(JSONToCBOREncoderTest, SevenBitStrings) { // When a string can be represented as 7 bit ASCII, the encoder will use the // STRING (major Type 3) type, so the actual characters end up as bytes on the // wire. std::vector<uint8_t> encoded; Status status; - std::unique_ptr<StreamingParserHandler> encoder = - NewCBOREncoder(&encoded, &status); + std::unique_ptr<ParserHandler> encoder = NewCBOREncoder(&encoded, &status); std::vector<uint16_t> utf16 = {'f', 'o', 'o'}; encoder->HandleString16(span<uint16_t>(utf16.data(), utf16.size())); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); // Here we assert that indeed, seven bit strings are represented as // bytes on the wire, "foo" is just "foo". EXPECT_THAT(encoded, @@ -714,7 +709,7 @@ TEST(JSONToCBOREncoderTest, SevenBitStrings) { } TEST(JsonCborRoundtrip, EncodingDecoding) { - // Hits all the cases except binary and error in StreamingParserHandler, first + // Hits all the cases except binary and error in ParserHandler, first // parsing a JSON message into CBOR, then parsing it back from CBOR into JSON. std::string json = "{" @@ -728,14 +723,13 @@ TEST(JsonCborRoundtrip, EncodingDecoding) { "}"; std::vector<uint8_t> encoded; Status status; - std::unique_ptr<StreamingParserHandler> encoder = - NewCBOREncoder(&encoded, &status); + std::unique_ptr<ParserHandler> encoder = NewCBOREncoder(&encoded, &status); span<uint8_t> ascii_in = SpanFrom(json); - json::ParseJSON(GetTestPlatform(), ascii_in, encoder.get()); + json::ParseJSON(ascii_in, encoder.get()); std::vector<uint8_t> expected = { - 0xd8, // envelope - 0x5a, // byte string with 32 bit length - 0, 0, 0, 94, // length is 94 bytes + 0xd8, 0x18, // envelope + 0x5a, // byte string with 32 bit length + 0, 0, 0, 95, // length is 95 bytes }; expected.push_back(0xbf); // indef length map start EncodeString8(SpanFrom("string"), &expected); @@ -758,7 +752,8 @@ TEST(JsonCborRoundtrip, EncodingDecoding) { EncodeString8(SpanFrom("null"), &expected); expected.push_back(7 << 5 | 22); // RFC 7049 Section 2.3, Table 2: null EncodeString8(SpanFrom("array"), &expected); - expected.push_back(0xd8); // envelope + expected.push_back(0xd8); // envelope (tag first byte) + expected.push_back(0x18); // envelope (tag second byte) expected.push_back(0x5a); // byte string with 32 bit length // the length is 5 bytes (that's up to end indef length array below). for (uint8_t ch : std::array<uint8_t, 4>{{0, 0, 0, 5}}) @@ -774,10 +769,10 @@ TEST(JsonCborRoundtrip, EncodingDecoding) { // And now we roundtrip, decoding the message we just encoded. std::string decoded; - std::unique_ptr<StreamingParserHandler> json_encoder = - NewJSONEncoder(&GetTestPlatform(), &decoded, &status); + std::unique_ptr<ParserHandler> json_encoder = + json::NewJSONEncoder(&decoded, &status); ParseCBOR(span<uint8_t>(encoded.data(), encoded.size()), json_encoder.get()); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ(json, decoded); } @@ -790,21 +785,20 @@ TEST(JsonCborRoundtrip, MoreRoundtripExamples) { SCOPED_TRACE(std::string("example: ") + json); std::vector<uint8_t> encoded; Status status; - std::unique_ptr<StreamingParserHandler> encoder = - NewCBOREncoder(&encoded, &status); + std::unique_ptr<ParserHandler> encoder = NewCBOREncoder(&encoded, &status); span<uint8_t> ascii_in = SpanFrom(json); - ParseJSON(GetTestPlatform(), ascii_in, encoder.get()); + json::ParseJSON(ascii_in, encoder.get()); std::string decoded; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &decoded, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&decoded, &status); ParseCBOR(span<uint8_t>(encoded.data(), encoded.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ(json, decoded); } } TEST(JSONToCBOREncoderTest, HelloWorldBinary_WithTripToJson) { - // The StreamingParserHandler::HandleBinary is a special case: The JSON parser + // The ParserHandler::HandleBinary is a special case: The JSON parser // will never call this method, because JSON does not natively support the // binary type. So, we can't fully roundtrip. However, the other direction // works: binary will be rendered in JSON, as a base64 string. So, we make @@ -813,8 +807,7 @@ TEST(JSONToCBOREncoderTest, HelloWorldBinary_WithTripToJson) { // containing "Hello, world.". std::vector<uint8_t> encoded; Status status; - std::unique_ptr<StreamingParserHandler> encoder = - NewCBOREncoder(&encoded, &status); + std::unique_ptr<ParserHandler> encoder = NewCBOREncoder(&encoded, &status); encoder->HandleMapBegin(); // Emit a key. std::vector<uint16_t> key = {'f', 'o', 'o'}; @@ -824,15 +817,14 @@ TEST(JSONToCBOREncoderTest, HelloWorldBinary_WithTripToJson) { encoder->HandleBinary(SpanFrom(std::vector<uint8_t>{ 'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '.'})); encoder->HandleMapEnd(); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); // Now drive the json writer via the CBOR decoder. std::string decoded; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &decoded, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&decoded, &status); ParseCBOR(SpanFrom(encoded), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); // "Hello, world." in base64 is "SGVsbG8sIHdvcmxkLg==". EXPECT_EQ("{\"foo\":\"SGVsbG8sIHdvcmxkLg==\"}", decoded); } @@ -848,18 +840,18 @@ TEST(ParseCBORTest, ParseEmptyCBORMessage) { std::vector<uint8_t> in = {0xd8, 0x5a, 0, 0, 0, 2, 0xbf, 0xff}; std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(in.data(), in.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ("{}", out); } TEST(ParseCBORTest, ParseCBORHelloWorld) { const uint8_t kPayloadLen = 27; std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, kPayloadLen}; - bytes.push_back(0xbf); // start indef length map. - EncodeString8(SpanFrom("msg"), &bytes); // key: msg + bytes.push_back(0xbf); // start indef length map. + EncodeString8(SpanFrom("msg"), &bytes); // key: msg // Now write the value, the familiar "Hello, 🌎." where the globe is expressed // as two utf16 chars. bytes.push_back(/*major type=*/2 << 5 | /*additional info=*/20); @@ -872,21 +864,17 @@ TEST(ParseCBORTest, ParseCBORHelloWorld) { std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ("{\"msg\":\"Hello, \\ud83c\\udf0e.\"}", out); } TEST(ParseCBORTest, UTF8IsSupportedInKeys) { const uint8_t kPayloadLen = 11; - std::vector<uint8_t> bytes = {cbor::InitialByteForEnvelope(), - cbor::InitialByteFor32BitLengthByteString(), - 0, - 0, - 0, - kPayloadLen}; + std::vector<uint8_t> bytes = {0xd8, 0x5a, // envelope + 0, 0, 0, kPayloadLen}; bytes.push_back(cbor::EncodeIndefiniteLengthMapStart()); // Two UTF16 chars. EncodeString8(SpanFrom("🌎"), &bytes); @@ -897,10 +885,10 @@ TEST(ParseCBORTest, UTF8IsSupportedInKeys) { std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ("{\"\\ud83c\\udf0e\":\"\\u263e\"}", out); } @@ -908,24 +896,10 @@ TEST(ParseCBORTest, NoInputError) { std::vector<uint8_t> in = {}; std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(in.data(), in.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_NO_INPUT, status.error); - EXPECT_EQ("", out); -} - -TEST(ParseCBORTest, InvalidStartByteError) { - // Here we test that some actual json, which usually starts with {, - // is not considered CBOR. CBOR messages must start with 0x5a, the - // envelope start byte. - std::string json = "{\"msg\": \"Hello, world.\"}"; - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - ParseCBOR(SpanFrom(json), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_START_BYTE, status.error); + EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 0u)); EXPECT_EQ("", out); } @@ -938,11 +912,11 @@ TEST(ParseCBORTest, UnexpectedEofExpectedValueError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE, status.error); - EXPECT_EQ(bytes.size(), status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE, + bytes.size())); EXPECT_EQ("", out); } @@ -956,11 +930,11 @@ TEST(ParseCBORTest, UnexpectedEofInArrayError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, status.error); - EXPECT_EQ(bytes.size(), status.pos); + EXPECT_THAT(status, + StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, bytes.size())); EXPECT_EQ("", out); } @@ -971,11 +945,85 @@ TEST(ParseCBORTest, UnexpectedEofInMapError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_UNEXPECTED_EOF_IN_MAP, status.error); - EXPECT_EQ(7u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_MAP, 7u)); + EXPECT_EQ("", out); +} + +TEST(ParseCBORTest, EnvelopeEncodingLegacy) { + constexpr uint8_t kPayloadLen = 8; + std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, kPayloadLen}; // envelope + bytes.push_back(cbor::EncodeIndefiniteLengthMapStart()); + EncodeString8(SpanFrom("foo"), &bytes); + EncodeInt32(42, &bytes); + bytes.emplace_back(EncodeStop()); + std::string out; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); + ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); + EXPECT_THAT(status, StatusIsOk()); + EXPECT_EQ(out, "{\"foo\":42}"); +} + +TEST(ParseCBORTest, EnvelopeEncodingBySpec) { + constexpr uint8_t kPayloadLen = 8; + std::vector<uint8_t> bytes = {0xd8, 0x18, 0x5a, 0, + 0, 0, kPayloadLen}; // envelope + bytes.push_back(cbor::EncodeIndefiniteLengthMapStart()); + EncodeString8(SpanFrom("foo"), &bytes); + EncodeInt32(42, &bytes); + bytes.emplace_back(EncodeStop()); + std::string out; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); + ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); + EXPECT_THAT(status, StatusIsOk()); + EXPECT_EQ(out, "{\"foo\":42}"); +} + +TEST(ParseCBORTest, NoEmptyEnvelopesAllowed) { + std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, 0}; // envelope + std::string out; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); + ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); + EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE, + bytes.size())); + EXPECT_EQ("", out); +} + +TEST(ParseCBORTest, OnlyMapsAndArraysSupportedInsideEnvelopes) { + // The top level is a map with key "foo", and the value + // is an envelope that contains just a number (1). We don't + // allow numbers to be contained in an envelope though, only + // maps and arrays. + constexpr uint8_t kPayloadLen = 8; + std::vector<uint8_t> bytes = {0xd8, + 0x5a, + 0, + 0, + 0, + kPayloadLen, // envelope + EncodeIndefiniteLengthMapStart()}; + EncodeString8(SpanFrom("foo"), &bytes); + for (uint8_t byte : {0xd8, 0x5a, 0, 0, 0, /*payload_len*/ 1}) + bytes.emplace_back(byte); + size_t error_pos = bytes.size(); + bytes.push_back(1); // Envelope contents / payload = number 1. + bytes.emplace_back(EncodeStop()); + + std::string out; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); + ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); + EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE, + error_pos)); EXPECT_EQ("", out); } @@ -988,11 +1036,10 @@ TEST(ParseCBORTest, InvalidMapKeyError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_MAP_KEY, status.error); - EXPECT_EQ(7u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_MAP_KEY, 7u)); EXPECT_EQ("", out); } @@ -1019,22 +1066,20 @@ TEST(ParseCBORTest, StackLimitExceededError) { std::vector<uint8_t> bytes = MakeNestedCBOR(3); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); EXPECT_EQ("{\"key\":{\"key\":{\"key\":\"innermost_value\"}}}", out); } { // Depth 300: no stack limit exceeded. std::vector<uint8_t> bytes = MakeNestedCBOR(300); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); } // We just want to know the length of one opening map so we can compute @@ -1050,21 +1095,21 @@ TEST(ParseCBORTest, StackLimitExceededError) { std::vector<uint8_t> bytes = MakeNestedCBOR(301); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_STACK_LIMIT_EXCEEDED, status.error); - EXPECT_EQ(opening_segment_size * 301, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_STACK_LIMIT_EXCEEDED, + opening_segment_size * 301)); } { // Depth 320: still limit exceeded, and at the same pos as for 1001 std::vector<uint8_t> bytes = MakeNestedCBOR(320); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_STACK_LIMIT_EXCEEDED, status.error); - EXPECT_EQ(opening_segment_size * 301, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_STACK_LIMIT_EXCEEDED, + opening_segment_size * 301)); } } @@ -1079,11 +1124,10 @@ TEST(ParseCBORTest, UnsupportedValueError) { std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_UNSUPPORTED_VALUE, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_UNSUPPORTED_VALUE, error_pos)); EXPECT_EQ("", out); } @@ -1102,11 +1146,10 @@ TEST(ParseCBORTest, InvalidString16Error) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_STRING16, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_STRING16, error_pos)); EXPECT_EQ("", out); } @@ -1122,11 +1165,10 @@ TEST(ParseCBORTest, InvalidString8Error) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_STRING8, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_STRING8, error_pos)); EXPECT_EQ("", out); } @@ -1144,11 +1186,10 @@ TEST(ParseCBORTest, InvalidBinaryError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_BINARY, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_BINARY, error_pos)); EXPECT_EQ("", out); } @@ -1165,11 +1206,10 @@ TEST(ParseCBORTest, InvalidDoubleError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_DOUBLE, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_DOUBLE, error_pos)); EXPECT_EQ("", out); } @@ -1186,37 +1226,121 @@ TEST(ParseCBORTest, InvalidSignedError) { EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_INVALID_INT32, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_INT32, error_pos)); EXPECT_EQ("", out); } TEST(ParseCBORTest, TrailingJunk) { - constexpr uint8_t kPayloadLen = 35; + constexpr uint8_t kPayloadLen = 12; std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, kPayloadLen, // envelope 0xbf}; // map start EncodeString8(SpanFrom("key"), &bytes); EncodeString8(SpanFrom("value"), &bytes); bytes.push_back(0xff); // Up to here, it's a perfectly fine msg. + ASSERT_EQ(kPayloadLen, bytes.size() - 6); size_t error_pos = bytes.size(); + // Now write some trailing junk after the message. EncodeString8(SpanFrom("trailing junk"), &bytes); - internals::WriteTokenStart(MajorType::UNSIGNED, std::numeric_limits<uint64_t>::max(), &bytes); - EXPECT_EQ(kPayloadLen, bytes.size() - 6); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); + ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); + EXPECT_THAT(status, StatusIs(Error::CBOR_TRAILING_JUNK, error_pos)); + EXPECT_EQ("", out); +} + +TEST(ParseCBORTest, EnvelopeContentsLengthMismatch) { + constexpr uint8_t kPartialPayloadLen = 5; + std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, + 0, 0, kPartialPayloadLen, // envelope + 0xbf}; // map start + EncodeString8(SpanFrom("key"), &bytes); + // kPartialPayloadLen would need to indicate the length of the entire map, + // all the way past the 0xff map stop character. Instead, it only covers + // a portion of the map. + EXPECT_EQ(bytes.size() - 6, kPartialPayloadLen); + EncodeString8(SpanFrom("value"), &bytes); + bytes.push_back(0xff); // map stop + + std::string out; + Status status; + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(span<uint8_t>(bytes.data(), bytes.size()), json_writer.get()); - EXPECT_EQ(Error::CBOR_TRAILING_JUNK, status.error); - EXPECT_EQ(error_pos, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, + bytes.size())); EXPECT_EQ("", out); } +// ============================================================================= +// cbor::EnvelopeHeader - for parsing envelope headers +// ============================================================================= +// Note most of converage for this is historically on a higher level of +// ParseCBOR(). This provides just a few essnetial scenarios for now. + +template <typename T> +class EnvelopeHeaderTest : public ::testing::Test {}; + +TEST(EnvelopeHeaderTest, EnvelopeStartLegacy) { + std::vector<uint8_t> bytes = {0xd8, // Tag start + 0x5a, // Byte string, 4 bytes length + 0, 0, 0, 2, // Length + 0xbf, 0xff}; // map start / map end + auto result = EnvelopeHeader::Parse(SpanFrom(bytes)); + ASSERT_THAT(result.status(), StatusIsOk()); + EXPECT_THAT((*result).header_size(), Eq(6u)); + EXPECT_THAT((*result).content_size(), Eq(2u)); + EXPECT_THAT((*result).outer_size(), Eq(8u)); +} + +TEST(EnvelopeHeaderTest, EnvelopeStartSpecCompliant) { + std::vector<uint8_t> bytes = {0xd8, // Tag start + 0x18, // Tag type (CBOR) + 0x5a, // Byte string, 4 bytes length + 0, 0, 0, 2, // Length + 0xbf, 0xff}; // map start / map end + auto result = EnvelopeHeader::Parse(SpanFrom(bytes)); + ASSERT_THAT(result.status(), StatusIsOk()); + EXPECT_THAT((*result).header_size(), Eq(7u)); + EXPECT_THAT((*result).content_size(), Eq(2u)); + EXPECT_THAT((*result).outer_size(), Eq(9u)); +} + +TEST(EnvelopeHeaderTest, EnvelopeStartShortLen) { + std::vector<uint8_t> bytes = {0xd8, // Tag start + 0x18, // Tag type (CBOR) + 0x58, // Byte string, 1 byte length + 2, // Length + 0xbf, 0xff}; // map start / map end + auto result = EnvelopeHeader::Parse(SpanFrom(bytes)); + ASSERT_THAT(result.status(), StatusIsOk()); + EXPECT_THAT((*result).header_size(), Eq(4u)); + EXPECT_THAT((*result).content_size(), Eq(2u)); + EXPECT_THAT((*result).outer_size(), Eq(6u)); +} + +TEST(EnvelopeHeaderTest, ParseFragment) { + std::vector<uint8_t> bytes = {0xd8, // Tag start + 0x18, // Tag type (CBOR) + 0x5a, // Byte string, 4 bytes length + 0, 0, 0, 20, 0xbf}; // map start + auto result = EnvelopeHeader::ParseFromFragment(SpanFrom(bytes)); + ASSERT_THAT(result.status(), StatusIsOk()); + EXPECT_THAT((*result).header_size(), Eq(7u)); + EXPECT_THAT((*result).content_size(), Eq(20u)); + EXPECT_THAT((*result).outer_size(), Eq(27u)); + + result = EnvelopeHeader::Parse(SpanFrom(bytes)); + ASSERT_THAT(result.status(), + StatusIs(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, 8)); +} + // ============================================================================= // cbor::AppendString8EntryToMap - for limited in-place editing of messages // ============================================================================= @@ -1227,7 +1351,7 @@ class AppendString8EntryToMapTest : public ::testing::Test {}; using ContainerTestTypes = ::testing::Types<std::vector<uint8_t>, std::string>; TYPED_TEST_SUITE(AppendString8EntryToMapTest, ContainerTestTypes); -TYPED_TEST(AppendString8EntryToMapTest, AppendsEntrySuccessfully) { +TEST(AppendString8EntryToMapTest, AppendsEntrySuccessfully) { constexpr uint8_t kPayloadLen = 12; std::vector<uint8_t> bytes = {0xd8, 0x5a, 0, 0, 0, kPayloadLen, // envelope 0xbf}; // map start @@ -1237,696 +1361,89 @@ TYPED_TEST(AppendString8EntryToMapTest, AppendsEntrySuccessfully) { bytes.push_back(0xff); // A perfectly fine cbor message. EXPECT_EQ(kPayloadLen, bytes.size() - pos_before_payload); - TypeParam msg(bytes.begin(), bytes.end()); + std::vector<uint8_t> msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("foo"), SpanFrom("bar"), &msg); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); std::string out; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(SpanFrom(msg), json_writer.get()); EXPECT_EQ("{\"key\":\"value\",\"foo\":\"bar\"}", out); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); } TYPED_TEST(AppendString8EntryToMapTest, AppendThreeEntries) { std::vector<uint8_t> encoded = { 0xd8, 0x5a, 0, 0, 0, 2, EncodeIndefiniteLengthMapStart(), EncodeStop()}; - EXPECT_EQ(Error::OK, AppendString8EntryToCBORMap(SpanFrom("key"), - SpanFrom("value"), &encoded) - .error); - EXPECT_EQ(Error::OK, AppendString8EntryToCBORMap(SpanFrom("key1"), - SpanFrom("value1"), &encoded) - .error); - EXPECT_EQ(Error::OK, AppendString8EntryToCBORMap(SpanFrom("key2"), - SpanFrom("value2"), &encoded) - .error); + EXPECT_THAT( + AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &encoded), + StatusIsOk()); + EXPECT_THAT(AppendString8EntryToCBORMap(SpanFrom("key1"), SpanFrom("value1"), + &encoded), + StatusIsOk()); + EXPECT_THAT(AppendString8EntryToCBORMap(SpanFrom("key2"), SpanFrom("value2"), + &encoded), + StatusIsOk()); TypeParam msg(encoded.begin(), encoded.end()); std::string out; Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); + std::unique_ptr<ParserHandler> json_writer = + json::NewJSONEncoder(&out, &status); ParseCBOR(SpanFrom(msg), json_writer.get()); EXPECT_EQ("{\"key\":\"value\",\"key1\":\"value1\",\"key2\":\"value2\"}", out); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); + EXPECT_THAT(status, StatusIsOk()); } -TYPED_TEST(AppendString8EntryToMapTest, MapStartExpected_Error) { - std::vector<uint8_t> bytes = { +TEST(AppendString8EntryToMapTest, MapStartExpected_Error) { + std::vector<uint8_t> msg = { 0xd8, 0x5a, 0, 0, 0, 1, EncodeIndefiniteLengthArrayStart()}; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_MAP_START_EXPECTED, status.error); - EXPECT_EQ(6u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_START_EXPECTED, 6u)); } -TYPED_TEST(AppendString8EntryToMapTest, MapStopExpected_Error) { - std::vector<uint8_t> bytes = { +TEST(AppendString8EntryToMapTest, MapStopExpected_Error) { + std::vector<uint8_t> msg = { 0xd8, 0x5a, 0, 0, 0, 2, EncodeIndefiniteLengthMapStart(), 42}; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_MAP_STOP_EXPECTED, status.error); - EXPECT_EQ(7u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_STOP_EXPECTED, 7u)); } -TYPED_TEST(AppendString8EntryToMapTest, InvalidEnvelope_Error) { +TEST(AppendString8EntryToMapTest, InvalidEnvelope_Error) { { // Second byte is wrong. - std::vector<uint8_t> bytes = { + std::vector<uint8_t> msg = { 0x5a, 0, 0, 0, 2, EncodeIndefiniteLengthMapStart(), EncodeStop(), 0}; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_INVALID_ENVELOPE, status.error); - EXPECT_EQ(0u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_ENVELOPE, 0u)); } { // Second byte is wrong. - std::vector<uint8_t> bytes = { + std::vector<uint8_t> msg = { 0xd8, 0x7a, 0, 0, 0, 2, EncodeIndefiniteLengthMapStart(), EncodeStop()}; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_INVALID_ENVELOPE, status.error); - EXPECT_EQ(0u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_ENVELOPE, 1u)); } { // Invalid envelope size example. - std::vector<uint8_t> bytes = { + std::vector<uint8_t> msg = { 0xd8, 0x5a, 0, 0, 0, 3, EncodeIndefiniteLengthMapStart(), EncodeStop(), }; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_INVALID_ENVELOPE, status.error); - EXPECT_EQ(0u, status.pos); + EXPECT_THAT(status, + StatusIs(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, 8u)); } { // Invalid envelope size example. - std::vector<uint8_t> bytes = { + std::vector<uint8_t> msg = { 0xd8, 0x5a, 0, 0, 0, 1, EncodeIndefiniteLengthMapStart(), EncodeStop(), }; - TypeParam msg(bytes.begin(), bytes.end()); Status status = AppendString8EntryToCBORMap(SpanFrom("key"), SpanFrom("value"), &msg); - EXPECT_EQ(Error::CBOR_INVALID_ENVELOPE, status.error); - EXPECT_EQ(0u, status.pos); + EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_ENVELOPE, 0)); } } } // namespace cbor - -namespace json { - -// ============================================================================= -// json::NewJSONEncoder - for encoding streaming parser events as JSON -// ============================================================================= - -void WriteUTF8AsUTF16(StreamingParserHandler* writer, const std::string& utf8) { - writer->HandleString16(SpanFrom(UTF8ToUTF16(SpanFrom(utf8)))); -} - -TEST(JsonEncoder, OverlongEncodings) { - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - - // We encode 0x7f, which is the DEL ascii character, as a 4 byte UTF8 - // sequence. This is called an overlong encoding, because only 1 byte - // is needed to represent 0x7f as UTF8. - std::vector<uint8_t> chars = { - 0xf0, // Starts 4 byte utf8 sequence - 0x80, // continuation byte - 0x81, // continuation byte w/ payload bit 7 set to 1. - 0xbf, // continuation byte w/ payload bits 0-6 set to 11111. - }; - writer->HandleString8(SpanFrom(chars)); - EXPECT_EQ("\"\"", out); // Empty string means that 0x7f was rejected (good). -} - -TEST(JsonStdStringWriterTest, HelloWorld) { - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleMapBegin(); - WriteUTF8AsUTF16(writer.get(), "msg1"); - WriteUTF8AsUTF16(writer.get(), "Hello, 🌎."); - std::string key = "msg1-as-utf8"; - std::string value = "Hello, 🌎."; - writer->HandleString8(SpanFrom(key)); - writer->HandleString8(SpanFrom(value)); - WriteUTF8AsUTF16(writer.get(), "msg2"); - WriteUTF8AsUTF16(writer.get(), "\\\b\r\n\t\f\""); - WriteUTF8AsUTF16(writer.get(), "nested"); - writer->HandleMapBegin(); - WriteUTF8AsUTF16(writer.get(), "double"); - writer->HandleDouble(3.1415); - WriteUTF8AsUTF16(writer.get(), "int"); - writer->HandleInt32(-42); - WriteUTF8AsUTF16(writer.get(), "bool"); - writer->HandleBool(false); - WriteUTF8AsUTF16(writer.get(), "null"); - writer->HandleNull(); - writer->HandleMapEnd(); - WriteUTF8AsUTF16(writer.get(), "array"); - writer->HandleArrayBegin(); - writer->HandleInt32(1); - writer->HandleInt32(2); - writer->HandleInt32(3); - writer->HandleArrayEnd(); - writer->HandleMapEnd(); - EXPECT_TRUE(status.ok()); - EXPECT_EQ( - "{\"msg1\":\"Hello, \\ud83c\\udf0e.\"," - "\"msg1-as-utf8\":\"Hello, \\ud83c\\udf0e.\"," - "\"msg2\":\"\\\\\\b\\r\\n\\t\\f\\\"\"," - "\"nested\":{\"double\":3.1415,\"int\":-42," - "\"bool\":false,\"null\":null},\"array\":[1,2,3]}", - out); -} - -TEST(JsonStdStringWriterTest, RepresentingNonFiniteValuesAsNull) { - // JSON can't represent +Infinity, -Infinity, or NaN. - // So in practice it's mapped to null. - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleMapBegin(); - writer->HandleString8(SpanFrom("Infinity")); - writer->HandleDouble(std::numeric_limits<double>::infinity()); - writer->HandleString8(SpanFrom("-Infinity")); - writer->HandleDouble(-std::numeric_limits<double>::infinity()); - writer->HandleString8(SpanFrom("NaN")); - writer->HandleDouble(std::numeric_limits<double>::quiet_NaN()); - writer->HandleMapEnd(); - EXPECT_TRUE(status.ok()); - EXPECT_EQ("{\"Infinity\":null,\"-Infinity\":null,\"NaN\":null}", out); -} - -TEST(JsonStdStringWriterTest, BinaryEncodedAsJsonString) { - // The encoder emits binary submitted to StreamingParserHandler::HandleBinary - // as base64. The following three examples are taken from - // https://en.wikipedia.org/wiki/Base64. - { - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M', 'a', 'n'}))); - EXPECT_TRUE(status.ok()); - EXPECT_EQ("\"TWFu\"", out); - } - { - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M', 'a'}))); - EXPECT_TRUE(status.ok()); - EXPECT_EQ("\"TWE=\"", out); - } - { - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M'}))); - EXPECT_TRUE(status.ok()); - EXPECT_EQ("\"TQ==\"", out); - } - { // "Hello, world.", verified with base64decode.org. - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleBinary(SpanFrom(std::vector<uint8_t>( - {'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '.'}))); - EXPECT_TRUE(status.ok()); - EXPECT_EQ("\"SGVsbG8sIHdvcmxkLg==\"", out); - } -} - -TEST(JsonStdStringWriterTest, HandlesErrors) { - // When an error is sent via HandleError, it saves it in the provided - // status and clears the output. - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&GetTestPlatform(), &out, &status); - writer->HandleMapBegin(); - WriteUTF8AsUTF16(writer.get(), "msg1"); - writer->HandleError(Status{Error::JSON_PARSER_VALUE_EXPECTED, 42}); - EXPECT_EQ(Error::JSON_PARSER_VALUE_EXPECTED, status.error); - EXPECT_EQ(42u, status.pos); - EXPECT_EQ("", out); -} - -// We'd use Gmock but unfortunately it only handles copyable return types. -class MockPlatform : public Platform { - public: - // Not implemented. - bool StrToD(const char* str, double* result) const override { return false; } - - // A map with pre-registered responses for DToSTr. - std::map<double, std::string> dtostr_responses_; - - std::unique_ptr<char[]> DToStr(double value) const override { - auto it = dtostr_responses_.find(value); - CHECK(it != dtostr_responses_.end()); - const std::string& str = it->second; - std::unique_ptr<char[]> response(new char[str.size() + 1]); - memcpy(response.get(), str.c_str(), str.size() + 1); - return response; - } -}; - -TEST(JsonStdStringWriterTest, DoubleToString) { - // This "broken" platform responds without the leading 0 before the - // decimal dot, so it'd be invalid JSON. - MockPlatform platform; - platform.dtostr_responses_[.1] = ".1"; - platform.dtostr_responses_[-.7] = "-.7"; - - std::string out; - Status status; - std::unique_ptr<StreamingParserHandler> writer = - NewJSONEncoder(&platform, &out, &status); - writer->HandleArrayBegin(); - writer->HandleDouble(.1); - writer->HandleDouble(-.7); - writer->HandleArrayEnd(); - EXPECT_EQ("[0.1,-0.7]", out); -} - -// ============================================================================= -// json::ParseJSON - for receiving streaming parser events for JSON -// ============================================================================= - -class Log : public StreamingParserHandler { - public: - void HandleMapBegin() override { log_ << "map begin\n"; } - - void HandleMapEnd() override { log_ << "map end\n"; } - - void HandleArrayBegin() override { log_ << "array begin\n"; } - - void HandleArrayEnd() override { log_ << "array end\n"; } - - void HandleString8(span<uint8_t> chars) override { - log_ << "string8: " << std::string(chars.begin(), chars.end()) << "\n"; - } - - void HandleString16(span<uint16_t> chars) override { - log_ << "string16: " << UTF16ToUTF8(chars) << "\n"; - } - - void HandleBinary(span<uint8_t> bytes) override { - // JSON doesn't have native support for arbitrary bytes, so our parser will - // never call this. - CHECK(false); - } - - void HandleDouble(double value) override { - log_ << "double: " << value << "\n"; - } - - void HandleInt32(int32_t value) override { log_ << "int: " << value << "\n"; } - - void HandleBool(bool value) override { log_ << "bool: " << value << "\n"; } - - void HandleNull() override { log_ << "null\n"; } - - void HandleError(Status status) override { status_ = status; } - - std::string str() const { return status_.ok() ? log_.str() : ""; } - - Status status() const { return status_; } - - private: - std::ostringstream log_; - Status status_; -}; - -class JsonParserTest : public ::testing::Test { - protected: - Log log_; -}; - -TEST_F(JsonParserTest, SimpleDictionary) { - std::string json = "{\"foo\": 42}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: foo\n" - "int: 42\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, UsAsciiDelCornerCase) { - // DEL (0x7f) is a 7 bit US-ASCII character, and while it is a control - // character according to Unicode, it's not considered a control - // character in https://tools.ietf.org/html/rfc7159#section-7, so - // it can be placed directly into the JSON string, without JSON escaping. - std::string json = "{\"foo\": \"a\x7f\"}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: foo\n" - "string16: a\x7f\n" - "map end\n", - log_.str()); - - // We've seen an implementation of UTF16ToUTF8 which would replace the DEL - // character with ' ', so this simple roundtrip tests the routines in - // encoding_test_helper.h, to make test failures of the above easier to - // diagnose. - std::vector<uint16_t> utf16 = UTF8ToUTF16(SpanFrom(json)); - EXPECT_EQ(json, UTF16ToUTF8(SpanFrom(utf16))); -} - -TEST_F(JsonParserTest, Whitespace) { - std::string json = "\n {\n\"msg\"\n: \v\"Hello, world.\"\t\r}\t"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: msg\n" - "string16: Hello, world.\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, NestedDictionary) { - std::string json = "{\"foo\": {\"bar\": {\"baz\": 1}, \"bar2\": 2}}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: foo\n" - "map begin\n" - "string16: bar\n" - "map begin\n" - "string16: baz\n" - "int: 1\n" - "map end\n" - "string16: bar2\n" - "int: 2\n" - "map end\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, Doubles) { - std::string json = "{\"foo\": 3.1415, \"bar\": 31415e-4}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: foo\n" - "double: 3.1415\n" - "string16: bar\n" - "double: 3.1415\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, Unicode) { - // Globe character. 0xF0 0x9F 0x8C 0x8E in utf8, 0xD83C 0xDF0E in utf16. - std::string json = "{\"msg\": \"Hello, \\uD83C\\uDF0E.\"}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: msg\n" - "string16: Hello, 🌎.\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, Unicode_ParseUtf16) { - // Globe character. utf8: 0xF0 0x9F 0x8C 0x8E; utf16: 0xD83C 0xDF0E. - // Crescent moon character. utf8: 0xF0 0x9F 0x8C 0x99; utf16: 0xD83C 0xDF19. - - // We provide the moon with json escape, but the earth as utf16 input. - // Either way they arrive as utf8 (after decoding in log_.str()). - std::vector<uint16_t> json = - UTF8ToUTF16(SpanFrom("{\"space\": \"🌎 \\uD83C\\uDF19.\"}")); - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: space\n" - "string16: 🌎 🌙.\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, Unicode_ParseUtf8) { - // Used below: - // гласность - example for 2 byte utf8, Russian word "glasnost" - // 屋 - example for 3 byte utf8, Chinese word for "house" - // 🌎 - example for 4 byte utf8: 0xF0 0x9F 0x8C 0x8E; utf16: 0xD83C 0xDF0E. - // 🌙 - example for escapes: utf8: 0xF0 0x9F 0x8C 0x99; utf16: 0xD83C 0xDF19. - - // We provide the moon with json escape, but the earth as utf8 input. - // Either way they arrive as utf8 (after decoding in log_.str()). - std::string json = - "{" - "\"escapes\": \"\\uD83C\\uDF19\"," - "\"2 byte\":\"гласность\"," - "\"3 byte\":\"屋\"," - "\"4 byte\":\"🌎\"" - "}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: escapes\n" - "string16: 🌙\n" - "string16: 2 byte\n" - "string16: гласность\n" - "string16: 3 byte\n" - "string16: 屋\n" - "string16: 4 byte\n" - "string16: 🌎\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, UnprocessedInputRemainsError) { - // Trailing junk after the valid JSON. - std::string json = "{\"foo\": 3.1415} junk"; - size_t junk_idx = json.find("junk"); - EXPECT_NE(junk_idx, std::string::npos); - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS, log_.status().error); - EXPECT_EQ(junk_idx, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -std::string MakeNestedJson(int depth) { - std::string json; - for (int ii = 0; ii < depth; ++ii) - json += "{\"foo\":"; - json += "42"; - for (int ii = 0; ii < depth; ++ii) - json += "}"; - return json; -} - -TEST_F(JsonParserTest, StackLimitExceededError_BelowLimit) { - // kStackLimit is 300 (see json_parser.cc). First let's - // try with a small nested example. - std::string json_3 = MakeNestedJson(3); - ParseJSON(GetTestPlatform(), SpanFrom(json_3), &log_); - EXPECT_TRUE(log_.status().ok()); - EXPECT_EQ( - "map begin\n" - "string16: foo\n" - "map begin\n" - "string16: foo\n" - "map begin\n" - "string16: foo\n" - "int: 42\n" - "map end\n" - "map end\n" - "map end\n", - log_.str()); -} - -TEST_F(JsonParserTest, StackLimitExceededError_AtLimit) { - // Now with kStackLimit (300). - std::string json_limit = MakeNestedJson(300); - ParseJSON(GetTestPlatform(), - span<uint8_t>(reinterpret_cast<const uint8_t*>(json_limit.data()), - json_limit.size()), - &log_); - EXPECT_TRUE(log_.status().ok()); -} - -TEST_F(JsonParserTest, StackLimitExceededError_AboveLimit) { - // Now with kStackLimit + 1 (301) - it exceeds in the innermost instance. - std::string exceeded = MakeNestedJson(301); - ParseJSON(GetTestPlatform(), SpanFrom(exceeded), &log_); - EXPECT_EQ(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, log_.status().error); - EXPECT_EQ(strlen("{\"foo\":") * 301, log_.status().pos); -} - -TEST_F(JsonParserTest, StackLimitExceededError_WayAboveLimit) { - // Now way past the limit. Still, the point of exceeding is 301. - std::string far_out = MakeNestedJson(320); - ParseJSON(GetTestPlatform(), SpanFrom(far_out), &log_); - EXPECT_EQ(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, log_.status().error); - EXPECT_EQ(strlen("{\"foo\":") * 301, log_.status().pos); -} - -TEST_F(JsonParserTest, NoInputError) { - std::string json = ""; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_NO_INPUT, log_.status().error); - EXPECT_EQ(0u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, InvalidTokenError) { - std::string json = "|"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_INVALID_TOKEN, log_.status().error); - EXPECT_EQ(0u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, InvalidNumberError) { - // Mantissa exceeds max (the constant used here is int64_t max). - std::string json = "1E9223372036854775807"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_INVALID_NUMBER, log_.status().error); - EXPECT_EQ(0u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, InvalidStringError) { - // \x22 is an unsupported escape sequence - std::string json = "\"foo\\x22\""; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_INVALID_STRING, log_.status().error); - EXPECT_EQ(0u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, UnexpectedArrayEndError) { - std::string json = "[1,2,]"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_UNEXPECTED_ARRAY_END, log_.status().error); - EXPECT_EQ(5u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, CommaOrArrayEndExpectedError) { - std::string json = "[1,2 2"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED, - log_.status().error); - EXPECT_EQ(5u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, StringLiteralExpectedError) { - // There's an error because the key bar, a string, is not terminated. - std::string json = "{\"foo\": 3.1415, \"bar: 31415e-4}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_STRING_LITERAL_EXPECTED, log_.status().error); - EXPECT_EQ(16u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, ColonExpectedError) { - std::string json = "{\"foo\", 42}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_COLON_EXPECTED, log_.status().error); - EXPECT_EQ(6u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, UnexpectedMapEndError) { - std::string json = "{\"foo\": 42, }"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_UNEXPECTED_MAP_END, log_.status().error); - EXPECT_EQ(12u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, CommaOrMapEndExpectedError) { - // The second separator should be a comma. - std::string json = "{\"foo\": 3.1415: \"bar\": 0}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED, log_.status().error); - EXPECT_EQ(14u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -TEST_F(JsonParserTest, ValueExpectedError) { - std::string json = "}"; - ParseJSON(GetTestPlatform(), SpanFrom(json), &log_); - EXPECT_EQ(Error::JSON_PARSER_VALUE_EXPECTED, log_.status().error); - EXPECT_EQ(0u, log_.status().pos); - EXPECT_EQ("", log_.str()); -} - -template <typename T> -class ConvertJSONToCBORTest : public ::testing::Test {}; - -using ContainerTestTypes = ::testing::Types<std::vector<uint8_t>, std::string>; -TYPED_TEST_SUITE(ConvertJSONToCBORTest, ContainerTestTypes); - -TYPED_TEST(ConvertJSONToCBORTest, RoundTripValidJson) { - std::string json_in = "{\"msg\":\"Hello, world.\",\"lst\":[1,2,3]}"; - TypeParam json(json_in.begin(), json_in.end()); - TypeParam cbor; - { - Status status = ConvertJSONToCBOR(GetTestPlatform(), SpanFrom(json), &cbor); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); - } - TypeParam roundtrip_json; - { - Status status = - ConvertCBORToJSON(GetTestPlatform(), SpanFrom(cbor), &roundtrip_json); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); - } - EXPECT_EQ(json, roundtrip_json); -} - -TYPED_TEST(ConvertJSONToCBORTest, RoundTripValidJson16) { - std::vector<uint16_t> json16 = { - '{', '"', 'm', 's', 'g', '"', ':', '"', 'H', 'e', 'l', 'l', - 'o', ',', ' ', 0xd83c, 0xdf0e, '.', '"', ',', '"', 'l', 's', 't', - '"', ':', '[', '1', ',', '2', ',', '3', ']', '}'}; - TypeParam cbor; - { - Status status = ConvertJSONToCBOR( - GetTestPlatform(), span<uint16_t>(json16.data(), json16.size()), &cbor); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); - } - TypeParam roundtrip_json; - { - Status status = - ConvertCBORToJSON(GetTestPlatform(), SpanFrom(cbor), &roundtrip_json); - EXPECT_EQ(Error::OK, status.error); - EXPECT_EQ(Status::npos(), status.pos); - } - std::string json = "{\"msg\":\"Hello, \\ud83c\\udf0e.\",\"lst\":[1,2,3]}"; - TypeParam expected_json(json.begin(), json.end()); - EXPECT_EQ(expected_json, roundtrip_json); -} -} // namespace json -} // namespace v8_inspector_protocol_encoding +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/dispatch.cc b/deps/inspector_protocol/crdtp/dispatch.cc new file mode 100644 index 00000000000000..b36b91ad0e37e6 --- /dev/null +++ b/deps/inspector_protocol/crdtp/dispatch.cc @@ -0,0 +1,584 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "dispatch.h" + +#include <cassert> +#include "cbor.h" +#include "error_support.h" +#include "find_by_first.h" +#include "frontend_channel.h" +#include "protocol_core.h" + +namespace crdtp { +// ============================================================================= +// DispatchResponse - Error status and chaining / fall through +// ============================================================================= + +// static +DispatchResponse DispatchResponse::Success() { + DispatchResponse result; + result.code_ = DispatchCode::SUCCESS; + return result; +} + +// static +DispatchResponse DispatchResponse::FallThrough() { + DispatchResponse result; + result.code_ = DispatchCode::FALL_THROUGH; + return result; +} + +// static +DispatchResponse DispatchResponse::ParseError(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::PARSE_ERROR; + result.message_ = std::move(message); + return result; +} + +// static +DispatchResponse DispatchResponse::InvalidRequest(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::INVALID_REQUEST; + result.message_ = std::move(message); + return result; +} + +// static +DispatchResponse DispatchResponse::MethodNotFound(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::METHOD_NOT_FOUND; + result.message_ = std::move(message); + return result; +} + +// static +DispatchResponse DispatchResponse::InvalidParams(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::INVALID_PARAMS; + result.message_ = std::move(message); + return result; +} + +// static +DispatchResponse DispatchResponse::InternalError() { + DispatchResponse result; + result.code_ = DispatchCode::INTERNAL_ERROR; + result.message_ = "Internal error"; + return result; +} + +// static +DispatchResponse DispatchResponse::ServerError(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::SERVER_ERROR; + result.message_ = std::move(message); + return result; +} + +// static +DispatchResponse DispatchResponse::SessionNotFound(std::string message) { + DispatchResponse result; + result.code_ = DispatchCode::SESSION_NOT_FOUND; + result.message_ = std::move(message); + return result; +} + +// ============================================================================= +// Dispatchable - a shallow parser for CBOR encoded DevTools messages +// ============================================================================= +Dispatchable::Dispatchable(span<uint8_t> serialized) : serialized_(serialized) { + Status s = cbor::CheckCBORMessage(serialized); + if (!s.ok()) { + status_ = {Error::MESSAGE_MUST_BE_AN_OBJECT, s.pos}; + return; + } + cbor::CBORTokenizer tokenizer(serialized); + if (tokenizer.TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) { + status_ = tokenizer.Status(); + return; + } + + // We checked for the envelope start byte above, so the tokenizer + // must agree here, since it's not an error. + assert(tokenizer.TokenTag() == cbor::CBORTokenTag::ENVELOPE); + + // Before we enter the envelope, we save the position that we + // expect to see after we're done parsing the envelope contents. + // This way we can compare and produce an error if the contents + // didn't fit exactly into the envelope length. + const size_t pos_past_envelope = + tokenizer.Status().pos + tokenizer.GetEnvelopeHeader().outer_size(); + tokenizer.EnterEnvelope(); + if (tokenizer.TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) { + status_ = tokenizer.Status(); + return; + } + if (tokenizer.TokenTag() != cbor::CBORTokenTag::MAP_START) { + status_ = {Error::MESSAGE_MUST_BE_AN_OBJECT, tokenizer.Status().pos}; + return; + } + assert(tokenizer.TokenTag() == cbor::CBORTokenTag::MAP_START); + tokenizer.Next(); // Now we should be pointed at the map key. + while (tokenizer.TokenTag() != cbor::CBORTokenTag::STOP) { + switch (tokenizer.TokenTag()) { + case cbor::CBORTokenTag::DONE: + status_ = + Status{Error::CBOR_UNEXPECTED_EOF_IN_MAP, tokenizer.Status().pos}; + return; + case cbor::CBORTokenTag::ERROR_VALUE: + status_ = tokenizer.Status(); + return; + case cbor::CBORTokenTag::STRING8: + if (!MaybeParseProperty(&tokenizer)) + return; + break; + default: + // We require the top-level keys to be UTF8 (US-ASCII in practice). + status_ = Status{Error::CBOR_INVALID_MAP_KEY, tokenizer.Status().pos}; + return; + } + } + tokenizer.Next(); + if (!has_call_id_) { + status_ = Status{Error::MESSAGE_MUST_HAVE_INTEGER_ID_PROPERTY, + tokenizer.Status().pos}; + return; + } + if (method_.empty()) { + status_ = Status{Error::MESSAGE_MUST_HAVE_STRING_METHOD_PROPERTY, + tokenizer.Status().pos}; + return; + } + // The contents of the envelope parsed OK, now check that we're at + // the expected position. + if (pos_past_envelope != tokenizer.Status().pos) { + status_ = Status{Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH, + tokenizer.Status().pos}; + return; + } + if (tokenizer.TokenTag() != cbor::CBORTokenTag::DONE) { + status_ = Status{Error::CBOR_TRAILING_JUNK, tokenizer.Status().pos}; + return; + } +} + +bool Dispatchable::ok() const { + return status_.ok(); +} + +DispatchResponse Dispatchable::DispatchError() const { + // TODO(johannes): Replace with DCHECK / similar? + if (status_.ok()) + return DispatchResponse::Success(); + + if (status_.IsMessageError()) + return DispatchResponse::InvalidRequest(status_.Message()); + return DispatchResponse::ParseError(status_.ToASCIIString()); +} + +bool Dispatchable::MaybeParseProperty(cbor::CBORTokenizer* tokenizer) { + span<uint8_t> property_name = tokenizer->GetString8(); + if (SpanEquals(SpanFrom("id"), property_name)) + return MaybeParseCallId(tokenizer); + if (SpanEquals(SpanFrom("method"), property_name)) + return MaybeParseMethod(tokenizer); + if (SpanEquals(SpanFrom("params"), property_name)) + return MaybeParseParams(tokenizer); + if (SpanEquals(SpanFrom("sessionId"), property_name)) + return MaybeParseSessionId(tokenizer); + status_ = + Status{Error::MESSAGE_HAS_UNKNOWN_PROPERTY, tokenizer->Status().pos}; + return false; +} + +bool Dispatchable::MaybeParseCallId(cbor::CBORTokenizer* tokenizer) { + if (has_call_id_) { + status_ = Status{Error::CBOR_DUPLICATE_MAP_KEY, tokenizer->Status().pos}; + return false; + } + tokenizer->Next(); + if (tokenizer->TokenTag() != cbor::CBORTokenTag::INT32) { + status_ = Status{Error::MESSAGE_MUST_HAVE_INTEGER_ID_PROPERTY, + tokenizer->Status().pos}; + return false; + } + call_id_ = tokenizer->GetInt32(); + has_call_id_ = true; + tokenizer->Next(); + return true; +} + +bool Dispatchable::MaybeParseMethod(cbor::CBORTokenizer* tokenizer) { + if (!method_.empty()) { + status_ = Status{Error::CBOR_DUPLICATE_MAP_KEY, tokenizer->Status().pos}; + return false; + } + tokenizer->Next(); + if (tokenizer->TokenTag() != cbor::CBORTokenTag::STRING8) { + status_ = Status{Error::MESSAGE_MUST_HAVE_STRING_METHOD_PROPERTY, + tokenizer->Status().pos}; + return false; + } + method_ = tokenizer->GetString8(); + tokenizer->Next(); + return true; +} + +bool Dispatchable::MaybeParseParams(cbor::CBORTokenizer* tokenizer) { + if (params_seen_) { + status_ = Status{Error::CBOR_DUPLICATE_MAP_KEY, tokenizer->Status().pos}; + return false; + } + params_seen_ = true; + tokenizer->Next(); + if (tokenizer->TokenTag() == cbor::CBORTokenTag::NULL_VALUE) { + tokenizer->Next(); + return true; + } + if (tokenizer->TokenTag() != cbor::CBORTokenTag::ENVELOPE) { + status_ = Status{Error::MESSAGE_MAY_HAVE_OBJECT_PARAMS_PROPERTY, + tokenizer->Status().pos}; + return false; + } + params_ = tokenizer->GetEnvelope(); + tokenizer->Next(); + return true; +} + +bool Dispatchable::MaybeParseSessionId(cbor::CBORTokenizer* tokenizer) { + if (!session_id_.empty()) { + status_ = Status{Error::CBOR_DUPLICATE_MAP_KEY, tokenizer->Status().pos}; + return false; + } + tokenizer->Next(); + if (tokenizer->TokenTag() != cbor::CBORTokenTag::STRING8) { + status_ = Status{Error::MESSAGE_MAY_HAVE_STRING_SESSION_ID_PROPERTY, + tokenizer->Status().pos}; + return false; + } + session_id_ = tokenizer->GetString8(); + tokenizer->Next(); + return true; +} + +namespace { +class ProtocolError : public Serializable { + public: + explicit ProtocolError(DispatchResponse dispatch_response) + : dispatch_response_(std::move(dispatch_response)) {} + + void AppendSerialized(std::vector<uint8_t>* out) const override { + Status status; + std::unique_ptr<ParserHandler> encoder = cbor::NewCBOREncoder(out, &status); + encoder->HandleMapBegin(); + if (has_call_id_) { + encoder->HandleString8(SpanFrom("id")); + encoder->HandleInt32(call_id_); + } + encoder->HandleString8(SpanFrom("error")); + encoder->HandleMapBegin(); + encoder->HandleString8(SpanFrom("code")); + encoder->HandleInt32(static_cast<int32_t>(dispatch_response_.Code())); + encoder->HandleString8(SpanFrom("message")); + encoder->HandleString8(SpanFrom(dispatch_response_.Message())); + if (!data_.empty()) { + encoder->HandleString8(SpanFrom("data")); + encoder->HandleString8(SpanFrom(data_)); + } + encoder->HandleMapEnd(); + encoder->HandleMapEnd(); + assert(status.ok()); + } + + void SetCallId(int call_id) { + has_call_id_ = true; + call_id_ = call_id; + } + void SetData(std::string data) { data_ = std::move(data); } + + private: + const DispatchResponse dispatch_response_; + std::string data_; + int call_id_ = 0; + bool has_call_id_ = false; +}; +} // namespace + +// ============================================================================= +// Helpers for creating protocol cresponses and notifications. +// ============================================================================= + +std::unique_ptr<Serializable> CreateErrorResponse( + int call_id, + DispatchResponse dispatch_response) { + auto protocol_error = + std::make_unique<ProtocolError>(std::move(dispatch_response)); + protocol_error->SetCallId(call_id); + return protocol_error; +} + +std::unique_ptr<Serializable> CreateErrorResponse( + int call_id, + DispatchResponse dispatch_response, + const DeserializerState& state) { + auto protocol_error = + std::make_unique<ProtocolError>(std::move(dispatch_response)); + protocol_error->SetCallId(call_id); + // TODO(caseq): should we plumb the call name here? + protocol_error->SetData(state.ErrorMessage(MakeSpan("params"))); + return protocol_error; +} + +std::unique_ptr<Serializable> CreateErrorNotification( + DispatchResponse dispatch_response) { + return std::make_unique<ProtocolError>(std::move(dispatch_response)); +} + +namespace { +class Response : public Serializable { + public: + Response(int call_id, std::unique_ptr<Serializable> params) + : call_id_(call_id), params_(std::move(params)) {} + + void AppendSerialized(std::vector<uint8_t>* out) const override { + Status status; + std::unique_ptr<ParserHandler> encoder = cbor::NewCBOREncoder(out, &status); + encoder->HandleMapBegin(); + encoder->HandleString8(SpanFrom("id")); + encoder->HandleInt32(call_id_); + encoder->HandleString8(SpanFrom("result")); + if (params_) { + params_->AppendSerialized(out); + } else { + encoder->HandleMapBegin(); + encoder->HandleMapEnd(); + } + encoder->HandleMapEnd(); + assert(status.ok()); + } + + private: + const int call_id_; + std::unique_ptr<Serializable> params_; +}; + +class Notification : public Serializable { + public: + Notification(const char* method, std::unique_ptr<Serializable> params) + : method_(method), params_(std::move(params)) {} + + void AppendSerialized(std::vector<uint8_t>* out) const override { + Status status; + std::unique_ptr<ParserHandler> encoder = cbor::NewCBOREncoder(out, &status); + encoder->HandleMapBegin(); + encoder->HandleString8(SpanFrom("method")); + encoder->HandleString8(SpanFrom(method_)); + encoder->HandleString8(SpanFrom("params")); + if (params_) { + params_->AppendSerialized(out); + } else { + encoder->HandleMapBegin(); + encoder->HandleMapEnd(); + } + encoder->HandleMapEnd(); + assert(status.ok()); + } + + private: + const char* method_; + std::unique_ptr<Serializable> params_; +}; +} // namespace + +std::unique_ptr<Serializable> CreateResponse( + int call_id, + std::unique_ptr<Serializable> params) { + return std::make_unique<Response>(call_id, std::move(params)); +} + +std::unique_ptr<Serializable> CreateNotification( + const char* method, + std::unique_ptr<Serializable> params) { + return std::make_unique<Notification>(method, std::move(params)); +} + +// ============================================================================= +// DomainDispatcher - Dispatching betwen protocol methods within a domain. +// ============================================================================= +DomainDispatcher::WeakPtr::WeakPtr(DomainDispatcher* dispatcher) + : dispatcher_(dispatcher) {} + +DomainDispatcher::WeakPtr::~WeakPtr() { + if (dispatcher_) + dispatcher_->weak_ptrs_.erase(this); +} + +DomainDispatcher::Callback::~Callback() = default; + +void DomainDispatcher::Callback::dispose() { + backend_impl_ = nullptr; +} + +DomainDispatcher::Callback::Callback( + std::unique_ptr<DomainDispatcher::WeakPtr> backend_impl, + int call_id, + span<uint8_t> method, + span<uint8_t> message) + : backend_impl_(std::move(backend_impl)), + call_id_(call_id), + method_(method), + message_(message.begin(), message.end()) {} + +void DomainDispatcher::Callback::sendIfActive( + std::unique_ptr<Serializable> partialMessage, + const DispatchResponse& response) { + if (!backend_impl_ || !backend_impl_->get()) + return; + backend_impl_->get()->sendResponse(call_id_, response, + std::move(partialMessage)); + backend_impl_ = nullptr; +} + +void DomainDispatcher::Callback::fallThroughIfActive() { + if (!backend_impl_ || !backend_impl_->get()) + return; + backend_impl_->get()->channel()->FallThrough(call_id_, method_, + SpanFrom(message_)); + backend_impl_ = nullptr; +} + +DomainDispatcher::DomainDispatcher(FrontendChannel* frontendChannel) + : frontend_channel_(frontendChannel) {} + +DomainDispatcher::~DomainDispatcher() { + clearFrontend(); +} + +void DomainDispatcher::sendResponse(int call_id, + const DispatchResponse& response, + std::unique_ptr<Serializable> result) { + if (!frontend_channel_) + return; + std::unique_ptr<Serializable> serializable; + if (response.IsError()) { + serializable = CreateErrorResponse(call_id, response); + } else { + serializable = CreateResponse(call_id, std::move(result)); + } + frontend_channel_->SendProtocolResponse(call_id, std::move(serializable)); +} + +void DomainDispatcher::ReportInvalidParams(const Dispatchable& dispatchable, + const DeserializerState& state) { + assert(!state.status().ok()); + if (frontend_channel_) { + frontend_channel_->SendProtocolResponse( + dispatchable.CallId(), + CreateErrorResponse( + dispatchable.CallId(), + DispatchResponse::InvalidParams("Invalid parameters"), state)); + } +} + +void DomainDispatcher::clearFrontend() { + frontend_channel_ = nullptr; + for (auto& weak : weak_ptrs_) + weak->dispose(); + weak_ptrs_.clear(); +} + +std::unique_ptr<DomainDispatcher::WeakPtr> DomainDispatcher::weakPtr() { + auto weak = std::make_unique<DomainDispatcher::WeakPtr>(this); + weak_ptrs_.insert(weak.get()); + return weak; +} + +// ============================================================================= +// UberDispatcher - dispatches between domains (backends). +// ============================================================================= +UberDispatcher::DispatchResult::DispatchResult(bool method_found, + std::function<void()> runnable) + : method_found_(method_found), runnable_(runnable) {} + +void UberDispatcher::DispatchResult::Run() { + if (!runnable_) + return; + runnable_(); + runnable_ = nullptr; +} + +UberDispatcher::UberDispatcher(FrontendChannel* frontend_channel) + : frontend_channel_(frontend_channel) { + assert(frontend_channel); +} + +UberDispatcher::~UberDispatcher() = default; + +constexpr size_t kNotFound = std::numeric_limits<size_t>::max(); + +namespace { +size_t DotIdx(span<uint8_t> method) { + const void* p = memchr(method.data(), '.', method.size()); + return p ? reinterpret_cast<const uint8_t*>(p) - method.data() : kNotFound; +} +} // namespace + +UberDispatcher::DispatchResult UberDispatcher::Dispatch( + const Dispatchable& dispatchable) const { + span<uint8_t> method = FindByFirst(redirects_, dispatchable.Method(), + /*default_value=*/dispatchable.Method()); + size_t dot_idx = DotIdx(method); + if (dot_idx != kNotFound) { + span<uint8_t> domain = method.subspan(0, dot_idx); + span<uint8_t> command = method.subspan(dot_idx + 1); + DomainDispatcher* dispatcher = FindByFirst(dispatchers_, domain); + if (dispatcher) { + std::function<void(const Dispatchable&)> dispatched = + dispatcher->Dispatch(command); + if (dispatched) { + return DispatchResult( + true, [dispatchable, dispatched = std::move(dispatched)]() { + dispatched(dispatchable); + }); + } + } + } + return DispatchResult(false, [this, dispatchable]() { + frontend_channel_->SendProtocolResponse( + dispatchable.CallId(), + CreateErrorResponse(dispatchable.CallId(), + DispatchResponse::MethodNotFound( + "'" + + std::string(dispatchable.Method().begin(), + dispatchable.Method().end()) + + "' wasn't found"))); + }); +} + +template <typename T> +struct FirstLessThan { + bool operator()(const std::pair<span<uint8_t>, T>& left, + const std::pair<span<uint8_t>, T>& right) { + return SpanLessThan(left.first, right.first); + } +}; + +void UberDispatcher::WireBackend( + span<uint8_t> domain, + const std::vector<std::pair<span<uint8_t>, span<uint8_t>>>& + sorted_redirects, + std::unique_ptr<DomainDispatcher> dispatcher) { + auto it = redirects_.insert(redirects_.end(), sorted_redirects.begin(), + sorted_redirects.end()); + std::inplace_merge(redirects_.begin(), it, redirects_.end(), + FirstLessThan<span<uint8_t>>()); + auto jt = dispatchers_.insert(dispatchers_.end(), + std::make_pair(domain, std::move(dispatcher))); + std::inplace_merge(dispatchers_.begin(), jt, dispatchers_.end(), + FirstLessThan<std::unique_ptr<DomainDispatcher>>()); +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/dispatch.h b/deps/inspector_protocol/crdtp/dispatch.h new file mode 100644 index 00000000000000..8da8255c6fe882 --- /dev/null +++ b/deps/inspector_protocol/crdtp/dispatch.h @@ -0,0 +1,313 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_DISPATCH_H_ +#define CRDTP_DISPATCH_H_ + +#include <cassert> +#include <cstdint> +#include <functional> +#include <string> +#include <unordered_set> +#include "export.h" +#include "serializable.h" +#include "span.h" +#include "status.h" + +namespace crdtp { +class DeserializerState; +class ErrorSupport; +class FrontendChannel; +namespace cbor { +class CBORTokenizer; +} // namespace cbor + +// ============================================================================= +// DispatchResponse - Error status and chaining / fall through +// ============================================================================= +enum class DispatchCode { + SUCCESS = 1, + FALL_THROUGH = 2, + // For historical reasons, these error codes correspond to commonly used + // XMLRPC codes (e.g. see METHOD_NOT_FOUND in + // https://github.com/python/cpython/blob/main/Lib/xmlrpc/client.py). + PARSE_ERROR = -32700, + INVALID_REQUEST = -32600, + METHOD_NOT_FOUND = -32601, + INVALID_PARAMS = -32602, + INTERNAL_ERROR = -32603, + SERVER_ERROR = -32000, + SESSION_NOT_FOUND = SERVER_ERROR - 1, +}; + +// Information returned by command handlers. Usually returned after command +// execution attempts. +class CRDTP_EXPORT DispatchResponse { + public: + const std::string& Message() const { return message_; } + + DispatchCode Code() const { return code_; } + + bool IsSuccess() const { return code_ == DispatchCode::SUCCESS; } + bool IsFallThrough() const { return code_ == DispatchCode::FALL_THROUGH; } + bool IsError() const { return code_ < DispatchCode::SUCCESS; } + + static DispatchResponse Success(); + static DispatchResponse FallThrough(); + + // Indicates that a message could not be parsed. E.g., malformed JSON. + static DispatchResponse ParseError(std::string message); + + // Indicates that a request is lacking required top-level properties + // ('id', 'method'), has top-level properties of the wrong type, or has + // unknown top-level properties. + static DispatchResponse InvalidRequest(std::string message); + + // Indicates that a protocol method such as "Page.bringToFront" could not be + // dispatched because it's not known to the (domain) dispatcher. + static DispatchResponse MethodNotFound(std::string message); + + // Indicates that the params sent to a domain handler are invalid. + static DispatchResponse InvalidParams(std::string message); + + // Used for application level errors, e.g. within protocol agents. + static DispatchResponse InternalError(); + + // Used for application level errors, e.g. within protocol agents. + static DispatchResponse ServerError(std::string message); + + // Indicate that session with the id specified in the protocol message + // was not found (e.g. because it has already been detached). + static DispatchResponse SessionNotFound(std::string message); + + private: + DispatchResponse() = default; + DispatchCode code_; + std::string message_; +}; + +// ============================================================================= +// Dispatchable - a shallow parser for CBOR encoded DevTools messages +// ============================================================================= + +// This parser extracts only the known top-level fields from a CBOR encoded map; +// method, id, sessionId, and params. +class CRDTP_EXPORT Dispatchable { + public: + // This constructor parses the |serialized| message. If successful, + // |ok()| will yield |true|, and |Method()|, |SessionId()|, |CallId()|, + // |Params()| can be used to access, the extracted contents. Otherwise, + // |ok()| will yield |false|, and |DispatchError()| can be + // used to send a response or notification to the client. + explicit Dispatchable(span<uint8_t> serialized); + + // The serialized message that we just parsed. + span<uint8_t> Serialized() const { return serialized_; } + + // Yields true if parsing was successful. This is cheaper than calling + // ::DispatchError(). + bool ok() const; + + // If !ok(), returns a DispatchResponse with appropriate code and error + // which can be sent to the client as a response or notification. + DispatchResponse DispatchError() const; + + // Top level field: the command to be executed, fully qualified by + // domain. E.g. "Page.createIsolatedWorld". + span<uint8_t> Method() const { return method_; } + // Used to identify protocol connections attached to a specific + // target. See Target.attachToTarget, Target.setAutoAttach. + span<uint8_t> SessionId() const { return session_id_; } + // The call id, a sequence number that's used in responses to indicate + // the request to which the response belongs. + int32_t CallId() const { return call_id_; } + bool HasCallId() const { return has_call_id_; } + // The payload of the request in CBOR format. The |Dispatchable| parser does + // not parse into this; it only provides access to its raw contents here. + span<uint8_t> Params() const { return params_; } + + private: + bool MaybeParseProperty(cbor::CBORTokenizer* tokenizer); + bool MaybeParseCallId(cbor::CBORTokenizer* tokenizer); + bool MaybeParseMethod(cbor::CBORTokenizer* tokenizer); + bool MaybeParseParams(cbor::CBORTokenizer* tokenizer); + bool MaybeParseSessionId(cbor::CBORTokenizer* tokenizer); + + span<uint8_t> serialized_; + + Status status_; + + bool has_call_id_ = false; + int32_t call_id_; + span<uint8_t> method_; + bool params_seen_ = false; + span<uint8_t> params_; + span<uint8_t> session_id_; +}; + +// ============================================================================= +// Helpers for creating protocol cresponses and notifications. +// ============================================================================= + +// The resulting notifications can be sent to a protocol client, +// usually via a FrontendChannel (see frontend_channel.h). + +CRDTP_EXPORT std::unique_ptr<Serializable> CreateErrorResponse( + int callId, + DispatchResponse dispatch_response); + +CRDTP_EXPORT std::unique_ptr<Serializable> CreateErrorNotification( + DispatchResponse dispatch_response); + +CRDTP_EXPORT std::unique_ptr<Serializable> CreateResponse( + int callId, + std::unique_ptr<Serializable> params); + +CRDTP_EXPORT std::unique_ptr<Serializable> CreateNotification( + const char* method, + std::unique_ptr<Serializable> params = nullptr); + +// ============================================================================= +// DomainDispatcher - Dispatching betwen protocol methods within a domain. +// ============================================================================= + +// This class is subclassed by |DomainDispatcherImpl|, which we generate per +// DevTools domain. It contains routines called from the generated code, +// e.g. ::MaybeReportInvalidParams, which are optimized for small code size. +// The most important method is ::Dispatch, which implements method dispatch +// by command name lookup. +class CRDTP_EXPORT DomainDispatcher { + public: + class CRDTP_EXPORT WeakPtr { + public: + explicit WeakPtr(DomainDispatcher*); + ~WeakPtr(); + DomainDispatcher* get() { return dispatcher_; } + void dispose() { dispatcher_ = nullptr; } + + private: + DomainDispatcher* dispatcher_; + }; + + class CRDTP_EXPORT Callback { + public: + virtual ~Callback(); + void dispose(); + + protected: + // |method| must point at static storage (a C++ string literal in practice). + Callback(std::unique_ptr<WeakPtr> backend_impl, + int call_id, + span<uint8_t> method, + span<uint8_t> message); + + void sendIfActive(std::unique_ptr<Serializable> partialMessage, + const DispatchResponse& response); + void fallThroughIfActive(); + + private: + std::unique_ptr<WeakPtr> backend_impl_; + int call_id_; + // Subclasses of this class are instantiated from generated code which + // passes a string literal for the method name to the constructor. So the + // storage for |method| is the binary of the running process. + span<uint8_t> method_; + std::vector<uint8_t> message_; + }; + + explicit DomainDispatcher(FrontendChannel*); + virtual ~DomainDispatcher(); + + // Given a |command_name| without domain qualification, looks up the + // corresponding method. If the method is not found, returns nullptr. + // Otherwise, Returns a closure that will parse the provided + // Dispatchable.params() to a protocol object and execute the + // apprpropriate method. If the parsing fails it will issue an + // error response on the frontend channel, otherwise it will execute the + // command. + virtual std::function<void(const Dispatchable&)> Dispatch( + span<uint8_t> command_name) = 0; + + // Sends a response to the client via the channel. + void sendResponse(int call_id, + const DispatchResponse&, + std::unique_ptr<Serializable> result = nullptr); + + void ReportInvalidParams(const Dispatchable& dispatchable, + const DeserializerState& state); + + FrontendChannel* channel() { return frontend_channel_; } + + void clearFrontend(); + + std::unique_ptr<WeakPtr> weakPtr(); + + private: + FrontendChannel* frontend_channel_; + std::unordered_set<WeakPtr*> weak_ptrs_; +}; + +// ============================================================================= +// UberDispatcher - dispatches between domains (backends). +// ============================================================================= +class CRDTP_EXPORT UberDispatcher { + public: + // Return type for ::Dispatch. + class CRDTP_EXPORT DispatchResult { + public: + DispatchResult(bool method_found, std::function<void()> runnable); + + // Indicates whether the method was found, that is, it could be dispatched + // to a backend registered with this dispatcher. + bool MethodFound() const { return method_found_; } + + // Runs the dispatched result. This will send the appropriate error + // responses if the method wasn't found or if something went wrong during + // parameter parsing. + void Run(); + + private: + bool method_found_; + std::function<void()> runnable_; + }; + + // |frontend_hannel| can't be nullptr. + explicit UberDispatcher(FrontendChannel* frontend_channel); + virtual ~UberDispatcher(); + + // Dispatches the provided |dispatchable| considering all redirects and domain + // handlers registered with this uber dispatcher. Also see |DispatchResult|. + // |dispatchable.ok()| must hold - callers must check this separately and + // deal with errors. + DispatchResult Dispatch(const Dispatchable& dispatchable) const; + + // Invoked from generated code for wiring domain backends; that is, + // connecting domain handlers to an uber dispatcher. + // See <domain-namespace>::Dispatcher::Wire(UberDispatcher*,Backend*). + FrontendChannel* channel() const { + assert(frontend_channel_); + return frontend_channel_; + } + + // Invoked from generated code for wiring domain backends; that is, + // connecting domain handlers to an uber dispatcher. + // See <domain-namespace>::Dispatcher::Wire(UberDispatcher*,Backend*). + void WireBackend(span<uint8_t> domain, + const std::vector<std::pair<span<uint8_t>, span<uint8_t>>>&, + std::unique_ptr<DomainDispatcher> dispatcher); + + private: + DomainDispatcher* findDispatcher(span<uint8_t> method); + FrontendChannel* const frontend_channel_; + // Pairs of ascii strings of the form ("Domain1.method1","Domain2.method2") + // indicating that the first element of each pair redirects to the second. + // Sorted by first element. + std::vector<std::pair<span<uint8_t>, span<uint8_t>>> redirects_; + // Domain dispatcher instances, sorted by their domain name. + std::vector<std::pair<span<uint8_t>, std::unique_ptr<DomainDispatcher>>> + dispatchers_; +}; +} // namespace crdtp + +#endif // CRDTP_DISPATCH_H_ diff --git a/deps/inspector_protocol/crdtp/dispatch_test.cc b/deps/inspector_protocol/crdtp/dispatch_test.cc new file mode 100644 index 00000000000000..03c8792a8ee1c3 --- /dev/null +++ b/deps/inspector_protocol/crdtp/dispatch_test.cc @@ -0,0 +1,442 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <vector> + +#include "cbor.h" +#include "dispatch.h" +#include "error_support.h" +#include "frontend_channel.h" +#include "json.h" +#include "test_platform.h" + +namespace crdtp { +// ============================================================================= +// DispatchResponse - Error status and chaining / fall through +// ============================================================================= +TEST(DispatchResponseTest, OK) { + EXPECT_EQ(DispatchCode::SUCCESS, DispatchResponse::Success().Code()); + EXPECT_TRUE(DispatchResponse::Success().IsSuccess()); +} + +TEST(DispatchResponseTest, ServerError) { + DispatchResponse error = DispatchResponse::ServerError("Oops!"); + EXPECT_FALSE(error.IsSuccess()); + EXPECT_EQ(DispatchCode::SERVER_ERROR, error.Code()); + EXPECT_EQ("Oops!", error.Message()); +} + +TEST(DispatchResponseTest, SessionNotFound) { + DispatchResponse error = DispatchResponse::SessionNotFound("OMG!"); + EXPECT_FALSE(error.IsSuccess()); + EXPECT_EQ(DispatchCode::SESSION_NOT_FOUND, error.Code()); + EXPECT_EQ("OMG!", error.Message()); +} + +TEST(DispatchResponseTest, InternalError) { + DispatchResponse error = DispatchResponse::InternalError(); + EXPECT_FALSE(error.IsSuccess()); + EXPECT_EQ(DispatchCode::INTERNAL_ERROR, error.Code()); + EXPECT_EQ("Internal error", error.Message()); +} + +TEST(DispatchResponseTest, InvalidParams) { + DispatchResponse error = DispatchResponse::InvalidParams("too cool"); + EXPECT_FALSE(error.IsSuccess()); + EXPECT_EQ(DispatchCode::INVALID_PARAMS, error.Code()); + EXPECT_EQ("too cool", error.Message()); +} + +TEST(DispatchResponseTest, FallThrough) { + DispatchResponse error = DispatchResponse::FallThrough(); + EXPECT_FALSE(error.IsSuccess()); + EXPECT_TRUE(error.IsFallThrough()); + EXPECT_EQ(DispatchCode::FALL_THROUGH, error.Code()); +} + +// ============================================================================= +// Dispatchable - a shallow parser for CBOR encoded DevTools messages +// ============================================================================= +TEST(DispatchableTest, MessageMustBeAnObject) { + // Provide no input whatsoever. + span<uint8_t> empty_span; + Dispatchable empty(empty_span); + EXPECT_FALSE(empty.ok()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, empty.DispatchError().Code()); + EXPECT_EQ("Message must be an object", empty.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMustHaveIntegerIdProperty) { + // Construct an empty map inside of an envelope. + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR(SpanFrom("{}"), &cbor).ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_FALSE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message must have integer 'id' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMustHaveIntegerIdProperty_IncorrectType) { + // This time we set the id property, but fail to make it an int32. + std::vector<uint8_t> cbor; + ASSERT_TRUE( + json::ConvertJSONToCBOR(SpanFrom("{\"id\":\"foo\"}"), &cbor).ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_FALSE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message must have integer 'id' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMustHaveStringMethodProperty) { + // This time we set the id property, but not the method property. + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR(SpanFrom("{\"id\":42}"), &cbor).ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message must have string 'method' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMustHaveStringMethodProperty_IncorrectType) { + // This time we set the method property, but fail to make it a string. + std::vector<uint8_t> cbor; + ASSERT_TRUE( + json::ConvertJSONToCBOR(SpanFrom("{\"id\":42,\"method\":42}"), &cbor) + .ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message must have string 'method' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMayHaveStringSessionIdProperty) { + // This time, the session id is an int but it should be a string. Method and + // call id are present. + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR( + SpanFrom("{\"id\":42,\"method\":\"Foo.executeBar\"," + "\"sessionId\":42" // int32 is wrong type + "}"), + &cbor) + .ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message may have string 'sessionId' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageMayHaveObjectParamsProperty) { + // This time, we fail to use the correct type for the params property. + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR( + SpanFrom("{\"id\":42,\"method\":\"Foo.executeBar\"," + "\"params\":42" // int32 is wrong type + "}"), + &cbor) + .ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ("Message may have object 'params' property", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, MessageWithUnknownProperty) { + // This time we set the 'unknown' property, so we are told what's allowed. + std::vector<uint8_t> cbor; + ASSERT_TRUE( + json::ConvertJSONToCBOR(SpanFrom("{\"id\":42,\"unknown\":42}"), &cbor) + .ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(DispatchCode::INVALID_REQUEST, dispatchable.DispatchError().Code()); + EXPECT_EQ( + "Message has property other than 'id', 'method', 'sessionId', 'params'", + dispatchable.DispatchError().Message()); +} + +TEST(DispatchableTest, DuplicateMapKey) { + for (const std::string& json : + {"{\"id\":42,\"id\":42}", "{\"params\":null,\"params\":null}", + "{\"method\":\"foo\",\"method\":\"foo\"}", + "{\"sessionId\":\"42\",\"sessionId\":\"42\"}"}) { + SCOPED_TRACE("json = " + json); + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR(SpanFrom(json), &cbor).ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_EQ(DispatchCode::PARSE_ERROR, dispatchable.DispatchError().Code()); + EXPECT_THAT(dispatchable.DispatchError().Message(), + testing::StartsWith("CBOR: duplicate map key at position ")); + } +} + +TEST(DispatchableTest, ValidMessageParsesOK_NoParams) { + for (const std::string& json : + {"{\"id\":42,\"method\":\"Foo.executeBar\",\"sessionId\":" + "\"f421ssvaz4\"}", + "{\"id\":42,\"method\":\"Foo.executeBar\",\"sessionId\":\"f421ssvaz4\"," + "\"params\":null}"}) { + SCOPED_TRACE("json = " + json); + std::vector<uint8_t> cbor; + ASSERT_TRUE(json::ConvertJSONToCBOR(SpanFrom(json), &cbor).ok()); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_TRUE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(42, dispatchable.CallId()); + EXPECT_EQ("Foo.executeBar", std::string(dispatchable.Method().begin(), + dispatchable.Method().end())); + EXPECT_EQ("f421ssvaz4", std::string(dispatchable.SessionId().begin(), + dispatchable.SessionId().end())); + EXPECT_TRUE(dispatchable.Params().empty()); + } +} + +TEST(DispatchableTest, ValidMessageParsesOK_WithParams) { + std::vector<uint8_t> cbor; + cbor::EnvelopeEncoder envelope; + envelope.EncodeStart(&cbor); + cbor.push_back(cbor::EncodeIndefiniteLengthMapStart()); + cbor::EncodeString8(SpanFrom("id"), &cbor); + cbor::EncodeInt32(42, &cbor); + cbor::EncodeString8(SpanFrom("method"), &cbor); + cbor::EncodeString8(SpanFrom("Foo.executeBar"), &cbor); + cbor::EncodeString8(SpanFrom("params"), &cbor); + cbor::EnvelopeEncoder params_envelope; + params_envelope.EncodeStart(&cbor); + // The |Dispatchable| class does not parse into the "params" envelope, + // so we can stick anything into there for the purpose of this test. + // For convenience, we use a String8. + cbor::EncodeString8(SpanFrom("params payload"), &cbor); + params_envelope.EncodeStop(&cbor); + cbor::EncodeString8(SpanFrom("sessionId"), &cbor); + cbor::EncodeString8(SpanFrom("f421ssvaz4"), &cbor); + cbor.push_back(cbor::EncodeStop()); + envelope.EncodeStop(&cbor); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_TRUE(dispatchable.ok()); + EXPECT_TRUE(dispatchable.HasCallId()); + EXPECT_EQ(42, dispatchable.CallId()); + EXPECT_EQ("Foo.executeBar", std::string(dispatchable.Method().begin(), + dispatchable.Method().end())); + EXPECT_EQ("f421ssvaz4", std::string(dispatchable.SessionId().begin(), + dispatchable.SessionId().end())); + cbor::CBORTokenizer params_tokenizer(dispatchable.Params()); + ASSERT_EQ(cbor::CBORTokenTag::ENVELOPE, params_tokenizer.TokenTag()); + params_tokenizer.EnterEnvelope(); + ASSERT_EQ(cbor::CBORTokenTag::STRING8, params_tokenizer.TokenTag()); + EXPECT_EQ("params payload", std::string(params_tokenizer.GetString8().begin(), + params_tokenizer.GetString8().end())); +} + +TEST(DispatchableTest, FaultyCBORTrailingJunk) { + // In addition to the higher level parsing errors, we also catch CBOR + // structural corruption. E.g., in this case, the message would be + // OK but has some extra trailing bytes. + std::vector<uint8_t> cbor; + cbor::EnvelopeEncoder envelope; + envelope.EncodeStart(&cbor); + cbor.push_back(cbor::EncodeIndefiniteLengthMapStart()); + cbor::EncodeString8(SpanFrom("id"), &cbor); + cbor::EncodeInt32(42, &cbor); + cbor::EncodeString8(SpanFrom("method"), &cbor); + cbor::EncodeString8(SpanFrom("Foo.executeBar"), &cbor); + cbor::EncodeString8(SpanFrom("sessionId"), &cbor); + cbor::EncodeString8(SpanFrom("f421ssvaz4"), &cbor); + cbor.push_back(cbor::EncodeStop()); + envelope.EncodeStop(&cbor); + size_t trailing_junk_pos = cbor.size(); + cbor.push_back('t'); + cbor.push_back('r'); + cbor.push_back('a'); + cbor.push_back('i'); + cbor.push_back('l'); + Dispatchable dispatchable(SpanFrom(cbor)); + EXPECT_FALSE(dispatchable.ok()); + EXPECT_EQ(DispatchCode::PARSE_ERROR, dispatchable.DispatchError().Code()); + EXPECT_EQ(57u, trailing_junk_pos); + EXPECT_EQ("CBOR: trailing junk at position 57", + dispatchable.DispatchError().Message()); +} + +// ============================================================================= +// Helpers for creating protocol cresponses and notifications. +// ============================================================================= +TEST(CreateErrorResponseTest, SmokeTest) { + auto serializable = CreateErrorResponse( + 42, DispatchResponse::InvalidParams("invalid params message")); + std::string json; + auto status = + json::ConvertCBORToJSON(SpanFrom(serializable->Serialize()), &json); + ASSERT_TRUE(status.ok()); + EXPECT_EQ( + "{\"id\":42,\"error\":" + "{\"code\":-32602," + "\"message\":\"invalid params message\"}}", + json); +} + +TEST(CreateErrorNotificationTest, SmokeTest) { + auto serializable = + CreateErrorNotification(DispatchResponse::InvalidRequest("oops!")); + std::string json; + auto status = + json::ConvertCBORToJSON(SpanFrom(serializable->Serialize()), &json); + ASSERT_TRUE(status.ok()); + EXPECT_EQ("{\"error\":{\"code\":-32600,\"message\":\"oops!\"}}", json); +} + +TEST(CreateResponseTest, SmokeTest) { + auto serializable = CreateResponse(42, nullptr); + std::string json; + auto status = + json::ConvertCBORToJSON(SpanFrom(serializable->Serialize()), &json); + ASSERT_TRUE(status.ok()); + EXPECT_EQ("{\"id\":42,\"result\":{}}", json); +} + +TEST(CreateNotificationTest, SmokeTest) { + auto serializable = CreateNotification("Foo.bar"); + std::string json; + auto status = + json::ConvertCBORToJSON(SpanFrom(serializable->Serialize()), &json); + ASSERT_TRUE(status.ok()); + EXPECT_EQ("{\"method\":\"Foo.bar\",\"params\":{}}", json); +} + +// ============================================================================= +// UberDispatcher - dispatches between domains (backends). +// ============================================================================= +class TestChannel : public FrontendChannel { + public: + std::string JSON() const { + std::string json; + json::ConvertCBORToJSON(SpanFrom(cbor_), &json); + return json; + } + + private: + void SendProtocolResponse(int call_id, + std::unique_ptr<Serializable> message) override { + cbor_ = message->Serialize(); + } + + void SendProtocolNotification( + std::unique_ptr<Serializable> message) override { + cbor_ = message->Serialize(); + } + + void FallThrough(int call_id, + span<uint8_t> method, + span<uint8_t> message) override {} + + void FlushProtocolNotifications() override {} + + std::vector<uint8_t> cbor_; +}; + +TEST(UberDispatcherTest, MethodNotFound) { + // No domain dispatchers are registered, so unsuprisingly, we'll get a method + // not found error and can see that DispatchResult::MethodFound() yields + // false. + TestChannel channel; + UberDispatcher dispatcher(&channel); + std::vector<uint8_t> message; + json::ConvertJSONToCBOR(SpanFrom("{\"id\":42,\"method\":\"Foo.bar\"}"), + &message); + Dispatchable dispatchable(SpanFrom(message)); + ASSERT_TRUE(dispatchable.ok()); + UberDispatcher::DispatchResult dispatched = dispatcher.Dispatch(dispatchable); + EXPECT_FALSE(dispatched.MethodFound()); + dispatched.Run(); + EXPECT_EQ( + "{\"id\":42,\"error\":" + "{\"code\":-32601,\"message\":\"'Foo.bar' wasn't found\"}}", + channel.JSON()); +} + +// A domain dispatcher which captured dispatched and executed commands in fields +// for testing. +class TestDomain : public DomainDispatcher { + public: + explicit TestDomain(FrontendChannel* channel) : DomainDispatcher(channel) {} + + std::function<void(const Dispatchable&)> Dispatch( + span<uint8_t> command_name) override { + dispatched_commands_.push_back( + std::string(command_name.begin(), command_name.end())); + return [this](const Dispatchable& dispatchable) { + executed_commands_.push_back(dispatchable.CallId()); + }; + } + + // Command names of the dispatched commands. + std::vector<std::string> DispatchedCommands() const { + return dispatched_commands_; + } + + // Call ids of the executed commands. + std::vector<int32_t> ExecutedCommands() const { return executed_commands_; } + + private: + std::vector<std::string> dispatched_commands_; + std::vector<int32_t> executed_commands_; +}; + +TEST(UberDispatcherTest, DispatchingToDomainWithRedirects) { + // This time, we register two domain dispatchers (Foo and Bar) and issue one + // command 'Foo.execute' which executes on Foo and one command 'Foo.redirect' + // which executes as 'Bar.redirected'. + TestChannel channel; + UberDispatcher dispatcher(&channel); + auto foo_dispatcher = std::make_unique<TestDomain>(&channel); + TestDomain* foo = foo_dispatcher.get(); + auto bar_dispatcher = std::make_unique<TestDomain>(&channel); + TestDomain* bar = bar_dispatcher.get(); + + dispatcher.WireBackend( + SpanFrom("Foo"), {{SpanFrom("Foo.redirect"), SpanFrom("Bar.redirected")}}, + std::move(foo_dispatcher)); + dispatcher.WireBackend(SpanFrom("Bar"), {}, std::move(bar_dispatcher)); + + { + std::vector<uint8_t> message; + json::ConvertJSONToCBOR(SpanFrom("{\"id\":42,\"method\":\"Foo.execute\"}"), + &message); + Dispatchable dispatchable(SpanFrom(message)); + ASSERT_TRUE(dispatchable.ok()); + UberDispatcher::DispatchResult dispatched = + dispatcher.Dispatch(dispatchable); + EXPECT_TRUE(dispatched.MethodFound()); + dispatched.Run(); + } + { + std::vector<uint8_t> message; + json::ConvertJSONToCBOR(SpanFrom("{\"id\":43,\"method\":\"Foo.redirect\"}"), + &message); + Dispatchable dispatchable(SpanFrom(message)); + ASSERT_TRUE(dispatchable.ok()); + UberDispatcher::DispatchResult dispatched = + dispatcher.Dispatch(dispatchable); + EXPECT_TRUE(dispatched.MethodFound()); + dispatched.Run(); + } + EXPECT_THAT(foo->DispatchedCommands(), testing::ElementsAre("execute")); + EXPECT_THAT(foo->ExecutedCommands(), testing::ElementsAre(42)); + EXPECT_THAT(bar->DispatchedCommands(), testing::ElementsAre("redirected")); + EXPECT_THAT(bar->ExecutedCommands(), testing::ElementsAre(43)); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/error_support.cc b/deps/inspector_protocol/crdtp/error_support.cc new file mode 100644 index 00000000000000..da4c2bed760bcc --- /dev/null +++ b/deps/inspector_protocol/crdtp/error_support.cc @@ -0,0 +1,59 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "error_support.h" + +#include <cassert> + +namespace crdtp { + +void ErrorSupport::Push() { + stack_.emplace_back(); +} + +void ErrorSupport::Pop() { + stack_.pop_back(); +} + +void ErrorSupport::SetName(const char* name) { + assert(!stack_.empty()); + stack_.back().type = NAME; + stack_.back().name = name; +} + +void ErrorSupport::SetIndex(size_t index) { + assert(!stack_.empty()); + stack_.back().type = INDEX; + stack_.back().index = index; +} + +void ErrorSupport::AddError(const char* error) { + assert(!stack_.empty()); + if (!errors_.empty()) + errors_ += "; "; + for (size_t ii = 0; ii < stack_.size(); ++ii) { + if (ii) + errors_ += "."; + const Segment& s = stack_[ii]; + switch (s.type) { + case NAME: + errors_ += s.name; + continue; + case INDEX: + errors_ += std::to_string(s.index); + continue; + default: + assert(s.type != EMPTY); + continue; + } + } + errors_ += ": "; + errors_ += error; +} + +span<uint8_t> ErrorSupport::Errors() const { + return SpanFrom(errors_); +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/error_support.h b/deps/inspector_protocol/crdtp/error_support.h new file mode 100644 index 00000000000000..231bf3e8ea63be --- /dev/null +++ b/deps/inspector_protocol/crdtp/error_support.h @@ -0,0 +1,62 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_ERROR_SUPPORT_H_ +#define CRDTP_ERROR_SUPPORT_H_ + +#include <cstdint> +#include <string> +#include <vector> +#include "export.h" +#include "span.h" + +namespace crdtp { +// ============================================================================= +// ErrorSupport - For tracking errors in tree structures. +// ============================================================================= + +// This abstraction is used when converting between Values and inspector +// objects, e.g. in lib/ValueConversions_{h,cc}.template. As the processing +// enters and exits a branch, we call Push / Pop. Within the branch, +// we either set the name or an index (in case we're processing the element of a +// list/vector). Only once an error is seen, the path which is now on the +// stack is materialized and prefixes the error message. E.g., +// "foo.bar.2: some error". After error collection, ::Errors() is used to +// access the message. +class CRDTP_EXPORT ErrorSupport { + public: + // Push / Pop operations for the path segments; after Push, either SetName or + // SetIndex must be called exactly once. + void Push(); + void Pop(); + + // Sets the name of the current segment on the stack; e.g. a field name. + // |name| must be a C++ string literal in 7 bit US-ASCII. + void SetName(const char* name); + // Sets the index of the current segment on the stack; e.g. an array index. + void SetIndex(size_t index); + + // Materializes the error internally. |error| must be a C++ string literal + // in 7 bit US-ASCII. + void AddError(const char* error); + + // Returns the semicolon-separated list of errors as in 7 bit ASCII. + span<uint8_t> Errors() const; + + private: + enum SegmentType { EMPTY, NAME, INDEX }; + struct Segment { + SegmentType type = EMPTY; + union { + const char* name; + size_t index; + }; + }; + std::vector<Segment> stack_; + std::string errors_; +}; + +} // namespace crdtp + +#endif // CRDTP_ERROR_SUPPORT_H_ diff --git a/deps/inspector_protocol/crdtp/error_support_test.cc b/deps/inspector_protocol/crdtp/error_support_test.cc new file mode 100644 index 00000000000000..87b27113dae8d0 --- /dev/null +++ b/deps/inspector_protocol/crdtp/error_support_test.cc @@ -0,0 +1,45 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "error_support.h" + +#include <string> +#include <vector> + +#include "test_platform.h" + +namespace crdtp { +TEST(ErrorSupportTest, Empty) { + ErrorSupport errors; + EXPECT_TRUE(errors.Errors().empty()); +} + +TEST(ErrorSupportTest, Nesting) { + ErrorSupport errors; + // Enter field foo, inter element at index 42, enter field bar, and encounter + // an error there ("something wrong"). + errors.Push(); + errors.SetName("foo"); + errors.Push(); + errors.SetIndex(42); + errors.Push(); + errors.SetName("bar_sibling"); + errors.SetName("bar"); + errors.AddError("something wrong"); + errors.Pop(); // bar + errors.Pop(); // 42 + // The common case is actually that we'll enter some field, set the name + // or index, and leave without ever producing an error. + errors.Push(); + errors.SetName("no_error_here"); + errors.Pop(); // no_error_here + errors.Push(); + errors.SetName("bang"); + errors.AddError("one last error"); + errors.Pop(); // bang + errors.Pop(); // foo + std::string out(errors.Errors().begin(), errors.Errors().end()); + EXPECT_EQ("foo.42.bar: something wrong; foo.bang: one last error", out); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/export.h b/deps/inspector_protocol/crdtp/export.h new file mode 100644 index 00000000000000..92fa1427c3b299 --- /dev/null +++ b/deps/inspector_protocol/crdtp/export.h @@ -0,0 +1,29 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_EXPORT_H_ +#define CRDTP_EXPORT_H_ + +#if defined(COMPONENT_BUILD) +#if defined(WIN32) + +#if defined(CRDTP_IMPLEMENTATION) +#define CRDTP_EXPORT __declspec(dllexport) +#else +#define CRDTP_EXPORT __declspec(dllimport) +#endif // defined(CRDTP_IMPLEMENTATION) + +#else // defined(WIN32) +#if defined(CRDTP_IMPLEMENTATION) +#define CRDTP_EXPORT __attribute__((visibility("default"))) +#else +#define CRDTP_EXPORT +#endif +#endif + +#else // defined(COMPONENT_BUILD) +#define CRDTP_EXPORT +#endif + +#endif // CRDTP_EXPORT_H_ diff --git a/deps/inspector_protocol/crdtp/find_by_first.h b/deps/inspector_protocol/crdtp/find_by_first.h new file mode 100644 index 00000000000000..68c2715913402a --- /dev/null +++ b/deps/inspector_protocol/crdtp/find_by_first.h @@ -0,0 +1,58 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_FIND_BY_FIRST_H_ +#define CRDTP_FIND_BY_FIRST_H_ + +#include <algorithm> +#include <cstdint> +#include <memory> +#include <vector> + +#include "export.h" +#include "span.h" + +namespace crdtp { +// ============================================================================= +// FindByFirst - Retrieval from a sorted vector that's keyed by span<uint8_t>. +// ============================================================================= + +// Given a vector of pairs sorted by the first element of each pair, find +// the corresponding value given a key to be compared to the first element. +// Together with std::inplace_merge and pre-sorting or std::sort, this can +// be used to implement a minimalistic equivalent of Chromium's flat_map. + +// In this variant, the template parameter |T| is a value type and a +// |default_value| is provided. +template <typename T> +T FindByFirst(const std::vector<std::pair<span<uint8_t>, T>>& sorted_by_first, + span<uint8_t> key, + T default_value) { + auto it = std::lower_bound( + sorted_by_first.begin(), sorted_by_first.end(), key, + [](const std::pair<span<uint8_t>, T>& left, span<uint8_t> right) { + return SpanLessThan(left.first, right); + }); + return (it != sorted_by_first.end() && SpanEquals(it->first, key)) + ? it->second + : default_value; +} + +// In this variant, the template parameter |T| is a class or struct that's +// instantiated in std::unique_ptr, and we return either a T* or a nullptr. +template <typename T> +T* FindByFirst(const std::vector<std::pair<span<uint8_t>, std::unique_ptr<T>>>& + sorted_by_first, + span<uint8_t> key) { + auto it = std::lower_bound( + sorted_by_first.begin(), sorted_by_first.end(), key, + [](const std::pair<span<uint8_t>, std::unique_ptr<T>>& left, + span<uint8_t> right) { return SpanLessThan(left.first, right); }); + return (it != sorted_by_first.end() && SpanEquals(it->first, key)) + ? it->second.get() + : nullptr; +} +} // namespace crdtp + +#endif // CRDTP_FIND_BY_FIRST_H_ diff --git a/deps/inspector_protocol/crdtp/find_by_first_test.cc b/deps/inspector_protocol/crdtp/find_by_first_test.cc new file mode 100644 index 00000000000000..93c79e3f721a3f --- /dev/null +++ b/deps/inspector_protocol/crdtp/find_by_first_test.cc @@ -0,0 +1,76 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <string> + +#include "find_by_first.h" +#include "test_platform.h" + +namespace crdtp { +// ============================================================================= +// FindByFirst - Efficient retrieval from a sorted vector. +// ============================================================================= +TEST(FindByFirst, SpanBySpan) { + std::vector<std::pair<span<uint8_t>, span<uint8_t>>> sorted_span_by_span = { + {SpanFrom("foo1"), SpanFrom("bar1")}, + {SpanFrom("foo2"), SpanFrom("bar2")}, + {SpanFrom("foo3"), SpanFrom("bar3")}, + }; + { + auto result = FindByFirst(sorted_span_by_span, SpanFrom("foo1"), + SpanFrom("not_found")); + EXPECT_EQ("bar1", std::string(result.begin(), result.end())); + } + { + auto result = FindByFirst(sorted_span_by_span, SpanFrom("foo3"), + SpanFrom("not_found")); + EXPECT_EQ("bar3", std::string(result.begin(), result.end())); + } + { + auto result = FindByFirst(sorted_span_by_span, SpanFrom("baz"), + SpanFrom("not_found")); + EXPECT_EQ("not_found", std::string(result.begin(), result.end())); + } +} + +namespace { +class TestObject { + public: + explicit TestObject(const std::string& message) : message_(message) {} + + const std::string& message() const { return message_; } + + private: + std::string message_; +}; +} // namespace + +TEST(FindByFirst, ObjectBySpan) { + std::vector<std::pair<span<uint8_t>, std::unique_ptr<TestObject>>> + sorted_object_by_span; + sorted_object_by_span.push_back( + std::make_pair(SpanFrom("foo1"), std::make_unique<TestObject>("bar1"))); + sorted_object_by_span.push_back( + std::make_pair(SpanFrom("foo2"), std::make_unique<TestObject>("bar2"))); + sorted_object_by_span.push_back( + std::make_pair(SpanFrom("foo3"), std::make_unique<TestObject>("bar3"))); + { + TestObject* result = + FindByFirst<TestObject>(sorted_object_by_span, SpanFrom("foo1")); + ASSERT_TRUE(result); + ASSERT_EQ("bar1", result->message()); + } + { + TestObject* result = + FindByFirst<TestObject>(sorted_object_by_span, SpanFrom("foo3")); + ASSERT_TRUE(result); + ASSERT_EQ("bar3", result->message()); + } + { + TestObject* result = + FindByFirst<TestObject>(sorted_object_by_span, SpanFrom("baz")); + ASSERT_FALSE(result); + } +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/frontend_channel.h b/deps/inspector_protocol/crdtp/frontend_channel.h new file mode 100644 index 00000000000000..0aa7480c943237 --- /dev/null +++ b/deps/inspector_protocol/crdtp/frontend_channel.h @@ -0,0 +1,47 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_FRONTEND_CHANNEL_H_ +#define CRDTP_FRONTEND_CHANNEL_H_ + +#include <cstdint> +#include <memory> +#include "export.h" +#include "serializable.h" +#include "span.h" + +namespace crdtp { +// ============================================================================= +// FrontendChannel - For sending notifications and responses to protocol clients +// ============================================================================= +class CRDTP_EXPORT FrontendChannel { + public: + virtual ~FrontendChannel() = default; + + // Sends protocol responses and notifications. The |call_id| parameter is + // seemingly redundant because it's also included in the message, but + // responses may be sent from an untrusted source to a trusted process (e.g. + // from Chromium's renderer (blink) to the browser process), which needs + // to be able to match the response to an earlier request without parsing the + // messsage. + virtual void SendProtocolResponse(int call_id, + std::unique_ptr<Serializable> message) = 0; + virtual void SendProtocolNotification( + std::unique_ptr<Serializable> message) = 0; + + // FallThrough indicates that |message| should be handled in another layer. + // Usually this means the layer responding to the message didn't handle it, + // but in some cases messages are handled by multiple layers (e.g. both + // the embedder and the content layer in Chromium). + virtual void FallThrough(int call_id, + span<uint8_t> method, + span<uint8_t> message) = 0; + + // Session implementations may queue notifications for performance or + // other considerations; this is a hook for domain handlers to manually flush. + virtual void FlushProtocolNotifications() = 0; +}; +} // namespace crdtp + +#endif // CRDTP_FRONTEND_CHANNEL_H_ diff --git a/deps/inspector_protocol/crdtp/json.cc b/deps/inspector_protocol/crdtp/json.cc new file mode 100644 index 00000000000000..479f9ba51875ab --- /dev/null +++ b/deps/inspector_protocol/crdtp/json.cc @@ -0,0 +1,1037 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "json.h" + +#include <algorithm> +#include <cassert> +#include <cmath> +#include <cstring> +#include <limits> +#include <stack> + +#include "cbor.h" +#include "json_platform.h" + +namespace crdtp { +namespace json { +// ============================================================================= +// json::NewJSONEncoder - for encoding streaming parser events as JSON +// ============================================================================= + +namespace { +// Prints |value| to |out| with 4 hex digits, most significant chunk first. +template <typename C> +void PrintHex(uint16_t value, C* out) { + for (int ii = 3; ii >= 0; --ii) { + int four_bits = 0xf & (value >> (4 * ii)); + out->push_back(four_bits + ((four_bits <= 9) ? '0' : ('a' - 10))); + } +} + +// In the writer below, we maintain a stack of State instances. +// It is just enough to emit the appropriate delimiters and brackets +// in JSON. +enum class Container { + // Used for the top-level, initial state. + NONE, + // Inside a JSON object. + MAP, + // Inside a JSON array. + ARRAY +}; + +class State { + public: + explicit State(Container container) : container_(container) {} + void StartElement(std::vector<uint8_t>* out) { StartElementTmpl(out); } + void StartElement(std::string* out) { StartElementTmpl(out); } + Container container() const { return container_; } + + private: + template <typename C> + void StartElementTmpl(C* out) { + assert(container_ != Container::NONE || size_ == 0); + if (size_ != 0) { + char delim = (!(size_ & 1) || container_ == Container::ARRAY) ? ',' : ':'; + out->push_back(delim); + } + ++size_; + } + + Container container_ = Container::NONE; + int size_ = 0; +}; + +constexpr char kBase64Table[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz0123456789+/"; + +template <typename C> +void Base64Encode(const span<uint8_t>& in, C* out) { + // The following three cases are based on the tables in the example + // section in https://en.wikipedia.org/wiki/Base64. We process three + // input bytes at a time, emitting 4 output bytes at a time. + size_t ii = 0; + + // While possible, process three input bytes. + for (; ii + 3 <= in.size(); ii += 3) { + uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8) | in[ii + 2]; + out->push_back(kBase64Table[(twentyfour_bits >> 18)]); + out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); + out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); + out->push_back(kBase64Table[twentyfour_bits & 0x3f]); + } + if (ii + 2 <= in.size()) { // Process two input bytes. + uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8); + out->push_back(kBase64Table[(twentyfour_bits >> 18)]); + out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); + out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); + out->push_back('='); // Emit padding. + return; + } + if (ii + 1 <= in.size()) { // Process a single input byte. + uint32_t twentyfour_bits = (in[ii] << 16); + out->push_back(kBase64Table[(twentyfour_bits >> 18)]); + out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); + out->push_back('='); // Emit padding. + out->push_back('='); // Emit padding. + } +} + +// Implements a handler for JSON parser events to emit a JSON string. +template <typename C> +class JSONEncoder : public ParserHandler { + public: + JSONEncoder(C* out, Status* status) : out_(out), status_(status) { + *status_ = Status(); + state_.emplace(Container::NONE); + } + + void HandleMapBegin() override { + if (!status_->ok()) + return; + assert(!state_.empty()); + state_.top().StartElement(out_); + state_.emplace(Container::MAP); + Emit('{'); + } + + void HandleMapEnd() override { + if (!status_->ok()) + return; + assert(state_.size() >= 2 && state_.top().container() == Container::MAP); + state_.pop(); + Emit('}'); + } + + void HandleArrayBegin() override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + state_.emplace(Container::ARRAY); + Emit('['); + } + + void HandleArrayEnd() override { + if (!status_->ok()) + return; + assert(state_.size() >= 2 && state_.top().container() == Container::ARRAY); + state_.pop(); + Emit(']'); + } + + void HandleString16(span<uint16_t> chars) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + Emit('"'); + for (const uint16_t ch : chars) { + if (ch == '"') { + Emit('\\'); Emit('"'); + } else if (ch == '\\') { + Emit('\\'); Emit('\\'); + } else if (ch >= 32 && ch <= 127) { + Emit(ch); + } else if (ch == '\n') { + Emit('\\'); Emit('n'); + } else if (ch == '\r') { + Emit('\\'); Emit('r'); + } else if (ch == '\t') { + Emit('\\'); Emit('t'); + } else if (ch == '\b') { + Emit('\\'); Emit('b'); + } else if (ch == '\f') { + Emit('\\'); Emit('f'); + } else { + Emit('\\'); Emit('u'); + PrintHex(ch, out_); + } + } + Emit('"'); + } + + void HandleString8(span<uint8_t> chars) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + Emit('"'); + for (size_t ii = 0; ii < chars.size(); ++ii) { + uint8_t c = chars[ii]; + if (c == '"') { + Emit('\\'); Emit('"'); + } else if (c == '\\') { + Emit('\\'); Emit('\\'); + } else if (c >= 32 && c <= 127) { + Emit(c); + } else if (c == '\n') { + Emit('\\'); Emit('n'); + } else if (c == '\r') { + Emit('\\'); Emit('r'); + } else if (c == '\t') { + Emit('\\'); Emit('t'); + } else if (c == '\b') { + Emit('\\'); Emit('b'); + } else if (c == '\f') { + Emit('\\'); Emit('f'); + } else if (c < 32) { + Emit('\\'); Emit('u'); + PrintHex(static_cast<uint16_t>(c), out_); + } else { + // Inspect the leading byte to figure out how long the utf8 + // byte sequence is; while doing this initialize |codepoint| + // with the first few bits. + // See table in: https://en.wikipedia.org/wiki/UTF-8 + // byte one is 110x xxxx -> 2 byte utf8 sequence + // byte one is 1110 xxxx -> 3 byte utf8 sequence + // byte one is 1111 0xxx -> 4 byte utf8 sequence + uint32_t codepoint; + int num_bytes_left; + if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence + num_bytes_left = 1; + codepoint = c & 0x1f; + } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence + num_bytes_left = 2; + codepoint = c & 0x0f; + } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence + codepoint = c & 0x07; + num_bytes_left = 3; + } else { + continue; // invalid leading byte + } + + // If we have enough bytes in our input, decode the remaining ones + // belonging to this Unicode character into |codepoint|. + if (ii + num_bytes_left >= chars.size()) + continue; + bool invalid_byte_seen = false; + while (num_bytes_left > 0) { + c = chars[++ii]; + --num_bytes_left; + // Check the next byte is a continuation byte, that is 10xx xxxx. + if ((c & 0xc0) != 0x80) + invalid_byte_seen = true; + codepoint = (codepoint << 6) | (c & 0x3f); + } + if (invalid_byte_seen) + continue; + + // Disallow overlong encodings for ascii characters, as these + // would include " and other characters significant to JSON + // string termination / control. + if (codepoint <= 0x7f) + continue; + // Invalid in UTF8, and can't be represented in UTF16 anyway. + if (codepoint > 0x10ffff) + continue; + + // So, now we transcode to UTF16, + // using the math described at https://en.wikipedia.org/wiki/UTF-16, + // for either one or two 16 bit characters. + if (codepoint <= 0xffff) { + Emit("\\u"); + PrintHex(static_cast<uint16_t>(codepoint), out_); + continue; + } + codepoint -= 0x10000; + // high surrogate + Emit("\\u"); + PrintHex(static_cast<uint16_t>((codepoint >> 10) + 0xd800), out_); + // low surrogate + Emit("\\u"); + PrintHex(static_cast<uint16_t>((codepoint & 0x3ff) + 0xdc00), out_); + } + } + Emit('"'); + } + + void HandleBinary(span<uint8_t> bytes) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + Emit('"'); + Base64Encode(bytes, out_); + Emit('"'); + } + + void HandleDouble(double value) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + // JSON cannot represent NaN or Infinity. So, for compatibility, + // we behave like the JSON object in web browsers: emit 'null'. + if (!std::isfinite(value)) { + Emit("null"); + return; + } + // If |value| is a scalar, emit it as an int. Taken from json_writer.cc in + // Chromium. + if (value < static_cast<double>(std::numeric_limits<int64_t>::max()) && + value >= std::numeric_limits<int64_t>::min() && + std::floor(value) == value) { + Emit(std::to_string(static_cast<int64_t>(value))); + return; + } + std::string str_value = json::platform::DToStr(value); + // The following is somewhat paranoid, but also taken from json_writer.cc + // in Chromium: + // Ensure that the number has a .0 if there's no decimal or 'e'. This + // makes sure that when we read the JSON back, it's interpreted as a + // real rather than an int. + if (str_value.find_first_of(".eE") == std::string::npos) + str_value.append(".0"); + + // DToStr may fail to emit a 0 before the decimal dot. E.g. this is + // the case in base::NumberToString in Chromium (which is based on + // dmg_fp). So, much like + // https://cs.chromium.org/chromium/src/base/json/json_writer.cc + // we probe for this and emit the leading 0 anyway if necessary. + if (str_value[0] == '.') { + Emit('0'); + Emit(str_value); + } else if (str_value[0] == '-' && str_value[1] == '.') { + Emit("-0"); + // Skip the '-' from the original string and emit the rest. + out_->insert(out_->end(), str_value.begin() + 1, str_value.end()); + } else { + Emit(str_value); + } + } + + void HandleInt32(int32_t value) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + Emit(std::to_string(value)); + } + + void HandleBool(bool value) override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + if (value) + Emit("true"); + else + Emit("false"); + } + + void HandleNull() override { + if (!status_->ok()) + return; + state_.top().StartElement(out_); + Emit("null"); + } + + void HandleError(Status error) override { + assert(!error.ok()); + *status_ = error; + out_->clear(); + } + + private: + inline void Emit(char c) { out_->push_back(c); } + template<size_t N> + inline void Emit(const char (&str)[N]) { + out_->insert(out_->end(), str, str + N - 1); + } + inline void Emit(const std::string& str) { + out_->insert(out_->end(), str.begin(), str.end()); + } + + C* out_; + Status* status_; + std::stack<State> state_; +}; +} // namespace + +std::unique_ptr<ParserHandler> NewJSONEncoder(std::vector<uint8_t>* out, + Status* status) { + return std::unique_ptr<ParserHandler>( + new JSONEncoder<std::vector<uint8_t>>(out, status)); +} + +std::unique_ptr<ParserHandler> NewJSONEncoder(std::string* out, + Status* status) { + return std::unique_ptr<ParserHandler>( + new JSONEncoder<std::string>(out, status)); +} + +// ============================================================================= +// json::ParseJSON - for receiving streaming parser events for JSON. +// ============================================================================= + +namespace { +const int kStackLimit = 300; + +enum Token { + ObjectBegin, + ObjectEnd, + ArrayBegin, + ArrayEnd, + StringLiteral, + Number, + BoolTrue, + BoolFalse, + NullToken, + ListSeparator, + ObjectPairSeparator, + InvalidToken, + NoInput +}; + +const char* const kNullString = "null"; +const char* const kTrueString = "true"; +const char* const kFalseString = "false"; + +template <typename Char> +class JsonParser { + public: + explicit JsonParser(ParserHandler* handler) : handler_(handler) {} + + void Parse(const Char* start, size_t length) { + start_pos_ = start; + const Char* end = start + length; + const Char* tokenEnd = nullptr; + ParseValue(start, end, &tokenEnd, 0); + if (error_) + return; + if (tokenEnd != end) { + HandleError(Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS, tokenEnd); + } + } + + private: + bool CharsToDouble(const uint16_t* chars, size_t length, double* result) { + std::string buffer; + buffer.reserve(length + 1); + for (size_t ii = 0; ii < length; ++ii) { + bool is_ascii = !(chars[ii] & ~0x7F); + if (!is_ascii) + return false; + buffer.push_back(static_cast<char>(chars[ii])); + } + return platform::StrToD(buffer.c_str(), result); + } + + bool CharsToDouble(const uint8_t* chars, size_t length, double* result) { + std::string buffer(reinterpret_cast<const char*>(chars), length); + return platform::StrToD(buffer.c_str(), result); + } + + static bool ParseConstToken(const Char* start, + const Char* end, + const Char** token_end, + const char* token) { + // |token| is \0 terminated, it's one of the constants at top of the file. + while (start < end && *token != '\0' && *start++ == *token++) { + } + if (*token != '\0') + return false; + *token_end = start; + return true; + } + + static bool ReadInt(const Char* start, + const Char* end, + const Char** token_end, + bool allow_leading_zeros) { + if (start == end) + return false; + bool has_leading_zero = '0' == *start; + int length = 0; + while (start < end && '0' <= *start && *start <= '9') { + ++start; + ++length; + } + if (!length) + return false; + if (!allow_leading_zeros && length > 1 && has_leading_zero) + return false; + *token_end = start; + return true; + } + + static bool ParseNumberToken(const Char* start, + const Char* end, + const Char** token_end) { + // We just grab the number here. We validate the size in DecodeNumber. + // According to RFC4627, a valid number is: [minus] int [frac] [exp] + if (start == end) + return false; + Char c = *start; + if ('-' == c) + ++start; + + if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/false)) + return false; + if (start == end) { + *token_end = start; + return true; + } + + // Optional fraction part + c = *start; + if ('.' == c) { + ++start; + if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) + return false; + if (start == end) { + *token_end = start; + return true; + } + c = *start; + } + + // Optional exponent part + if ('e' == c || 'E' == c) { + ++start; + if (start == end) + return false; + c = *start; + if ('-' == c || '+' == c) { + ++start; + if (start == end) + return false; + } + if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) + return false; + } + + *token_end = start; + return true; + } + + static bool ReadHexDigits(const Char* start, + const Char* end, + const Char** token_end, + int digits) { + if (end - start < digits) + return false; + for (int i = 0; i < digits; ++i) { + Char c = *start++; + if (!(('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || + ('A' <= c && c <= 'F'))) + return false; + } + *token_end = start; + return true; + } + + static bool ParseStringToken(const Char* start, + const Char* end, + const Char** token_end) { + while (start < end) { + Char c = *start++; + if ('\\' == c) { + if (start == end) + return false; + c = *start++; + // Make sure the escaped char is valid. + switch (c) { + case 'x': + if (!ReadHexDigits(start, end, &start, 2)) + return false; + break; + case 'u': + if (!ReadHexDigits(start, end, &start, 4)) + return false; + break; + case '\\': + case '/': + case 'b': + case 'f': + case 'n': + case 'r': + case 't': + case 'v': + case '"': + break; + default: + return false; + } + } else if ('"' == c) { + *token_end = start; + return true; + } + } + return false; + } + + static bool SkipComment(const Char* start, + const Char* end, + const Char** comment_end) { + if (start == end) + return false; + + if (*start != '/' || start + 1 >= end) + return false; + ++start; + + if (*start == '/') { + // Single line comment, read to newline. + for (++start; start < end; ++start) { + if (*start == '\n' || *start == '\r') { + *comment_end = start + 1; + return true; + } + } + *comment_end = end; + // Comment reaches end-of-input, which is fine. + return true; + } + + if (*start == '*') { + Char previous = '\0'; + // Block comment, read until end marker. + for (++start; start < end; previous = *start++) { + if (previous == '*' && *start == '/') { + *comment_end = start + 1; + return true; + } + } + // Block comment must close before end-of-input. + return false; + } + + return false; + } + + static bool IsSpaceOrNewLine(Char c) { + // \v = vertial tab; \f = form feed page break. + return c == ' ' || c == '\n' || c == '\v' || c == '\f' || c == '\r' || + c == '\t'; + } + + static void SkipWhitespaceAndComments(const Char* start, + const Char* end, + const Char** whitespace_end) { + while (start < end) { + if (IsSpaceOrNewLine(*start)) { + ++start; + } else if (*start == '/') { + const Char* comment_end = nullptr; + if (!SkipComment(start, end, &comment_end)) + break; + start = comment_end; + } else { + break; + } + } + *whitespace_end = start; + } + + static Token ParseToken(const Char* start, + const Char* end, + const Char** tokenStart, + const Char** token_end) { + SkipWhitespaceAndComments(start, end, tokenStart); + start = *tokenStart; + + if (start == end) + return NoInput; + + switch (*start) { + case 'n': + if (ParseConstToken(start, end, token_end, kNullString)) + return NullToken; + break; + case 't': + if (ParseConstToken(start, end, token_end, kTrueString)) + return BoolTrue; + break; + case 'f': + if (ParseConstToken(start, end, token_end, kFalseString)) + return BoolFalse; + break; + case '[': + *token_end = start + 1; + return ArrayBegin; + case ']': + *token_end = start + 1; + return ArrayEnd; + case ',': + *token_end = start + 1; + return ListSeparator; + case '{': + *token_end = start + 1; + return ObjectBegin; + case '}': + *token_end = start + 1; + return ObjectEnd; + case ':': + *token_end = start + 1; + return ObjectPairSeparator; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + if (ParseNumberToken(start, end, token_end)) + return Number; + break; + case '"': + if (ParseStringToken(start + 1, end, token_end)) + return StringLiteral; + break; + } + return InvalidToken; + } + + static int HexToInt(Char c) { + if ('0' <= c && c <= '9') + return c - '0'; + if ('A' <= c && c <= 'F') + return c - 'A' + 10; + if ('a' <= c && c <= 'f') + return c - 'a' + 10; + assert(false); // Unreachable. + return 0; + } + + static bool DecodeString(const Char* start, + const Char* end, + std::vector<uint16_t>* output) { + if (start == end) + return true; + if (start > end) + return false; + output->reserve(end - start); + while (start < end) { + uint16_t c = *start++; + // If the |Char| we're dealing with is really a byte, then + // we have utf8 here, and we need to check for multibyte characters + // and transcode them to utf16 (either one or two utf16 chars). + if (sizeof(Char) == sizeof(uint8_t) && c > 0x7f) { + // Inspect the leading byte to figure out how long the utf8 + // byte sequence is; while doing this initialize |codepoint| + // with the first few bits. + // See table in: https://en.wikipedia.org/wiki/UTF-8 + // byte one is 110x xxxx -> 2 byte utf8 sequence + // byte one is 1110 xxxx -> 3 byte utf8 sequence + // byte one is 1111 0xxx -> 4 byte utf8 sequence + uint32_t codepoint; + int num_bytes_left; + if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence + num_bytes_left = 1; + codepoint = c & 0x1f; + } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence + num_bytes_left = 2; + codepoint = c & 0x0f; + } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence + codepoint = c & 0x07; + num_bytes_left = 3; + } else { + return false; // invalid leading byte + } + + // If we have enough bytes in our inpput, decode the remaining ones + // belonging to this Unicode character into |codepoint|. + if (start + num_bytes_left > end) + return false; + while (num_bytes_left > 0) { + c = *start++; + --num_bytes_left; + // Check the next byte is a continuation byte, that is 10xx xxxx. + if ((c & 0xc0) != 0x80) + return false; + codepoint = (codepoint << 6) | (c & 0x3f); + } + + // Disallow overlong encodings for ascii characters, as these + // would include " and other characters significant to JSON + // string termination / control. + if (codepoint <= 0x7f) + return false; + // Invalid in UTF8, and can't be represented in UTF16 anyway. + if (codepoint > 0x10ffff) + return false; + + // So, now we transcode to UTF16, + // using the math described at https://en.wikipedia.org/wiki/UTF-16, + // for either one or two 16 bit characters. + if (codepoint <= 0xffff) { + output->push_back(codepoint); + continue; + } + codepoint -= 0x10000; + output->push_back((codepoint >> 10) + 0xd800); // high surrogate + output->push_back((codepoint & 0x3ff) + 0xdc00); // low surrogate + continue; + } + if ('\\' != c) { + output->push_back(c); + continue; + } + if (start == end) + return false; + c = *start++; + + if (c == 'x') { + // \x is not supported. + return false; + } + + switch (c) { + case '"': + case '/': + case '\\': + break; + case 'b': + c = '\b'; + break; + case 'f': + c = '\f'; + break; + case 'n': + c = '\n'; + break; + case 'r': + c = '\r'; + break; + case 't': + c = '\t'; + break; + case 'v': + c = '\v'; + break; + case 'u': + c = (HexToInt(*start) << 12) + (HexToInt(*(start + 1)) << 8) + + (HexToInt(*(start + 2)) << 4) + HexToInt(*(start + 3)); + start += 4; + break; + default: + return false; + } + output->push_back(c); + } + return true; + } + + void ParseValue(const Char* start, + const Char* end, + const Char** value_token_end, + int depth) { + if (depth > kStackLimit) { + HandleError(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, start); + return; + } + const Char* token_start = nullptr; + const Char* token_end = nullptr; + Token token = ParseToken(start, end, &token_start, &token_end); + switch (token) { + case NoInput: + HandleError(Error::JSON_PARSER_NO_INPUT, token_start); + return; + case InvalidToken: + HandleError(Error::JSON_PARSER_INVALID_TOKEN, token_start); + return; + case NullToken: + handler_->HandleNull(); + break; + case BoolTrue: + handler_->HandleBool(true); + break; + case BoolFalse: + handler_->HandleBool(false); + break; + case Number: { + double value; + if (!CharsToDouble(token_start, token_end - token_start, &value)) { + HandleError(Error::JSON_PARSER_INVALID_NUMBER, token_start); + return; + } + if (value >= std::numeric_limits<int32_t>::min() && + value <= std::numeric_limits<int32_t>::max() && + static_cast<int32_t>(value) == value) + handler_->HandleInt32(static_cast<int32_t>(value)); + else + handler_->HandleDouble(value); + break; + } + case StringLiteral: { + std::vector<uint16_t> value; + bool ok = DecodeString(token_start + 1, token_end - 1, &value); + if (!ok) { + HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); + return; + } + handler_->HandleString16(span<uint16_t>(value.data(), value.size())); + break; + } + case ArrayBegin: { + handler_->HandleArrayBegin(); + start = token_end; + token = ParseToken(start, end, &token_start, &token_end); + while (token != ArrayEnd) { + ParseValue(start, end, &token_end, depth + 1); + if (error_) + return; + + // After a list value, we expect a comma or the end of the list. + start = token_end; + token = ParseToken(start, end, &token_start, &token_end); + if (token == ListSeparator) { + start = token_end; + token = ParseToken(start, end, &token_start, &token_end); + if (token == ArrayEnd) { + HandleError(Error::JSON_PARSER_UNEXPECTED_ARRAY_END, token_start); + return; + } + } else if (token != ArrayEnd) { + // Unexpected value after list value. Bail out. + HandleError(Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED, + token_start); + return; + } + } + handler_->HandleArrayEnd(); + break; + } + case ObjectBegin: { + handler_->HandleMapBegin(); + start = token_end; + token = ParseToken(start, end, &token_start, &token_end); + while (token != ObjectEnd) { + if (token != StringLiteral) { + HandleError(Error::JSON_PARSER_STRING_LITERAL_EXPECTED, + token_start); + return; + } + std::vector<uint16_t> key; + if (!DecodeString(token_start + 1, token_end - 1, &key)) { + HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); + return; + } + handler_->HandleString16(span<uint16_t>(key.data(), key.size())); + start = token_end; + + token = ParseToken(start, end, &token_start, &token_end); + if (token != ObjectPairSeparator) { + HandleError(Error::JSON_PARSER_COLON_EXPECTED, token_start); + return; + } + start = token_end; + + ParseValue(start, end, &token_end, depth + 1); + if (error_) + return; + start = token_end; + + // After a key/value pair, we expect a comma or the end of the + // object. + token = ParseToken(start, end, &token_start, &token_end); + if (token == ListSeparator) { + start = token_end; + token = ParseToken(start, end, &token_start, &token_end); + if (token == ObjectEnd) { + HandleError(Error::JSON_PARSER_UNEXPECTED_MAP_END, token_start); + return; + } + } else if (token != ObjectEnd) { + // Unexpected value after last object value. Bail out. + HandleError(Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED, + token_start); + return; + } + } + handler_->HandleMapEnd(); + break; + } + + default: + // We got a token that's not a value. + HandleError(Error::JSON_PARSER_VALUE_EXPECTED, token_start); + return; + } + + SkipWhitespaceAndComments(token_end, end, value_token_end); + } + + void HandleError(Error error, const Char* pos) { + assert(error != Error::OK); + if (!error_) { + handler_->HandleError( + Status{error, static_cast<size_t>(pos - start_pos_)}); + error_ = true; + } + } + + const Char* start_pos_ = nullptr; + bool error_ = false; + ParserHandler* handler_; +}; +} // namespace + +void ParseJSON(span<uint8_t> chars, ParserHandler* handler) { + JsonParser<uint8_t> parser(handler); + parser.Parse(chars.data(), chars.size()); +} + +void ParseJSON(span<uint16_t> chars, ParserHandler* handler) { + JsonParser<uint16_t> parser(handler); + parser.Parse(chars.data(), chars.size()); +} + +// ============================================================================= +// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding +// ============================================================================= +template <typename C> +Status ConvertCBORToJSONTmpl(span<uint8_t> cbor, C* json) { + Status status; + std::unique_ptr<ParserHandler> json_writer = NewJSONEncoder(json, &status); + cbor::ParseCBOR(cbor, json_writer.get()); + return status; +} + +Status ConvertCBORToJSON(span<uint8_t> cbor, std::vector<uint8_t>* json) { + return ConvertCBORToJSONTmpl(cbor, json); +} + +Status ConvertCBORToJSON(span<uint8_t> cbor, std::string* json) { + return ConvertCBORToJSONTmpl(cbor, json); +} + +template <typename T> +Status ConvertJSONToCBORTmpl(span<T> json, std::vector<uint8_t>* cbor) { + Status status; + std::unique_ptr<ParserHandler> encoder = cbor::NewCBOREncoder(cbor, &status); + ParseJSON(json, encoder.get()); + return status; +} + +Status ConvertJSONToCBOR(span<uint8_t> json, std::vector<uint8_t>* cbor) { + return ConvertJSONToCBORTmpl(json, cbor); +} + +Status ConvertJSONToCBOR(span<uint16_t> json, std::vector<uint8_t>* cbor) { + return ConvertJSONToCBORTmpl(json, cbor); +} +} // namespace json +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/json.h b/deps/inspector_protocol/crdtp/json.h new file mode 100644 index 00000000000000..3e3c6b386af465 --- /dev/null +++ b/deps/inspector_protocol/crdtp/json.h @@ -0,0 +1,57 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_JSON_H_ +#define CRDTP_JSON_H_ + +#include <memory> +#include <vector> +#include "export.h" +#include "parser_handler.h" + +namespace crdtp { +namespace json { +// ============================================================================= +// json::NewJSONEncoder - for encoding streaming parser events as JSON +// ============================================================================= + +// Returns a handler object which will write ascii characters to |out|. +// |status->ok()| will be false iff the handler routine HandleError() is called. +// In that case, we'll stop emitting output. +// Except for calling the HandleError routine at any time, the client +// code must call the Handle* methods in an order in which they'd occur +// in valid JSON; otherwise we may crash (the code uses assert). +CRDTP_EXPORT std::unique_ptr<ParserHandler> NewJSONEncoder( + std::vector<uint8_t>* out, + Status* status); + +CRDTP_EXPORT std::unique_ptr<ParserHandler> NewJSONEncoder(std::string* out, + Status* status); + +// ============================================================================= +// json::ParseJSON - for receiving streaming parser events for JSON +// ============================================================================= + +CRDTP_EXPORT void ParseJSON(span<uint8_t> chars, ParserHandler* handler); + +CRDTP_EXPORT void ParseJSON(span<uint16_t> chars, ParserHandler* handler); + +// ============================================================================= +// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding +// ============================================================================= + +CRDTP_EXPORT Status ConvertCBORToJSON(span<uint8_t> cbor, std::string* json); + +CRDTP_EXPORT Status ConvertCBORToJSON(span<uint8_t> cbor, + std::vector<uint8_t>* json); + +CRDTP_EXPORT Status ConvertJSONToCBOR(span<uint8_t> json, + std::vector<uint8_t>* cbor); + +CRDTP_EXPORT Status ConvertJSONToCBOR(span<uint16_t> json, + std::vector<uint8_t>* cbor); +} // namespace json +} // namespace crdtp + +#endif // CRDTP_JSON_H_ diff --git a/deps/inspector_protocol/crdtp/json_platform.cc b/deps/inspector_protocol/crdtp/json_platform.cc new file mode 100644 index 00000000000000..d43db8683c269d --- /dev/null +++ b/deps/inspector_protocol/crdtp/json_platform.cc @@ -0,0 +1,33 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "json_platform.h" + +#include <sstream> + +// This is a reference implementation using the C++ standard library. +// Downstream projects may invoke their preferred routines instead, +// by modifying / replacing this file to call them. +// Examples of optimized string<->number conversion libraries: +// - https://github.com/google/double-conversion +// - https://github.com/abseil/abseil-cpp/blob/master/absl/strings/numbers.h +namespace crdtp { +namespace json { +namespace platform { +bool StrToD(const char* str, double* result) { + std::istringstream is(str); + is.imbue(std::locale::classic()); + is >> *result; + return !is.fail() && is.eof(); +} + +std::string DToStr(double value) { + std::stringstream ss; + ss.imbue(std::locale::classic()); + ss << value; + return ss.str(); +} +} // namespace platform +} // namespace json +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/json_platform.h b/deps/inspector_protocol/crdtp/json_platform.h new file mode 100644 index 00000000000000..2ab09bf80e44e8 --- /dev/null +++ b/deps/inspector_protocol/crdtp/json_platform.h @@ -0,0 +1,26 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_JSON_PLATFORM_H_ +#define CRDTP_JSON_PLATFORM_H_ + +#include <string> + +namespace crdtp { +namespace json { +// These routines are implemented in json_platform.cc, or in a +// platform-dependent (code-base dependent) custom replacement. +// E.g., json_platform_chromium.cc, json_platform_v8.cc. +namespace platform { +// Parses |str| into |result|. Returns false iff there are +// leftover characters or parsing errors. +bool StrToD(const char* str, double* result); + +// Prints |value| in a format suitable for JSON. +std::string DToStr(double value); +} // namespace platform +} // namespace json +} // namespace crdtp + +#endif // CRDTP_JSON_PLATFORM_H_ diff --git a/deps/inspector_protocol/crdtp/json_test.cc b/deps/inspector_protocol/crdtp/json_test.cc new file mode 100644 index 00000000000000..64362d391bf7b6 --- /dev/null +++ b/deps/inspector_protocol/crdtp/json_test.cc @@ -0,0 +1,753 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "json.h" + +#include <array> +#include <clocale> +#include <cmath> +#include <cstdlib> +#include <cstring> +#include <iomanip> +#include <iostream> +#include <sstream> +#include <string> + +#include "cbor.h" +#include "parser_handler.h" +#include "span.h" +#include "status.h" +#include "status_test_support.h" +#include "test_platform.h" + +namespace crdtp { +namespace json { +// ============================================================================= +// json::NewJSONEncoder - for encoding streaming parser events as JSON +// ============================================================================= + +void WriteUTF8AsUTF16(ParserHandler* writer, const std::string& utf8) { + writer->HandleString16(SpanFrom(UTF8ToUTF16(SpanFrom(utf8)))); +} + +TEST(JsonEncoder, OverlongEncodings) { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + + // We encode 0x7f, which is the DEL ascii character, as a 4 byte UTF8 + // sequence. This is called an overlong encoding, because only 1 byte + // is needed to represent 0x7f as UTF8. + std::vector<uint8_t> chars = { + 0xf0, // Starts 4 byte utf8 sequence + 0x80, // continuation byte + 0x81, // continuation byte w/ payload bit 7 set to 1. + 0xbf, // continuation byte w/ payload bits 0-6 set to 11111. + }; + writer->HandleString8(SpanFrom(chars)); + EXPECT_EQ("\"\"", out); // Empty string means that 0x7f was rejected (good). +} + +TEST(JsonEncoder, NotAContinuationByte) { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + + // |world| encodes the globe as a 4 byte UTF8 sequence. So, naturally, it'll + // have a start byte, followed by three continuation bytes. + std::string world = "🌎"; + ASSERT_EQ(4u, world.size()); + ASSERT_EQ(world[1] & 0xc0, 0x80); // checks for continuation byte + ASSERT_EQ(world[2] & 0xc0, 0x80); + ASSERT_EQ(world[3] & 0xc0, 0x80); + + // Now create a corrupted UTF8 string, starting with the first two bytes from + // |world|, followed by an ASCII message. Upon encountering '!', our decoder + // will realize that it's not a continuation byte; it'll skip to the end of + // this UTF8 sequence and continue with the next character. In this case, the + // 'H', of "Hello". + std::vector<uint8_t> chars; + chars.push_back(world[0]); + chars.push_back(world[1]); + chars.push_back('!'); + chars.push_back('?'); + chars.push_back('H'); + chars.push_back('e'); + chars.push_back('l'); + chars.push_back('l'); + chars.push_back('o'); + writer->HandleString8(SpanFrom(chars)); + EXPECT_EQ("\"Hello\"", out); // "Hello" shows we restarted at 'H'. +} + +TEST(JsonEncoder, EscapesLoneHighSurrogates) { + // This tests that the JSON encoder escapes lone high surrogates, i.e. + // invalid code points in the range from 0xD800 to 0xDBFF. In + // unescaped form, these cannot be represented in well-formed UTF-8 or + // UTF-16. + std::vector<uint16_t> chars = {'a', 0xd800, 'b', 0xdada, 'c', 0xdbff, 'd'}; + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleString16(span<uint16_t>(chars.data(), chars.size())); + EXPECT_EQ("\"a\\ud800b\\udadac\\udbffd\"", out); +} + +TEST(JsonEncoder, EscapesLoneLowSurrogates) { + // This tests that the JSON encoder escapes lone low surrogates, i.e. + // invalid code points in the range from 0xDC00 to 0xDFFF. In + // unescaped form, these cannot be represented in well-formed UTF-8 or + // UTF-16. + std::vector<uint16_t> chars = {'a', 0xdc00, 'b', 0xdede, 'c', 0xdfff, 'd'}; + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleString16(span<uint16_t>(chars.data(), chars.size())); + EXPECT_EQ("\"a\\udc00b\\udedec\\udfffd\"", out); +} + +TEST(JsonEncoder, EscapesFFFF) { + // This tests that the JSON encoder will escape the UTF16 input 0xffff as + // \uffff; useful to check this since it's an edge case. + std::vector<uint16_t> chars = {'a', 'b', 'c', 0xffff, 'd'}; + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleString16(span<uint16_t>(chars.data(), chars.size())); + EXPECT_EQ("\"abc\\uffffd\"", out); +} + +TEST(JsonEncoder, Passes0x7FString8) { + std::vector<uint8_t> chars = {'a', 0x7f, 'b'}; + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleString8(span<uint8_t>(chars.data(), chars.size())); + EXPECT_EQ( + "\"a\x7f" + "b\"", + out); +} + +TEST(JsonEncoder, Passes0x7FString16) { + std::vector<uint16_t> chars16 = {'a', 0x7f, 'b'}; + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleString16(span<uint16_t>(chars16.data(), chars16.size())); + EXPECT_EQ( + "\"a\x7f" + "b\"", + out); +} + +TEST(JsonEncoder, IncompleteUtf8Sequence) { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + + writer->HandleArrayBegin(); // This emits [, which starts an array. + + { // 🌎 takes four bytes to encode in UTF-8. We test with the first three; + // This means we're trying to emit a string that consists solely of an + // incomplete UTF-8 sequence. So the string in the JSON output is empty. + std::string world_utf8 = "🌎"; + ASSERT_EQ(4u, world_utf8.size()); + std::vector<uint8_t> chars(world_utf8.begin(), world_utf8.begin() + 3); + writer->HandleString8(SpanFrom(chars)); + EXPECT_EQ("[\"\"", out); // Incomplete sequence rejected: empty string. + } + + { // This time, the incomplete sequence is at the end of the string. + std::string msg = "Hello, \xF0\x9F\x8C"; + std::vector<uint8_t> chars(msg.begin(), msg.end()); + writer->HandleString8(SpanFrom(chars)); + EXPECT_EQ("[\"\",\"Hello, \"", out); // Incomplete sequence dropped at end. + } +} + +TEST(JsonStdStringWriterTest, HelloWorld) { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleMapBegin(); + WriteUTF8AsUTF16(writer.get(), "msg1"); + WriteUTF8AsUTF16(writer.get(), "Hello, 🌎."); + std::string key = "msg1-as-utf8"; + std::string value = "Hello, 🌎."; + writer->HandleString8(SpanFrom(key)); + writer->HandleString8(SpanFrom(value)); + WriteUTF8AsUTF16(writer.get(), "msg2"); + WriteUTF8AsUTF16(writer.get(), "\\\b\r\n\t\f\""); + WriteUTF8AsUTF16(writer.get(), "nested"); + writer->HandleMapBegin(); + WriteUTF8AsUTF16(writer.get(), "double"); + writer->HandleDouble(3.1415); + WriteUTF8AsUTF16(writer.get(), "int"); + writer->HandleInt32(-42); + WriteUTF8AsUTF16(writer.get(), "bool"); + writer->HandleBool(false); + WriteUTF8AsUTF16(writer.get(), "null"); + writer->HandleNull(); + writer->HandleMapEnd(); + WriteUTF8AsUTF16(writer.get(), "array"); + writer->HandleArrayBegin(); + writer->HandleInt32(1); + writer->HandleInt32(2); + writer->HandleInt32(3); + writer->HandleArrayEnd(); + writer->HandleMapEnd(); + EXPECT_TRUE(status.ok()); + EXPECT_EQ( + "{\"msg1\":\"Hello, \\ud83c\\udf0e.\"," + "\"msg1-as-utf8\":\"Hello, \\ud83c\\udf0e.\"," + "\"msg2\":\"\\\\\\b\\r\\n\\t\\f\\\"\"," + "\"nested\":{\"double\":3.1415,\"int\":-42," + "\"bool\":false,\"null\":null},\"array\":[1,2,3]}", + out); +} + +TEST(JsonStdStringWriterTest, ScalarsAreRenderedAsInt) { + // Test that Number.MIN_SAFE_INTEGER / Number.MAX_SAFE_INTEGER from Javascript + // are rendered as integers (no decimal point / rounding), even when we + // encode them from double. Javascript's Number is an IEE754 double, so + // it has 53 bits to represent integers. + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleMapBegin(); + + writer->HandleString8(SpanFrom("Number.MIN_SAFE_INTEGER")); + EXPECT_EQ(-0x1fffffffffffff, -9007199254740991); // 53 bits for integers. + writer->HandleDouble(-9007199254740991); // Note HandleDouble here. + + writer->HandleString8(SpanFrom("Number.MAX_SAFE_INTEGER")); + EXPECT_EQ(0x1fffffffffffff, 9007199254740991); // 53 bits for integers. + writer->HandleDouble(9007199254740991); // Note HandleDouble here. + + writer->HandleMapEnd(); + EXPECT_TRUE(status.ok()); + EXPECT_EQ( + "{\"Number.MIN_SAFE_INTEGER\":-9007199254740991," + "\"Number.MAX_SAFE_INTEGER\":9007199254740991}", + out); +} + +TEST(JsonStdStringWriterTest, RepresentingNonFiniteValuesAsNull) { + // JSON can't represent +Infinity, -Infinity, or NaN. + // So in practice it's mapped to null. + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleMapBegin(); + writer->HandleString8(SpanFrom("Infinity")); + writer->HandleDouble(std::numeric_limits<double>::infinity()); + writer->HandleString8(SpanFrom("-Infinity")); + writer->HandleDouble(-std::numeric_limits<double>::infinity()); + writer->HandleString8(SpanFrom("NaN")); + writer->HandleDouble(std::numeric_limits<double>::quiet_NaN()); + writer->HandleMapEnd(); + EXPECT_TRUE(status.ok()); + EXPECT_EQ("{\"Infinity\":null,\"-Infinity\":null,\"NaN\":null}", out); +} + +TEST(JsonStdStringWriterTest, BinaryEncodedAsJsonString) { + // The encoder emits binary submitted to ParserHandler::HandleBinary + // as base64. The following three examples are taken from + // https://en.wikipedia.org/wiki/Base64. + { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M', 'a', 'n'}))); + EXPECT_TRUE(status.ok()); + EXPECT_EQ("\"TWFu\"", out); + } + { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M', 'a'}))); + EXPECT_TRUE(status.ok()); + EXPECT_EQ("\"TWE=\"", out); + } + { + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleBinary(SpanFrom(std::vector<uint8_t>({'M'}))); + EXPECT_TRUE(status.ok()); + EXPECT_EQ("\"TQ==\"", out); + } + { // "Hello, world.", verified with base64decode.org. + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleBinary(SpanFrom(std::vector<uint8_t>( + {'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '.'}))); + EXPECT_TRUE(status.ok()); + EXPECT_EQ("\"SGVsbG8sIHdvcmxkLg==\"", out); + } +} + +TEST(JsonStdStringWriterTest, HandlesErrors) { + // When an error is sent via HandleError, it saves it in the provided + // status and clears the output. + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleMapBegin(); + WriteUTF8AsUTF16(writer.get(), "msg1"); + writer->HandleError(Status{Error::JSON_PARSER_VALUE_EXPECTED, 42}); + EXPECT_THAT(status, StatusIs(Error::JSON_PARSER_VALUE_EXPECTED, 42u)); + EXPECT_EQ("", out); +} + +TEST(JsonStdStringWriterTest, DoubleToString_LeadingZero) { + // In JSON, .1 must be rendered as 0.1, and -.7 must be rendered as -0.7. + std::string out; + Status status; + std::unique_ptr<ParserHandler> writer = NewJSONEncoder(&out, &status); + writer->HandleArrayBegin(); + writer->HandleDouble(.1); + writer->HandleDouble(-.7); + writer->HandleArrayEnd(); + EXPECT_EQ("[0.1,-0.7]", out); +} + +// ============================================================================= +// json::ParseJSON - for receiving streaming parser events for JSON +// ============================================================================= + +class Log : public ParserHandler { + public: + void HandleMapBegin() override { log_ << "map begin\n"; } + + void HandleMapEnd() override { log_ << "map end\n"; } + + void HandleArrayBegin() override { log_ << "array begin\n"; } + + void HandleArrayEnd() override { log_ << "array end\n"; } + + void HandleString8(span<uint8_t> chars) override { + log_ << "string8: " << std::string(chars.begin(), chars.end()) << "\n"; + } + + void HandleString16(span<uint16_t> chars) override { + raw_log_string16_.emplace_back(chars.begin(), chars.end()); + log_ << "string16: " << UTF16ToUTF8(chars) << "\n"; + } + + void HandleBinary(span<uint8_t> bytes) override { + // JSON doesn't have native support for arbitrary bytes, so our parser will + // never call this. + CHECK(false); + } + + void HandleDouble(double value) override { + log_ << "double: " << value << "\n"; + } + + void HandleInt32(int32_t value) override { log_ << "int: " << value << "\n"; } + + void HandleBool(bool value) override { log_ << "bool: " << value << "\n"; } + + void HandleNull() override { log_ << "null\n"; } + + void HandleError(Status status) override { status_ = status; } + + std::string str() const { return status_.ok() ? log_.str() : ""; } + + std::vector<std::vector<uint16_t>> raw_log_string16() const { + return raw_log_string16_; + } + + Status status() const { return status_; } + + private: + std::ostringstream log_; + std::vector<std::vector<uint16_t>> raw_log_string16_; + Status status_; +}; + +class JsonParserTest : public ::testing::Test { + protected: + Log log_; +}; + +TEST_F(JsonParserTest, SimpleDictionary) { + std::string json = "{\"foo\": 42}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: foo\n" + "int: 42\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, UsAsciiDelCornerCase) { + // DEL (0x7f) is a 7 bit US-ASCII character, and while it is a control + // character according to Unicode, it's not considered a control + // character in https://tools.ietf.org/html/rfc7159#section-7, so + // it can be placed directly into the JSON string, without JSON escaping. + std::string json = "{\"foo\": \"a\x7f\"}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: foo\n" + "string16: a\x7f\n" + "map end\n", + log_.str()); + + // We've seen an implementation of UTF16ToUTF8 which would replace the DEL + // character with ' ', so this simple roundtrip tests the routines in + // encoding_test_helper.h, to make test failures of the above easier to + // diagnose. + std::vector<uint16_t> utf16 = UTF8ToUTF16(SpanFrom(json)); + EXPECT_EQ(json, UTF16ToUTF8(SpanFrom(utf16))); +} + +TEST_F(JsonParserTest, Whitespace) { + std::string json = "\n {\n\"msg\"\n: \v\"Hello, world.\"\t\r}\t"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: msg\n" + "string16: Hello, world.\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, NestedDictionary) { + std::string json = "{\"foo\": {\"bar\": {\"baz\": 1}, \"bar2\": 2}}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: foo\n" + "map begin\n" + "string16: bar\n" + "map begin\n" + "string16: baz\n" + "int: 1\n" + "map end\n" + "string16: bar2\n" + "int: 2\n" + "map end\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, Doubles) { + std::string json = "{\"foo\": 3.1415, \"bar\": 31415e-4}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: foo\n" + "double: 3.1415\n" + "string16: bar\n" + "double: 3.1415\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, Unicode) { + // Globe character. 0xF0 0x9F 0x8C 0x8E in utf8, 0xD83C 0xDF0E in utf16. + std::string json = "{\"msg\": \"Hello, \\uD83C\\uDF0E.\"}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: msg\n" + "string16: Hello, 🌎.\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, Unicode_ParseUtf16) { + // Globe character. utf8: 0xF0 0x9F 0x8C 0x8E; utf16: 0xD83C 0xDF0E. + // Crescent moon character. utf8: 0xF0 0x9F 0x8C 0x99; utf16: 0xD83C 0xDF19. + + // We provide the moon with json escape, but the earth as utf16 input. + // Either way they arrive as utf8 (after decoding in log_.str()). + std::vector<uint16_t> json = + UTF8ToUTF16(SpanFrom("{\"space\": \"🌎 \\uD83C\\uDF19.\"}")); + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: space\n" + "string16: 🌎 🌙.\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, Unicode_ParseUtf16_SingleEscapeUpToFFFF) { + // 0xFFFF is the max codepoint that can be represented as a single \u escape. + // One way to write this is \uffff, another way is to encode it as a 3 byte + // UTF-8 sequence (0xef 0xbf 0xbf). Both are equivalent. + + // Example with both ways of encoding code point 0xFFFF in a JSON string. + std::string json = "{\"escape\": \"\xef\xbf\xbf or \\uffff\"}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + + // Shows both inputs result in equivalent output once converted to UTF-8. + EXPECT_EQ( + "map begin\n" + "string16: escape\n" + "string16: \xEF\xBF\xBF or \xEF\xBF\xBF\n" + "map end\n", + log_.str()); + + // Make an even stronger assertion: The parser represents \xffff as a single + // UTF-16 char. + ASSERT_EQ(2u, log_.raw_log_string16().size()); + std::vector<uint16_t> expected = {0xffff, ' ', 'o', 'r', ' ', 0xffff}; + EXPECT_EQ(expected, log_.raw_log_string16()[1]); +} + +TEST_F(JsonParserTest, Unicode_ParseUtf8) { + // Used below: + // гласность - example for 2 byte utf8, Russian word "glasnost" + // 屋 - example for 3 byte utf8, Chinese word for "house" + // 🌎 - example for 4 byte utf8: 0xF0 0x9F 0x8C 0x8E; utf16: 0xD83C 0xDF0E. + // 🌙 - example for escapes: utf8: 0xF0 0x9F 0x8C 0x99; utf16: 0xD83C 0xDF19. + + // We provide the moon with json escape, but the earth as utf8 input. + // Either way they arrive as utf8 (after decoding in log_.str()). + std::string json = + "{" + "\"escapes\": \"\\uD83C\\uDF19\"," + "\"2 byte\":\"гласность\"," + "\"3 byte\":\"屋\"," + "\"4 byte\":\"🌎\"" + "}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: escapes\n" + "string16: 🌙\n" + "string16: 2 byte\n" + "string16: гласность\n" + "string16: 3 byte\n" + "string16: 屋\n" + "string16: 4 byte\n" + "string16: 🌎\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, UnprocessedInputRemainsError) { + // Trailing junk after the valid JSON. + std::string json = "{\"foo\": 3.1415} junk"; + size_t junk_idx = json.find("junk"); + EXPECT_NE(junk_idx, std::string::npos); + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS, junk_idx)); + EXPECT_EQ("", log_.str()); +} + +std::string MakeNestedJson(int depth) { + std::string json; + for (int ii = 0; ii < depth; ++ii) + json += "{\"foo\":"; + json += "42"; + for (int ii = 0; ii < depth; ++ii) + json += "}"; + return json; +} + +TEST_F(JsonParserTest, StackLimitExceededError_BelowLimit) { + // kStackLimit is 300 (see json_parser.cc). First let's + // try with a small nested example. + std::string json_3 = MakeNestedJson(3); + ParseJSON(SpanFrom(json_3), &log_); + EXPECT_TRUE(log_.status().ok()); + EXPECT_EQ( + "map begin\n" + "string16: foo\n" + "map begin\n" + "string16: foo\n" + "map begin\n" + "string16: foo\n" + "int: 42\n" + "map end\n" + "map end\n" + "map end\n", + log_.str()); +} + +TEST_F(JsonParserTest, StackLimitExceededError_AtLimit) { + // Now with kStackLimit (300). + std::string json_limit = MakeNestedJson(300); + ParseJSON(span<uint8_t>(reinterpret_cast<const uint8_t*>(json_limit.data()), + json_limit.size()), + &log_); + EXPECT_THAT(log_.status(), StatusIsOk()); +} + +TEST_F(JsonParserTest, StackLimitExceededError_AboveLimit) { + // Now with kStackLimit + 1 (301) - it exceeds in the innermost instance. + std::string exceeded = MakeNestedJson(301); + ParseJSON(SpanFrom(exceeded), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, + strlen("{\"foo\":") * 301)); +} + +TEST_F(JsonParserTest, StackLimitExceededError_WayAboveLimit) { + // Now way past the limit. Still, the point of exceeding is 301. + std::string far_out = MakeNestedJson(320); + ParseJSON(SpanFrom(far_out), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, + strlen("{\"foo\":") * 301)); +} + +TEST_F(JsonParserTest, NoInputError) { + std::string json = ""; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_NO_INPUT, 0u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, InvalidTokenError) { + std::string json = "|"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_INVALID_TOKEN, 0u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, InvalidNumberError) { + // Mantissa exceeds max (the constant used here is int64_t max). + std::string json = "1E9223372036854775807"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_INVALID_NUMBER, 0u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, InvalidStringError) { + // \x22 is an unsupported escape sequence + std::string json = "\"foo\\x22\""; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_INVALID_STRING, 0u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, UnexpectedArrayEndError) { + std::string json = "[1,2,]"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_UNEXPECTED_ARRAY_END, 5u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, CommaOrArrayEndExpectedError) { + std::string json = "[1,2 2"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED, 5u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, StringLiteralExpectedError) { + // There's an error because the key bar, a string, is not terminated. + std::string json = "{\"foo\": 3.1415, \"bar: 31415e-4}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_STRING_LITERAL_EXPECTED, 16u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, ColonExpectedError) { + std::string json = "{\"foo\", 42}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_COLON_EXPECTED, 6u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, UnexpectedMapEndError) { + std::string json = "{\"foo\": 42, }"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_UNEXPECTED_MAP_END, 12u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, CommaOrMapEndExpectedError) { + // The second separator should be a comma. + std::string json = "{\"foo\": 3.1415: \"bar\": 0}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), + StatusIs(Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED, 14u)); + EXPECT_EQ("", log_.str()); +} + +TEST_F(JsonParserTest, ValueExpectedError) { + std::string json = "}"; + ParseJSON(SpanFrom(json), &log_); + EXPECT_THAT(log_.status(), StatusIs(Error::JSON_PARSER_VALUE_EXPECTED, 0u)); + EXPECT_EQ("", log_.str()); +} + +template <typename T> +class ConvertJSONToCBORTest : public ::testing::Test {}; + +using ContainerTestTypes = ::testing::Types<std::vector<uint8_t>, std::string>; +TYPED_TEST_SUITE(ConvertJSONToCBORTest, ContainerTestTypes); + +TYPED_TEST(ConvertJSONToCBORTest, RoundTripValidJson) { + for (const std::string& json_in : { + "{\"msg\":\"Hello, world.\",\"lst\":[1,2,3]}", + "3.1415", + "false", + "true", + "\"Hello, world.\"", + "[1,2,3]", + "[]", + }) { + SCOPED_TRACE(json_in); + TypeParam json(json_in.begin(), json_in.end()); + std::vector<uint8_t> cbor; + { + Status status = ConvertJSONToCBOR(SpanFrom(json), &cbor); + EXPECT_THAT(status, StatusIsOk()); + } + TypeParam roundtrip_json; + { + Status status = ConvertCBORToJSON(SpanFrom(cbor), &roundtrip_json); + EXPECT_THAT(status, StatusIsOk()); + } + EXPECT_EQ(json, roundtrip_json); + } +} + +TYPED_TEST(ConvertJSONToCBORTest, RoundTripValidJson16) { + std::vector<uint16_t> json16 = { + '{', '"', 'm', 's', 'g', '"', ':', '"', 'H', 'e', 'l', 'l', + 'o', ',', ' ', 0xd83c, 0xdf0e, '.', '"', ',', '"', 'l', 's', 't', + '"', ':', '[', '1', ',', '2', ',', '3', ']', '}'}; + std::vector<uint8_t> cbor; + { + Status status = + ConvertJSONToCBOR(span<uint16_t>(json16.data(), json16.size()), &cbor); + EXPECT_THAT(status, StatusIsOk()); + } + TypeParam roundtrip_json; + { + Status status = ConvertCBORToJSON(SpanFrom(cbor), &roundtrip_json); + EXPECT_THAT(status, StatusIsOk()); + } + std::string json = "{\"msg\":\"Hello, \\ud83c\\udf0e.\",\"lst\":[1,2,3]}"; + TypeParam expected_json(json.begin(), json.end()); + EXPECT_EQ(expected_json, roundtrip_json); +} +} // namespace json +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/maybe.h b/deps/inspector_protocol/crdtp/maybe.h new file mode 100644 index 00000000000000..ecdfb4fd89fe8f --- /dev/null +++ b/deps/inspector_protocol/crdtp/maybe.h @@ -0,0 +1,154 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef CRDTP_MAYBE_H_ +#define CRDTP_MAYBE_H_ + +#include <cassert> +#include <memory> + +namespace crdtp { + +// ============================================================================= +// detail::PtrMaybe, detail::ValueMaybe, templates for optional +// pointers / values which are used in ../lib/Forward_h.template. +// ============================================================================= + +namespace detail { +template <typename T> +class PtrMaybe { + public: + PtrMaybe() = default; + PtrMaybe(std::unique_ptr<T> value) : value_(std::move(value)) {} + PtrMaybe(PtrMaybe&& other) noexcept : value_(std::move(other.value_)) {} + void operator=(std::unique_ptr<T> value) { value_ = std::move(value); } + + // std::optional<>-compatible accessors (preferred). + bool has_value() const { return !!value_; } + operator bool() const { return has_value(); } + const T& value() const& { + assert(has_value()); + return *value_; + } + T& value() & { + assert(has_value()); + return *value_; + } + T&& value() && { + assert(has_value()); + return std::move(*value_); + } + const T& value_or(const T& default_value) const { + return has_value() ? *value_ : default_value; + } + T* operator->() { return &value(); } + const T* operator->() const { return &value(); } + + T& operator*() & { return value(); } + const T& operator*() const& { return value(); } + T&& operator*() && { return std::move(value()); } + + // Legacy Maybe<> accessors (deprecated). + T* fromJust() const { + assert(value_); + return value_.get(); + } + T* fromMaybe(T* default_value) const { + return value_ ? value_.get() : default_value; + } + bool isJust() const { return value_ != nullptr; } + + private: + std::unique_ptr<T> value_; +}; + +template <typename T> +class ValueMaybe { + public: + ValueMaybe() : is_just_(false), value_() {} + ValueMaybe(T value) : is_just_(true), value_(std::move(value)) {} + ValueMaybe(ValueMaybe&& other) noexcept + : is_just_(other.is_just_), value_(std::move(other.value_)) {} + void operator=(T value) { + value_ = std::move(value); + is_just_ = true; + } + + // std::optional<>-compatible accessors (preferred). + bool has_value() const { return is_just_; } + operator bool() const { return has_value(); } + const T& value() const& { + assert(is_just_); + return value_; + } + T& value() & { + assert(is_just_); + return value_; + } + T&& value() && { + assert(is_just_); + return *std::move(value_); + } + template <typename U> + T value_or(U&& default_value) const& { + return is_just_ ? value_ : std::forward<U>(default_value); + } + template <typename U> + T value_or(U&& default_value) && { + return is_just_ ? std::move(value_) : std::forward<U>(default_value); + } + T* operator->() { return &value(); } + const T* operator->() const { return &value(); } + + T& operator*() & { return value(); } + const T& operator*() const& { return value(); } + T&& operator*() && { return std::move(value()); } + + // Legacy Maybe<> accessors (deprecated). + const T& fromJust() const { + assert(is_just_); + return value_; + } + const T& fromMaybe(const T& default_value) const { + return is_just_ ? value_ : default_value; + } + bool isJust() const { return is_just_; } + + private: + bool is_just_; + T value_; +}; + +template <typename T> +struct MaybeTypedef { + typedef PtrMaybe<T> type; +}; + +template <> +struct MaybeTypedef<bool> { + typedef ValueMaybe<bool> type; +}; + +template <> +struct MaybeTypedef<int> { + typedef ValueMaybe<int> type; +}; + +template <> +struct MaybeTypedef<double> { + typedef ValueMaybe<double> type; +}; + +template <> +struct MaybeTypedef<std::string> { + typedef ValueMaybe<std::string> type; +}; + +} // namespace detail + +template <typename T> +using Maybe = typename detail::MaybeTypedef<T>::type; + +} // namespace crdtp + +#endif // CRDTP_MAYBE_H_ diff --git a/deps/inspector_protocol/crdtp/maybe_test.cc b/deps/inspector_protocol/crdtp/maybe_test.cc new file mode 100644 index 00000000000000..d606692b51a1c5 --- /dev/null +++ b/deps/inspector_protocol/crdtp/maybe_test.cc @@ -0,0 +1,44 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "maybe.h" + +#include <string> +#include <vector> + +#include "test_platform.h" + +namespace crdtp { + +// ============================================================================= +// detail::PtrMaybe, detail::ValueMaybe, templates for optional +// pointers / values which are used in ../lib/Forward_h.template. +// ============================================================================= +TEST(PtrMaybeTest, SmokeTest) { + detail::PtrMaybe<std::vector<uint32_t>> example; + EXPECT_FALSE(example.has_value()); + std::unique_ptr<std::vector<uint32_t>> v(new std::vector<uint32_t>); + v->push_back(42); + v->push_back(21); + example = std::move(v); + EXPECT_TRUE(example.has_value()); + EXPECT_THAT(example.value(), testing::ElementsAre(42, 21)); + std::vector<uint32_t> out = *std::move(example); + EXPECT_TRUE(example.has_value()); + EXPECT_THAT(*example, testing::IsEmpty()); + EXPECT_THAT(out, testing::ElementsAre(42, 21)); +} + +TEST(ValueMaybeTest, SmokeTest) { + detail::ValueMaybe<int32_t> example; + EXPECT_FALSE(example.has_value()); + EXPECT_EQ(-1, example.value_or(-1)); + example = 42; + EXPECT_TRUE(example.has_value()); + EXPECT_EQ(42, example.value()); + int32_t out = *std::move(example); + EXPECT_EQ(out, 42); +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/parser_handler.h b/deps/inspector_protocol/crdtp/parser_handler.h new file mode 100644 index 00000000000000..ed7aae14da34b1 --- /dev/null +++ b/deps/inspector_protocol/crdtp/parser_handler.h @@ -0,0 +1,39 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_PARSER_HANDLER_H_ +#define CRDTP_PARSER_HANDLER_H_ + +#include <cstdint> +#include "span.h" +#include "status.h" + +namespace crdtp { +// Handler interface for parser events emitted by a streaming parser. +// See cbor::NewCBOREncoder, cbor::ParseCBOR, json::NewJSONEncoder, +// json::ParseJSON. +class ParserHandler { + public: + virtual ~ParserHandler() = default; + virtual void HandleMapBegin() = 0; + virtual void HandleMapEnd() = 0; + virtual void HandleArrayBegin() = 0; + virtual void HandleArrayEnd() = 0; + virtual void HandleString8(span<uint8_t> chars) = 0; + virtual void HandleString16(span<uint16_t> chars) = 0; + virtual void HandleBinary(span<uint8_t> bytes) = 0; + virtual void HandleDouble(double value) = 0; + virtual void HandleInt32(int32_t value) = 0; + virtual void HandleBool(bool value) = 0; + virtual void HandleNull() = 0; + + // The parser may send one error even after other events have already + // been received. Client code is reponsible to then discard the + // already processed events. + // |error| must be an eror, as in, |error.is_ok()| can't be true. + virtual void HandleError(Status error) = 0; +}; +} // namespace crdtp + +#endif // CRDTP_PARSER_HANDLER_H_ diff --git a/deps/inspector_protocol/crdtp/protocol_core.cc b/deps/inspector_protocol/crdtp/protocol_core.cc new file mode 100644 index 00000000000000..d9cc3b11360087 --- /dev/null +++ b/deps/inspector_protocol/crdtp/protocol_core.cc @@ -0,0 +1,289 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "protocol_core.h" + +#include <algorithm> +#include <cassert> +#include <string> + +namespace crdtp { + +DeserializerState::DeserializerState(std::vector<uint8_t> bytes) + : storage_(new std::vector<uint8_t>(std::move(bytes))), + tokenizer_(span<uint8_t>(storage_->data(), storage_->size())) {} + +DeserializerState::DeserializerState(Storage storage, span<uint8_t> span) + : storage_(std::move(storage)), tokenizer_(span) {} + +void DeserializerState::RegisterError(Error error) { + assert(Error::OK != error); + if (tokenizer_.Status().ok()) + status_ = Status{error, tokenizer_.Status().pos}; +} + +void DeserializerState::RegisterFieldPath(span<char> name) { + field_path_.push_back(name); +} + +std::string DeserializerState::ErrorMessage(span<char> message_name) const { + std::string msg = "Failed to deserialize "; + msg.append(message_name.begin(), message_name.end()); + for (int field = static_cast<int>(field_path_.size()) - 1; field >= 0; + --field) { + msg.append("."); + msg.append(field_path_[field].begin(), field_path_[field].end()); + } + Status s = status(); + if (!s.ok()) + msg += " - " + s.ToASCIIString(); + return msg; +} + +Status DeserializerState::status() const { + if (!tokenizer_.Status().ok()) + return tokenizer_.Status(); + return status_; +} + +namespace { +constexpr int32_t GetMandatoryFieldMask( + const DeserializerDescriptor::Field* fields, + size_t count) { + int32_t mask = 0; + for (size_t i = 0; i < count; ++i) { + if (!fields[i].is_optional) + mask |= (1 << i); + } + return mask; +} +} // namespace + +DeserializerDescriptor::DeserializerDescriptor(const Field* fields, + size_t field_count) + : fields_(fields), + field_count_(field_count), + mandatory_field_mask_(GetMandatoryFieldMask(fields, field_count)) {} + +bool DeserializerDescriptor::Deserialize(DeserializerState* state, + void* obj) const { + auto* tokenizer = state->tokenizer(); + + // As a special compatibility quirk, allow empty objects if + // no mandatory fields are required. + if (tokenizer->TokenTag() == cbor::CBORTokenTag::DONE && + !mandatory_field_mask_) { + return true; + } + if (tokenizer->TokenTag() == cbor::CBORTokenTag::ENVELOPE) + tokenizer->EnterEnvelope(); + if (tokenizer->TokenTag() != cbor::CBORTokenTag::MAP_START) { + state->RegisterError(Error::CBOR_MAP_START_EXPECTED); + return false; + } + tokenizer->Next(); + int32_t seen_mandatory_fields = 0; + for (; tokenizer->TokenTag() != cbor::CBORTokenTag::STOP; tokenizer->Next()) { + if (tokenizer->TokenTag() != cbor::CBORTokenTag::STRING8) { + state->RegisterError(Error::CBOR_INVALID_MAP_KEY); + return false; + } + span<uint8_t> u_key = tokenizer->GetString8(); + span<char> key(reinterpret_cast<const char*>(u_key.data()), u_key.size()); + tokenizer->Next(); + if (!DeserializeField(state, key, &seen_mandatory_fields, obj)) + return false; + } + // Only compute mandatory fields once per type. + int32_t missing_fields = seen_mandatory_fields ^ mandatory_field_mask_; + if (missing_fields) { + int32_t idx = 0; + while ((missing_fields & 1) == 0) { + missing_fields >>= 1; + ++idx; + } + state->RegisterError(Error::BINDINGS_MANDATORY_FIELD_MISSING); + state->RegisterFieldPath(fields_[idx].name); + return false; + } + return true; +} + +bool DeserializerDescriptor::DeserializeField(DeserializerState* state, + span<char> name, + int* seen_mandatory_fields, + void* obj) const { + // TODO(caseq): consider checking if the sought field is the one + // after the last deserialized. + const auto* begin = fields_; + const auto* end = fields_ + field_count_; + auto entry = std::lower_bound( + begin, end, name, [](const Field& field_desc, span<char> field_name) { + return SpanLessThan(field_desc.name, field_name); + }); + // Unknown field is not an error -- we may be working against an + // implementation of a later version of the protocol. + // TODO(caseq): support unknown arrays and maps not enclosed by an envelope. + if (entry == end || !SpanEquals(entry->name, name)) + return true; + if (!entry->deserializer(state, obj)) { + state->RegisterFieldPath(name); + return false; + } + if (!entry->is_optional) + *seen_mandatory_fields |= 1 << (entry - begin); + return true; +} + +bool ProtocolTypeTraits<bool>::Deserialize(DeserializerState* state, + bool* value) { + const auto tag = state->tokenizer()->TokenTag(); + if (tag == cbor::CBORTokenTag::TRUE_VALUE) { + *value = true; + return true; + } + if (tag == cbor::CBORTokenTag::FALSE_VALUE) { + *value = false; + return true; + } + state->RegisterError(Error::BINDINGS_BOOL_VALUE_EXPECTED); + return false; +} + +void ProtocolTypeTraits<bool>::Serialize(bool value, + std::vector<uint8_t>* bytes) { + bytes->push_back(value ? cbor::EncodeTrue() : cbor::EncodeFalse()); +} + +bool ProtocolTypeTraits<int32_t>::Deserialize(DeserializerState* state, + int32_t* value) { + if (state->tokenizer()->TokenTag() != cbor::CBORTokenTag::INT32) { + state->RegisterError(Error::BINDINGS_INT32_VALUE_EXPECTED); + return false; + } + *value = state->tokenizer()->GetInt32(); + return true; +} + +void ProtocolTypeTraits<int32_t>::Serialize(int32_t value, + std::vector<uint8_t>* bytes) { + cbor::EncodeInt32(value, bytes); +} + +ContainerSerializer::ContainerSerializer(std::vector<uint8_t>* bytes, + uint8_t tag) + : bytes_(bytes) { + envelope_.EncodeStart(bytes_); + bytes_->push_back(tag); +} + +void ContainerSerializer::EncodeStop() { + bytes_->push_back(cbor::EncodeStop()); + envelope_.EncodeStop(bytes_); +} + +ObjectSerializer::ObjectSerializer() + : serializer_(&owned_bytes_, cbor::EncodeIndefiniteLengthMapStart()) {} + +ObjectSerializer::~ObjectSerializer() = default; + +std::unique_ptr<Serializable> ObjectSerializer::Finish() { + serializer_.EncodeStop(); + return Serializable::From(std::move(owned_bytes_)); +} + +bool ProtocolTypeTraits<double>::Deserialize(DeserializerState* state, + double* value) { + // Double values that round-trip through JSON may end up getting represented + // as an int32 (SIGNED, UNSIGNED) on the wire in CBOR. Therefore, we also + // accept an INT32 here. + if (state->tokenizer()->TokenTag() == cbor::CBORTokenTag::INT32) { + *value = state->tokenizer()->GetInt32(); + return true; + } + if (state->tokenizer()->TokenTag() != cbor::CBORTokenTag::DOUBLE) { + state->RegisterError(Error::BINDINGS_DOUBLE_VALUE_EXPECTED); + return false; + } + *value = state->tokenizer()->GetDouble(); + return true; +} + +void ProtocolTypeTraits<double>::Serialize(double value, + std::vector<uint8_t>* bytes) { + cbor::EncodeDouble(value, bytes); +} + +class IncomingDeferredMessage : public DeferredMessage { + public: + // Creates the state from the part of another message. + // Note storage is opaque and is mostly to retain ownership. + // It may be null in case caller owns the memory and will dispose + // of the message synchronously. + IncomingDeferredMessage(DeserializerState::Storage storage, + span<uint8_t> span) + : storage_(storage), span_(span) {} + + private: + DeserializerState MakeDeserializer() const override { + return DeserializerState(storage_, span_); + } + void AppendSerialized(std::vector<uint8_t>* out) const override { + out->insert(out->end(), span_.begin(), span_.end()); + } + + DeserializerState::Storage storage_; + span<uint8_t> span_; +}; + +class OutgoingDeferredMessage : public DeferredMessage { + public: + OutgoingDeferredMessage() = default; + explicit OutgoingDeferredMessage(std::unique_ptr<Serializable> serializable) + : serializable_(std::move(serializable)) { + assert(!!serializable_); + } + + private: + DeserializerState MakeDeserializer() const override { + return DeserializerState(serializable_->Serialize()); + } + void AppendSerialized(std::vector<uint8_t>* out) const override { + serializable_->AppendSerialized(out); + } + + std::unique_ptr<Serializable> serializable_; +}; + +// static +std::unique_ptr<DeferredMessage> DeferredMessage::FromSerializable( + std::unique_ptr<Serializable> serializeable) { + return std::make_unique<OutgoingDeferredMessage>(std::move(serializeable)); +} + +// static +std::unique_ptr<DeferredMessage> DeferredMessage::FromSpan( + span<uint8_t> bytes) { + return std::make_unique<IncomingDeferredMessage>(nullptr, bytes); +} + +bool ProtocolTypeTraits<std::unique_ptr<DeferredMessage>>::Deserialize( + DeserializerState* state, + std::unique_ptr<DeferredMessage>* value) { + if (state->tokenizer()->TokenTag() != cbor::CBORTokenTag::ENVELOPE) { + state->RegisterError(Error::CBOR_INVALID_ENVELOPE); + return false; + } + *value = std::make_unique<IncomingDeferredMessage>( + state->storage(), state->tokenizer()->GetEnvelope()); + return true; +} + +void ProtocolTypeTraits<std::unique_ptr<DeferredMessage>>::Serialize( + const std::unique_ptr<DeferredMessage>& value, + std::vector<uint8_t>* bytes) { + value->AppendSerialized(bytes); +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/protocol_core.h b/deps/inspector_protocol/crdtp/protocol_core.h new file mode 100644 index 00000000000000..e89e0b2d9516eb --- /dev/null +++ b/deps/inspector_protocol/crdtp/protocol_core.h @@ -0,0 +1,418 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_PROTOCOL_CORE_H_ +#define CRDTP_PROTOCOL_CORE_H_ + +#include <sys/types.h> + +#include <memory> +#include <string> +#include <tuple> +#include <vector> + +#include "cbor.h" +#include "maybe.h" +#include "serializable.h" +#include "span.h" +#include "status.h" + +namespace crdtp { + +class CRDTP_EXPORT DeserializerState { + public: + using Storage = std::shared_ptr<const std::vector<uint8_t>>; + + // Creates a state from the raw bytes received from the peer. + explicit DeserializerState(std::vector<uint8_t> bytes); + // Creates the state from the part of another message. + DeserializerState(Storage storage, span<uint8_t> span); + DeserializerState(const DeserializerState& r) = delete; + DeserializerState(DeserializerState&& r) = default; + + // Registers |error|, unless the tokenizer's status is already an error. + void RegisterError(Error error); + // Registers |name| as a segment of the field path. + void RegisterFieldPath(span<char> name); + + // Produces an error message considering |tokenizer.Status()|, + // status_, and field_path_. + std::string ErrorMessage(span<char> message_name) const; + Status status() const; + const Storage& storage() const { return storage_; } + cbor::CBORTokenizer* tokenizer() { return &tokenizer_; } + + private: + const Storage storage_; + cbor::CBORTokenizer tokenizer_; + Status status_; + std::vector<span<char>> field_path_; +}; + +template <typename T, typename = void> +struct ProtocolTypeTraits {}; + +template <> +struct CRDTP_EXPORT ProtocolTypeTraits<bool> { + static bool Deserialize(DeserializerState* state, bool* value); + static void Serialize(bool value, std::vector<uint8_t>* bytes); +}; + +template <> +struct CRDTP_EXPORT ProtocolTypeTraits<int32_t> { + static bool Deserialize(DeserializerState* state, int* value); + static void Serialize(int value, std::vector<uint8_t>* bytes); +}; + +template <> +struct CRDTP_EXPORT ProtocolTypeTraits<double> { + static bool Deserialize(DeserializerState* state, double* value); + static void Serialize(double value, std::vector<uint8_t>* bytes); +}; + +class CRDTP_EXPORT ContainerSerializer { + public: + ContainerSerializer(std::vector<uint8_t>* bytes, uint8_t tag); + + template <typename T> + void AddField(span<char> field_name, const T& value) { + cbor::EncodeString8( + span<uint8_t>(reinterpret_cast<const uint8_t*>(field_name.data()), + field_name.size()), + bytes_); + ProtocolTypeTraits<T>::Serialize(value, bytes_); + } + template <typename T> + void AddField(span<char> field_name, const detail::ValueMaybe<T>& value) { + if (!value.has_value()) { + return; + } + AddField(field_name, value.value()); + } + + template <typename T> + void AddField(span<char> field_name, const detail::PtrMaybe<T>& value) { + if (!value.has_value()) { + return; + } + AddField(field_name, value.value()); + } + + void EncodeStop(); + + private: + std::vector<uint8_t>* const bytes_; + cbor::EnvelopeEncoder envelope_; +}; + +class CRDTP_EXPORT ObjectSerializer { + public: + ObjectSerializer(); + ~ObjectSerializer(); + + template <typename T> + void AddField(span<char> name, const T& field) { + serializer_.AddField(name, field); + } + std::unique_ptr<Serializable> Finish(); + + private: + std::vector<uint8_t> owned_bytes_; + ContainerSerializer serializer_; +}; + +class CRDTP_EXPORT DeserializerDescriptor { + public: + struct CRDTP_EXPORT Field { + span<char> name; + bool is_optional; + bool (*deserializer)(DeserializerState* state, void* obj); + }; + + DeserializerDescriptor(const Field* fields, size_t field_count); + + bool Deserialize(DeserializerState* state, void* obj) const; + + private: + bool DeserializeField(DeserializerState* state, + span<char> name, + int* seen_mandatory_fields, + void* obj) const; + + const Field* const fields_; + const size_t field_count_; + const int mandatory_field_mask_; +}; + +template <typename T> +struct ProtocolTypeTraits<std::vector<T>> { + static bool Deserialize(DeserializerState* state, std::vector<T>* value) { + auto* tokenizer = state->tokenizer(); + if (tokenizer->TokenTag() == cbor::CBORTokenTag::ENVELOPE) + tokenizer->EnterEnvelope(); + if (tokenizer->TokenTag() != cbor::CBORTokenTag::ARRAY_START) { + state->RegisterError(Error::CBOR_ARRAY_START_EXPECTED); + return false; + } + assert(value->empty()); + tokenizer->Next(); + for (; tokenizer->TokenTag() != cbor::CBORTokenTag::STOP; + tokenizer->Next()) { + value->emplace_back(); + if (!ProtocolTypeTraits<T>::Deserialize(state, &value->back())) + return false; + } + return true; + } + + static void Serialize(const std::vector<T>& value, + std::vector<uint8_t>* bytes) { + ContainerSerializer container_serializer( + bytes, cbor::EncodeIndefiniteLengthArrayStart()); + for (const auto& item : value) + ProtocolTypeTraits<T>::Serialize(item, bytes); + container_serializer.EncodeStop(); + } +}; + +template <typename T> +struct ProtocolTypeTraits<std::unique_ptr<std::vector<T>>> { + static bool Deserialize(DeserializerState* state, + std::unique_ptr<std::vector<T>>* value) { + auto res = std::make_unique<std::vector<T>>(); + if (!ProtocolTypeTraits<std::vector<T>>::Deserialize(state, res.get())) + return false; + *value = std::move(res); + return true; + } + static void Serialize(const std::unique_ptr<std::vector<T>>& value, + std::vector<uint8_t>* bytes) { + ProtocolTypeTraits<std::vector<T>>::Serialize(*value, bytes); + } +}; + +class CRDTP_EXPORT DeferredMessage : public Serializable { + public: + static std::unique_ptr<DeferredMessage> FromSerializable( + std::unique_ptr<Serializable> serializeable); + static std::unique_ptr<DeferredMessage> FromSpan(span<uint8_t> bytes); + + ~DeferredMessage() override = default; + virtual DeserializerState MakeDeserializer() const = 0; + + protected: + DeferredMessage() = default; +}; + +template <> +struct CRDTP_EXPORT ProtocolTypeTraits<std::unique_ptr<DeferredMessage>> { + static bool Deserialize(DeserializerState* state, + std::unique_ptr<DeferredMessage>* value); + static void Serialize(const std::unique_ptr<DeferredMessage>& value, + std::vector<uint8_t>* bytes); +}; + +template <typename T> +struct ProtocolTypeTraits<detail::ValueMaybe<T>> { + static bool Deserialize(DeserializerState* state, + detail::ValueMaybe<T>* value) { + T res; + if (!ProtocolTypeTraits<T>::Deserialize(state, &res)) + return false; + *value = std::move(res); + return true; + } + + static void Serialize(const detail::ValueMaybe<T>& value, + std::vector<uint8_t>* bytes) { + ProtocolTypeTraits<T>::Serialize(value.value(), bytes); + } +}; + +template <typename T> +struct ProtocolTypeTraits<detail::PtrMaybe<T>> { + static bool Deserialize(DeserializerState* state, + detail::PtrMaybe<T>* value) { + std::unique_ptr<T> res; + if (!ProtocolTypeTraits<std::unique_ptr<T>>::Deserialize(state, &res)) + return false; + *value = std::move(res); + return true; + } + + static void Serialize(const detail::PtrMaybe<T>& value, + std::vector<uint8_t>* bytes) { + ProtocolTypeTraits<T>::Serialize(value.value(), bytes); + } +}; + +template <typename T> +class DeserializableProtocolObject { + public: + static StatusOr<std::unique_ptr<T>> ReadFrom( + const DeferredMessage& deferred_message) { + auto state = deferred_message.MakeDeserializer(); + if (auto res = Deserialize(&state)) + return StatusOr<std::unique_ptr<T>>(std::move(res)); + return StatusOr<std::unique_ptr<T>>(state.status()); + } + + static StatusOr<std::unique_ptr<T>> ReadFrom(std::vector<uint8_t> bytes) { + auto state = DeserializerState(std::move(bytes)); + if (auto res = Deserialize(&state)) + return StatusOr<std::unique_ptr<T>>(std::move(res)); + return StatusOr<std::unique_ptr<T>>(state.status()); + } + + // Short-hand for legacy clients. This would swallow any errors, consider + // using ReadFrom. + static std::unique_ptr<T> FromBinary(const uint8_t* bytes, size_t size) { + std::unique_ptr<T> value(new T()); + auto deserializer = DeferredMessage::FromSpan(span<uint8_t>(bytes, size)) + ->MakeDeserializer(); + std::ignore = Deserialize(&deserializer, value.get()); + return value; + } + + [[nodiscard]] static bool Deserialize(DeserializerState* state, T* value) { + return T::deserializer_descriptor().Deserialize(state, value); + } + + protected: + // This is for the sake of the macros used by derived classes thay may be in + // a different namespace; + using ProtocolType = T; + using DeserializerDescriptorType = DeserializerDescriptor; + template <typename U> + using DeserializableBase = DeserializableProtocolObject<U>; + + DeserializableProtocolObject() = default; + ~DeserializableProtocolObject() = default; + + private: + friend struct ProtocolTypeTraits<std::unique_ptr<T>>; + + static std::unique_ptr<T> Deserialize(DeserializerState* state) { + std::unique_ptr<T> value(new T()); + if (Deserialize(state, value.get())) + return value; + return nullptr; + } +}; + +template <typename T> +class ProtocolObject : public Serializable, + public DeserializableProtocolObject<T> { + public: + std::unique_ptr<T> Clone() const { + std::vector<uint8_t> serialized; + AppendSerialized(&serialized); + return T::ReadFrom(std::move(serialized)).value(); + } + + protected: + using ProtocolType = T; + + ProtocolObject() = default; +}; + +template <typename T> +struct ProtocolTypeTraits< + T, + typename std::enable_if< + std::is_base_of<ProtocolObject<T>, T>::value>::type> { + static bool Deserialize(DeserializerState* state, T* value) { + return T::Deserialize(state, value); + } + + static void Serialize(const T& value, std::vector<uint8_t>* bytes) { + value.AppendSerialized(bytes); + } +}; + +template <typename T> +struct ProtocolTypeTraits< + std::unique_ptr<T>, + typename std::enable_if< + std::is_base_of<ProtocolObject<T>, T>::value>::type> { + static bool Deserialize(DeserializerState* state, std::unique_ptr<T>* value) { + std::unique_ptr<T> res = T::Deserialize(state); + if (!res) + return false; + *value = std::move(res); + return true; + } + + static void Serialize(const std::unique_ptr<T>& value, + std::vector<uint8_t>* bytes) { + ProtocolTypeTraits<T>::Serialize(*value, bytes); + } +}; + +template <typename T, typename F> +bool ConvertProtocolValue(const F& from, T* to) { + std::vector<uint8_t> bytes; + ProtocolTypeTraits<F>::Serialize(from, &bytes); + auto deserializer = + DeferredMessage::FromSpan(span<uint8_t>(bytes.data(), bytes.size())) + ->MakeDeserializer(); + return ProtocolTypeTraits<T>::Deserialize(&deserializer, to); +} + +#define DECLARE_DESERIALIZATION_SUPPORT() \ + friend DeserializableBase<ProtocolType>; \ + static const DeserializerDescriptorType& deserializer_descriptor() + +#define DECLARE_SERIALIZATION_SUPPORT() \ + public: \ + void AppendSerialized(std::vector<uint8_t>* bytes) const override; \ + \ + private: \ + friend DeserializableBase<ProtocolType>; \ + static const DeserializerDescriptorType& deserializer_descriptor() + +#define CRDTP_DESERIALIZE_FILED_IMPL(name, field, is_optional) \ + { \ + MakeSpan(name), is_optional, \ + [](DeserializerState* __state, void* __obj) -> bool { \ + return ProtocolTypeTraits<decltype(field)>::Deserialize( \ + __state, &static_cast<ProtocolType*>(__obj)->field); \ + } \ + } + +// clang-format off +#define CRDTP_BEGIN_DESERIALIZER(type) \ + const type::DeserializerDescriptorType& type::deserializer_descriptor() { \ + using namespace crdtp; \ + static const DeserializerDescriptorType::Field fields[] = { + +#define CRDTP_END_DESERIALIZER() \ + }; \ + static const DeserializerDescriptorType s_desc( \ + fields, sizeof fields / sizeof fields[0]); \ + return s_desc; \ + } + +#define CRDTP_DESERIALIZE_FIELD(name, field) \ + CRDTP_DESERIALIZE_FILED_IMPL(name, field, false) +#define CRDTP_DESERIALIZE_FIELD_OPT(name, field) \ + CRDTP_DESERIALIZE_FILED_IMPL(name, field, true) + +#define CRDTP_BEGIN_SERIALIZER(type) \ + void type::AppendSerialized(std::vector<uint8_t>* bytes) const { \ + using namespace crdtp; \ + ContainerSerializer __serializer(bytes, \ + cbor::EncodeIndefiniteLengthMapStart()); + +#define CRDTP_SERIALIZE_FIELD(name, field) \ + __serializer.AddField(MakeSpan(name), field) + +#define CRDTP_END_SERIALIZER() \ + __serializer.EncodeStop(); \ + } class __cddtp_dummy_name +// clang-format on + +} // namespace crdtp + +#endif // CRDTP_PROTOCOL_CORE_H_ diff --git a/deps/inspector_protocol/crdtp/protocol_core_test.cc b/deps/inspector_protocol/crdtp/protocol_core_test.cc new file mode 100644 index 00000000000000..2d9246b4b85998 --- /dev/null +++ b/deps/inspector_protocol/crdtp/protocol_core_test.cc @@ -0,0 +1,476 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "protocol_core.h" + +#include <memory> + +#include "cbor.h" +#include "maybe.h" +#include "status_test_support.h" +#include "test_platform.h" +#include "test_string_traits.h" + +namespace crdtp { + +namespace { +using ::testing::Eq; + +template <typename TResult, typename TArg> +std::unique_ptr<TResult> RoundtripToType(const TArg& obj) { + std::vector<uint8_t> bytes; + obj.AppendSerialized(&bytes); + + StatusOr<std::unique_ptr<TResult>> result = + TResult::ReadFrom(std::move(bytes)); + return std::move(result).value(); +} + +template <typename T> +std::unique_ptr<T> Roundtrip(const T& obj) { + return RoundtripToType<T, T>(obj); +} + +// These TestTypeFOO classes below would normally be generated +// by the protocol generator. + +class TestTypeBasic : public ProtocolObject<TestTypeBasic> { + public: + TestTypeBasic() = default; + + const std::string& GetValue() const { return value_; } + void SetValue(std::string value) { value_ = std::move(value); } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + std::string value_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeBasic) + CRDTP_DESERIALIZE_FIELD("value", value_) +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeBasic) + CRDTP_SERIALIZE_FIELD("value", value_); +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST(ProtocolCoreTest, Basic) { + TestTypeBasic obj1; + obj1.SetValue("foo"); + + auto obj2 = Roundtrip(obj1); + ASSERT_THAT(obj2, Not(testing::IsNull())); + EXPECT_THAT(obj2->GetValue(), Eq("foo")); +} + +TEST(ProtocolCoreTest, FailedToDeserializeTestTypeBasic) { + std::vector<uint8_t> garbage = {'g', 'a', 'r', 'b', 'a', 'g', 'e'}; + StatusOr<std::unique_ptr<TestTypeBasic>> result = + TestTypeBasic::ReadFrom(std::move(garbage)); + EXPECT_THAT(result.status(), StatusIs(Error::CBOR_INVALID_STRING8, 0)); +} + +class TestTypeBasicDouble : public ProtocolObject<TestTypeBasicDouble> { + public: + TestTypeBasicDouble() = default; + + double GetValue() const { return value_; } + void SetValue(double value) { value_ = value; } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + double value_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeBasicDouble) + CRDTP_DESERIALIZE_FIELD("value", value_) +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeBasicDouble) + CRDTP_SERIALIZE_FIELD("value", value_); +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST(TestBasicDouble, ParserAllowsAllowsDoubleEncodedAsInt) { + // We allow double's encoded as INT32, because this is what a roundtrip via + // JSON would produce. + std::vector<uint8_t> encoded; + crdtp::cbor::EnvelopeEncoder envelope; + envelope.EncodeStart(&encoded); + encoded.push_back(crdtp::cbor::EncodeIndefiniteLengthMapStart()); + crdtp::cbor::EncodeString8(crdtp::SpanFrom("value"), &encoded); + crdtp::cbor::EncodeInt32( + 42, &encoded); // It's a double field, but we encode an int. + encoded.push_back(crdtp::cbor::EncodeStop()); + envelope.EncodeStop(&encoded); + auto obj = TestTypeBasicDouble::ReadFrom(encoded).value(); + ASSERT_THAT(obj, Not(testing::IsNull())); + EXPECT_THAT(obj->GetValue(), Eq(42)); +} + +class TestTypeComposite : public ProtocolObject<TestTypeComposite> { + public: + bool GetBoolField() const { return bool_field_; } + void SetBoolField(bool value) { bool_field_ = value; } + + int GetIntField() const { return int_field_; } + void SetIntField(int value) { int_field_ = value; } + + double GetDoubleField() const { return double_field_; } + void SetDoubleField(double value) { double_field_ = value; } + + const std::string& GetStrField() const { return str_field_; } + void SetStrField(std::string value) { str_field_ = std::move(value); } + + const TestTypeBasic* GetTestTypeBasicField() { + return test_type1_field_.get(); + } + void SetTestTypeBasicField(std::unique_ptr<TestTypeBasic> value) { + test_type1_field_ = std::move(value); + } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + bool bool_field_ = false; + int int_field_ = 0; + double double_field_ = 0.0; + std::string str_field_; + std::unique_ptr<TestTypeBasic> test_type1_field_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeComposite) + CRDTP_DESERIALIZE_FIELD("bool_field", bool_field_), + CRDTP_DESERIALIZE_FIELD("double_field", double_field_), + CRDTP_DESERIALIZE_FIELD("int_field", int_field_), + CRDTP_DESERIALIZE_FIELD("str_field", str_field_), + CRDTP_DESERIALIZE_FIELD("test_type1_field", test_type1_field_), +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeComposite) + CRDTP_SERIALIZE_FIELD("bool_field", bool_field_), + CRDTP_SERIALIZE_FIELD("double_field", double_field_), + CRDTP_SERIALIZE_FIELD("int_field", int_field_), + CRDTP_SERIALIZE_FIELD("str_field", str_field_), + CRDTP_SERIALIZE_FIELD("test_type1_field", test_type1_field_), +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST(ProtocolCoreTest, Composite) { + TestTypeComposite obj1; + obj1.SetBoolField(true); + obj1.SetIntField(42); + obj1.SetDoubleField(2.718281828); + obj1.SetStrField("bar"); + auto val1 = std::make_unique<TestTypeBasic>(); + val1->SetValue("bazzzz"); + obj1.SetTestTypeBasicField(std::move(val1)); + + auto obj2 = Roundtrip(obj1); + ASSERT_THAT(obj2, Not(testing::IsNull())); + EXPECT_THAT(obj2->GetBoolField(), Eq(true)); + EXPECT_THAT(obj2->GetIntField(), Eq(42)); + EXPECT_THAT(obj2->GetDoubleField(), Eq(2.718281828)); + EXPECT_THAT(obj2->GetStrField(), Eq("bar")); + EXPECT_THAT(obj2->GetTestTypeBasicField()->GetValue(), Eq("bazzzz")); +} + +class CompositeParsingTest : public testing::Test { + public: + CompositeParsingTest() { + TestTypeComposite top; + top.SetIntField(42); + top.SetBoolField(true); + top.SetIntField(42); + top.SetDoubleField(2.718281828); + top.SetStrField("junk"); + auto child = std::make_unique<TestTypeBasic>(); + child->SetValue("child_value"); + top.SetTestTypeBasicField(std::move(child)); + + // Let's establish that |serialized_| is a properly serialized + // representation of |top|, by checking that it deserializes ok. + top.AppendSerialized(&serialized_); + TestTypeComposite::ReadFrom(serialized_).value(); + } + + protected: + std::vector<uint8_t> serialized_; +}; + +TEST_F(CompositeParsingTest, DecodingFailure_CBORTokenizer) { + // Mutates |serialized_| so that it won't parse correctly. In this case, + // we're changing a string value so that it's invalid, making CBORTokenizer + // unhappy. + size_t position = + std::string(reinterpret_cast<const char*>(serialized_.data()), + serialized_.size()) + .find("child_value"); + EXPECT_GT(position, 0ul); + // We override the byte just before so that it's still a string + // (3 << 5), but the length is encoded in the bytes that follows. + // So, we override that with 0xff (255), which exceeds the length + // of the message and thereby makes the string8 invalid. + --position; + serialized_[position] = 3 << 5 | // major type: STRING + 25; // length in encoded in byte that follows. + serialized_[position + 1] = 0xff; // length + auto result = TestTypeComposite::ReadFrom(serialized_); + + EXPECT_THAT(result.status(), StatusIs(Error::CBOR_INVALID_STRING8, position)); +} + +TEST_F(CompositeParsingTest, DecodingFailure_MandatoryFieldMissingShallow) { + // We're changing the string key "int_field" to something else ("lnt_field"), + // so that the mandatory field value won't be found. Unknown fields are + // ignored for compatibility, so that's why this simple technique works here. + size_t position = + std::string(reinterpret_cast<const char*>(serialized_.data()), + serialized_.size()) + .find("int_field"); + serialized_[position] = 'l'; // Change 'i' to 'l'. + // serialized_.size() - 1 is the STOP character for the entire message, + size_t expected_error_pos = serialized_.size() - 1; + auto result = TestTypeComposite::ReadFrom(serialized_); + EXPECT_THAT(result.status(), StatusIs(Error::BINDINGS_MANDATORY_FIELD_MISSING, + expected_error_pos)); +} + +TEST_F(CompositeParsingTest, DecodingFailure_MandatoryFieldMissingNested) { + // We're changing the string key "value" to something else ("falue"), so that + // the mandatory field value in TestTypeBasic in the child won't be found. + size_t position = + std::string(reinterpret_cast<const char*>(serialized_.data()), + serialized_.size()) + .find("value"); + serialized_[position] = 'f'; // Change 'v' to 'f'. + // serialized_.size() - 1 is the STOP character for the enclosing message, + // and serialized_.size() - 2 is the STOP character for TestTypeBasic. + size_t expected_error_pos = serialized_.size() - 2; + auto result = TestTypeComposite::ReadFrom(serialized_); + EXPECT_THAT(result.status(), StatusIs(Error::BINDINGS_MANDATORY_FIELD_MISSING, + expected_error_pos)); +} + +TEST_F(CompositeParsingTest, DecodingFailure_BoolValueExpected) { + // We're changing the bool value (true) to null; we do this by looking + // for bool_field, and searching from there for TRUE; both TRUE and null + // are just one byte in the serialized buffer, so this swap is convenient. + std::string serialized_view(reinterpret_cast<const char*>(serialized_.data()), + serialized_.size()); + size_t position = serialized_view.find("bool_field"); + for (; position < serialized_.size(); ++position) { + if (serialized_[position] == crdtp::cbor::EncodeTrue()) { + serialized_[position] = crdtp::cbor::EncodeNull(); + break; + } + } + auto result = TestTypeComposite::ReadFrom(serialized_); + EXPECT_THAT(result.status(), + StatusIs(Error::BINDINGS_BOOL_VALUE_EXPECTED, position)); +} + +class TestTypeArrays : public ProtocolObject<TestTypeArrays> { + public: + const std::vector<int>* GetIntArray() const { return &int_array_; } + void SetIntArray(std::vector<int> value) { int_array_ = std::move(value); } + + const std::vector<double>* GetDoubleArray() const { return &double_array_; } + void SetDoubleArray(std::vector<double> value) { + double_array_ = std::move(value); + } + + const std::vector<std::string>* GetStrArray() const { return &str_array_; } + void SetStrArray(std::vector<std::string> value) { + str_array_ = std::move(value); + } + + const std::vector<std::unique_ptr<TestTypeBasic>>* GetTestTypeBasicArray() + const { + return &test_type_basic_array_; + } + + void SetTestTypeBasicArray( + std::vector<std::unique_ptr<TestTypeBasic>> value) { + test_type_basic_array_ = std::move(value); + } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + std::vector<int> int_array_; + std::vector<double> double_array_; + std::vector<std::string> str_array_; + std::vector<std::unique_ptr<TestTypeBasic>> test_type_basic_array_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeArrays) + CRDTP_DESERIALIZE_FIELD("int_array", int_array_), + CRDTP_DESERIALIZE_FIELD("str_array", str_array_), + CRDTP_DESERIALIZE_FIELD("test_type_basic_array", test_type_basic_array_), +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeArrays) + CRDTP_SERIALIZE_FIELD("int_array", int_array_), + CRDTP_SERIALIZE_FIELD("str_array", str_array_), + CRDTP_SERIALIZE_FIELD("test_type_basic_array", test_type_basic_array_), +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST_F(CompositeParsingTest, Arrays) { + TestTypeArrays obj1; + obj1.SetIntArray(std::vector<int>{1, 3, 5, 7}); + std::vector<std::string> strs; + strs.emplace_back("foo"); + strs.emplace_back(std::string("bar")); + obj1.SetStrArray(std::move(strs)); + auto val1 = std::make_unique<TestTypeBasic>(); + val1->SetValue("bazzzz"); + std::vector<std::unique_ptr<TestTypeBasic>> vec1; + vec1.emplace_back(std::move(val1)); + obj1.SetTestTypeBasicArray(std::move(vec1)); + + auto obj2 = Roundtrip(obj1); + ASSERT_THAT(obj2, Not(testing::IsNull())); + EXPECT_THAT(*obj2->GetIntArray(), testing::ElementsAre(1, 3, 5, 7)); + EXPECT_THAT(*obj2->GetStrArray(), testing::ElementsAre("foo", "bar")); + EXPECT_THAT(obj2->GetDoubleArray()->size(), Eq(0ul)); + EXPECT_THAT(obj2->GetTestTypeBasicArray()->size(), Eq(1ul)); + EXPECT_THAT(obj2->GetTestTypeBasicArray()->front()->GetValue(), Eq("bazzzz")); +} + +class TestTypeOptional : public ProtocolObject<TestTypeOptional> { + public: + TestTypeOptional() = default; + + bool HasIntField() const { return int_field_.has_value(); } + int GetIntField() const { return int_field_.value(); } + void SetIntField(int value) { int_field_ = value; } + + bool HasStrField() { return str_field_.has_value(); } + const std::string& GetStrField() const { return str_field_.value(); } + void SetStrField(std::string value) { str_field_ = std::move(value); } + + bool HasTestTypeBasicField() { return test_type_basic_field_.has_value(); } + const TestTypeBasic* GetTestTypeBasicField() const { + return test_type_basic_field_.has_value() ? &test_type_basic_field_.value() + : nullptr; + } + void SetTestTypeBasicField(std::unique_ptr<TestTypeBasic> value) { + test_type_basic_field_ = std::move(value); + } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + Maybe<int> int_field_; + Maybe<std::string> str_field_; + Maybe<TestTypeBasic> test_type_basic_field_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeOptional) + CRDTP_DESERIALIZE_FIELD_OPT("int_field", int_field_), + CRDTP_DESERIALIZE_FIELD_OPT("str_field", str_field_), + CRDTP_DESERIALIZE_FIELD_OPT("test_type_basic_field", test_type_basic_field_), +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeOptional) + CRDTP_SERIALIZE_FIELD("int_field", int_field_), + CRDTP_SERIALIZE_FIELD("str_field", str_field_), + CRDTP_SERIALIZE_FIELD("test_type_basic_field", test_type_basic_field_), +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST(ProtocolCoreTest, OptionalAbsent) { + TestTypeOptional obj1; + auto obj2 = Roundtrip(obj1); + ASSERT_THAT(obj2, Not(testing::IsNull())); + + EXPECT_THAT(obj2->HasIntField(), Eq(false)); + EXPECT_THAT(obj2->HasStrField(), Eq(false)); + EXPECT_THAT(obj2->HasTestTypeBasicField(), Eq(false)); +} + +TEST(ProtocolCoreTest, OptionalPresent) { + TestTypeOptional obj1; + obj1.SetIntField(42); + obj1.SetStrField("foo"); + + auto val1 = std::make_unique<TestTypeBasic>(); + val1->SetValue("bar"); + obj1.SetTestTypeBasicField(std::move(val1)); + + auto obj2 = Roundtrip(obj1); + ASSERT_THAT(obj2, Not(testing::IsNull())); + + EXPECT_THAT(obj2->HasIntField(), Eq(true)); + EXPECT_THAT(obj2->GetIntField(), Eq(42)); + EXPECT_THAT(obj2->HasStrField(), Eq(true)); + EXPECT_THAT(obj2->GetStrField(), Eq("foo")); + EXPECT_THAT(obj2->HasTestTypeBasicField(), Eq(true)); + EXPECT_THAT(obj2->GetTestTypeBasicField()->GetValue(), Eq("bar")); +} + +class TestTypeLazy : public ProtocolObject<TestTypeLazy> { + public: + TestTypeLazy() = default; + + const std::string& GetStrField() const { return str_field_; } + void SetStrField(std::string value) { str_field_ = std::move(value); } + + const DeferredMessage* deferred_test_type1_field() const { + return test_type1_field_.get(); + } + + private: + DECLARE_SERIALIZATION_SUPPORT(); + + std::string str_field_; + std::unique_ptr<DeferredMessage> test_type1_field_; +}; + +// clang-format off +CRDTP_BEGIN_DESERIALIZER(TestTypeLazy) + CRDTP_DESERIALIZE_FIELD("str_field", str_field_), + CRDTP_DESERIALIZE_FIELD_OPT("test_type1_field", test_type1_field_), +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER(TestTypeLazy) + CRDTP_SERIALIZE_FIELD("str_field", str_field_), + CRDTP_SERIALIZE_FIELD("test_type1_field", test_type1_field_), +CRDTP_END_SERIALIZER(); +// clang-format on + +TEST(ProtocolCoreTest, TestDeferredMessage) { + TestTypeComposite obj1; + obj1.SetStrField("bar"); + auto val1 = std::make_unique<TestTypeBasic>(); + val1->SetValue("bazzzz"); + obj1.SetTestTypeBasicField(std::move(val1)); + + auto obj2 = RoundtripToType<TestTypeLazy>(obj1); + EXPECT_THAT(obj2->GetStrField(), Eq("bar")); + + TestTypeBasic basic_val; + auto deserializer = obj2->deferred_test_type1_field()->MakeDeserializer(); + EXPECT_THAT(TestTypeBasic::Deserialize(&deserializer, &basic_val), Eq(true)); + EXPECT_THAT(basic_val.GetValue(), Eq("bazzzz")); + + StatusOr<std::unique_ptr<TestTypeBasic>> maybe_parsed = + TestTypeBasic::ReadFrom(*obj2->deferred_test_type1_field()); + ASSERT_THAT(maybe_parsed.status(), StatusIsOk()); + ASSERT_THAT((*maybe_parsed), Not(testing::IsNull())); + ASSERT_EQ((*maybe_parsed)->GetValue(), "bazzzz"); +} + +} // namespace +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/serializable.cc b/deps/inspector_protocol/crdtp/serializable.cc new file mode 100644 index 00000000000000..e0bc6ffb62a9c5 --- /dev/null +++ b/deps/inspector_protocol/crdtp/serializable.cc @@ -0,0 +1,39 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "serializable.h" + +#include <utility> + +namespace crdtp { +// ============================================================================= +// Serializable - An object to be emitted as a sequence of bytes. +// ============================================================================= + +std::vector<uint8_t> Serializable::Serialize() const { + std::vector<uint8_t> out; + AppendSerialized(&out); + return out; +} + +namespace { +class PreSerialized : public Serializable { + public: + explicit PreSerialized(std::vector<uint8_t> bytes) + : bytes_(std::move(bytes)) {} + + void AppendSerialized(std::vector<uint8_t>* out) const override { + out->insert(out->end(), bytes_.begin(), bytes_.end()); + } + + private: + std::vector<uint8_t> bytes_; +}; +} // namespace + +// static +std::unique_ptr<Serializable> Serializable::From(std::vector<uint8_t> bytes) { + return std::make_unique<PreSerialized>(std::move(bytes)); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/serializable.h b/deps/inspector_protocol/crdtp/serializable.h new file mode 100644 index 00000000000000..a5e2881e17ea50 --- /dev/null +++ b/deps/inspector_protocol/crdtp/serializable.h @@ -0,0 +1,32 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_SERIALIZABLE_H_ +#define CRDTP_SERIALIZABLE_H_ + +#include <cstdint> +#include <memory> +#include <vector> +#include "export.h" + +namespace crdtp { +// ============================================================================= +// Serializable - An object to be emitted as a sequence of bytes. +// ============================================================================= +class CRDTP_EXPORT Serializable { + public: + // Convenience: Invokes |AppendSerialized| on an empty vector. + std::vector<uint8_t> Serialize() const; + + virtual void AppendSerialized(std::vector<uint8_t>* out) const = 0; + + virtual ~Serializable() = default; + + // Wraps a vector of |bytes| into a Serializable for situations in which we + // eagerly serialize a structure. + static std::unique_ptr<Serializable> From(std::vector<uint8_t> bytes); +}; +} // namespace crdtp + +#endif // CRDTP_SERIALIZABLE_H_ diff --git a/deps/inspector_protocol/crdtp/serializable_test.cc b/deps/inspector_protocol/crdtp/serializable_test.cc new file mode 100644 index 00000000000000..adfd8595ad8371 --- /dev/null +++ b/deps/inspector_protocol/crdtp/serializable_test.cc @@ -0,0 +1,40 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <cstdlib> +#include <string> + +#include "serializable.h" +#include "test_platform.h" + +namespace crdtp { +// ============================================================================= +// Serializable - An object to be emitted as a sequence of bytes. +// ============================================================================= + +namespace { +// Tests ::Serialize (which invokes ::AppendSerialized). +class SimpleExample : public Serializable { + public: + explicit SimpleExample(const std::vector<uint8_t>& contents) + : contents_(contents) {} + + void AppendSerialized(std::vector<uint8_t>* out) const override { + out->insert(out->end(), contents_.begin(), contents_.end()); + } + + private: + std::vector<uint8_t> contents_; +}; +} // namespace + +TEST(SerializableTest, YieldsContents) { + std::vector<uint8_t> contents = {1, 2, 3}; + SimpleExample foo(contents); + foo.AppendSerialized(&contents); // Yields contents by appending. + EXPECT_THAT(contents, testing::ElementsAre(1, 2, 3, 1, 2, 3)); + // Yields contents by returning. + EXPECT_THAT(foo.Serialize(), testing::ElementsAre(1, 2, 3)); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/span.cc b/deps/inspector_protocol/crdtp/span.cc new file mode 100644 index 00000000000000..ae7545489c43b4 --- /dev/null +++ b/deps/inspector_protocol/crdtp/span.cc @@ -0,0 +1,39 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "span.h" + +#include <algorithm> + +namespace crdtp { + +bool SpanLessThan(span<uint8_t> x, span<uint8_t> y) noexcept { + auto min_size = std::min(x.size(), y.size()); + const int r = min_size == 0 ? 0 : memcmp(x.data(), y.data(), min_size); + return (r < 0) || (r == 0 && x.size() < y.size()); +} + +bool SpanEquals(span<uint8_t> x, span<uint8_t> y) noexcept { + auto len = x.size(); + if (len != y.size()) + return false; + return x.data() == y.data() || len == 0 || + std::memcmp(x.data(), y.data(), len) == 0; +} + +bool SpanLessThan(span<char> x, span<char> y) noexcept { + auto min_size = std::min(x.size(), y.size()); + const int r = min_size == 0 ? 0 : memcmp(x.data(), y.data(), min_size); + return (r < 0) || (r == 0 && x.size() < y.size()); +} + +bool SpanEquals(span<char> x, span<char> y) noexcept { + auto len = x.size(); + if (len != y.size()) + return false; + return x.data() == y.data() || len == 0 || + std::memcmp(x.data(), y.data(), len) == 0; +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/span.h b/deps/inspector_protocol/crdtp/span.h new file mode 100644 index 00000000000000..c2b5b02d9a1832 --- /dev/null +++ b/deps/inspector_protocol/crdtp/span.h @@ -0,0 +1,100 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_SPAN_H_ +#define CRDTP_SPAN_H_ + +#include <cstdint> +#include <cstring> +#include <type_traits> +#include <string> + +#include "export.h" + +namespace crdtp { +// ============================================================================= +// span - sequence of bytes +// ============================================================================= + +// This template is similar to std::span, which will be included in C++20. +template <typename T> +class span { + public: + using index_type = size_t; + + constexpr span() : data_(nullptr), size_(0) {} + constexpr span(const T* data, index_type size) : data_(data), size_(size) {} + + constexpr const T* data() const { return data_; } + + constexpr const T* begin() const { return data_; } + constexpr const T* end() const { return data_ + size_; } + + constexpr const T& operator[](index_type idx) const { return data_[idx]; } + + constexpr span<T> subspan(index_type offset, index_type count) const { + return span(data_ + offset, count); + } + + constexpr span<T> subspan(index_type offset) const { + return span(data_ + offset, size_ - offset); + } + + constexpr bool empty() const { return size_ == 0; } + + constexpr index_type size() const { return size_; } + constexpr index_type size_bytes() const { return size_ * sizeof(T); } + + private: + const T* data_; + index_type size_; +}; + +template <size_t N> +constexpr span<char> MakeSpan(const char (&str)[N]) { + return span<char>(str, N - 1); +} + +template <size_t N> +constexpr span<uint8_t> SpanFrom(const char (&str)[N]) { + return span<uint8_t>(reinterpret_cast<const uint8_t*>(str), N - 1); +} + +constexpr inline span<uint8_t> SpanFrom(const char* str) { + return str ? span<uint8_t>(reinterpret_cast<const uint8_t*>(str), strlen(str)) + : span<uint8_t>(); +} + +inline span<uint8_t> SpanFrom(const std::string& v) { + return span<uint8_t>(reinterpret_cast<const uint8_t*>(v.data()), v.size()); +} + +// This SpanFrom routine works for std::vector<uint8_t> and +// std::vector<uint16_t>, but also for base::span<const uint8_t> in Chromium. +template <typename C, + typename = std::enable_if_t< + std::is_unsigned<typename C::value_type>{} && + std::is_member_function_pointer<decltype(&C::size)>{}>> +inline span<typename C::value_type> SpanFrom(const C& v) { + return span<typename C::value_type>(v.data(), v.size()); +} + +// Less than / equality comparison functions for sorting / searching for byte +// spans. +CRDTP_EXPORT bool SpanLessThan(span<uint8_t> x, span<uint8_t> y) noexcept; +CRDTP_EXPORT bool SpanEquals(span<uint8_t> x, span<uint8_t> y) noexcept; + +// Less than / equality comparison functions for sorting / searching for byte +// spans. +CRDTP_EXPORT bool SpanLessThan(span<char> x, span<char> y) noexcept; +CRDTP_EXPORT bool SpanEquals(span<char> x, span<char> y) noexcept; + +struct SpanLt { + bool operator()(span<uint8_t> l, span<uint8_t> r) const { + return SpanLessThan(l, r); + } +}; +} // namespace crdtp + +#endif // CRDTP_SPAN_H_ diff --git a/deps/inspector_protocol/crdtp/span_test.cc b/deps/inspector_protocol/crdtp/span_test.cc new file mode 100644 index 00000000000000..e562f4ea6feed9 --- /dev/null +++ b/deps/inspector_protocol/crdtp/span_test.cc @@ -0,0 +1,109 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <cstdlib> +#include <string> + +#include "span.h" +#include "test_platform.h" + +namespace crdtp { +// ============================================================================= +// span - sequence of bytes +// ============================================================================= +template <typename T> +class SpanTest : public ::testing::Test {}; + +using TestTypes = ::testing::Types<uint8_t, uint16_t>; +TYPED_TEST_SUITE(SpanTest, TestTypes); + +TYPED_TEST(SpanTest, Empty) { + span<TypeParam> empty; + EXPECT_TRUE(empty.empty()); + EXPECT_EQ(0u, empty.size()); + EXPECT_EQ(0u, empty.size_bytes()); + EXPECT_EQ(empty.begin(), empty.end()); +} + +TYPED_TEST(SpanTest, SingleItem) { + TypeParam single_item = 42; + span<TypeParam> singular(&single_item, 1); + EXPECT_FALSE(singular.empty()); + EXPECT_EQ(1u, singular.size()); + EXPECT_EQ(sizeof(TypeParam), singular.size_bytes()); + EXPECT_EQ(singular.begin() + 1, singular.end()); + EXPECT_EQ(42, singular[0]); +} + +TYPED_TEST(SpanTest, FiveItems) { + std::vector<TypeParam> test_input = {31, 32, 33, 34, 35}; + span<TypeParam> five_items(test_input.data(), 5); + EXPECT_FALSE(five_items.empty()); + EXPECT_EQ(5u, five_items.size()); + EXPECT_EQ(sizeof(TypeParam) * 5, five_items.size_bytes()); + EXPECT_EQ(five_items.begin() + 5, five_items.end()); + EXPECT_EQ(31, five_items[0]); + EXPECT_EQ(32, five_items[1]); + EXPECT_EQ(33, five_items[2]); + EXPECT_EQ(34, five_items[3]); + EXPECT_EQ(35, five_items[4]); + span<TypeParam> three_items = five_items.subspan(2); + EXPECT_EQ(3u, three_items.size()); + EXPECT_EQ(33, three_items[0]); + EXPECT_EQ(34, three_items[1]); + EXPECT_EQ(35, three_items[2]); + span<TypeParam> two_items = five_items.subspan(2, 2); + EXPECT_EQ(2u, two_items.size()); + EXPECT_EQ(33, two_items[0]); + EXPECT_EQ(34, two_items[1]); +} + +TEST(SpanFromTest, FromConstCharAndLiteral) { + // Testing this is useful because strlen(nullptr) is undefined. + EXPECT_EQ(nullptr, SpanFrom(nullptr).data()); + EXPECT_EQ(0u, SpanFrom(nullptr).size()); + + const char* kEmpty = ""; + EXPECT_EQ(kEmpty, reinterpret_cast<const char*>(SpanFrom(kEmpty).data())); + EXPECT_EQ(0u, SpanFrom(kEmpty).size()); + + const char* kFoo = "foo"; + EXPECT_EQ(kFoo, reinterpret_cast<const char*>(SpanFrom(kFoo).data())); + EXPECT_EQ(3u, SpanFrom(kFoo).size()); + + EXPECT_EQ(3u, SpanFrom("foo").size()); +} + +TEST(SpanFromTest, FromVectorUint8AndUint16) { + std::vector<uint8_t> foo = {'f', 'o', 'o'}; + span<uint8_t> foo_span = SpanFrom(foo); + EXPECT_EQ(foo.size(), foo_span.size()); + + std::vector<uint16_t> bar = {0xff, 0xef, 0xeb}; + span<uint16_t> bar_span = SpanFrom(bar); + EXPECT_EQ(bar.size(), bar_span.size()); +} + +TEST(SpanComparisons, ByteWiseLexicographicalOrder) { + // Compare the empty span. + EXPECT_FALSE(SpanLessThan(span<uint8_t>(), span<uint8_t>())); + EXPECT_TRUE(SpanEquals(span<uint8_t>(), span<uint8_t>())); + + // Compare message with itself. + std::string msg = "Hello, world"; + EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(msg))); + EXPECT_TRUE(SpanEquals(SpanFrom(msg), SpanFrom(msg))); + + // Compare message and copy. + EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(std::string(msg)))); + EXPECT_TRUE(SpanEquals(SpanFrom(msg), SpanFrom(std::string(msg)))); + + // Compare two messages. |lesser_msg| < |msg| because of the first + // byte ('A' < 'H'). + std::string lesser_msg = "A lesser message."; + EXPECT_TRUE(SpanLessThan(SpanFrom(lesser_msg), SpanFrom(msg))); + EXPECT_FALSE(SpanLessThan(SpanFrom(msg), SpanFrom(lesser_msg))); + EXPECT_FALSE(SpanEquals(SpanFrom(msg), SpanFrom(lesser_msg))); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/status.cc b/deps/inspector_protocol/crdtp/status.cc new file mode 100644 index 00000000000000..41f8b5df7542cc --- /dev/null +++ b/deps/inspector_protocol/crdtp/status.cc @@ -0,0 +1,130 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "status.h" + +namespace crdtp { +// ============================================================================= +// Status and Error codes +// ============================================================================= + +std::string Status::Message() const { + switch (error) { + case Error::OK: + return "OK"; + case Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS: + return "JSON: unprocessed input remains"; + case Error::JSON_PARSER_STACK_LIMIT_EXCEEDED: + return "JSON: stack limit exceeded"; + case Error::JSON_PARSER_NO_INPUT: + return "JSON: no input"; + case Error::JSON_PARSER_INVALID_TOKEN: + return "JSON: invalid token"; + case Error::JSON_PARSER_INVALID_NUMBER: + return "JSON: invalid number"; + case Error::JSON_PARSER_INVALID_STRING: + return "JSON: invalid string"; + case Error::JSON_PARSER_UNEXPECTED_ARRAY_END: + return "JSON: unexpected array end"; + case Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED: + return "JSON: comma or array end expected"; + case Error::JSON_PARSER_STRING_LITERAL_EXPECTED: + return "JSON: string literal expected"; + case Error::JSON_PARSER_COLON_EXPECTED: + return "JSON: colon expected"; + case Error::JSON_PARSER_UNEXPECTED_MAP_END: + return "JSON: unexpected map end"; + case Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED: + return "JSON: comma or map end expected"; + case Error::JSON_PARSER_VALUE_EXPECTED: + return "JSON: value expected"; + + case Error::CBOR_INVALID_INT32: + return "CBOR: invalid int32"; + case Error::CBOR_INVALID_DOUBLE: + return "CBOR: invalid double"; + case Error::CBOR_INVALID_ENVELOPE: + return "CBOR: invalid envelope"; + case Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH: + return "CBOR: envelope contents length mismatch"; + case Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE: + return "CBOR: map or array expected in envelope"; + case Error::CBOR_INVALID_STRING8: + return "CBOR: invalid string8"; + case Error::CBOR_INVALID_STRING16: + return "CBOR: invalid string16"; + case Error::CBOR_INVALID_BINARY: + return "CBOR: invalid binary"; + case Error::CBOR_UNSUPPORTED_VALUE: + return "CBOR: unsupported value"; + case Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE: + return "CBOR: unexpected EOF reading envelope"; + case Error::CBOR_INVALID_START_BYTE: + return "CBOR: invalid start byte"; + case Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE: + return "CBOR: unexpected EOF expected value"; + case Error::CBOR_UNEXPECTED_EOF_IN_ARRAY: + return "CBOR: unexpected EOF in array"; + case Error::CBOR_UNEXPECTED_EOF_IN_MAP: + return "CBOR: unexpected EOF in map"; + case Error::CBOR_INVALID_MAP_KEY: + return "CBOR: invalid map key"; + case Error::CBOR_DUPLICATE_MAP_KEY: + return "CBOR: duplicate map key"; + case Error::CBOR_STACK_LIMIT_EXCEEDED: + return "CBOR: stack limit exceeded"; + case Error::CBOR_TRAILING_JUNK: + return "CBOR: trailing junk"; + case Error::CBOR_MAP_START_EXPECTED: + return "CBOR: map start expected"; + case Error::CBOR_MAP_STOP_EXPECTED: + return "CBOR: map stop expected"; + case Error::CBOR_ARRAY_START_EXPECTED: + return "CBOR: array start expected"; + case Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED: + return "CBOR: envelope size limit exceeded"; + + case Error::MESSAGE_MUST_BE_AN_OBJECT: + return "Message must be an object"; + case Error::MESSAGE_MUST_HAVE_INTEGER_ID_PROPERTY: + return "Message must have integer 'id' property"; + case Error::MESSAGE_MUST_HAVE_STRING_METHOD_PROPERTY: + return "Message must have string 'method' property"; + case Error::MESSAGE_MAY_HAVE_STRING_SESSION_ID_PROPERTY: + return "Message may have string 'sessionId' property"; + case Error::MESSAGE_MAY_HAVE_OBJECT_PARAMS_PROPERTY: + return "Message may have object 'params' property"; + case Error::MESSAGE_HAS_UNKNOWN_PROPERTY: + return "Message has property other than " + "'id', 'method', 'sessionId', 'params'"; + + case Error::BINDINGS_MANDATORY_FIELD_MISSING: + return "BINDINGS: mandatory field missing"; + case Error::BINDINGS_BOOL_VALUE_EXPECTED: + return "BINDINGS: bool value expected"; + case Error::BINDINGS_INT32_VALUE_EXPECTED: + return "BINDINGS: int32 value expected"; + case Error::BINDINGS_DOUBLE_VALUE_EXPECTED: + return "BINDINGS: double value expected"; + case Error::BINDINGS_STRING_VALUE_EXPECTED: + return "BINDINGS: string value expected"; + case Error::BINDINGS_STRING8_VALUE_EXPECTED: + return "BINDINGS: string8 value expected"; + case Error::BINDINGS_BINARY_VALUE_EXPECTED: + return "BINDINGS: binary value expected"; + case Error::BINDINGS_DICTIONARY_VALUE_EXPECTED: + return "BINDINGS: dictionary value expected"; + case Error::BINDINGS_INVALID_BASE64_STRING: + return "BINDINGS: invalid base64 string"; + } + // Some compilers can't figure out that we can't get here. + return "INVALID ERROR CODE"; +} + +std::string Status::ToASCIIString() const { + if (ok()) + return "OK"; + return Message() + " at position " + std::to_string(pos); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/status.h b/deps/inspector_protocol/crdtp/status.h new file mode 100644 index 00000000000000..5f32c040f3ec1e --- /dev/null +++ b/deps/inspector_protocol/crdtp/status.h @@ -0,0 +1,143 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_STATUS_H_ +#define CRDTP_STATUS_H_ + +#include <cassert> +#include <cstddef> +#include <limits> +#include <string> + +#include "export.h" + +namespace crdtp { +// ============================================================================= +// Status and Error codes +// ============================================================================= + +enum class Error { + OK = 0, + + // JSON parsing errors; checked when parsing / converting from JSON. + // See json.{h,cc}. + JSON_PARSER_UNPROCESSED_INPUT_REMAINS = 0x01, + JSON_PARSER_STACK_LIMIT_EXCEEDED = 0x02, + JSON_PARSER_NO_INPUT = 0x03, + JSON_PARSER_INVALID_TOKEN = 0x04, + JSON_PARSER_INVALID_NUMBER = 0x05, + JSON_PARSER_INVALID_STRING = 0x06, + JSON_PARSER_UNEXPECTED_ARRAY_END = 0x07, + JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED = 0x08, + JSON_PARSER_STRING_LITERAL_EXPECTED = 0x09, + JSON_PARSER_COLON_EXPECTED = 0x0a, + JSON_PARSER_UNEXPECTED_MAP_END = 0x0b, + JSON_PARSER_COMMA_OR_MAP_END_EXPECTED = 0x0c, + JSON_PARSER_VALUE_EXPECTED = 0x0d, + + // CBOR parsing errors; checked when parsing / converting from CBOR. + CBOR_INVALID_INT32 = 0x0e, + CBOR_INVALID_DOUBLE = 0x0f, + CBOR_INVALID_ENVELOPE = 0x10, + CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH = 0x11, + CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE = 0x12, + CBOR_INVALID_STRING8 = 0x13, + CBOR_INVALID_STRING16 = 0x14, + CBOR_INVALID_BINARY = 0x15, + CBOR_UNSUPPORTED_VALUE = 0x16, + CBOR_UNEXPECTED_EOF_IN_ENVELOPE = 0x17, + CBOR_INVALID_START_BYTE = 0x18, + CBOR_UNEXPECTED_EOF_EXPECTED_VALUE = 0x19, + CBOR_UNEXPECTED_EOF_IN_ARRAY = 0x1a, + CBOR_UNEXPECTED_EOF_IN_MAP = 0x1b, + CBOR_INVALID_MAP_KEY = 0x1c, + CBOR_DUPLICATE_MAP_KEY = 0x1d, + CBOR_STACK_LIMIT_EXCEEDED = 0x1e, + CBOR_TRAILING_JUNK = 0x1f, + CBOR_MAP_START_EXPECTED = 0x20, + CBOR_MAP_STOP_EXPECTED = 0x21, + CBOR_ARRAY_START_EXPECTED = 0x22, + CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED = 0x23, + + // Message errors are constraints we place on protocol messages coming + // from a protocol client; these are checked in crdtp::Dispatchable + // (see dispatch.h) as it performs a shallow parse. + MESSAGE_MUST_BE_AN_OBJECT = 0x24, + MESSAGE_MUST_HAVE_INTEGER_ID_PROPERTY = 0x25, + MESSAGE_MUST_HAVE_STRING_METHOD_PROPERTY = 0x26, + MESSAGE_MAY_HAVE_STRING_SESSION_ID_PROPERTY = 0x27, + MESSAGE_MAY_HAVE_OBJECT_PARAMS_PROPERTY = 0x28, + MESSAGE_HAS_UNKNOWN_PROPERTY = 0x29, + + BINDINGS_MANDATORY_FIELD_MISSING = 0x30, + BINDINGS_BOOL_VALUE_EXPECTED = 0x31, + BINDINGS_INT32_VALUE_EXPECTED = 0x32, + BINDINGS_DOUBLE_VALUE_EXPECTED = 0x33, + BINDINGS_STRING_VALUE_EXPECTED = 0x34, + BINDINGS_STRING8_VALUE_EXPECTED = 0x35, + BINDINGS_BINARY_VALUE_EXPECTED = 0x36, + BINDINGS_DICTIONARY_VALUE_EXPECTED = 0x37, + BINDINGS_INVALID_BASE64_STRING = 0x38, +}; + +// A status value with position that can be copied. The default status +// is OK. Usually, error status values should come with a valid position. +struct CRDTP_EXPORT Status { + static constexpr size_t npos() { return std::numeric_limits<size_t>::max(); } + + bool ok() const { return error == Error::OK; } + + Error error = Error::OK; + size_t pos = npos(); + Status(Error error, size_t pos) : error(error), pos(pos) {} + Status() = default; + + bool IsMessageError() const { + return error >= Error::MESSAGE_MUST_BE_AN_OBJECT && + error <= Error::MESSAGE_HAS_UNKNOWN_PROPERTY; + } + + // Returns 7 bit US-ASCII string, either "OK" or an error message without + // position. + std::string Message() const; + + // Returns a 7 bit US-ASCII string, either "OK" or an error message that + // includes the position. + std::string ToASCIIString() const; +}; + +template <typename T> +class StatusOr { + public: + explicit StatusOr(const T& value) : value_(value) {} + explicit StatusOr(T&& value) : value_(std::move(value)) {} + explicit StatusOr(const Status& status) : status_(status) {} + + bool ok() const { return status_.ok(); } + const Status& status() const { return status_; } + T& operator*() & { return value(); } + const T& operator*() const& { return value(); } + T&& operator*() && { return value(); } + + T& value() & { + assert(ok()); + return value_; + } + T&& value() && { + assert(ok()); + return std::move(value_); + } + const T& value() const& { + assert(ok()); + return value_; + } + + private: + Status status_; + T value_; +}; + +} // namespace crdtp + +#endif // CRDTP_STATUS_H_ diff --git a/deps/inspector_protocol/crdtp/status_test.cc b/deps/inspector_protocol/crdtp/status_test.cc new file mode 100644 index 00000000000000..e25af39f0594be --- /dev/null +++ b/deps/inspector_protocol/crdtp/status_test.cc @@ -0,0 +1,29 @@ +// Copyright 2018 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "status.h" +#include "status_test_support.h" +#include "test_platform.h" + +namespace crdtp { +// ============================================================================= +// Status and Error codes +// ============================================================================= + +TEST(StatusTest, StatusToASCIIString) { + Status ok_status; + EXPECT_EQ("OK", ok_status.ToASCIIString()); + Status json_error(Error::JSON_PARSER_COLON_EXPECTED, 42); + EXPECT_EQ("JSON: colon expected at position 42", json_error.ToASCIIString()); + Status cbor_error(Error::CBOR_TRAILING_JUNK, 21); + EXPECT_EQ("CBOR: trailing junk at position 21", cbor_error.ToASCIIString()); +} + +TEST(StatusTest, StatusTestSupport) { + Status ok_status; + EXPECT_THAT(ok_status, StatusIsOk()); + Status json_error(Error::JSON_PARSER_COLON_EXPECTED, 42); + EXPECT_THAT(json_error, StatusIs(Error::JSON_PARSER_COLON_EXPECTED, 42)); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/status_test_support.cc b/deps/inspector_protocol/crdtp/status_test_support.cc new file mode 100644 index 00000000000000..3bf267a037906c --- /dev/null +++ b/deps/inspector_protocol/crdtp/status_test_support.cc @@ -0,0 +1,50 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "status_test_support.h" + +namespace crdtp { +void PrintTo(const Status& status, std::ostream* os) { + *os << status.ToASCIIString() << " (error: 0x" << std::hex + << static_cast<int>(status.error) << ", " + << "pos: " << std::dec << status.pos << ")"; +} + +namespace { +class StatusIsMatcher : public testing::MatcherInterface<Status> { + public: + explicit StatusIsMatcher(Status status) : expected_(status) {} + + bool MatchAndExplain(Status status, + testing::MatchResultListener* listener) const override { + return status.error == expected_.error && status.pos == expected_.pos; + } + + void DescribeTo(std::ostream* os) const override { + *os << "equals to "; + PrintTo(expected_, os); + } + + private: + Status expected_; +}; + +class StatusIsOkMatcher : public testing::MatcherInterface<Status> { + bool MatchAndExplain(Status status, + testing::MatchResultListener* listener) const override { + return status.ok(); + } + + void DescribeTo(std::ostream* os) const override { *os << "is ok"; } +}; +} // namespace + +testing::Matcher<Status> StatusIsOk() { + return MakeMatcher(new StatusIsOkMatcher()); +} + +testing::Matcher<Status> StatusIs(Error error, size_t pos) { + return MakeMatcher(new StatusIsMatcher(Status(error, pos))); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/status_test_support.h b/deps/inspector_protocol/crdtp/status_test_support.h new file mode 100644 index 00000000000000..5e2ee601e1855a --- /dev/null +++ b/deps/inspector_protocol/crdtp/status_test_support.h @@ -0,0 +1,32 @@ +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_STATUS_TEST_SUPPORT_H_ +#define CRDTP_STATUS_TEST_SUPPORT_H_ + +#include <ostream> +#include "status.h" +#include "test_platform.h" + +namespace crdtp { +// Supports gtest, to conveniently match Status objects and +// get useful error messages when tests fail. +// Typically used with EXPECT_THAT, e.g. +// +// EXPECT_THAT(status, StatusIs(Error::JSON_PARSER_COLON_EXPECTED, 42)); +// +// EXPECT_THAT(status, StatusIsOk()); + +// Prints a |status|, including its generated error message, error code, and +// position. This is used by gtest for pretty printing actual vs. expected. +void PrintTo(const Status& status, std::ostream* os); + +// Matches any status with |status.ok()|. +testing::Matcher<Status> StatusIsOk(); + +// Matches any status with |error| and |pos|. +testing::Matcher<Status> StatusIs(Error error, size_t pos); +} // namespace crdtp + +#endif // CRDTP_STATUS_TEST_SUPPORT_H_ diff --git a/deps/inspector_protocol/crdtp/test_platform.cc b/deps/inspector_protocol/crdtp/test_platform.cc new file mode 100644 index 00000000000000..bbd8d6cd9fefd4 --- /dev/null +++ b/deps/inspector_protocol/crdtp/test_platform.cc @@ -0,0 +1,33 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file is Chromium specific, to make the tests work. It will work +// in the standalone (upstream) build, as well as in Chromium. In other code +// bases (e.g. v8), a custom file with these two functions and with appropriate +// includes may need to be provided, so it isn't necessarily part of a roll. + +#include "test_platform.h" + +#include <cstdint> +#include <string> +#include <vector> +#include "base/strings/utf_string_conversions.h" + +namespace crdtp { +std::string UTF16ToUTF8(span<uint16_t> in) { + std::string out; + bool success = base::UTF16ToUTF8(reinterpret_cast<const char16_t*>(in.data()), + in.size(), &out); + CHECK(success); + return out; +} + +std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) { + std::u16string tmp; + bool success = base::UTF8ToUTF16(reinterpret_cast<const char*>(in.data()), + in.size(), &tmp); + CHECK(success); + return std::vector<uint16_t>(tmp.begin(), tmp.end()); +} +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/test_platform.h b/deps/inspector_protocol/crdtp/test_platform.h new file mode 100644 index 00000000000000..a512464be9f38e --- /dev/null +++ b/deps/inspector_protocol/crdtp/test_platform.h @@ -0,0 +1,31 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file is Chromium specific, to make the tests work. It will work +// in the standalone (upstream) build, as well as in Chromium. In other code +// bases (e.g. v8), a custom file with these two functions and with appropriate +// includes may need to be provided, so it isn't necessarily part of a roll. +// +// Put another way: The tests, e.g. json_test.cc include *only* test_platform.h, +// which provides CHECK and gunit functionality, and UTF8<->UTF16 conversion +// functions. + +#ifndef CRDTP_TEST_PLATFORM_H_ +#define CRDTP_TEST_PLATFORM_H_ + +#include <cstdint> +#include <string> +#include <vector> +#include "base/check_op.h" // Provides CHECK and CHECK_EQ, etc. +#include "span.h" +#include "testing/gmock/include/gmock/gmock.h" // Provides Gunit +#include "testing/gtest/include/gtest/gtest.h" // Provides Gmock + +// Provides UTF8<->UTF16 conversion routines (implemented in .cc file). +namespace crdtp { +std::string UTF16ToUTF8(span<uint16_t> in); +std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in); +} // namespace crdtp + +#endif // CRDTP_TEST_PLATFORM_H_ diff --git a/deps/inspector_protocol/crdtp/test_string_traits.cc b/deps/inspector_protocol/crdtp/test_string_traits.cc new file mode 100644 index 00000000000000..b328ae22805bd4 --- /dev/null +++ b/deps/inspector_protocol/crdtp/test_string_traits.cc @@ -0,0 +1,31 @@ +// Copyright 2021 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "test_string_traits.h" + +namespace crdtp { + +// Test-only. Real-life bindings use UTF8/16 conversions as needed. +bool ProtocolTypeTraits<std::string>::Deserialize(DeserializerState* state, + std::string* value) { + if (state->tokenizer()->TokenTag() == cbor::CBORTokenTag::STRING8) { + auto cbor_span = state->tokenizer()->GetString8(); + value->assign(reinterpret_cast<const char*>(cbor_span.data()), + cbor_span.size()); + return true; + } + state->RegisterError(Error::BINDINGS_STRING8_VALUE_EXPECTED); + return false; +} + +// static +void ProtocolTypeTraits<std::string>::Serialize(const std::string& value, + std::vector<uint8_t>* bytes) { + cbor::EncodeString8( + span<uint8_t>(reinterpret_cast<const uint8_t*>(value.data()), + value.size()), + bytes); +} + +} // namespace crdtp diff --git a/deps/inspector_protocol/crdtp/test_string_traits.h b/deps/inspector_protocol/crdtp/test_string_traits.h new file mode 100644 index 00000000000000..be9a8418784bb5 --- /dev/null +++ b/deps/inspector_protocol/crdtp/test_string_traits.h @@ -0,0 +1,21 @@ +// Copyright 2021 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CRDTP_TEST_STRING_TRAITS_H_ + +#include "protocol_core.h" + +namespace crdtp { + +// Either real string traits or dummy string traits are going to be used +// depending on whether this is built standalone or with embedder. +template <> +struct ProtocolTypeTraits<std::string> { + static bool Deserialize(DeserializerState* state, std::string* value); + static void Serialize(const std::string& value, std::vector<uint8_t>* bytes); +}; + +} // namespace crdtp + +#endif // CRDTP_TEST_STRING_TRAITS_H_ diff --git a/deps/inspector_protocol/crdtp/transcode.cc b/deps/inspector_protocol/crdtp/transcode.cc new file mode 100644 index 00000000000000..dee576d9ee8c2c --- /dev/null +++ b/deps/inspector_protocol/crdtp/transcode.cc @@ -0,0 +1,61 @@ +// Copyright 2019 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <fstream> +#include <iostream> +#include <sstream> +#include <string> + +#include "json.h" + +namespace crdtp { +namespace { +int Transcode(const std::string& cmd, + const std::string& input_file_name, + const std::string& output_file_name) { + std::ifstream input_file(input_file_name, std::ios::binary); + if (!input_file.is_open()) { + std::cerr << "failed to open " << input_file_name << "\n"; + return 1; + } + std::string in; + while (input_file) { + std::string buffer(1024, '\0'); + input_file.read(&buffer.front(), buffer.size()); + in += buffer.substr(0, input_file.gcount()); + } + Status status; + std::vector<uint8_t> out; + if (cmd == "--json-to-cbor") { + status = json::ConvertJSONToCBOR(SpanFrom(in), &out); + } else if (cmd == "--cbor-to-json") { + status = json::ConvertCBORToJSON(SpanFrom(in), &out); + } else { + std::cerr << "unknown command " << cmd << "\n"; + return 1; + } + if (!status.ok()) { + std::cerr << "transcoding error: " << status.ToASCIIString() << "\n"; + return 1; + } + std::ofstream output_file(output_file_name, std::ios::binary); + if (!output_file.is_open()) { + std::cerr << "failed to open " << output_file_name << "\n"; + return 1; + } + output_file.write(reinterpret_cast<const char*>(out.data()), out.size()); + return 0; +} +} // namespace +} // namespace crdtp + +int main(int argc, char** argv) { + if (argc == 4) + return ::crdtp::Transcode(argv[1], argv[2], argv[3]); + std::cerr << "usage: " << argv[0] + << " --json-to-cbor <input-file> <output-file>\n" + << " or " << argv[0] + << " --cbor-to-json <input-file> <output-file>\n"; + return 1; +} diff --git a/tools/inspector_protocol/inspector_protocol.gni b/deps/inspector_protocol/inspector_protocol.gni similarity index 62% rename from tools/inspector_protocol/inspector_protocol.gni rename to deps/inspector_protocol/inspector_protocol.gni index 3e934526b82ae1..4e2547a09ad658 100644 --- a/tools/inspector_protocol/inspector_protocol.gni +++ b/deps/inspector_protocol/inspector_protocol.gni @@ -1,7 +1,12 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. +# Copyright 2016 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +declare_args() { + # Where jinja2 is located, in chromium it is //third_party. + jinja_dir = "//third_party" +} + # This template will generate inspector protocol source code. The code will # not be compiled, use get_target_outputs(<name>) to compile them. # @@ -25,32 +30,14 @@ template("inspector_protocol_generate") { assert(defined(invoker.outputs)) assert(defined(invoker.inspector_protocol_dir)) inspector_protocol_dir = invoker.inspector_protocol_dir - + use_embedder_types = + defined(invoker.use_embedder_types) && invoker.use_embedder_types action(target_name) { script = "$inspector_protocol_dir/code_generator.py" inputs = [ invoker.config_file, - "$inspector_protocol_dir/lib/base_string_adapter_cc.template", - "$inspector_protocol_dir/lib/base_string_adapter_h.template", - "$inspector_protocol_dir/lib/encoding_h.template", - "$inspector_protocol_dir/lib/encoding_cpp.template", - "$inspector_protocol_dir/lib/Allocator_h.template", - "$inspector_protocol_dir/lib/DispatcherBase_cpp.template", - "$inspector_protocol_dir/lib/DispatcherBase_h.template", - "$inspector_protocol_dir/lib/ErrorSupport_cpp.template", - "$inspector_protocol_dir/lib/ErrorSupport_h.template", "$inspector_protocol_dir/lib/Forward_h.template", - "$inspector_protocol_dir/lib/FrontendChannel_h.template", - "$inspector_protocol_dir/lib/Maybe_h.template", - "$inspector_protocol_dir/lib/Object_cpp.template", - "$inspector_protocol_dir/lib/Object_h.template", - "$inspector_protocol_dir/lib/Parser_cpp.template", - "$inspector_protocol_dir/lib/Parser_h.template", - "$inspector_protocol_dir/lib/Protocol_cpp.template", - "$inspector_protocol_dir/lib/ValueConversions_h.template", - "$inspector_protocol_dir/lib/Values_cpp.template", - "$inspector_protocol_dir/lib/Values_h.template", "$inspector_protocol_dir/templates/Exported_h.template", "$inspector_protocol_dir/templates/Imported_h.template", "$inspector_protocol_dir/templates/TypeBuilder_cpp.template", @@ -59,16 +46,33 @@ template("inspector_protocol_generate") { if (defined(invoker.inputs)) { inputs += invoker.inputs } + if (!use_embedder_types) { + inputs += [ + "$inspector_protocol_dir/lib/ValueConversions_cpp.template", + "$inspector_protocol_dir/lib/ValueConversions_h.template", + "$inspector_protocol_dir/lib/Values_cpp.template", + "$inspector_protocol_dir/lib/Values_h.template", + "$inspector_protocol_dir/lib/Object_cpp.template", + "$inspector_protocol_dir/lib/Object_h.template", + ] + } args = [ "--jinja_dir", - rebase_path("//third_party/", root_build_dir), # jinja is in chromium's third_party + rebase_path(jinja_dir, root_build_dir), "--output_base", rebase_path(invoker.out_dir, root_build_dir), "--config", rebase_path(invoker.config_file, root_build_dir), + "--inspector_protocol_dir", + "$inspector_protocol_dir", ] - + if (use_embedder_types) { + args += [ + "--config_value", + "use_embedder_types=true", + ] + } if (defined(invoker.config_values)) { foreach(value, invoker.config_values) { args += [ diff --git a/deps/inspector_protocol/inspector_protocol.gyp b/deps/inspector_protocol/inspector_protocol.gyp new file mode 100644 index 00000000000000..0eb551c769f55d --- /dev/null +++ b/deps/inspector_protocol/inspector_protocol.gyp @@ -0,0 +1,43 @@ +{ + 'variables': { + 'crdtp_sources': [ + 'crdtp/cbor.cc', + 'crdtp/cbor.h', + 'crdtp/dispatch.cc', + 'crdtp/dispatch.h', + 'crdtp/error_support.cc', + 'crdtp/error_support.h', + 'crdtp/export.h', + 'crdtp/find_by_first.h', + 'crdtp/frontend_channel.h', + 'crdtp/json.cc', + 'crdtp/json.h', + 'crdtp/json_platform.cc', + 'crdtp/json_platform.h', + 'crdtp/maybe.h', + 'crdtp/parser_handler.h', + 'crdtp/protocol_core.cc', + 'crdtp/protocol_core.h', + 'crdtp/serializable.cc', + 'crdtp/serializable.h', + 'crdtp/span.cc', + 'crdtp/span.h', + 'crdtp/status.cc', + 'crdtp/status.h', + ] + }, + 'targets': [ + { + 'target_name': 'crdtp', + 'type': 'static_library', + 'include_dirs': [ '.' ], + 'direct_dependent_settings': { + # Use like `#include "crdtp/json.h"` + 'include_dirs': [ '.' ], + }, + 'sources': [ + '<@(crdtp_sources)', + ], + }, + ] +} diff --git a/tools/inspector_protocol/lib/Forward_h.template b/deps/inspector_protocol/lib/Forward_h.template similarity index 51% rename from tools/inspector_protocol/lib/Forward_h.template rename to deps/inspector_protocol/lib/Forward_h.template index a6c4b12feca013..4de0eeb803174b 100644 --- a/tools/inspector_protocol/lib/Forward_h.template +++ b/deps/inspector_protocol/lib/Forward_h.template @@ -1,6 +1,6 @@ // This file is generated by Forward_h.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,31 +10,58 @@ {% if config.lib.export_header %} #include {{format_include(config.lib.export_header)}} {% endif %} -#include {{format_include(config.lib.string_header)}} -#include <cstddef> #include <memory> #include <vector> -#include <unordered_map> -#include <unordered_set> + +#include "{{config.crdtp.dir}}/error_support.h" +#include "{{config.crdtp.dir}}/dispatch.h" +#include "{{config.crdtp.dir}}/frontend_channel.h" +#include "{{config.crdtp.dir}}/protocol_core.h" + +{% if config.use_embedder_types %} +#include {{format_include(config.lib.protocol_traits)}} +{% else %} +#include {{format_include(config.lib.string_header)}} +{% endif %} {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} +using DispatchResponse = {{config.crdtp.namespace}}::DispatchResponse; +using ErrorSupport = {{config.crdtp.namespace}}::ErrorSupport; +using Serializable = {{config.crdtp.namespace}}::Serializable; +using FrontendChannel = {{config.crdtp.namespace}}::FrontendChannel; +using DomainDispatcher = {{config.crdtp.namespace}}::DomainDispatcher; +using UberDispatcher = {{config.crdtp.namespace}}::UberDispatcher; +using Response = DispatchResponse; + +{% if config.use_embedder_types %} +using DictionaryValue = crdtp::traits::DictionaryValue; +using Object = crdtp::traits::DictionaryValue; +using ListValue = crdtp::traits::ListValue; +using Value = crdtp::traits::Value; +using String = crdtp::traits::String; +using Binary = crdtp::Binary; +{% else %} class DictionaryValue; -class DispatchResponse; -class ErrorSupport; class FundamentalValue; class ListValue; class Object; -using Response = DispatchResponse; class SerializedValue; class StringValue; -class UberDispatcher; class Value; +{% endif %} + +using {{config.crdtp.namespace}}::detail::PtrMaybe; +using {{config.crdtp.namespace}}::detail::ValueMaybe; + +template<typename T> +using Maybe = {{config.crdtp.namespace}}::Maybe<T>; namespace detail { + template <typename T> struct ArrayTypedef { typedef std::vector<std::unique_ptr<T>> type; }; @@ -49,6 +76,10 @@ struct ArrayTypedef<double> { typedef std::vector<double> type; }; template <> struct ArrayTypedef<bool> { typedef std::vector<bool> type; }; + +template <> +struct ArrayTypedef<Binary> { typedef std::vector<Binary> type; }; + } // namespace detail template <typename T> diff --git a/tools/inspector_protocol/lib/Object_cpp.template b/deps/inspector_protocol/lib/Object_cpp.template similarity index 84% rename from tools/inspector_protocol/lib/Object_cpp.template rename to deps/inspector_protocol/lib/Object_cpp.template index 1640a11127b442..2b08cee303d335 100644 --- a/tools/inspector_protocol/lib/Object_cpp.template +++ b/deps/inspector_protocol/lib/Object_cpp.template @@ -1,6 +1,6 @@ // This file is generated by Object_cpp.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -14,13 +14,18 @@ std::unique_ptr<Object> Object::fromValue(protocol::Value* value, ErrorSupport* { protocol::DictionaryValue* dictionary = DictionaryValue::cast(value); if (!dictionary) { - errors->addError("object expected"); + errors->AddError("object expected"); return nullptr; } dictionary = static_cast<protocol::DictionaryValue*>(dictionary->clone().release()); return std::unique_ptr<Object>(new Object(std::unique_ptr<DictionaryValue>(dictionary))); } +// Implements Serializable. +void Object::AppendSerialized(std::vector<uint8_t>* out) const { + m_object->AppendSerialized(out); +} + std::unique_ptr<protocol::DictionaryValue> Object::toValue() const { return DictionaryValue::cast(m_object->clone()); diff --git a/tools/inspector_protocol/lib/Object_h.template b/deps/inspector_protocol/lib/Object_h.template similarity index 69% rename from tools/inspector_protocol/lib/Object_h.template rename to deps/inspector_protocol/lib/Object_h.template index ec953d0d4836a4..fe4df6b9cc7d5e 100644 --- a/tools/inspector_protocol/lib/Object_h.template +++ b/deps/inspector_protocol/lib/Object_h.template @@ -1,6 +1,6 @@ // This file is generated by Object_h.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -11,19 +11,28 @@ //#include "Forward.h" //#include "Values.h" +#include "{{config.crdtp.dir}}/serializable.h" + {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} -class {{config.lib.export_macro}} Object { +class {{config.lib.export_macro}} Object : public {{config.crdtp.namespace}}::Serializable { public: static std::unique_ptr<Object> fromValue(protocol::Value*, ErrorSupport*); explicit Object(std::unique_ptr<protocol::DictionaryValue>); ~Object(); + // Implements Serializable. + void AppendSerialized(std::vector<uint8_t>* out) const override; + std::unique_ptr<protocol::DictionaryValue> toValue() const; std::unique_ptr<Object> clone() const; + private: + Object() = default; + friend struct {{config.crdtp.namespace}}::ProtocolTypeTraits<std::unique_ptr<Object>, void>; + std::unique_ptr<protocol::DictionaryValue> m_object; }; diff --git a/tools/inspector_protocol/lib/Protocol_cpp.template b/deps/inspector_protocol/lib/Protocol_cpp.template similarity index 83% rename from tools/inspector_protocol/lib/Protocol_cpp.template rename to deps/inspector_protocol/lib/Protocol_cpp.template index 88303a27ab9e7e..84bd6e70d6b200 100644 --- a/tools/inspector_protocol/lib/Protocol_cpp.template +++ b/deps/inspector_protocol/lib/Protocol_cpp.template @@ -1,6 +1,6 @@ // This file is generated by Protocol_cpp.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/deps/inspector_protocol/lib/ValueConversions_cpp.template b/deps/inspector_protocol/lib/ValueConversions_cpp.template new file mode 100644 index 00000000000000..d2ab41a2dbab6a --- /dev/null +++ b/deps/inspector_protocol/lib/ValueConversions_cpp.template @@ -0,0 +1,127 @@ +// This file is generated by ValueConversions_cpp.template. + +// Copyright 2020 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include {{format_include(config.protocol.package, "Protocol")}} + +#include <algorithm> +#include <climits> +#include <string> + +//#include "ValueConversions.h" +//#include "Values.h" + +{% for namespace in config.protocol.namespace %} +namespace {{namespace}} { +{% endfor %} + +{% for namespace in config.protocol.namespace %} +} // namespace +{% endfor %} + + +namespace {{config.crdtp.namespace}} { + +namespace { + +using {{"::".join(config.protocol.namespace)}}::Binary; +using {{"::".join(config.protocol.namespace)}}::Object; +using {{"::".join(config.protocol.namespace)}}::Value; +using {{"::".join(config.protocol.namespace)}}::String; +using {{"::".join(config.protocol.namespace)}}::DictionaryValue; +using {{"::".join(config.protocol.namespace)}}::FundamentalValue; +using {{"::".join(config.protocol.namespace)}}::StringValue; +using {{"::".join(config.protocol.namespace)}}::StringUtil; +//using {{"::".join(config.protocol.namespace)}}::EncodeString; + +std::unique_ptr<Value> ReadValue(DeserializerState* state) { + cbor::CBORTokenizer* tokenizer = state->tokenizer(); + switch (tokenizer->TokenTag()) { + case cbor::CBORTokenTag::TRUE_VALUE: + return FundamentalValue::create(true); + case cbor::CBORTokenTag::FALSE_VALUE: + return FundamentalValue::create(false); + case cbor::CBORTokenTag::NULL_VALUE: + return Value::null(); + case cbor::CBORTokenTag::INT32: + return FundamentalValue::create(tokenizer->GetInt32()); + case cbor::CBORTokenTag::DOUBLE: + return FundamentalValue::create(tokenizer->GetDouble()); + case cbor::CBORTokenTag::STRING8: { + const auto str = tokenizer->GetString8(); + return StringValue::create(StringUtil::fromUTF8(str.data(), str.size())); + } + case cbor::CBORTokenTag::STRING16: { + const auto str = tokenizer->GetString16WireRep(); + return StringValue::create(StringUtil::fromUTF16LE(reinterpret_cast<const uint16_t*>(str.data()), str.size() / 2)); + } + case cbor::CBORTokenTag::ENVELOPE: { + const auto env = tokenizer->GetEnvelope(); + return Value::parseBinary(env.data(), env.size()); + } + // Intentionally not supported. + case cbor::CBORTokenTag::BINARY: + // Should not be encountered outside of envelope. + case cbor::CBORTokenTag::MAP_START: + case cbor::CBORTokenTag::ARRAY_START: + default: + state->RegisterError(Error::CBOR_UNSUPPORTED_VALUE); + return nullptr; + } +} + +} // namespace + +// static +bool ProtocolTypeTraits<std::unique_ptr<Value>>::Deserialize( + DeserializerState* state, std::unique_ptr<Value>* value) { + auto result = ReadValue(state); + if (!result) + return false; + *value = std::move(result); + return true; +} + +// static +void ProtocolTypeTraits<std::unique_ptr<Value>>::Serialize( + const std::unique_ptr<Value>& value, std::vector<uint8_t>* bytes) { + value->AppendSerialized(bytes); +} + +// static +bool ProtocolTypeTraits<std::unique_ptr<DictionaryValue>>::Deserialize( + DeserializerState* state, std::unique_ptr<DictionaryValue>* value) { + std::unique_ptr<Value> res; + if (!ProtocolTypeTraits<std::unique_ptr<Value>>::Deserialize(state, &res)) + return false; + if (res->type() != Value::TypeObject) { + state->RegisterError(Error::BINDINGS_DICTIONARY_VALUE_EXPECTED); + return false; + } + *value = DictionaryValue::cast(std::move(res)); + return true; +} + +// static +void ProtocolTypeTraits<std::unique_ptr<DictionaryValue>>::Serialize( + const std::unique_ptr<DictionaryValue>& value, std::vector<uint8_t>* bytes) { + value->AppendSerialized(bytes); +} + +// static +bool ProtocolTypeTraits<std::unique_ptr<Object>>::Deserialize(DeserializerState* state, std::unique_ptr<Object>* value) { + auto res = DictionaryValue::create(); + if (ProtocolTypeTraits<std::unique_ptr<DictionaryValue>>::Deserialize(state, &res)) { + *value = std::make_unique<Object>(std::move(res)); + return true; + } + return false; +} + +void ProtocolTypeTraits<std::unique_ptr<Object>>::Serialize(const std::unique_ptr<Object>& value, std::vector<uint8_t>* bytes) { + value->AppendSerialized(bytes); +} + +} // namespace {{config.crdtp.namespace}} diff --git a/tools/inspector_protocol/lib/ValueConversions_h.template b/deps/inspector_protocol/lib/ValueConversions_h.template similarity index 68% rename from tools/inspector_protocol/lib/ValueConversions_h.template rename to deps/inspector_protocol/lib/ValueConversions_h.template index 63baf689c6e11c..bf05014f10154f 100644 --- a/tools/inspector_protocol/lib/ValueConversions_h.template +++ b/deps/inspector_protocol/lib/ValueConversions_h.template @@ -1,6 +1,6 @@ // This file is generated by ValueConversions_h.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -40,7 +40,7 @@ struct ValueConversions<bool> { bool result = false; bool success = value ? value->asBoolean(&result) : false; if (!success) - errors->addError("boolean value expected"); + errors->AddError("boolean value expected"); return result; } @@ -57,7 +57,7 @@ struct ValueConversions<int> { int result = 0; bool success = value ? value->asInteger(&result) : false; if (!success) - errors->addError("integer value expected"); + errors->AddError("integer value expected"); return result; } @@ -74,7 +74,7 @@ struct ValueConversions<double> { double result = 0; bool success = value ? value->asDouble(&result) : false; if (!success) - errors->addError("double value expected"); + errors->AddError("double value expected"); return result; } @@ -91,7 +91,7 @@ struct ValueConversions<String> { String result; bool success = value ? value->asString(&result) : false; if (!success) - errors->addError("string value expected"); + errors->AddError("string value expected"); return result; } @@ -107,7 +107,7 @@ struct ValueConversions<Binary> { { if (!value || (value->type() != Value::TypeBinary && value->type() != Value::TypeString)) { - errors->addError("Either string base64 or binary value expected"); + errors->AddError("Either string base64 or binary value expected"); return Binary(); } Binary binary; @@ -118,7 +118,7 @@ struct ValueConversions<Binary> { bool success; Binary out = Binary::fromBase64(result, &success); if (!success) - errors->addError("base64 decoding error"); + errors->AddError("base64 decoding error"); return out; } @@ -133,20 +133,20 @@ struct ValueConversions<std::vector<std::unique_ptr<T>>> { static std::unique_ptr<std::vector<std::unique_ptr<T>>> fromValue(protocol::Value* value, ErrorSupport* errors) { protocol::ListValue* array = ListValue::cast(value); if (!array) { - errors->addError("array expected"); + errors->AddError("array expected"); return nullptr; } - errors->push(); + errors->Push(); std::unique_ptr<std::vector<std::unique_ptr<T>>> result( new std::vector<std::unique_ptr<T>>()); result->reserve(array->size()); for (size_t i = 0; i < array->size(); ++i) { - errors->setName(StringUtil::fromInteger(i)); + errors->SetIndex(i); auto item = ValueConversions<T>::fromValue(array->at(i), errors); result->emplace_back(std::move(item)); } - errors->pop(); - if (errors->hasErrors()) + errors->Pop(); + if (!errors->Errors().empty()) return nullptr; return result; } @@ -167,19 +167,19 @@ struct ValueConversions<std::vector<T>> { static std::unique_ptr<std::vector<T>> fromValue(protocol::Value* value, ErrorSupport* errors) { protocol::ListValue* array = ListValue::cast(value); if (!array) { - errors->addError("array expected"); + errors->AddError("array expected"); return nullptr; } - errors->push(); + errors->Push(); std::unique_ptr<std::vector<T>> result(new std::vector<T>()); result->reserve(array->size()); for (size_t i = 0; i < array->size(); ++i) { - errors->setName(StringUtil::fromInteger(i)); + errors->SetIndex(i); auto item = ValueConversions<T>::fromValue(array->at(i), errors); result->emplace_back(std::move(item)); } - errors->pop(); - if (errors->hasErrors()) + errors->Pop(); + if (!errors->Errors().empty()) return nullptr; return result; } @@ -200,7 +200,7 @@ struct ValueConversions<Value> { { bool success = !!value; if (!success) { - errors->addError("value expected"); + errors->AddError("value expected"); return nullptr; } return value->clone(); @@ -223,7 +223,7 @@ struct ValueConversions<DictionaryValue> { { bool success = value && value->type() == protocol::Value::TypeObject; if (!success) - errors->addError("object expected"); + errors->AddError("object expected"); return DictionaryValue::cast(value->clone()); } @@ -244,7 +244,7 @@ struct ValueConversions<ListValue> { { bool success = value && value->type() == protocol::Value::TypeArray; if (!success) - errors->addError("list expected"); + errors->AddError("list expected"); return ListValue::cast(value->clone()); } @@ -259,8 +259,61 @@ struct ValueConversions<ListValue> { } }; +template<typename T> struct ValueTypeConverter { + static std::unique_ptr<T> FromValue(const protocol::Value& value) { + std::vector<uint8_t> bytes; + value.AppendSerialized(&bytes); + return T::FromBinary(bytes.data(), bytes.size()); + } + + static std::unique_ptr<protocol::DictionaryValue> ToValue(const T& obj) { + std::vector<uint8_t> bytes; + obj.AppendSerialized(&bytes); + auto result = Value::parseBinary(bytes.data(), bytes.size()); + return DictionaryValue::cast(std::move(result)); + } +}; + {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} +namespace {{config.crdtp.namespace}} { + +template<typename T> +struct ProtocolTypeTraits<T, + typename std::enable_if<std::is_base_of<{{"::".join(config.protocol.namespace)}}::Value, T>::value>::type> { + static void Serialize(const {{"::".join(config.protocol.namespace)}}::Value& value, std::vector<uint8_t>* bytes) { + value.AppendSerialized(bytes); + } +}; + +template <> +struct ProtocolTypeTraits<std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Value>> { + static bool Deserialize(DeserializerState* state, std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Value>* value); + static void Serialize(const std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Value>& value, std::vector<uint8_t>* bytes); +}; + +template <> +struct ProtocolTypeTraits<std::unique_ptr<{{"::".join(config.protocol.namespace)}}::DictionaryValue>> { + static bool Deserialize(DeserializerState* state, std::unique_ptr<{{"::".join(config.protocol.namespace)}}::DictionaryValue>* value); + static void Serialize(const std::unique_ptr<{{"::".join(config.protocol.namespace)}}::DictionaryValue>& value, std::vector<uint8_t>* bytes); +}; + +// TODO(caseq): get rid of it, it's just a DictionaryValue really. +template <> +struct ProtocolTypeTraits<std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Object>> { + static bool Deserialize(DeserializerState* state, std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Object>* value); + static void Serialize(const std::unique_ptr<{{"::".join(config.protocol.namespace)}}::Object>& value, std::vector<uint8_t>* bytes); +}; + +template<> +struct ProtocolTypeTraits<{{"::".join(config.protocol.namespace)}}::Object> { + static void Serialize(const {{"::".join(config.protocol.namespace)}}::Object& value, std::vector<uint8_t>* bytes) { + value.AppendSerialized(bytes); + } +}; + +} // namespace {{config.crdtp.namespace}} + #endif // !defined({{"_".join(config.protocol.namespace)}}_ValueConversions_h) diff --git a/deps/inspector_protocol/lib/Values_cpp.template b/deps/inspector_protocol/lib/Values_cpp.template new file mode 100644 index 00000000000000..dbc51694db2fa6 --- /dev/null +++ b/deps/inspector_protocol/lib/Values_cpp.template @@ -0,0 +1,542 @@ +// This file is generated by Values_cpp.template. + +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +//#include "Values.h" + +#include "{{config.crdtp.dir}}/cbor.h" + +{% for namespace in config.protocol.namespace %} +namespace {{namespace}} { +{% endfor %} + +namespace { +using {{config.crdtp.namespace}}::Status; +using {{config.crdtp.namespace}}::ParserHandler; +using {{config.crdtp.namespace}}::span; +namespace cbor { +using {{config.crdtp.namespace}}::cbor::ParseCBOR; +using {{config.crdtp.namespace}}::cbor::EncodeBinary; +using {{config.crdtp.namespace}}::cbor::EncodeDouble; +using {{config.crdtp.namespace}}::cbor::EncodeFalse; +using {{config.crdtp.namespace}}::cbor::EncodeFromLatin1; +using {{config.crdtp.namespace}}::cbor::EncodeFromUTF16; +using {{config.crdtp.namespace}}::cbor::EncodeIndefiniteLengthArrayStart; +using {{config.crdtp.namespace}}::cbor::EncodeIndefiniteLengthMapStart; +using {{config.crdtp.namespace}}::cbor::EncodeInt32; +using {{config.crdtp.namespace}}::cbor::EncodeNull; +using {{config.crdtp.namespace}}::cbor::EncodeStop; +using {{config.crdtp.namespace}}::cbor::EncodeString8; +using {{config.crdtp.namespace}}::cbor::EncodeTrue; +using {{config.crdtp.namespace}}::cbor::EnvelopeEncoder; +} // namespace cbor + +// Uses the parsing events received from driver of |ParserHandler| +// (e.g. cbor::ParseCBOR) into a protocol::Value instance. +class ValueParserHandler : public ParserHandler { + public: + // Provides the parsed protocol::Value. + std::unique_ptr<Value> ReleaseRoot() { return std::move(root_); } + + // The first parsing error encountered; |status().ok()| is the default. + Status status() const { return status_; } + + private: + // + // Implementation of ParserHandler. + // + void HandleMapBegin() override { + if (!status_.ok()) return; + std::unique_ptr<DictionaryValue> dict = DictionaryValue::create(); + DictionaryValue* dict_ptr = dict.get(); + AddValueToParent(std::move(dict)); + stack_.emplace_back(dict_ptr); + } + + void HandleMapEnd() override { + if (!status_.ok()) return; + DCHECK(!stack_.empty()); + DCHECK(stack_.back().is_dict); + stack_.pop_back(); + } + + void HandleArrayBegin() override { + if (!status_.ok()) return; + std::unique_ptr<ListValue> list = ListValue::create(); + ListValue* list_ptr = list.get(); + AddValueToParent(std::move(list)); + stack_.emplace_back(list_ptr); + } + + void HandleArrayEnd() override { + if (!status_.ok()) return; + DCHECK(!stack_.empty()); + DCHECK(!stack_.back().is_dict); + stack_.pop_back(); + } + + void HandleString8(span<uint8_t> chars) override { + AddStringToParent(StringUtil::fromUTF8(chars.data(), chars.size())); + } + + void HandleString16(span<uint16_t> chars) override { + AddStringToParent( + StringUtil::fromUTF16LE(chars.data(), chars.size())); + } + + void HandleBinary(span<uint8_t> bytes) override { + AddValueToParent( + BinaryValue::create(Binary::fromSpan(bytes.data(), bytes.size()))); + } + + void HandleDouble(double value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleInt32(int32_t value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleBool(bool value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleNull() override { + AddValueToParent(Value::null()); + } + + void HandleError(Status error) override { + status_ = error; + } + + // + // Adding strings and values to the parent value. + // Strings are handled separately because they can be keys for + // dictionary values. + // + void AddStringToParent(String str) { + if (!status_.ok()) return; + if (!root_) { + DCHECK(!key_is_pending_); + root_ = StringValue::create(str); + } else if (stack_.back().is_dict) { + // If we already have a pending key, then this is the value of the + // key/value pair. Otherwise, it's the new pending key. + if (key_is_pending_) { + stack_.back().dict->setString(pending_key_, str); + key_is_pending_ = false; + } else { + pending_key_ = std::move(str); + key_is_pending_ = true; + } + } else { // Top of the stack is a list. + DCHECK(!key_is_pending_); + stack_.back().list->pushValue(StringValue::create(str)); + } + } + + void AddValueToParent(std::unique_ptr<Value> value) { + if (!status_.ok()) return; + if (!root_) { + DCHECK(!key_is_pending_); + root_ = std::move(value); + } else if (stack_.back().is_dict) { + DCHECK(key_is_pending_); + stack_.back().dict->setValue(pending_key_, std::move(value)); + key_is_pending_ = false; + } else { // Top of the stack is a list. + DCHECK(!key_is_pending_); + stack_.back().list->pushValue(std::move(value)); + } + } + + // |status_.ok()| is the default; if we receive an error event + // we keep the first one and stop modifying any other state. + Status status_; + + // The root of the parsed protocol::Value tree. + std::unique_ptr<Value> root_; + + // If root_ is a list or a dictionary, this stack keeps track of + // the container we're currently parsing as well as its ancestors. + struct ContainerState { + ContainerState(DictionaryValue* dict) : is_dict(true), dict(dict) {} + ContainerState(ListValue* list) : is_dict(false), list(list) {} + + bool is_dict; + union { + DictionaryValue* dict; + ListValue* list; + }; + }; + std::vector<ContainerState> stack_; + + // For maps, keys and values are alternating events, so we keep the + // key around and process it when the value arrives. + bool key_is_pending_ = false; + String pending_key_; +}; +} // anonymous namespace + +// static +std::unique_ptr<Value> Value::parseBinary(const uint8_t* data, size_t size) { + ValueParserHandler handler; + cbor::ParseCBOR(span<uint8_t>(data, size), &handler); + // TODO(johannes): We have decent error info in handler.status(); provide + // a richer interface that makes this available to client code. + if (handler.status().ok()) + return handler.ReleaseRoot(); + return nullptr; +} + +bool Value::asBoolean(bool*) const +{ + return false; +} + +bool Value::asDouble(double*) const +{ + return false; +} + +bool Value::asInteger(int*) const +{ + return false; +} + +bool Value::asString(String*) const +{ + return false; +} + +bool Value::asBinary(Binary*) const +{ + return false; +} + +void Value::AppendSerialized(std::vector<uint8_t>* bytes) const { + DCHECK(m_type == TypeNull); + bytes->push_back(cbor::EncodeNull()); +} + +std::unique_ptr<Value> Value::clone() const +{ + return Value::null(); +} + +bool FundamentalValue::asBoolean(bool* output) const +{ + if (type() != TypeBoolean) + return false; + *output = m_boolValue; + return true; +} + +bool FundamentalValue::asDouble(double* output) const +{ + if (type() == TypeDouble) { + *output = m_doubleValue; + return true; + } + if (type() == TypeInteger) { + *output = m_integerValue; + return true; + } + return false; +} + +bool FundamentalValue::asInteger(int* output) const +{ + if (type() != TypeInteger) + return false; + *output = m_integerValue; + return true; +} + +void FundamentalValue::AppendSerialized(std::vector<uint8_t>* bytes) const { + switch (type()) { + case TypeDouble: + cbor::EncodeDouble(m_doubleValue, bytes); + return; + case TypeInteger: + cbor::EncodeInt32(m_integerValue, bytes); + return; + case TypeBoolean: + bytes->push_back(m_boolValue ? cbor::EncodeTrue() : cbor::EncodeFalse()); + return; + default: + DCHECK(false); + } +} + +std::unique_ptr<Value> FundamentalValue::clone() const +{ + switch (type()) { + case TypeDouble: return FundamentalValue::create(m_doubleValue); + case TypeInteger: return FundamentalValue::create(m_integerValue); + case TypeBoolean: return FundamentalValue::create(m_boolValue); + default: + DCHECK(false); + } + return nullptr; +} + +bool StringValue::asString(String* output) const +{ + *output = m_stringValue; + return true; +} + +namespace { +// This routine distinguishes between the current encoding for a given +// string |s|, and calls encoding routines that will +// - Ensure that all ASCII strings end up being encoded as UTF8 in +// the wire format - e.g., EncodeFromUTF16 will detect ASCII and +// do the (trivial) transcode to STRING8 on the wire, but if it's +// not ASCII it'll do STRING16. +// - Select a format that's cheap to convert to. E.g., we don't +// have LATIN1 on the wire, so we call EncodeFromLatin1 which +// transcodes to UTF8 if needed. +void EncodeString(const String& s, std::vector<uint8_t>* out) { + if (StringUtil::CharacterCount(s) == 0) { + cbor::EncodeString8(span<uint8_t>(nullptr, 0), out); // Empty string. + } else if (StringUtil::CharactersLatin1(s)) { + cbor::EncodeFromLatin1(span<uint8_t>(StringUtil::CharactersLatin1(s), + StringUtil::CharacterCount(s)), + out); + } else if (StringUtil::CharactersUTF16(s)) { + cbor::EncodeFromUTF16(span<uint16_t>(StringUtil::CharactersUTF16(s), + StringUtil::CharacterCount(s)), + out); + } else if (StringUtil::CharactersUTF8(s)) { + cbor::EncodeString8(span<uint8_t>(StringUtil::CharactersUTF8(s), + StringUtil::CharacterCount(s)), + out); + } +} +} // namespace +void StringValue::AppendSerialized(std::vector<uint8_t>* bytes) const { + EncodeString(m_stringValue, bytes); +} + +std::unique_ptr<Value> StringValue::clone() const +{ + return StringValue::create(m_stringValue); +} + +bool BinaryValue::asBinary(Binary* output) const +{ + *output = m_binaryValue; + return true; +} + +void BinaryValue::AppendSerialized(std::vector<uint8_t>* bytes) const { + cbor::EncodeBinary(span<uint8_t>(m_binaryValue.data(), + m_binaryValue.size()), bytes); +} + +std::unique_ptr<Value> BinaryValue::clone() const +{ + return BinaryValue::create(m_binaryValue); +} + + +DictionaryValue::~DictionaryValue() +{ +} + +void DictionaryValue::setBoolean(const String& name, bool value) +{ + setValue(name, FundamentalValue::create(value)); +} + +void DictionaryValue::setInteger(const String& name, int value) +{ + setValue(name, FundamentalValue::create(value)); +} + +void DictionaryValue::setDouble(const String& name, double value) +{ + setValue(name, FundamentalValue::create(value)); +} + +void DictionaryValue::setString(const String& name, const String& value) +{ + setValue(name, StringValue::create(value)); +} + +void DictionaryValue::setValue(const String& name, std::unique_ptr<Value> value) +{ + set(name, value); +} + +void DictionaryValue::setObject(const String& name, std::unique_ptr<DictionaryValue> value) +{ + set(name, value); +} + +void DictionaryValue::setArray(const String& name, std::unique_ptr<ListValue> value) +{ + set(name, value); +} + +bool DictionaryValue::getBoolean(const String& name, bool* output) const +{ + protocol::Value* value = get(name); + if (!value) + return false; + return value->asBoolean(output); +} + +bool DictionaryValue::getInteger(const String& name, int* output) const +{ + Value* value = get(name); + if (!value) + return false; + return value->asInteger(output); +} + +bool DictionaryValue::getDouble(const String& name, double* output) const +{ + Value* value = get(name); + if (!value) + return false; + return value->asDouble(output); +} + +bool DictionaryValue::getString(const String& name, String* output) const +{ + protocol::Value* value = get(name); + if (!value) + return false; + return value->asString(output); +} + +DictionaryValue* DictionaryValue::getObject(const String& name) const +{ + return DictionaryValue::cast(get(name)); +} + +protocol::ListValue* DictionaryValue::getArray(const String& name) const +{ + return ListValue::cast(get(name)); +} + +protocol::Value* DictionaryValue::get(const String& name) const +{ + Dictionary::const_iterator it = m_data.find(name); + if (it == m_data.end()) + return nullptr; + return it->second.get(); +} + +DictionaryValue::Entry DictionaryValue::at(size_t index) const +{ + const String key = m_order[index]; + return std::make_pair(key, m_data.find(key)->second.get()); +} + +bool DictionaryValue::booleanProperty(const String& name, bool defaultValue) const +{ + bool result = defaultValue; + getBoolean(name, &result); + return result; +} + +int DictionaryValue::integerProperty(const String& name, int defaultValue) const +{ + int result = defaultValue; + getInteger(name, &result); + return result; +} + +double DictionaryValue::doubleProperty(const String& name, double defaultValue) const +{ + double result = defaultValue; + getDouble(name, &result); + return result; +} + +void DictionaryValue::remove(const String& name) +{ + m_data.erase(name); + m_order.erase(std::remove(m_order.begin(), m_order.end(), name), m_order.end()); +} + +void DictionaryValue::AppendSerialized(std::vector<uint8_t>* bytes) const { + cbor::EnvelopeEncoder encoder; + encoder.EncodeStart(bytes); + bytes->push_back(cbor::EncodeIndefiniteLengthMapStart()); + for (size_t i = 0; i < m_order.size(); ++i) { + const String& key = m_order[i]; + Dictionary::const_iterator value = m_data.find(key); + DCHECK(value != m_data.cend() && value->second); + EncodeString(key, bytes); + value->second->AppendSerialized(bytes); + } + bytes->push_back(cbor::EncodeStop()); + encoder.EncodeStop(bytes); +} + +std::unique_ptr<Value> DictionaryValue::clone() const +{ + std::unique_ptr<DictionaryValue> result = DictionaryValue::create(); + for (size_t i = 0; i < m_order.size(); ++i) { + String key = m_order[i]; + Dictionary::const_iterator value = m_data.find(key); + DCHECK(value != m_data.cend() && value->second); + result->setValue(key, value->second->clone()); + } + return result; +} + +DictionaryValue::DictionaryValue() + : Value(TypeObject) +{ +} + +ListValue::~ListValue() +{ +} + +void ListValue::AppendSerialized(std::vector<uint8_t>* bytes) const { + cbor::EnvelopeEncoder encoder; + encoder.EncodeStart(bytes); + bytes->push_back(cbor::EncodeIndefiniteLengthArrayStart()); + for (size_t i = 0; i < m_data.size(); ++i) { + m_data[i]->AppendSerialized(bytes); + } + bytes->push_back(cbor::EncodeStop()); + encoder.EncodeStop(bytes); +} + +std::unique_ptr<Value> ListValue::clone() const +{ + std::unique_ptr<ListValue> result = ListValue::create(); + for (const std::unique_ptr<protocol::Value>& value : m_data) + result->pushValue(value->clone()); + return result; +} + +ListValue::ListValue() + : Value(TypeArray) +{ +} + +void ListValue::pushValue(std::unique_ptr<protocol::Value> value) +{ + DCHECK(value); + m_data.push_back(std::move(value)); +} + +protocol::Value* ListValue::at(size_t index) +{ + DCHECK_LT(index, m_data.size()); + return m_data[index].get(); +} + +{% for namespace in config.protocol.namespace %} +} // namespace {{namespace}} +{% endfor %} diff --git a/tools/inspector_protocol/lib/Values_h.template b/deps/inspector_protocol/lib/Values_h.template similarity index 74% rename from tools/inspector_protocol/lib/Values_h.template rename to deps/inspector_protocol/lib/Values_h.template index 4d6fde07d4df2c..30cd0e16323517 100644 --- a/tools/inspector_protocol/lib/Values_h.template +++ b/deps/inspector_protocol/lib/Values_h.template @@ -1,6 +1,6 @@ // This file is generated by Values_h.template. -// Copyright 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,6 +10,13 @@ //#include "Allocator.h" //#include "Forward.h" +#include <memory> +#include <unordered_map> +#include <utility> +#include <vector> + +#include {{format_include(config.protocol.package, "Forward")}} + {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} @@ -18,6 +25,11 @@ class ListValue; class DictionaryValue; class Value; +#define PROTOCOL_DISALLOW_COPY(ClassName) \ + private: \ + ClassName(const ClassName&) = delete; \ + ClassName& operator=(const ClassName&) = delete + class {{config.lib.export_macro}} Value : public Serializable { PROTOCOL_DISALLOW_COPY(Value); public: @@ -39,7 +51,6 @@ public: TypeBinary, TypeObject, TypeArray, - TypeSerialized, TypeImported }; @@ -53,12 +64,8 @@ public: virtual bool asString(String* output) const; virtual bool asBinary(Binary* output) const; - virtual void writeJSON(StringBuilder* output) const; - virtual void writeBinary(std::vector<uint8_t>* bytes) const; + virtual void AppendSerialized(std::vector<uint8_t>* bytes) const override; virtual std::unique_ptr<Value> clone() const; - String toJSONString() const; - String serializeToJSON() override; - std::vector<uint8_t> serializeToBinary() override; protected: Value() : m_type(TypeNull) { } @@ -91,8 +98,7 @@ public: bool asBoolean(bool* output) const override; bool asDouble(double* output) const override; bool asInteger(int* output) const override; - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; + void AppendSerialized(std::vector<uint8_t>* bytes) const override; std::unique_ptr<Value> clone() const override; private: @@ -120,8 +126,7 @@ public: } bool asString(String* output) const override; - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; + void AppendSerialized(std::vector<uint8_t>* bytes) const override; std::unique_ptr<Value> clone() const override; private: @@ -139,8 +144,7 @@ public: } bool asBinary(Binary* output) const override; - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; + void AppendSerialized(std::vector<uint8_t>* bytes) const override; std::unique_ptr<Value> clone() const override; private: @@ -149,31 +153,6 @@ private: Binary m_binaryValue; }; -class {{config.lib.export_macro}} SerializedValue : public Value { -public: - static std::unique_ptr<SerializedValue> fromJSON(const String& value) - { - return std::unique_ptr<SerializedValue>(new SerializedValue(value)); - } - - static std::unique_ptr<SerializedValue> fromBinary(std::vector<uint8_t> value) - { - return std::unique_ptr<SerializedValue>(new SerializedValue(std::move(value))); - } - - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; - std::unique_ptr<Value> clone() const override; - -private: - explicit SerializedValue(const String& json) : Value(TypeSerialized), m_serializedJSON(json) { } - explicit SerializedValue(std::vector<uint8_t> binary) : Value(TypeSerialized), m_serializedBinary(std::move(binary)) { } - SerializedValue(const String& json, const std::vector<uint8_t>& binary) - : Value(TypeSerialized), m_serializedJSON(json), m_serializedBinary(binary) { } - String m_serializedJSON; - std::vector<uint8_t> m_serializedBinary; -}; - class {{config.lib.export_macro}} DictionaryValue : public Value { public: using Entry = std::pair<String, Value*>; @@ -191,11 +170,12 @@ public: static std::unique_ptr<DictionaryValue> cast(std::unique_ptr<Value> value) { - return std::unique_ptr<DictionaryValue>(DictionaryValue::cast(value.release())); + DictionaryValue* dictionaryValue = cast(value.get()); + if (dictionaryValue) value.release(); + return std::unique_ptr<DictionaryValue>(dictionaryValue); } - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; + void AppendSerialized(std::vector<uint8_t>* bytes) const override; std::unique_ptr<Value> clone() const override; size_t size() const { return m_data.size(); } @@ -258,13 +238,14 @@ public: static std::unique_ptr<ListValue> cast(std::unique_ptr<Value> value) { - return std::unique_ptr<ListValue>(ListValue::cast(value.release())); + ListValue* listValue = cast(value.get()); + if (listValue) value.release(); + return std::unique_ptr<ListValue>(listValue); } ~ListValue() override; - void writeJSON(StringBuilder* output) const override; - void writeBinary(std::vector<uint8_t>* bytes) const override; + void AppendSerialized(std::vector<uint8_t>* bytes) const override; std::unique_ptr<Value> clone() const override; void pushValue(std::unique_ptr<Value>); @@ -278,9 +259,6 @@ private: std::vector<std::unique_ptr<Value>> m_data; }; -void escapeLatinStringForJSON(const uint8_t* str, unsigned len, StringBuilder* dst); -void escapeWideStringForJSON(const uint16_t* str, unsigned len, StringBuilder* dst); - {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} diff --git a/deps/inspector_protocol/pdl.py b/deps/inspector_protocol/pdl.py new file mode 100644 index 00000000000000..6b448c07443c7e --- /dev/null +++ b/deps/inspector_protocol/pdl.py @@ -0,0 +1,181 @@ +# Copyright 2018 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +from __future__ import print_function +import collections +import json +import os.path +import re +import sys + +description = '' + + +primitiveTypes = ['integer', 'number', 'boolean', 'string', 'object', + 'any', 'array', 'binary'] + + +def assignType(item, type, is_array=False, map_binary_to_string=False): + if is_array: + item['type'] = 'array' + item['items'] = collections.OrderedDict() + assignType(item['items'], type, False, map_binary_to_string) + return + + if type == 'enum': + type = 'string' + if map_binary_to_string and type == 'binary': + type = 'string' + if 'description' in item: + item['description'] = (item['description'] + + ' (Encoded as a base64 string when passed over JSON)') + if type in primitiveTypes: + item['type'] = type + else: + item['$ref'] = type + + +def createItem(d, experimental, deprecated, name=None): + result = collections.OrderedDict(d) + if name: + result['name'] = name + global description + if description: + result['description'] = description.strip() + if experimental: + result['experimental'] = True + if deprecated: + result['deprecated'] = True + return result + + +def parse(data, file_name, map_binary_to_string=False): + protocol = collections.OrderedDict() + protocol['version'] = collections.OrderedDict() + protocol['domains'] = [] + domain = None + item = None + subitems = None + nukeDescription = False + global description + lines = data.split('\n') + for i in range(0, len(lines)): + if nukeDescription: + description = '' + nukeDescription = False + line = lines[i] + trimLine = line.strip() + + if trimLine.startswith('#'): + if len(description): + description += '\n' + description += trimLine[2:] + continue + else: + nukeDescription = True + + if len(trimLine) == 0: + continue + + match = re.compile( + r'^(experimental )?(deprecated )?domain (.*)').match(line) + if match: + domain = createItem({'domain' : match.group(3)}, match.group(1), + match.group(2)) + protocol['domains'].append(domain) + continue + + match = re.compile(r'^ depends on ([^\s]+)').match(line) + if match: + if 'dependencies' not in domain: + domain['dependencies'] = [] + domain['dependencies'].append(match.group(1)) + continue + + match = re.compile(r'^ (experimental )?(deprecated )?type (.*) ' + r'extends (array of )?([^\s]+)').match(line) + if match: + if 'types' not in domain: + domain['types'] = [] + item = createItem({'id': match.group(3)}, match.group(1), match.group(2)) + assignType(item, match.group(5), match.group(4), map_binary_to_string) + domain['types'].append(item) + continue + + match = re.compile( + r'^ (experimental )?(deprecated )?(command|event) (.*)').match(line) + if match: + list = [] + if match.group(3) == 'command': + if 'commands' in domain: + list = domain['commands'] + else: + list = domain['commands'] = [] + else: + if 'events' in domain: + list = domain['events'] + else: + list = domain['events'] = [] + + item = createItem({}, match.group(1), match.group(2), match.group(4)) + list.append(item) + continue + + match = re.compile( + r'^ (experimental )?(deprecated )?(optional )?' + r'(array of )?([^\s]+) ([^\s]+)').match(line) + if match: + param = createItem({}, match.group(1), match.group(2), match.group(6)) + if match.group(3): + param['optional'] = True + assignType(param, match.group(5), match.group(4), map_binary_to_string) + if match.group(5) == 'enum': + enumliterals = param['enum'] = [] + subitems.append(param) + continue + + match = re.compile(r'^ (parameters|returns|properties)').match(line) + if match: + subitems = item[match.group(1)] = [] + continue + + match = re.compile(r'^ enum').match(line) + if match: + enumliterals = item['enum'] = [] + continue + + match = re.compile(r'^version').match(line) + if match: + continue + + match = re.compile(r'^ major (\d+)').match(line) + if match: + protocol['version']['major'] = match.group(1) + continue + + match = re.compile(r'^ minor (\d+)').match(line) + if match: + protocol['version']['minor'] = match.group(1) + continue + + match = re.compile(r'^ redirect ([^\s]+)').match(line) + if match: + item['redirect'] = match.group(1) + continue + + match = re.compile(r'^ ( )?[^\s]+$').match(line) + if match: + # enum literal + enumliterals.append(trimLine) + continue + + print('Error in %s:%s, illegal token: \t%s' % (file_name, i, line)) + sys.exit(1) + return protocol + + +def loads(data, file_name, map_binary_to_string=False): + if file_name.endswith(".pdl"): + return parse(data, file_name, map_binary_to_string) + return json.loads(data) diff --git a/tools/inspector_protocol/templates/Exported_h.template b/deps/inspector_protocol/templates/Exported_h.template similarity index 88% rename from tools/inspector_protocol/templates/Exported_h.template rename to deps/inspector_protocol/templates/Exported_h.template index 765f6c2135b9c3..f00875ac77a2a1 100644 --- a/tools/inspector_protocol/templates/Exported_h.template +++ b/deps/inspector_protocol/templates/Exported_h.template @@ -1,6 +1,6 @@ // This file is generated by Exported_h.template. -// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -20,8 +20,8 @@ namespace {{namespace}} { #define {{"_".join(config.protocol.namespace)}}_exported_api_h class {{config.exported.export_macro}} Exported { public: - virtual {{config.exported.string_out}} toJSONString() const = 0; - virtual void writeBinary(std::vector<uint8_t>* out) const = 0; + virtual void AppendSerialized(std::vector<uint8_t>* out) const = 0; + virtual ~Exported() { } }; #endif // !defined({{"_".join(config.protocol.namespace)}}_exported_api_h) @@ -61,7 +61,6 @@ namespace {{param.name | to_title_case}}Enum { class {{config.exported.export_macro}} {{type.id}} : public Exported { public: - static std::unique_ptr<protocol::{{domain.domain}}::API::{{type.id}}> fromJSONString(const {{config.exported.string_in}}& json); static std::unique_ptr<protocol::{{domain.domain}}::API::{{type.id}}> fromBinary(const uint8_t* data, size_t length); }; {% endfor %} diff --git a/tools/inspector_protocol/templates/Imported_h.template b/deps/inspector_protocol/templates/Imported_h.template similarity index 57% rename from tools/inspector_protocol/templates/Imported_h.template rename to deps/inspector_protocol/templates/Imported_h.template index f2e576a9c470ae..5161d27351be47 100644 --- a/tools/inspector_protocol/templates/Imported_h.template +++ b/deps/inspector_protocol/templates/Imported_h.template @@ -1,6 +1,6 @@ // This file is generated by Imported_h.template. -// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -14,6 +14,53 @@ #include {{format_include(config.imported.package, domain.domain)}} {% endif %} +#ifndef {{"_".join(config.protocol.namespace)}}_imported_imported_h + +namespace {{config.crdtp.namespace}} { + +template <typename T> +struct ProtocolTypeTraits< + std::unique_ptr<T>, + typename std::enable_if< + std::is_base_of<{{"::".join(config.imported.namespace)}}::Exported, T>::value>::type> { + static bool Deserialize(DeserializerState* state, std::unique_ptr<T>* value) { + if (state->tokenizer()->TokenTag() != cbor::CBORTokenTag::ENVELOPE) { + state->RegisterError(Error::CBOR_INVALID_ENVELOPE); + return false; + } + span<uint8_t> env = state->tokenizer()->GetEnvelope(); + auto res = T::fromBinary(env.data(), env.size()); + if (!res) { + // TODO(caseq): properly plumb an error rather than returning a bogus code. + state->RegisterError(Error::MESSAGE_MUST_BE_AN_OBJECT); + return false; + } + *value = std::move(res); + return true; + } + static void Serialize(const std::unique_ptr<T>& value, std::vector<uint8_t>* bytes) { + // Use virtual method, so that outgoing protocol objects could be retained + // by a pointer to ProtocolObject. + value->AppendSerialized(bytes); + } +}; + +template <typename T> +struct ProtocolTypeTraits< + T, + typename std::enable_if< + std::is_base_of<{{"::".join(config.imported.namespace)}}::Exported, T>::value>::type> { + static void Serialize(const T& value, std::vector<uint8_t>* bytes) { + // Use virtual method, so that outgoing protocol objects could be retained + // by a pointer to ProtocolObject. + value.AppendSerialized(bytes); + } +}; + +} // namespace {{config.crdtp.namespace}} + +#endif // {{"_".join(config.protocol.namespace)}}_imported_imported_h + {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} @@ -29,14 +76,10 @@ public: return std::unique_ptr<ImportedValue>(new ImportedValue(value)); } - void writeJSON(StringBuilder* output) const override { - auto json = m_exported->toJSONString(); - String local_json = ({{config.imported.from_imported_string % "std::move(json)"}}); - StringUtil::builderAppend(*output, local_json); - } - void writeBinary(std::vector<uint8_t>* output) const override { - m_exported->writeBinary(output); + void AppendSerialized(std::vector<uint8_t>* output) const override { + m_exported->AppendSerialized(output); } + std::unique_ptr<Value> clone() const override { return std::unique_ptr<Value>(new ImportedValue(m_exported)); } @@ -56,15 +99,15 @@ struct ValueConversions<{{"::".join(config.imported.namespace)}}::{{domain.domai static std::unique_ptr<{{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}> fromValue(protocol::Value* value, ErrorSupport* errors) { if (!value) { - errors->addError("value expected"); + errors->AddError("value expected"); return nullptr; } std::vector<uint8_t> binary; - value->writeBinary(&binary); + value->AppendSerialized(&binary); auto result = {{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}::fromBinary(binary.data(), binary.size()); if (!result) - errors->addError("cannot parse"); + errors->AddError("cannot parse"); return result; } @@ -72,11 +115,6 @@ struct ValueConversions<{{"::".join(config.imported.namespace)}}::{{domain.domai { return ImportedValue::fromExported(exported); } - - static std::unique_ptr<protocol::Value> toValue(const std::unique_ptr<{{"::".join(config.imported.namespace)}}::{{domain.domain}}::API::{{type.id}}>& value) - { - return toValue(value.get()); - } }; {% endfor %} diff --git a/deps/inspector_protocol/templates/TypeBuilder_cpp.template b/deps/inspector_protocol/templates/TypeBuilder_cpp.template new file mode 100644 index 00000000000000..27a8f1f12b7e76 --- /dev/null +++ b/deps/inspector_protocol/templates/TypeBuilder_cpp.template @@ -0,0 +1,380 @@ +// This file is generated by TypeBuilder_cpp.template. + +// Copyright 2016 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include {{format_domain_include(config.protocol.package, domain.domain)}} + +#include {{format_include(config.protocol.package, "Protocol")}} + +#include "{{config.crdtp.dir}}/cbor.h" +#include "{{config.crdtp.dir}}/find_by_first.h" +#include "{{config.crdtp.dir}}/span.h" + +{% for namespace in config.protocol.namespace %} +namespace {{namespace}} { +{% endfor %} +namespace {{domain.domain}} { + +using {{config.crdtp.namespace}}::DeserializerState; +using {{config.crdtp.namespace}}::ProtocolTypeTraits; + +// ------------- Enum values from types. + +const char Metainfo::domainName[] = "{{domain.domain}}"; +const char Metainfo::commandPrefix[] = "{{domain.domain}}."; +const char Metainfo::version[] = "{{domain.version}}"; + {% for type in domain.types %} + {% if not protocol.generate_type(domain.domain, type.id) %}{% continue %} {% endif %} + {% if "enum" in type %} + +namespace {{type.id}}Enum { + {% for literal in type.enum %} +const char {{ literal | dash_to_camelcase}}[] = "{{literal}}"; + {% endfor %} +} // namespace {{type.id}}Enum + {% if protocol.is_exported(domain.domain, type.id) %} + +namespace API { +namespace {{type.id}}Enum { + {% for literal in type.enum %} +const char* {{ literal | dash_to_camelcase}} = "{{literal}}"; + {% endfor %} +} // namespace {{type.id}}Enum +} // namespace API + {% endif %} + {% endif %} + + {% for property in type.properties %} + {% if "enum" in property %} + + {% for literal in property.enum %} +const char* {{type.id}}::{{property.name | to_title_case}}Enum::{{literal | dash_to_camelcase}} = "{{literal}}"; + {% endfor %} + {% endif %} + {% endfor %} + {% if not (type.type == "object") or not ("properties" in type) %}{% continue %}{% endif %} +CRDTP_BEGIN_DESERIALIZER({{type.id}}) + {% for property in type.properties | sort(attribute = 'name', case_sensitive=True) %} + {% if property.optional %} + CRDTP_DESERIALIZE_FIELD_OPT("{{property.name}}", m_{{property.name}}), + {% else %} + CRDTP_DESERIALIZE_FIELD("{{property.name}}", m_{{property.name}}), + {% endif %} + {% endfor %} +CRDTP_END_DESERIALIZER() + +CRDTP_BEGIN_SERIALIZER({{type.id}}) + {% for property in type.properties %} + CRDTP_SERIALIZE_FIELD("{{property.name}}", m_{{property.name}}); + {% endfor %} +CRDTP_END_SERIALIZER(); + + {% if protocol.is_exported(domain.domain, type.id) %} +// static +std::unique_ptr<API::{{type.id}}> API::{{type.id}}::fromBinary(const uint8_t* data, size_t length) +{ + return protocol::{{domain.domain}}::{{type.id}}::FromBinary(data, length); +} + {% endif %} + {% endfor %} + +// ------------- Enum values from params. + + {% for command in join_arrays(domain, ["commands", "events"]) %} + {% for param in join_arrays(command, ["parameters", "returns"]) %} + {% if "enum" in param %} + +namespace {{command.name | to_title_case}} { +namespace {{param.name | to_title_case}}Enum { + {% for literal in param.enum %} +const char* {{ literal | to_title_case}} = "{{literal}}"; + {% endfor %} +} // namespace {{param.name | to_title_case}}Enum +} // namespace {{command.name | to_title_case }} + {% if protocol.is_exported(domain.domain, command.name + "." + param.name) %} + +namespace API { +namespace {{command.name | to_title_case}} { +namespace {{param.name | to_title_case}}Enum { + {% for literal in param.enum %} +const char* {{ literal | to_title_case}} = "{{literal}}"; + {% endfor %} +} // namespace {{param.name | to_title_case}}Enum +} // namespace {{command.name | to_title_case }} +} // namespace API + {% endif %} + {% endif %} + {% endfor %} + {% endfor %} + +// ------------- Frontend notifications. + {% for event in domain.events %} + {% if not protocol.generate_event(domain.domain, event.name) %}{% continue %}{% endif %} + +void Frontend::{{event.name | to_method_case}}( + {%- for parameter in event.parameters %} + {% if "optional" in parameter -%} + Maybe<{{protocol.resolve_type(parameter).raw_type}}> + {%- else -%} + {{protocol.resolve_type(parameter).pass_type}} + {%- endif %} {{parameter.name}}{%- if not loop.last -%}, {% endif -%} + {% endfor -%}) +{ + if (!frontend_channel_) + return; + {% if event.parameters %} + {{config.crdtp.namespace}}::ObjectSerializer serializer; + {% for parameter in event.parameters %} + serializer.AddField({{config.crdtp.namespace}}::MakeSpan("{{parameter.name}}"), {{parameter.name}}); + {% endfor %} + frontend_channel_->SendProtocolNotification({{config.crdtp.namespace}}::CreateNotification("{{domain.domain}}.{{event.name}}", serializer.Finish())); + {% else %} + frontend_channel_->SendProtocolNotification({{config.crdtp.namespace}}::CreateNotification("{{domain.domain}}.{{event.name}}")); + {% endif %} +} + {% endfor %} + +void Frontend::flush() +{ + frontend_channel_->FlushProtocolNotifications(); +} + +void Frontend::sendRawNotification(std::unique_ptr<Serializable> notification) +{ + frontend_channel_->SendProtocolNotification(std::move(notification)); +} + +// --------------------- Dispatcher. + +class DomainDispatcherImpl : public protocol::DomainDispatcher { +public: + DomainDispatcherImpl(FrontendChannel* frontendChannel, Backend* backend) + : DomainDispatcher(frontendChannel) + , m_backend(backend) {} + ~DomainDispatcherImpl() override { } + + using CallHandler = void (DomainDispatcherImpl::*)(const {{config.crdtp.namespace}}::Dispatchable& dispatchable); + + std::function<void(const {{config.crdtp.namespace}}::Dispatchable&)> Dispatch({{config.crdtp.namespace}}::span<uint8_t> command_name) override; + + {% for command in domain.commands %} + {% if "redirect" in command %}{% continue %}{% endif %} + {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} + void {{command.name}}(const {{config.crdtp.namespace}}::Dispatchable& dispatchable); + {% endfor %} + protected: + Backend* m_backend; +}; + +namespace { +// This helper method with a static map of command methods (instance methods +// of DomainDispatcherImpl declared just above) by their name is used immediately below, +// in the DomainDispatcherImpl::Dispatch method. +DomainDispatcherImpl::CallHandler CommandByName({{config.crdtp.namespace}}::span<uint8_t> command_name) { + static auto* commands = [](){ + auto* commands = new std::vector<std::pair<{{config.crdtp.namespace}}::span<uint8_t>, + DomainDispatcherImpl::CallHandler>>{ + {% for command in domain.commands|sort(attribute="name",case_sensitive=True) %} + {% if "redirect" in command %}{% continue %}{% endif %} + {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} + { + {{config.crdtp.namespace}}::SpanFrom("{{command.name}}"), + &DomainDispatcherImpl::{{command.name}} + }, + {% endfor %} + }; + return commands; + }(); + return {{config.crdtp.namespace}}::FindByFirst<DomainDispatcherImpl::CallHandler>(*commands, command_name, nullptr); +} +} // namespace + +std::function<void(const {{config.crdtp.namespace}}::Dispatchable&)> DomainDispatcherImpl::Dispatch({{config.crdtp.namespace}}::span<uint8_t> command_name) { + CallHandler handler = CommandByName(command_name); + if (!handler) return nullptr; + + return [this, handler](const {{config.crdtp.namespace}}::Dispatchable& dispatchable) { + (this->*handler)(dispatchable); + }; +} + + {% for command in domain.commands %} + {% set command_name_title = command.name | to_title_case %} + {% if "redirect" in command %}{% continue %}{% endif %} + {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} + {% if protocol.is_async_command(domain.domain, command.name) %} + +class {{command_name_title}}CallbackImpl : public Backend::{{command_name_title}}Callback, public DomainDispatcher::Callback { +public: + {{command_name_title}}CallbackImpl(std::unique_ptr<DomainDispatcher::WeakPtr> backendImpl, int callId, {{config.crdtp.namespace}}::span<uint8_t> message) + : DomainDispatcher::Callback(std::move(backendImpl), callId, +{{config.crdtp.namespace}}::SpanFrom("{{domain.domain}}.{{command.name}}"), message) { } + + void sendSuccess( + {%- for parameter in command.returns -%} + {%- if "optional" in parameter -%} + Maybe<{{protocol.resolve_type(parameter).raw_type}}> {{parameter.name}} + {%- else -%} + {{protocol.resolve_type(parameter).pass_type}} {{parameter.name}} + {%- endif -%} + {%- if not loop.last -%}, {% endif -%} + {%- endfor -%}) override + { + {{config.crdtp.namespace}}::ObjectSerializer serializer; + {% for parameter in command.returns %} + serializer.AddField({{config.crdtp.namespace}}::MakeSpan("{{parameter.name}}"), {{parameter.name}}); + {% endfor %} + sendIfActive(serializer.Finish(), DispatchResponse::Success()); + } + + void fallThrough() override + { + fallThroughIfActive(); + } + + void sendFailure(const DispatchResponse& response) override + { + DCHECK(response.IsError()); + sendIfActive(nullptr, response); + } +}; + {% endif %} + +namespace { + + {% if "parameters" in command %} +struct {{command.name}}Params : public {{config.crdtp.namespace}}::DeserializableProtocolObject<{{command.name}}Params> { + {% for parameter in command.parameters %} + {% set parameter_type = protocol.resolve_type(parameter) %} + {% if parameter.optional %} + Maybe<{{parameter_type.raw_type}}> {{parameter.name}}; + {% else %} + {{parameter_type.type}} {{parameter.name}}; + {% endif %} + {% endfor %} + DECLARE_DESERIALIZATION_SUPPORT(); +}; + +CRDTP_BEGIN_DESERIALIZER({{command.name}}Params) + {% for parameter in command.parameters | sort(attribute = 'name', case_sensitive=True) %} + {% if parameter.optional %} + CRDTP_DESERIALIZE_FIELD_OPT("{{parameter.name}}", {{parameter.name}}), + {% else %} + CRDTP_DESERIALIZE_FIELD("{{parameter.name}}", {{parameter.name}}), + {% endif %} + {% endfor %} +CRDTP_END_DESERIALIZER() + {% endif %} + +} // namespace + +void DomainDispatcherImpl::{{command.name}}(const {{config.crdtp.namespace}}::Dispatchable& dispatchable) +{ + // Prepare input parameters. + {% if "parameters" in command %} + auto deserializer = {{config.crdtp.namespace}}::DeferredMessage::FromSpan(dispatchable.Params())->MakeDeserializer(); + {{command.name}}Params params; + if (!{{command.name}}Params::Deserialize(&deserializer, ¶ms)) { + ReportInvalidParams(dispatchable, deserializer); + return; + } + {% endif -%} + + {% if "returns" in command and not protocol.is_async_command(domain.domain, command.name) %} + // Declare output parameters. + {% for parameter in command.returns %} + {% if "optional" in parameter %} + Maybe<{{protocol.resolve_type(parameter).raw_type}}> out_{{parameter.name}}; + {% else %} + {{protocol.resolve_type(parameter).type}} out_{{parameter.name}}; + {% endif %} + {% endfor %} + {% endif %} + + {% if not protocol.is_async_command(domain.domain, command.name) %} + std::unique_ptr<DomainDispatcher::WeakPtr> weak = weakPtr(); + DispatchResponse response = m_backend->{{command.name | to_method_case}}( + {%- for parameter in command.parameters -%} + {%- if not loop.first -%}, {% endif -%} + {%- if "optional" in parameter -%} + std::move(params.{{parameter.name}}) + {%- else -%} + {{protocol.resolve_type(parameter).to_pass_type % ("params." + parameter.name)}} + {%- endif -%} + {%- endfor %} + {%- if "returns" in command %} + {%- for parameter in command.returns -%} + {%- if not loop.first or command.parameters -%}, {% endif -%} + &out_{{parameter.name}} + {%- endfor %} + {% endif %}); + if (response.IsFallThrough()) { + channel()->FallThrough(dispatchable.CallId(), {{config.crdtp.namespace}}::SpanFrom("{{domain.domain}}.{{command.name}}"), dispatchable.Serialized()); + return; + } + {% if "returns" in command %} + if (weak->get()) { + std::unique_ptr<{{config.crdtp.namespace}}::Serializable> result; + if (response.IsSuccess()) { + {{config.crdtp.namespace}}::ObjectSerializer serializer; + {% for parameter in command.returns %} + serializer.AddField({{config.crdtp.namespace}}::MakeSpan("{{parameter.name}}"), out_{{parameter.name}}); + {% endfor %} + result = serializer.Finish(); + } else { + result = Serializable::From({}); + } + weak->get()->sendResponse(dispatchable.CallId(), response, std::move(result)); + } + {% else %} + if (weak->get()) + weak->get()->sendResponse(dispatchable.CallId(), response); + {% endif %} + return; + {% else %} + m_backend->{{command.name | to_method_case}}( + {%- for property in command.parameters -%} + {%- if not loop.first -%}, {% endif -%} + {%- if "optional" in property -%} + std::move(params.{{property.name}}) + {%- else -%} + {{protocol.resolve_type(property).to_pass_type % ("params." + property.name)}} + {%- endif -%} + {%- endfor -%} + {%- if command.parameters -%}, {% endif -%} + std::make_unique<{{command_name_title}}CallbackImpl>(weakPtr(), dispatchable.CallId(), dispatchable.Serialized())); + {% endif %} +} + {% endfor %} + +namespace { +// This helper method (with a static map of redirects) is used from Dispatcher::wire +// immediately below. +const std::vector<std::pair<{{config.crdtp.namespace}}::span<uint8_t>, {{config.crdtp.namespace}}::span<uint8_t>>>& SortedRedirects() { + static auto* redirects = [](){ + auto* redirects = new std::vector<std::pair<{{config.crdtp.namespace}}::span<uint8_t>, {{config.crdtp.namespace}}::span<uint8_t>>>{ + {% for command in domain.commands|sort(attribute="name",case_sensitive=True) %} + {% if "redirect" in command %} + { {{config.crdtp.namespace}}::SpanFrom("{{domain.domain}}.{{command.name}}"), {{config.crdtp.namespace}}::SpanFrom("{{command.redirect}}.{{command.name}}") }, + {% endif %} + {% endfor %} + }; + return redirects; + }(); + return *redirects; +} +} // namespace + +// static +void Dispatcher::wire(UberDispatcher* uber, Backend* backend) +{ + auto dispatcher = std::make_unique<DomainDispatcherImpl>(uber->channel(), backend); + uber->WireBackend({{config.crdtp.namespace}}::SpanFrom("{{domain.domain}}"), SortedRedirects(), std::move(dispatcher)); +} + +} // {{domain.domain}} +{% for namespace in config.protocol.namespace %} +} // namespace {{namespace}} +{% endfor %} diff --git a/tools/inspector_protocol/templates/TypeBuilder_h.template b/deps/inspector_protocol/templates/TypeBuilder_h.template similarity index 88% rename from tools/inspector_protocol/templates/TypeBuilder_h.template rename to deps/inspector_protocol/templates/TypeBuilder_h.template index 9d86d7a4ac0a5c..e23567a5732d76 100644 --- a/tools/inspector_protocol/templates/TypeBuilder_h.template +++ b/deps/inspector_protocol/templates/TypeBuilder_h.template @@ -1,6 +1,6 @@ // This file is generated by TypeBuilder_h.template. -// Copyright (c) 2016 The Chromium Authors. All rights reserved. +// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -26,8 +26,6 @@ namespace {{namespace}} { {% endfor %} namespace {{domain.domain}} { - -// ------------- Forward and enum declarations. {% for type in domain.types %} {% if not protocol.generate_type(domain.domain, type.id) %}{% continue %}{% endif %} {% if type.type == "object" %} @@ -40,6 +38,8 @@ using {{type.id}} = Object; using {{type.id}} = {{protocol.resolve_type(type).type}}; {% endif %} {% endfor %} + +// ------------- Forward and enum declarations. {% for type in domain.types %} {% if not protocol.generate_type(domain.domain, type.id) %}{% continue %}{% endif %} {% if "enum" in type %} @@ -71,11 +71,9 @@ namespace {{param.name | to_title_case}}Enum { {% if not protocol.generate_type(domain.domain, type.id) %}{% continue %}{% endif %} {% if not (type.type == "object") or not ("properties" in type) %}{% continue %}{% endif %} -class {{config.protocol.export_macro}} {{type.id}} : public Serializable{% if protocol.is_exported(domain.domain, type.id) %}, public API::{{type.id}}{% endif %}{ - PROTOCOL_DISALLOW_COPY({{type.id}}); +class {{config.protocol.export_macro}} {{type.id}} : public ::{{config.crdtp.namespace}}::ProtocolObject<{{type.id}}>{% if protocol.is_exported(domain.domain, type.id) %}, + public API::{{type.id}}{% endif %} { public: - static std::unique_ptr<{{type.id}}> fromValue(protocol::Value* value, ErrorSupport* errors); - ~{{type.id}}() override { } {% for property in type.properties %} {% set property_type = protocol.resolve_type(property) %} @@ -91,24 +89,22 @@ public: {% endif %} {% if property.optional %} - bool {{"has" | to_method_case}}{{property_name}}() { return {{property_field}}.isJust(); } - {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}({{property_type.raw_pass_type}} defaultValue) { return {{property_field}}.isJust() ? {{property_field}}.fromJust() : defaultValue; } + bool {{"has" | to_method_case}}{{property_name}}() { return {{property_field}}.has_value(); } + {% if property_type.is_primitive %} + {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}({{property_type.raw_pass_type}} defaultValue) const { + return {{property_field}}.value_or(defaultValue); + } + {% else %} + {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}({{property_type.raw_pass_type}} defaultValue) { + return {{property_field}}.has_value() ? &{{property_field}}.value() : defaultValue; + } + {% endif %} {% else %} {{property_type.raw_return_type}} {{"get" | to_method_case}}{{property_name}}() { return {{property_type.to_raw_type % property_field}}; } {% endif %} void {{"set" | to_method_case}}{{property_name}}({{property_type.pass_type}} value) { {{property_field}} = {{property_type.to_rvalue % "value"}}; } {% endfor %} - std::unique_ptr<protocol::DictionaryValue> toValue() const; - String serializeToJSON() override { return toValue()->serializeToJSON(); } - std::vector<uint8_t> serializeToBinary() override { return toValue()->serializeToBinary(); } - String toJSON() const { return toValue()->toJSONString(); } - std::unique_ptr<{{type.id}}> clone() const; - {% if protocol.is_exported(domain.domain, type.id) %} - {{config.exported.string_out}} toJSONString() const override; - void writeBinary(std::vector<uint8_t>* out) const override; - {% endif %} - template<int STATE> class {{type.id}}Builder { public: @@ -166,6 +162,8 @@ public: } private: + DECLARE_SERIALIZATION_SUPPORT(); + {{type.id}}() { {% for property in type.properties %} @@ -245,7 +243,7 @@ public: {% if protocol.generate_disable(domain) %} virtual DispatchResponse {{"disable" | to_method_case}}() { - return DispatchResponse::OK(); + return DispatchResponse::Success(); } {% endif %} }; @@ -254,7 +252,7 @@ public: class {{config.protocol.export_macro}} Frontend { public: - explicit Frontend(FrontendChannel* frontendChannel) : m_frontendChannel(frontendChannel) { } + explicit Frontend(FrontendChannel* frontend_channel) : frontend_channel_(frontend_channel) {} {% for event in domain.events %} {% if not protocol.generate_event(domain.domain, event.name) %}{% continue %}{% endif %} void {{event.name | to_method_case}}( @@ -268,11 +266,10 @@ public: ); {% endfor %} - void flush(); - void sendRawJSONNotification(String); - void sendRawCBORNotification(std::vector<uint8_t>); -private: - FrontendChannel* m_frontendChannel; + void flush(); + void sendRawNotification(std::unique_ptr<Serializable>); + private: + FrontendChannel* frontend_channel_; }; // ------------- Dispatcher. diff --git a/deps/ncrypto/ncrypto.cc b/deps/ncrypto/ncrypto.cc index ac2d771555126a..be3ef98d763366 100644 --- a/deps/ncrypto/ncrypto.cc +++ b/deps/ncrypto/ncrypto.cc @@ -15,8 +15,23 @@ #include "dh-primes.h" #endif // OPENSSL_IS_BORINGSSL +// EVP_PKEY_CTX_set_dsa_paramgen_q_bits was added in OpenSSL 1.1.1e. +#if OPENSSL_VERSION_NUMBER < 0x1010105fL +#define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ + EVP_PKEY_CTX_ctrl((ctx), \ + EVP_PKEY_DSA, \ + EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, \ + (qbits), \ + nullptr) +#endif + namespace ncrypto { namespace { +using BignumCtxPointer = DeleteFnPtr<BN_CTX, BN_CTX_free>; +using BignumGenCallbackPointer = DeleteFnPtr<BN_GENCB, BN_GENCB_free>; +using NetscapeSPKIPointer = DeleteFnPtr<NETSCAPE_SPKI, NETSCAPE_SPKI_free>; + static constexpr int kX509NameFlagsRFC2253WithinUtf8JSON = XN_FLAG_RFC2253 & ~ASN1_STRFLGS_ESC_MSB & ~ASN1_STRFLGS_ESC_CTRL; } // namespace @@ -87,6 +102,10 @@ DataPointer DataPointer::Alloc(size_t len) { return DataPointer(OPENSSL_zalloc(len), len); } +DataPointer DataPointer::Copy(const Buffer<const void>& buffer) { + return DataPointer(OPENSSL_memdup(buffer.data, buffer.len), buffer.len); +} + DataPointer::DataPointer(void* data, size_t length) : data_(data), len_(length) {} @@ -109,6 +128,11 @@ DataPointer::~DataPointer() { reset(); } +void DataPointer::zero() { + if (!data_) return; + OPENSSL_cleanse(data_, len_); +} + void DataPointer::reset(void* data, size_t length) { if (data_ != nullptr) { OPENSSL_clear_free(data_, len_); @@ -131,6 +155,15 @@ Buffer<void> DataPointer::release() { return buf; } +DataPointer DataPointer::resize(size_t len) { + size_t actual_len = std::min(len_, len); + auto buf = release(); + if (actual_len == len_) return DataPointer(buf); + buf.data = OPENSSL_realloc(buf.data, actual_len); + buf.len = actual_len; + return DataPointer(buf); +} + // ============================================================================ bool isFipsEnabled() { #if OPENSSL_VERSION_MAJOR >= 3 @@ -311,6 +344,87 @@ BignumPointer BignumPointer::clone() { return BignumPointer(BN_dup(bn_.get())); } +int BignumPointer::isPrime(int nchecks, + BignumPointer::PrimeCheckCallback innerCb) const { + BignumCtxPointer ctx(BN_CTX_new()); + BignumGenCallbackPointer cb(nullptr); + if (innerCb != nullptr) { + cb = BignumGenCallbackPointer(BN_GENCB_new()); + if (!cb) [[unlikely]] + return -1; + BN_GENCB_set( + cb.get(), + // TODO(@jasnell): This could be refactored to allow inlining. + // Not too important right now tho. + [](int a, int b, BN_GENCB* ctx) mutable -> int { + PrimeCheckCallback& ptr = + *static_cast<PrimeCheckCallback*>(BN_GENCB_get_arg(ctx)); + return ptr(a, b) ? 1 : 0; + }, + &innerCb); + } + return BN_is_prime_ex(get(), nchecks, ctx.get(), cb.get()); +} + +BignumPointer BignumPointer::NewPrime(const PrimeConfig& params, + PrimeCheckCallback cb) { + BignumPointer prime(BN_new()); + if (!prime || !prime.generate(params, std::move(cb))) { + return {}; + } + return prime; +} + +bool BignumPointer::generate(const PrimeConfig& params, + PrimeCheckCallback innerCb) const { + // BN_generate_prime_ex() calls RAND_bytes_ex() internally. + // Make sure the CSPRNG is properly seeded. + std::ignore = CSPRNG(nullptr, 0); + BignumGenCallbackPointer cb(nullptr); + if (innerCb != nullptr) { + cb = BignumGenCallbackPointer(BN_GENCB_new()); + if (!cb) [[unlikely]] + return -1; + BN_GENCB_set( + cb.get(), + [](int a, int b, BN_GENCB* ctx) mutable -> int { + PrimeCheckCallback& ptr = + *static_cast<PrimeCheckCallback*>(BN_GENCB_get_arg(ctx)); + return ptr(a, b) ? 1 : 0; + }, + &innerCb); + } + if (BN_generate_prime_ex(get(), + params.bits, + params.safe ? 1 : 0, + params.add.get(), + params.rem.get(), + cb.get()) == 0) { + return false; + } + + return true; +} + +BignumPointer BignumPointer::NewSub(const BignumPointer& a, + const BignumPointer& b) { + BignumPointer res = New(); + if (!res) return {}; + if (!BN_sub(res.get(), a.get(), b.get())) { + return {}; + } + return res; +} + +BignumPointer BignumPointer::NewLShift(size_t length) { + BignumPointer res = New(); + if (!res) return {}; + if (!BN_lshift(res.get(), One(), length)) { + return {}; + } + return res; +} + // ============================================================================ // Utility methods @@ -701,7 +815,7 @@ bool PrintGeneralName(const BIOPointer& out, const GENERAL_NAME* gen) { bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) { auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext)); - NCRYPTO_ASSERT_EQUAL(ret, NID_subject_alt_name, "unexpected extension type"); + if (ret != NID_subject_alt_name) return false; GENERAL_NAMES* names = static_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ext)); if (names == nullptr) return false; @@ -724,7 +838,7 @@ bool SafeX509SubjectAltNamePrint(const BIOPointer& out, X509_EXTENSION* ext) { bool SafeX509InfoAccessPrint(const BIOPointer& out, X509_EXTENSION* ext) { auto ret = OBJ_obj2nid(X509_EXTENSION_get_object(ext)); - NCRYPTO_ASSERT_EQUAL(ret, NID_info_access, "unexpected extension type"); + if (ret != NID_info_access) return false; AUTHORITY_INFO_ACCESS* descs = static_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ext)); @@ -1005,6 +1119,29 @@ X509View X509View::From(const SSLCtxPointer& ctx) { return X509View(SSL_CTX_get0_certificate(ctx.get())); } +std::optional<std::string> X509View::getFingerprint( + const EVP_MD* method) const { + unsigned int md_size; + unsigned char md[EVP_MAX_MD_SIZE]; + static constexpr char hex[] = "0123456789ABCDEF"; + + if (X509_digest(get(), method, md, &md_size)) { + if (md_size == 0) return std::nullopt; + std::string fingerprint((md_size * 3) - 1, 0); + for (unsigned int i = 0; i < md_size; i++) { + auto idx = 3 * i; + fingerprint[idx] = hex[(md[i] & 0xf0) >> 4]; + fingerprint[idx + 1] = hex[(md[i] & 0x0f)]; + if (i == md_size - 1) break; + fingerprint[idx + 2] = ':'; + } + + return fingerprint; + } + + return std::nullopt; +} + X509Pointer X509View::clone() const { ClearErrorOnReturn clear_error_on_return; if (!cert_) return {}; @@ -1028,6 +1165,49 @@ Result<X509Pointer, int> X509Pointer::Parse( return Result<X509Pointer, int>(ERR_get_error()); } +bool X509View::enumUsages(UsageCallback callback) const { + if (cert_ == nullptr) return false; + StackOfASN1 eku(static_cast<STACK_OF(ASN1_OBJECT)*>( + X509_get_ext_d2i(cert_, NID_ext_key_usage, nullptr, nullptr))); + if (!eku) return false; + const int count = sk_ASN1_OBJECT_num(eku.get()); + char buf[256]{}; + + for (int i = 0; i < count; i++) { + if (OBJ_obj2txt(buf, sizeof(buf), sk_ASN1_OBJECT_value(eku.get(), i), 1) >= + 0) { + callback(buf); + } + } + return true; +} + +bool X509View::ifRsa(KeyCallback<Rsa> callback) const { + if (cert_ == nullptr) return true; + OSSL3_CONST EVP_PKEY* pkey = X509_get0_pubkey(cert_); + auto id = EVP_PKEY_id(pkey); + if (id == EVP_PKEY_RSA || id == EVP_PKEY_RSA2 || id == EVP_PKEY_RSA_PSS) { + Rsa rsa(EVP_PKEY_get0_RSA(pkey)); + if (!rsa) [[unlikely]] + return true; + return callback(rsa); + } + return true; +} + +bool X509View::ifEc(KeyCallback<Ec> callback) const { + if (cert_ == nullptr) return true; + OSSL3_CONST EVP_PKEY* pkey = X509_get0_pubkey(cert_); + auto id = EVP_PKEY_id(pkey); + if (id == EVP_PKEY_EC) { + Ec ec(EVP_PKEY_get0_EC_KEY(pkey)); + if (!ec) [[unlikely]] + return true; + return callback(ec); + } + return true; +} + X509Pointer X509Pointer::IssuerFrom(const SSLPointer& ssl, const X509View& view) { return IssuerFrom(SSL_get_SSL_CTX(ssl.get()), view); @@ -1050,6 +1230,53 @@ X509Pointer X509Pointer::IssuerFrom(const SSL_CTX* ctx, const X509View& cert) { X509Pointer X509Pointer::PeerFrom(const SSLPointer& ssl) { return X509Pointer(SSL_get_peer_certificate(ssl.get())); } + +// When adding or removing errors below, please also update the list in the API +// documentation. See the "OpenSSL Error Codes" section of doc/api/errors.md +// Also *please* update the respective section in doc/api/tls.md as well +std::string_view X509Pointer::ErrorCode(int32_t err) { // NOLINT(runtime/int) +#define CASE(CODE) \ + case X509_V_ERR_##CODE: \ + return #CODE; + switch (err) { + CASE(UNABLE_TO_GET_ISSUER_CERT) + CASE(UNABLE_TO_GET_CRL) + CASE(UNABLE_TO_DECRYPT_CERT_SIGNATURE) + CASE(UNABLE_TO_DECRYPT_CRL_SIGNATURE) + CASE(UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY) + CASE(CERT_SIGNATURE_FAILURE) + CASE(CRL_SIGNATURE_FAILURE) + CASE(CERT_NOT_YET_VALID) + CASE(CERT_HAS_EXPIRED) + CASE(CRL_NOT_YET_VALID) + CASE(CRL_HAS_EXPIRED) + CASE(ERROR_IN_CERT_NOT_BEFORE_FIELD) + CASE(ERROR_IN_CERT_NOT_AFTER_FIELD) + CASE(ERROR_IN_CRL_LAST_UPDATE_FIELD) + CASE(ERROR_IN_CRL_NEXT_UPDATE_FIELD) + CASE(OUT_OF_MEM) + CASE(DEPTH_ZERO_SELF_SIGNED_CERT) + CASE(SELF_SIGNED_CERT_IN_CHAIN) + CASE(UNABLE_TO_GET_ISSUER_CERT_LOCALLY) + CASE(UNABLE_TO_VERIFY_LEAF_SIGNATURE) + CASE(CERT_CHAIN_TOO_LONG) + CASE(CERT_REVOKED) + CASE(INVALID_CA) + CASE(PATH_LENGTH_EXCEEDED) + CASE(INVALID_PURPOSE) + CASE(CERT_UNTRUSTED) + CASE(CERT_REJECTED) + CASE(HOSTNAME_MISMATCH) + } +#undef CASE + return "UNSPECIFIED"; +} + +std::optional<std::string_view> X509Pointer::ErrorReason(int32_t err) { + if (err == X509_V_OK) return std::nullopt; + return X509_verify_cert_error_string(err); +} + // ============================================================================ // BIOPointer @@ -1105,6 +1332,12 @@ BIOPointer BIOPointer::NewFp(FILE* fd, int close_flag) { return BIOPointer(BIO_new_fp(fd, close_flag)); } +BIOPointer BIOPointer::New(const BIGNUM* bn) { + auto res = NewMem(); + if (!res || !BN_print(res.get(), bn)) return {}; + return res; +} + int BIOPointer::Write(BIOPointer* bio, std::string_view message) { if (bio == nullptr || !*bio) return 0; return BIO_write(bio->get(), message.data(), message.size()); @@ -1189,8 +1422,11 @@ DHPointer DHPointer::New(BignumPointer&& p, BignumPointer&& g) { if (DH_set0_pqg(dh.get(), p.get(), nullptr, g.get()) != 1) return {}; // If the call above is successful, the DH object takes ownership of the - // BIGNUMs, so we must release them here. + // BIGNUMs, so we must release them here. Unfortunately coverity does not + // know that so we need to tell it not to complain. + // coverity[resource_leak] p.release(); + // coverity[resource_leak] g.release(); return dh; @@ -1273,7 +1509,10 @@ DataPointer DHPointer::generateKeys() const { size_t DHPointer::size() const { if (!dh_) return 0; - return DH_size(dh_.get()); + int ret = DH_size(dh_.get()); + // DH_size can return a -1 on error but we just want to return a 0 + // in that case so we don't wrap around when returning the size_t. + return ret >= 0 ? static_cast<size_t>(ret) : 0; } DataPointer DHPointer::computeSecret(const BignumPointer& peer) const { @@ -1302,6 +1541,10 @@ DataPointer DHPointer::computeSecret(const BignumPointer& peer) const { bool DHPointer::setPublicKey(BignumPointer&& key) { if (!dh_) return false; if (DH_set0_key(dh_.get(), key.get(), nullptr) == 1) { + // If DH_set0_key returns successfully, then dh_ takes ownership of the + // BIGNUM, so we must release it here. Unfortunately coverity does not + // know that so we need to tell it not to complain. + // coverity[resource_leak] key.release(); return true; } @@ -1311,6 +1554,10 @@ bool DHPointer::setPublicKey(BignumPointer&& key) { bool DHPointer::setPrivateKey(BignumPointer&& key) { if (!dh_) return false; if (DH_set0_key(dh_.get(), nullptr, key.get()) == 1) { + // If DH_set0_key returns successfully, then dh_ takes ownership of the + // BIGNUM, so we must release it here. Unfortunately coverity does not + // know that so we need to tell it not to complain. + // coverity[resource_leak] key.release(); return true; } @@ -1322,7 +1569,7 @@ DataPointer DHPointer::stateless(const EVPKeyPointer& ourKey, size_t out_size; if (!ourKey || !theirKey) return {}; - EVPKeyCtxPointer ctx(EVP_PKEY_CTX_new(ourKey.get(), nullptr)); + auto ctx = EVPKeyCtxPointer::New(ourKey); if (!ctx || EVP_PKEY_derive_init(ctx.get()) <= 0 || EVP_PKEY_derive_set_peer(ctx.get(), theirKey.get()) <= 0 || EVP_PKEY_derive(ctx.get(), nullptr, &out_size) <= 0) { @@ -1351,9 +1598,18 @@ DataPointer DHPointer::stateless(const EVPKeyPointer& ourKey, // KDF const EVP_MD* getDigestByName(const std::string_view name) { + // Historically, "dss1" and "DSS1" were DSA aliases for SHA-1 + // exposed through the public API. + if (name == "dss1" || name == "DSS1") [[unlikely]] { + return EVP_sha1(); + } return EVP_get_digestbyname(name.data()); } +const EVP_CIPHER* getCipherByName(const std::string_view name) { + return EVP_get_cipherbyname(name.data()); +} + bool checkHkdfLength(const EVP_MD* md, size_t length) { // HKDF-Expand computes up to 255 HMAC blocks, each having as many bits as // the output of the hash function. 255 is a hard limit because HKDF appends @@ -1376,8 +1632,7 @@ DataPointer hkdf(const EVP_MD* md, return {}; } - EVPKeyCtxPointer ctx = - EVPKeyCtxPointer(EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, nullptr)); + auto ctx = EVPKeyCtxPointer::NewFromID(EVP_PKEY_HKDF); if (!ctx || !EVP_PKEY_derive_init(ctx.get()) || !EVP_PKEY_CTX_set_hkdf_md(ctx.get(), md) || !EVP_PKEY_CTX_add1_hkdf_info(ctx.get(), info.data, info.len)) { @@ -1533,6 +1788,26 @@ EVPKeyPointer EVPKeyPointer::NewRawPrivate( EVP_PKEY_new_raw_private_key(id, nullptr, data.data, data.len)); } +EVPKeyPointer EVPKeyPointer::NewDH(DHPointer&& dh) { + if (!dh) return {}; + auto key = New(); + if (!key) return {}; + if (EVP_PKEY_assign_DH(key.get(), dh.get())) { + dh.release(); + } + return key; +} + +EVPKeyPointer EVPKeyPointer::NewRSA(RSAPointer&& rsa) { + if (!rsa) return {}; + auto key = New(); + if (!key) return {}; + if (EVP_PKEY_assign_RSA(key.get(), rsa.get())) { + rsa.release(); + } + return key; +} + EVPKeyPointer::EVPKeyPointer(EVP_PKEY* pkey) : pkey_(pkey) {} EVPKeyPointer::EVPKeyPointer(EVPKeyPointer&& other) noexcept @@ -1586,7 +1861,7 @@ size_t EVPKeyPointer::size() const { EVPKeyCtxPointer EVPKeyPointer::newCtx() const { if (!pkey_) return {}; - return EVPKeyCtxPointer(EVP_PKEY_CTX_new(get(), nullptr)); + return EVPKeyCtxPointer::New(*this); } size_t EVPKeyPointer::rawPublicKeySize() const { @@ -1633,6 +1908,21 @@ BIOPointer EVPKeyPointer::derPublicKey() const { return bio; } +bool EVPKeyPointer::assign(const ECKeyPointer& eckey) { + if (!pkey_ || !eckey) return {}; + return EVP_PKEY_assign_EC_KEY(pkey_.get(), eckey.get()); +} + +bool EVPKeyPointer::set(const ECKeyPointer& eckey) { + if (!pkey_ || !eckey) return false; + return EVP_PKEY_set1_EC_KEY(pkey_.get(), eckey); +} + +EVPKeyPointer::operator const EC_KEY*() const { + if (!pkey_) return nullptr; + return EVP_PKEY_get0_EC_KEY(pkey_.get()); +} + namespace { EVPKeyPointer::ParseKeyResult TryParsePublicKeyInner(const BIOPointer& bp, const char* name, @@ -2044,4 +2334,1483 @@ Result<BIOPointer, bool> EVPKeyPointer::writePublicKey( return bio; } +bool EVPKeyPointer::isRsaVariant() const { + if (!pkey_) return false; + int type = id(); + return type == EVP_PKEY_RSA || type == EVP_PKEY_RSA2 || + type == EVP_PKEY_RSA_PSS; +} + +bool EVPKeyPointer::isOneShotVariant() const { + if (!pkey_) return false; + int type = id(); + return type == EVP_PKEY_ED25519 || type == EVP_PKEY_ED448; +} + +bool EVPKeyPointer::isSigVariant() const { + if (!pkey_) return false; + int type = id(); + return type == EVP_PKEY_EC || type == EVP_PKEY_DSA; +} + +int EVPKeyPointer::getDefaultSignPadding() const { + return id() == EVP_PKEY_RSA_PSS ? RSA_PKCS1_PSS_PADDING : RSA_PKCS1_PADDING; +} + +std::optional<uint32_t> EVPKeyPointer::getBytesOfRS() const { + if (!pkey_) return std::nullopt; + int bits, id = base_id(); + + if (id == EVP_PKEY_DSA) { + const DSA* dsa_key = EVP_PKEY_get0_DSA(get()); + // Both r and s are computed mod q, so their width is limited by that of q. + bits = BignumPointer::GetBitCount(DSA_get0_q(dsa_key)); + } else if (id == EVP_PKEY_EC) { + bits = EC_GROUP_order_bits(ECKeyPointer::GetGroup(*this)); + } else { + return std::nullopt; + } + + return (bits + 7) / 8; +} + +EVPKeyPointer::operator Rsa() const { + int type = id(); + if (type != EVP_PKEY_RSA && type != EVP_PKEY_RSA_PSS) return {}; + + // TODO(tniessen): Remove the "else" branch once we drop support for OpenSSL + // versions older than 1.1.1e via FIPS / dynamic linking. + OSSL3_CONST RSA* rsa; + if (OPENSSL_VERSION_NUMBER >= 0x1010105fL) { + rsa = EVP_PKEY_get0_RSA(get()); + } else { + rsa = static_cast<OSSL3_CONST RSA*>(EVP_PKEY_get0(get())); + } + if (rsa == nullptr) return {}; + return Rsa(rsa); +} + +bool EVPKeyPointer::validateDsaParameters() const { + if (!pkey_) return false; + /* Validate DSA2 parameters from FIPS 186-4 */ +#if OPENSSL_VERSION_MAJOR >= 3 + if (EVP_default_properties_is_fips_enabled(nullptr) && EVP_PKEY_DSA == id()) { +#else + if (FIPS_mode() && EVP_PKEY_DSA == id()) { +#endif + const DSA* dsa = EVP_PKEY_get0_DSA(pkey_.get()); + const BIGNUM* p; + const BIGNUM* q; + DSA_get0_pqg(dsa, &p, &q, nullptr); + int L = BignumPointer::GetBitCount(p); + int N = BignumPointer::GetBitCount(q); + + return (L == 1024 && N == 160) || (L == 2048 && N == 224) || + (L == 2048 && N == 256) || (L == 3072 && N == 256); + } + + return true; +} + +// ============================================================================ + +SSLPointer::SSLPointer(SSL* ssl) : ssl_(ssl) {} + +SSLPointer::SSLPointer(SSLPointer&& other) noexcept : ssl_(other.release()) {} + +SSLPointer& SSLPointer::operator=(SSLPointer&& other) noexcept { + if (this == &other) return *this; + this->~SSLPointer(); + return *new (this) SSLPointer(std::move(other)); +} + +SSLPointer::~SSLPointer() { + reset(); +} + +void SSLPointer::reset(SSL* ssl) { + ssl_.reset(ssl); +} + +SSL* SSLPointer::release() { + return ssl_.release(); +} + +SSLPointer SSLPointer::New(const SSLCtxPointer& ctx) { + if (!ctx) return {}; + return SSLPointer(SSL_new(ctx.get())); +} + +void SSLPointer::getCiphers( + std::function<void(const std::string_view)> cb) const { + if (!ssl_) return; + STACK_OF(SSL_CIPHER)* ciphers = SSL_get_ciphers(get()); + + // TLSv1.3 ciphers aren't listed by EVP. There are only 5, we could just + // document them, but since there are only 5, easier to just add them manually + // and not have to explain their absence in the API docs. They are lower-cased + // because the docs say they will be. + static constexpr const char* TLS13_CIPHERS[] = { + "tls_aes_256_gcm_sha384", + "tls_chacha20_poly1305_sha256", + "tls_aes_128_gcm_sha256", + "tls_aes_128_ccm_8_sha256", + "tls_aes_128_ccm_sha256"}; + + const int n = sk_SSL_CIPHER_num(ciphers); + + for (int i = 0; i < n; ++i) { + const SSL_CIPHER* cipher = sk_SSL_CIPHER_value(ciphers, i); + cb(SSL_CIPHER_get_name(cipher)); + } + + for (unsigned i = 0; i < 5; ++i) { + cb(TLS13_CIPHERS[i]); + } +} + +bool SSLPointer::setSession(const SSLSessionPointer& session) { + if (!session || !ssl_) return false; + return SSL_set_session(get(), session.get()) == 1; +} + +bool SSLPointer::setSniContext(const SSLCtxPointer& ctx) const { + if (!ctx) return false; + auto x509 = ncrypto::X509View::From(ctx); + if (!x509) return false; + EVP_PKEY* pkey = SSL_CTX_get0_privatekey(ctx.get()); + STACK_OF(X509) * chain; + int err = SSL_CTX_get0_chain_certs(ctx.get(), &chain); + if (err == 1) err = SSL_use_certificate(get(), x509); + if (err == 1) err = SSL_use_PrivateKey(get(), pkey); + if (err == 1 && chain != nullptr) err = SSL_set1_chain(get(), chain); + return err == 1; +} + +std::optional<uint32_t> SSLPointer::verifyPeerCertificate() const { + if (!ssl_) return std::nullopt; + if (X509Pointer::PeerFrom(*this)) { + return SSL_get_verify_result(get()); + } + + const SSL_CIPHER* curr_cipher = SSL_get_current_cipher(get()); + const SSL_SESSION* sess = SSL_get_session(get()); + // Allow no-cert for PSK authentication in TLS1.2 and lower. + // In TLS1.3 check that session was reused because TLS1.3 PSK + // looks like session resumption. + if (SSL_CIPHER_get_auth_nid(curr_cipher) == NID_auth_psk || + (SSL_SESSION_get_protocol_version(sess) == TLS1_3_VERSION && + SSL_session_reused(get()))) { + return X509_V_OK; + } + + return std::nullopt; +} + +const std::string_view SSLPointer::getClientHelloAlpn() const { + if (ssl_ == nullptr) return {}; + const unsigned char* buf; + size_t len; + size_t rem; + + if (!SSL_client_hello_get0_ext( + get(), + TLSEXT_TYPE_application_layer_protocol_negotiation, + &buf, + &rem) || + rem < 2) { + return {}; + } + + len = (buf[0] << 8) | buf[1]; + if (len + 2 != rem) return {}; + return reinterpret_cast<const char*>(buf + 3); +} + +const std::string_view SSLPointer::getClientHelloServerName() const { + if (ssl_ == nullptr) return {}; + const unsigned char* buf; + size_t len; + size_t rem; + + if (!SSL_client_hello_get0_ext(get(), TLSEXT_TYPE_server_name, &buf, &rem) || + rem <= 2) { + return {}; + } + + len = (*buf << 8) | *(buf + 1); + if (len + 2 != rem) return {}; + rem = len; + + if (rem == 0 || *(buf + 2) != TLSEXT_NAMETYPE_host_name) return {}; + rem--; + if (rem <= 2) return {}; + len = (*(buf + 3) << 8) | *(buf + 4); + if (len + 2 > rem) return {}; + return reinterpret_cast<const char*>(buf + 5); +} + +std::optional<const std::string_view> SSLPointer::GetServerName( + const SSL* ssl) { + if (ssl == nullptr) return std::nullopt; + auto res = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name); + if (res == nullptr) return std::nullopt; + return res; +} + +std::optional<const std::string_view> SSLPointer::getServerName() const { + if (!ssl_) return std::nullopt; + return GetServerName(get()); +} + +X509View SSLPointer::getCertificate() const { + if (!ssl_) return {}; + ClearErrorOnReturn clear_error_on_return; + return ncrypto::X509View(SSL_get_certificate(get())); +} + +const SSL_CIPHER* SSLPointer::getCipher() const { + if (!ssl_) return nullptr; + return SSL_get_current_cipher(get()); +} + +bool SSLPointer::isServer() const { + return SSL_is_server(get()) != 0; +} + +EVPKeyPointer SSLPointer::getPeerTempKey() const { + if (!ssl_) return {}; + EVP_PKEY* raw_key = nullptr; + if (!SSL_get_peer_tmp_key(get(), &raw_key)) return {}; + return EVPKeyPointer(raw_key); +} + +SSLCtxPointer::SSLCtxPointer(SSL_CTX* ctx) : ctx_(ctx) {} + +SSLCtxPointer::SSLCtxPointer(SSLCtxPointer&& other) noexcept + : ctx_(other.release()) {} + +SSLCtxPointer& SSLCtxPointer::operator=(SSLCtxPointer&& other) noexcept { + if (this == &other) return *this; + this->~SSLCtxPointer(); + return *new (this) SSLCtxPointer(std::move(other)); +} + +SSLCtxPointer::~SSLCtxPointer() { + reset(); +} + +void SSLCtxPointer::reset(SSL_CTX* ctx) { + ctx_.reset(ctx); +} + +void SSLCtxPointer::reset(const SSL_METHOD* method) { + ctx_.reset(SSL_CTX_new(method)); +} + +SSL_CTX* SSLCtxPointer::release() { + return ctx_.release(); +} + +SSLCtxPointer SSLCtxPointer::NewServer() { + return SSLCtxPointer(SSL_CTX_new(TLS_server_method())); +} + +SSLCtxPointer SSLCtxPointer::NewClient() { + return SSLCtxPointer(SSL_CTX_new(TLS_client_method())); +} + +SSLCtxPointer SSLCtxPointer::New(const SSL_METHOD* method) { + return SSLCtxPointer(SSL_CTX_new(method)); +} + +bool SSLCtxPointer::setGroups(const char* groups) { + return SSL_CTX_set1_groups_list(get(), groups) == 1; +} + +// ============================================================================ + +const Cipher Cipher::FromName(const char* name) { + return Cipher(EVP_get_cipherbyname(name)); +} + +const Cipher Cipher::FromNid(int nid) { + return Cipher(EVP_get_cipherbynid(nid)); +} + +const Cipher Cipher::FromCtx(const CipherCtxPointer& ctx) { + return Cipher(EVP_CIPHER_CTX_cipher(ctx.get())); +} + +int Cipher::getMode() const { + if (!cipher_) return 0; + return EVP_CIPHER_mode(cipher_); +} + +int Cipher::getIvLength() const { + if (!cipher_) return 0; + return EVP_CIPHER_iv_length(cipher_); +} + +int Cipher::getKeyLength() const { + if (!cipher_) return 0; + return EVP_CIPHER_key_length(cipher_); +} + +int Cipher::getBlockSize() const { + if (!cipher_) return 0; + return EVP_CIPHER_block_size(cipher_); +} + +int Cipher::getNid() const { + if (!cipher_) return 0; + return EVP_CIPHER_nid(cipher_); +} + +std::string_view Cipher::getModeLabel() const { + if (!cipher_) return {}; + switch (getMode()) { + case EVP_CIPH_CCM_MODE: + return "ccm"; + case EVP_CIPH_CFB_MODE: + return "cfb"; + case EVP_CIPH_CBC_MODE: + return "cbc"; + case EVP_CIPH_CTR_MODE: + return "ctr"; + case EVP_CIPH_ECB_MODE: + return "ecb"; + case EVP_CIPH_GCM_MODE: + return "gcm"; + case EVP_CIPH_OCB_MODE: + return "ocb"; + case EVP_CIPH_OFB_MODE: + return "ofb"; + case EVP_CIPH_WRAP_MODE: + return "wrap"; + case EVP_CIPH_XTS_MODE: + return "xts"; + case EVP_CIPH_STREAM_CIPHER: + return "stream"; + } + return "{unknown}"; +} + +std::string_view Cipher::getName() const { + if (!cipher_) return {}; + // OBJ_nid2sn(EVP_CIPHER_nid(cipher)) is used here instead of + // EVP_CIPHER_name(cipher) for compatibility with BoringSSL. + return OBJ_nid2sn(getNid()); +} + +bool Cipher::isSupportedAuthenticatedMode() const { + switch (getMode()) { + case EVP_CIPH_CCM_MODE: + case EVP_CIPH_GCM_MODE: +#ifndef OPENSSL_NO_OCB + case EVP_CIPH_OCB_MODE: +#endif + return true; + case EVP_CIPH_STREAM_CIPHER: + return getNid() == NID_chacha20_poly1305; + default: + return false; + } +} + +// ============================================================================ + +CipherCtxPointer CipherCtxPointer::New() { + auto ret = CipherCtxPointer(EVP_CIPHER_CTX_new()); + if (!ret) return {}; + EVP_CIPHER_CTX_init(ret.get()); + return ret; +} + +CipherCtxPointer::CipherCtxPointer(EVP_CIPHER_CTX* ctx) : ctx_(ctx) {} + +CipherCtxPointer::CipherCtxPointer(CipherCtxPointer&& other) noexcept + : ctx_(other.release()) {} + +CipherCtxPointer& CipherCtxPointer::operator=( + CipherCtxPointer&& other) noexcept { + if (this == &other) return *this; + this->~CipherCtxPointer(); + return *new (this) CipherCtxPointer(std::move(other)); +} + +CipherCtxPointer::~CipherCtxPointer() { + reset(); +} + +void CipherCtxPointer::reset(EVP_CIPHER_CTX* ctx) { + ctx_.reset(ctx); +} + +EVP_CIPHER_CTX* CipherCtxPointer::release() { + return ctx_.release(); +} + +void CipherCtxPointer::setFlags(int flags) { + if (!ctx_) return; + EVP_CIPHER_CTX_set_flags(ctx_.get(), flags); +} + +bool CipherCtxPointer::setKeyLength(size_t length) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_set_key_length(ctx_.get(), length); +} + +bool CipherCtxPointer::setIvLength(size_t length) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_ctrl( + ctx_.get(), EVP_CTRL_AEAD_SET_IVLEN, length, nullptr); +} + +bool CipherCtxPointer::setAeadTag(const Buffer<const char>& tag) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_ctrl( + ctx_.get(), EVP_CTRL_AEAD_SET_TAG, tag.len, const_cast<char*>(tag.data)); +} + +bool CipherCtxPointer::setAeadTagLength(size_t length) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_ctrl( + ctx_.get(), EVP_CTRL_AEAD_SET_TAG, length, nullptr); +} + +bool CipherCtxPointer::setPadding(bool padding) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_set_padding(ctx_.get(), padding); +} + +int CipherCtxPointer::getBlockSize() const { + if (!ctx_) return 0; + return EVP_CIPHER_CTX_block_size(ctx_.get()); +} + +int CipherCtxPointer::getMode() const { + if (!ctx_) return 0; + return EVP_CIPHER_CTX_mode(ctx_.get()); +} + +int CipherCtxPointer::getNid() const { + if (!ctx_) return 0; + return EVP_CIPHER_CTX_nid(ctx_.get()); +} + +bool CipherCtxPointer::init(const Cipher& cipher, + bool encrypt, + const unsigned char* key, + const unsigned char* iv) { + if (!ctx_) return false; + return EVP_CipherInit_ex( + ctx_.get(), cipher, nullptr, key, iv, encrypt ? 1 : 0) == 1; +} + +bool CipherCtxPointer::update(const Buffer<const unsigned char>& in, + unsigned char* out, + int* out_len, + bool finalize) { + if (!ctx_) return false; + if (!finalize) { + return EVP_CipherUpdate(ctx_.get(), out, out_len, in.data, in.len) == 1; + } + return EVP_CipherFinal_ex(ctx_.get(), out, out_len) == 1; +} + +bool CipherCtxPointer::getAeadTag(size_t len, unsigned char* out) { + if (!ctx_) return false; + return EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, len, out); +} + +// ============================================================================ + +ECDSASigPointer::ECDSASigPointer() : sig_(nullptr) {} +ECDSASigPointer::ECDSASigPointer(ECDSA_SIG* sig) : sig_(sig) { + if (sig_) { + ECDSA_SIG_get0(sig_.get(), &pr_, &ps_); + } +} +ECDSASigPointer::ECDSASigPointer(ECDSASigPointer&& other) noexcept + : sig_(other.release()) { + if (sig_) { + ECDSA_SIG_get0(sig_.get(), &pr_, &ps_); + } +} + +ECDSASigPointer& ECDSASigPointer::operator=(ECDSASigPointer&& other) noexcept { + sig_.reset(other.release()); + if (sig_) { + ECDSA_SIG_get0(sig_.get(), &pr_, &ps_); + } + return *this; +} + +ECDSASigPointer::~ECDSASigPointer() { + reset(); +} + +void ECDSASigPointer::reset(ECDSA_SIG* sig) { + sig_.reset(); + pr_ = nullptr; + ps_ = nullptr; +} + +ECDSA_SIG* ECDSASigPointer::release() { + pr_ = nullptr; + ps_ = nullptr; + return sig_.release(); +} + +ECDSASigPointer ECDSASigPointer::New() { + return ECDSASigPointer(ECDSA_SIG_new()); +} + +ECDSASigPointer ECDSASigPointer::Parse(const Buffer<const unsigned char>& sig) { + const unsigned char* ptr = sig.data; + return ECDSASigPointer(d2i_ECDSA_SIG(nullptr, &ptr, sig.len)); +} + +bool ECDSASigPointer::setParams(BignumPointer&& r, BignumPointer&& s) { + if (!sig_) return false; + return ECDSA_SIG_set0(sig_.get(), r.release(), s.release()); +} + +Buffer<unsigned char> ECDSASigPointer::encode() const { + if (!sig_) + return { + .data = nullptr, + .len = 0, + }; + Buffer<unsigned char> buf; + buf.len = i2d_ECDSA_SIG(sig_.get(), &buf.data); + return buf; +} + +// ============================================================================ + +ECGroupPointer::ECGroupPointer() : group_(nullptr) {} + +ECGroupPointer::ECGroupPointer(EC_GROUP* group) : group_(group) {} + +ECGroupPointer::ECGroupPointer(ECGroupPointer&& other) noexcept + : group_(other.release()) {} + +ECGroupPointer& ECGroupPointer::operator=(ECGroupPointer&& other) noexcept { + group_.reset(other.release()); + return *this; +} + +ECGroupPointer::~ECGroupPointer() { + reset(); +} + +void ECGroupPointer::reset(EC_GROUP* group) { + group_.reset(); +} + +EC_GROUP* ECGroupPointer::release() { + return group_.release(); +} + +ECGroupPointer ECGroupPointer::NewByCurveName(int nid) { + return ECGroupPointer(EC_GROUP_new_by_curve_name(nid)); +} + +// ============================================================================ + +ECPointPointer::ECPointPointer() : point_(nullptr) {} + +ECPointPointer::ECPointPointer(EC_POINT* point) : point_(point) {} + +ECPointPointer::ECPointPointer(ECPointPointer&& other) noexcept + : point_(other.release()) {} + +ECPointPointer& ECPointPointer::operator=(ECPointPointer&& other) noexcept { + point_.reset(other.release()); + return *this; +} + +ECPointPointer::~ECPointPointer() { + reset(); +} + +void ECPointPointer::reset(EC_POINT* point) { + point_.reset(point); +} + +EC_POINT* ECPointPointer::release() { + return point_.release(); +} + +ECPointPointer ECPointPointer::New(const EC_GROUP* group) { + return ECPointPointer(EC_POINT_new(group)); +} + +bool ECPointPointer::setFromBuffer(const Buffer<const unsigned char>& buffer, + const EC_GROUP* group) { + if (!point_) return false; + return EC_POINT_oct2point( + group, point_.get(), buffer.data, buffer.len, nullptr); +} + +bool ECPointPointer::mul(const EC_GROUP* group, const BIGNUM* priv_key) { + if (!point_) return false; + return EC_POINT_mul(group, point_.get(), priv_key, nullptr, nullptr, nullptr); +} + +// ============================================================================ + +ECKeyPointer::ECKeyPointer() : key_(nullptr) {} + +ECKeyPointer::ECKeyPointer(EC_KEY* key) : key_(key) {} + +ECKeyPointer::ECKeyPointer(ECKeyPointer&& other) noexcept + : key_(other.release()) {} + +ECKeyPointer& ECKeyPointer::operator=(ECKeyPointer&& other) noexcept { + key_.reset(other.release()); + return *this; +} + +ECKeyPointer::~ECKeyPointer() { + reset(); +} + +void ECKeyPointer::reset(EC_KEY* key) { + key_.reset(key); +} + +EC_KEY* ECKeyPointer::release() { + return key_.release(); +} + +ECKeyPointer ECKeyPointer::clone() const { + if (!key_) return {}; + return ECKeyPointer(EC_KEY_dup(key_.get())); +} + +bool ECKeyPointer::generate() { + if (!key_) return false; + return EC_KEY_generate_key(key_.get()); +} + +bool ECKeyPointer::setPublicKey(const ECPointPointer& pub) { + if (!key_) return false; + return EC_KEY_set_public_key(key_.get(), pub.get()) == 1; +} + +bool ECKeyPointer::setPublicKeyRaw(const BignumPointer& x, + const BignumPointer& y) { + if (!key_) return false; + return EC_KEY_set_public_key_affine_coordinates( + key_.get(), x.get(), y.get()) == 1; +} + +bool ECKeyPointer::setPrivateKey(const BignumPointer& priv) { + if (!key_) return false; + return EC_KEY_set_private_key(key_.get(), priv.get()) == 1; +} + +const BIGNUM* ECKeyPointer::getPrivateKey() const { + if (!key_) return nullptr; + return GetPrivateKey(key_.get()); +} + +const BIGNUM* ECKeyPointer::GetPrivateKey(const EC_KEY* key) { + return EC_KEY_get0_private_key(key); +} + +const EC_POINT* ECKeyPointer::getPublicKey() const { + if (!key_) return nullptr; + return GetPublicKey(key_.get()); +} + +const EC_POINT* ECKeyPointer::GetPublicKey(const EC_KEY* key) { + return EC_KEY_get0_public_key(key); +} + +const EC_GROUP* ECKeyPointer::getGroup() const { + if (!key_) return nullptr; + return GetGroup(key_.get()); +} + +const EC_GROUP* ECKeyPointer::GetGroup(const EC_KEY* key) { + return EC_KEY_get0_group(key); +} + +int ECKeyPointer::GetGroupName(const EC_KEY* key) { + const EC_GROUP* group = GetGroup(key); + return group ? EC_GROUP_get_curve_name(group) : 0; +} + +bool ECKeyPointer::Check(const EC_KEY* key) { + return EC_KEY_check_key(key) == 1; +} + +bool ECKeyPointer::checkKey() const { + if (!key_) return false; + return Check(key_.get()); +} + +ECKeyPointer ECKeyPointer::NewByCurveName(int nid) { + return ECKeyPointer(EC_KEY_new_by_curve_name(nid)); +} + +ECKeyPointer ECKeyPointer::New(const EC_GROUP* group) { + auto ptr = ECKeyPointer(EC_KEY_new()); + if (!ptr) return {}; + if (!EC_KEY_set_group(ptr.get(), group)) return {}; + return ptr; +} + +// ============================================================================ + +EVPKeyCtxPointer::EVPKeyCtxPointer() : ctx_(nullptr) {} + +EVPKeyCtxPointer::EVPKeyCtxPointer(EVP_PKEY_CTX* ctx) : ctx_(ctx) {} + +EVPKeyCtxPointer::EVPKeyCtxPointer(EVPKeyCtxPointer&& other) noexcept + : ctx_(other.release()) {} + +EVPKeyCtxPointer& EVPKeyCtxPointer::operator=( + EVPKeyCtxPointer&& other) noexcept { + ctx_.reset(other.release()); + return *this; +} + +EVPKeyCtxPointer::~EVPKeyCtxPointer() { + reset(); +} + +void EVPKeyCtxPointer::reset(EVP_PKEY_CTX* ctx) { + ctx_.reset(ctx); +} + +EVP_PKEY_CTX* EVPKeyCtxPointer::release() { + return ctx_.release(); +} + +EVPKeyCtxPointer EVPKeyCtxPointer::New(const EVPKeyPointer& key) { + if (!key) return {}; + return EVPKeyCtxPointer(EVP_PKEY_CTX_new(key.get(), nullptr)); +} + +EVPKeyCtxPointer EVPKeyCtxPointer::NewFromID(int id) { + return EVPKeyCtxPointer(EVP_PKEY_CTX_new_id(id, nullptr)); +} + +bool EVPKeyCtxPointer::initForDerive(const EVPKeyPointer& peer) { + if (!ctx_) return false; + if (EVP_PKEY_derive_init(ctx_.get()) != 1) return false; + return EVP_PKEY_derive_set_peer(ctx_.get(), peer.get()) == 1; +} + +bool EVPKeyCtxPointer::initForKeygen() { + if (!ctx_) return false; + return EVP_PKEY_keygen_init(ctx_.get()) == 1; +} + +bool EVPKeyCtxPointer::initForParamgen() { + if (!ctx_) return false; + return EVP_PKEY_paramgen_init(ctx_.get()) == 1; +} + +int EVPKeyCtxPointer::initForVerify() { + if (!ctx_) return 0; + return EVP_PKEY_verify_init(ctx_.get()); +} + +int EVPKeyCtxPointer::initForSign() { + if (!ctx_) return 0; + return EVP_PKEY_sign_init(ctx_.get()); +} + +bool EVPKeyCtxPointer::setDhParameters(int prime_size, uint32_t generator) { + if (!ctx_) return false; + return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx_.get(), prime_size) == 1 && + EVP_PKEY_CTX_set_dh_paramgen_generator(ctx_.get(), generator) == 1; +} + +bool EVPKeyCtxPointer::setDsaParameters(uint32_t bits, + std::optional<int> q_bits) { + if (!ctx_) return false; + if (EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx_.get(), bits) != 1) { + return false; + } + if (q_bits.has_value() && + EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx_.get(), q_bits.value()) != 1) { + return false; + } + return true; +} + +bool EVPKeyCtxPointer::setEcParameters(int curve, int encoding) { + if (!ctx_) return false; + return EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx_.get(), curve) == 1 && + EVP_PKEY_CTX_set_ec_param_enc(ctx_.get(), encoding) == 1; +} + +bool EVPKeyCtxPointer::setRsaOaepMd(const EVP_MD* md) { + if (md == nullptr || !ctx_) return false; + return EVP_PKEY_CTX_set_rsa_oaep_md(ctx_.get(), md) > 0; +} + +bool EVPKeyCtxPointer::setRsaMgf1Md(const EVP_MD* md) { + if (md == nullptr || !ctx_) return false; + return EVP_PKEY_CTX_set_rsa_mgf1_md(ctx_.get(), md) > 0; +} + +bool EVPKeyCtxPointer::setRsaPadding(int padding) { + return setRsaPadding(ctx_.get(), padding, std::nullopt); +} + +bool EVPKeyCtxPointer::setRsaPadding(EVP_PKEY_CTX* ctx, + int padding, + std::optional<int> salt_len) { + if (ctx == nullptr) return false; + if (EVP_PKEY_CTX_set_rsa_padding(ctx, padding) <= 0) { + return false; + } + if (padding == RSA_PKCS1_PSS_PADDING && salt_len.has_value()) { + return EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, salt_len.value()) > 0; + } + return true; +} + +bool EVPKeyCtxPointer::setRsaKeygenBits(int bits) { + if (!ctx_) return false; + return EVP_PKEY_CTX_set_rsa_keygen_bits(ctx_.get(), bits) == 1; +} + +bool EVPKeyCtxPointer::setRsaKeygenPubExp(BignumPointer&& e) { + if (!ctx_) return false; + if (EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx_.get(), e.get()) == 1) { + // The ctx_ takes ownership of e on success. + e.release(); + return true; + } + return false; +} + +bool EVPKeyCtxPointer::setRsaPssKeygenMd(const EVP_MD* md) { + if (md == nullptr || !ctx_) return false; + return EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx_.get(), md) > 0; +} + +bool EVPKeyCtxPointer::setRsaPssKeygenMgf1Md(const EVP_MD* md) { + if (md == nullptr || !ctx_) return false; + return EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx_.get(), md) > 0; +} + +bool EVPKeyCtxPointer::setRsaPssSaltlen(int salt_len) { + if (!ctx_) return false; + return EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx_.get(), salt_len) > 0; +} + +bool EVPKeyCtxPointer::setRsaImplicitRejection() { + if (!ctx_) return false; + return EVP_PKEY_CTX_ctrl_str( + ctx_.get(), "rsa_pkcs1_implicit_rejection", "1") > 0; + // From the doc -2 means that the option is not supported. + // The default for the option is enabled and if it has been + // specifically disabled we want to respect that so we will + // not throw an error if the option is supported regardless + // of how it is set. The call to set the value + // will not affect what is used since a different context is + // used in the call if the option is supported +} + +bool EVPKeyCtxPointer::setRsaOaepLabel(DataPointer&& data) { + if (!ctx_) return false; + if (EVP_PKEY_CTX_set0_rsa_oaep_label(ctx_.get(), + static_cast<unsigned char*>(data.get()), + data.size()) > 0) { + // The ctx_ takes ownership of data on success. + data.release(); + return true; + } + return false; +} + +bool EVPKeyCtxPointer::setSignatureMd(const EVPMDCtxPointer& md) { + if (!ctx_) return false; + return EVP_PKEY_CTX_set_signature_md(ctx_.get(), EVP_MD_CTX_md(md.get())) == + 1; +} + +bool EVPKeyCtxPointer::initForEncrypt() { + if (!ctx_) return false; + return EVP_PKEY_encrypt_init(ctx_.get()) == 1; +} + +bool EVPKeyCtxPointer::initForDecrypt() { + if (!ctx_) return false; + return EVP_PKEY_decrypt_init(ctx_.get()) == 1; +} + +DataPointer EVPKeyCtxPointer::derive() const { + if (!ctx_) return {}; + size_t len = 0; + if (EVP_PKEY_derive(ctx_.get(), nullptr, &len) != 1) return {}; + auto data = DataPointer::Alloc(len); + if (!data) return {}; + if (EVP_PKEY_derive( + ctx_.get(), static_cast<unsigned char*>(data.get()), &len) != 1) { + return {}; + } + return data; +} + +EVPKeyPointer EVPKeyCtxPointer::paramgen() const { + if (!ctx_) return {}; + EVP_PKEY* key = nullptr; + if (EVP_PKEY_paramgen(ctx_.get(), &key) != 1) return {}; + return EVPKeyPointer(key); +} + +bool EVPKeyCtxPointer::publicCheck() const { + if (!ctx_) return false; +#if OPENSSL_VERSION_MAJOR >= 3 + return EVP_PKEY_public_check_quick(ctx_.get()) == 1; +#else + return EVP_PKEY_public_check(ctx_.get()) == 1; +#endif +} + +bool EVPKeyCtxPointer::privateCheck() const { + if (!ctx_) return false; + return EVP_PKEY_check(ctx_.get()) == 1; +} + +bool EVPKeyCtxPointer::verify(const Buffer<const unsigned char>& sig, + const Buffer<const unsigned char>& data) { + if (!ctx_) return false; + return EVP_PKEY_verify(ctx_.get(), sig.data, sig.len, data.data, data.len) == + 1; +} + +DataPointer EVPKeyCtxPointer::sign(const Buffer<const unsigned char>& data) { + if (!ctx_) return {}; + size_t len = 0; + if (EVP_PKEY_sign(ctx_.get(), nullptr, &len, data.data, data.len) != 1) { + return {}; + } + auto buf = DataPointer::Alloc(len); + if (!buf) return {}; + if (EVP_PKEY_sign(ctx_.get(), + static_cast<unsigned char*>(buf.get()), + &len, + data.data, + data.len) != 1) { + return {}; + } + return buf.resize(len); +} + +bool EVPKeyCtxPointer::signInto(const Buffer<const unsigned char>& data, + Buffer<unsigned char>* sig) { + if (!ctx_) return false; + size_t len = sig->len; + if (EVP_PKEY_sign(ctx_.get(), sig->data, &len, data.data, data.len) != 1) { + return false; + } + sig->len = len; + return true; +} + +// ============================================================================ + +namespace { + +using EVP_PKEY_cipher_init_t = int(EVP_PKEY_CTX* ctx); +using EVP_PKEY_cipher_t = int(EVP_PKEY_CTX* ctx, + unsigned char* out, + size_t* outlen, + const unsigned char* in, + size_t inlen); + +template <EVP_PKEY_cipher_init_t init, EVP_PKEY_cipher_t cipher> +DataPointer RSA_Cipher(const EVPKeyPointer& key, + const Rsa::CipherParams& params, + const Buffer<const void> in) { + if (!key) return {}; + EVPKeyCtxPointer ctx = key.newCtx(); + + if (!ctx || init(ctx.get()) <= 0 || !ctx.setRsaPadding(params.padding) || + (params.digest != nullptr && (!ctx.setRsaOaepMd(params.digest) || + !ctx.setRsaMgf1Md(params.digest)))) { + return {}; + } + + if (params.label.len != 0 && params.label.data != nullptr && + !ctx.setRsaOaepLabel(DataPointer::Copy(params.label))) { + return {}; + } + + size_t out_len = 0; + if (cipher(ctx.get(), + nullptr, + &out_len, + reinterpret_cast<const unsigned char*>(in.data), + in.len) <= 0) { + return {}; + } + + auto buf = DataPointer::Alloc(out_len); + if (!buf) return {}; + + if (cipher(ctx.get(), + static_cast<unsigned char*>(buf.get()), + &out_len, + static_cast<const unsigned char*>(in.data), + in.len) <= 0) { + return {}; + } + + return buf.resize(out_len); +} + +template <EVP_PKEY_cipher_init_t init, EVP_PKEY_cipher_t cipher> +DataPointer CipherImpl(const EVPKeyPointer& key, + const Rsa::CipherParams& params, + const Buffer<const void> in) { + if (!key) return {}; + EVPKeyCtxPointer ctx = key.newCtx(); + if (!ctx || init(ctx.get()) <= 0 || !ctx.setRsaPadding(params.padding) || + (params.digest != nullptr && !ctx.setRsaOaepMd(params.digest))) { + return {}; + } + + if (params.label.len != 0 && params.label.data != nullptr && + !ctx.setRsaOaepLabel(DataPointer::Copy(params.label))) { + return {}; + } + + size_t out_len = 0; + if (cipher(ctx.get(), + nullptr, + &out_len, + static_cast<const unsigned char*>(in.data), + in.len) <= 0) { + return {}; + } + + auto buf = DataPointer::Alloc(out_len); + if (!buf) return {}; + + if (cipher(ctx.get(), + static_cast<unsigned char*>(buf.get()), + &out_len, + static_cast<const unsigned char*>(in.data), + in.len) <= 0) { + return {}; + } + + return buf.resize(out_len); +} +} // namespace + +Rsa::Rsa() : rsa_(nullptr) {} + +Rsa::Rsa(OSSL3_CONST RSA* ptr) : rsa_(ptr) {} + +const Rsa::PublicKey Rsa::getPublicKey() const { + if (rsa_ == nullptr) return {}; + PublicKey key; + RSA_get0_key(rsa_, &key.n, &key.e, &key.d); + return key; +} + +const Rsa::PrivateKey Rsa::getPrivateKey() const { + if (rsa_ == nullptr) return {}; + PrivateKey key; + RSA_get0_factors(rsa_, &key.p, &key.q); + RSA_get0_crt_params(rsa_, &key.dp, &key.dq, &key.qi); + return key; +} + +const std::optional<Rsa::PssParams> Rsa::getPssParams() const { + if (rsa_ == nullptr) return std::nullopt; + const RSA_PSS_PARAMS* params = RSA_get0_pss_params(rsa_); + if (params == nullptr) return std::nullopt; + Rsa::PssParams ret{ + .digest = OBJ_nid2ln(NID_sha1), + .mgf1_digest = OBJ_nid2ln(NID_sha1), + .salt_length = 20, + }; + + if (params->hashAlgorithm != nullptr) { + const ASN1_OBJECT* hash_obj; + X509_ALGOR_get0(&hash_obj, nullptr, nullptr, params->hashAlgorithm); + ret.digest = OBJ_nid2ln(OBJ_obj2nid(hash_obj)); + } + + if (params->maskGenAlgorithm != nullptr) { + const ASN1_OBJECT* mgf_obj; + X509_ALGOR_get0(&mgf_obj, nullptr, nullptr, params->maskGenAlgorithm); + int mgf_nid = OBJ_obj2nid(mgf_obj); + if (mgf_nid == NID_mgf1) { + const ASN1_OBJECT* mgf1_hash_obj; + X509_ALGOR_get0(&mgf1_hash_obj, nullptr, nullptr, params->maskHash); + ret.mgf1_digest = OBJ_nid2ln(OBJ_obj2nid(mgf1_hash_obj)); + } + } + + if (params->saltLength != nullptr) { + if (ASN1_INTEGER_get_int64(&ret.salt_length, params->saltLength) != 1) { + return std::nullopt; + } + } + return ret; +} + +bool Rsa::setPublicKey(BignumPointer&& n, BignumPointer&& e) { + if (!n || !e) return false; + if (RSA_set0_key(const_cast<RSA*>(rsa_), n.get(), e.get(), nullptr) == 1) { + n.release(); + e.release(); + return true; + } + return false; +} + +bool Rsa::setPrivateKey(BignumPointer&& d, + BignumPointer&& q, + BignumPointer&& p, + BignumPointer&& dp, + BignumPointer&& dq, + BignumPointer&& qi) { + if (!RSA_set0_key(const_cast<RSA*>(rsa_), nullptr, nullptr, d.get())) { + return false; + } + d.release(); + + if (!RSA_set0_factors(const_cast<RSA*>(rsa_), p.get(), q.get())) { + return false; + } + p.release(); + q.release(); + + if (!RSA_set0_crt_params( + const_cast<RSA*>(rsa_), dp.get(), dq.get(), qi.get())) { + return false; + } + dp.release(); + dq.release(); + qi.release(); + return true; +} + +DataPointer Rsa::encrypt(const EVPKeyPointer& key, + const Rsa::CipherParams& params, + const Buffer<const void> in) { + if (!key) return {}; + return RSA_Cipher<EVP_PKEY_encrypt_init, EVP_PKEY_encrypt>(key, params, in); +} + +DataPointer Rsa::decrypt(const EVPKeyPointer& key, + const Rsa::CipherParams& params, + const Buffer<const void> in) { + if (!key) return {}; + return RSA_Cipher<EVP_PKEY_decrypt_init, EVP_PKEY_decrypt>(key, params, in); +} + +DataPointer Cipher::encrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in) { + // public operation + return CipherImpl<EVP_PKEY_encrypt_init, EVP_PKEY_encrypt>(key, params, in); +} + +DataPointer Cipher::decrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in) { + // private operation + return CipherImpl<EVP_PKEY_decrypt_init, EVP_PKEY_decrypt>(key, params, in); +} + +DataPointer Cipher::sign(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in) { + // private operation + return CipherImpl<EVP_PKEY_sign_init, EVP_PKEY_sign>(key, params, in); +} + +DataPointer Cipher::recover(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in) { + // public operation + return CipherImpl<EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover>( + key, params, in); +} + +// ============================================================================ + +Ec::Ec() : ec_(nullptr) {} + +Ec::Ec(OSSL3_CONST EC_KEY* key) : ec_(key) {} + +const EC_GROUP* Ec::getGroup() const { + return ECKeyPointer::GetGroup(ec_); +} + +int Ec::getCurve() const { + return EC_GROUP_get_curve_name(getGroup()); +} + +// ============================================================================ + +EVPMDCtxPointer::EVPMDCtxPointer() : ctx_(nullptr) {} + +EVPMDCtxPointer::EVPMDCtxPointer(EVP_MD_CTX* ctx) : ctx_(ctx) {} + +EVPMDCtxPointer::EVPMDCtxPointer(EVPMDCtxPointer&& other) noexcept + : ctx_(other.release()) {} + +EVPMDCtxPointer& EVPMDCtxPointer::operator=(EVPMDCtxPointer&& other) noexcept { + ctx_.reset(other.release()); + return *this; +} + +EVPMDCtxPointer::~EVPMDCtxPointer() { + reset(); +} + +void EVPMDCtxPointer::reset(EVP_MD_CTX* ctx) { + ctx_.reset(ctx); +} + +EVP_MD_CTX* EVPMDCtxPointer::release() { + return ctx_.release(); +} + +bool EVPMDCtxPointer::digestInit(const EVP_MD* digest) { + if (!ctx_) return false; + return EVP_DigestInit_ex(ctx_.get(), digest, nullptr) > 0; +} + +bool EVPMDCtxPointer::digestUpdate(const Buffer<const void>& in) { + if (!ctx_) return false; + return EVP_DigestUpdate(ctx_.get(), in.data, in.len) > 0; +} + +DataPointer EVPMDCtxPointer::digestFinal(size_t length) { + if (!ctx_) return {}; + + auto buf = DataPointer::Alloc(length); + if (!buf) return {}; + + Buffer<void> buffer = buf; + + if (!digestFinalInto(&buffer)) [[unlikely]] { + return {}; + } + + return buf; +} + +bool EVPMDCtxPointer::digestFinalInto(Buffer<void>* buf) { + if (!ctx_) return false; + + auto ptr = static_cast<unsigned char*>(buf->data); + + int ret = (buf->len == getExpectedSize()) + ? EVP_DigestFinal_ex(ctx_.get(), ptr, nullptr) + : EVP_DigestFinalXOF(ctx_.get(), ptr, buf->len); + + if (ret != 1) [[unlikely]] + return false; + + return true; +} + +size_t EVPMDCtxPointer::getExpectedSize() { + if (!ctx_) return 0; + return EVP_MD_CTX_size(ctx_.get()); +} + +size_t EVPMDCtxPointer::getDigestSize() const { + return EVP_MD_size(getDigest()); +} + +const EVP_MD* EVPMDCtxPointer::getDigest() const { + if (!ctx_) return nullptr; + return EVP_MD_CTX_md(ctx_.get()); +} + +bool EVPMDCtxPointer::hasXofFlag() const { + if (!ctx_) return false; + return (EVP_MD_flags(getDigest()) & EVP_MD_FLAG_XOF) == EVP_MD_FLAG_XOF; +} + +bool EVPMDCtxPointer::copyTo(const EVPMDCtxPointer& other) const { + if (!ctx_ || !other) return {}; + if (EVP_MD_CTX_copy(other.get(), ctx_.get()) != 1) return false; + return true; +} + +std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::signInit(const EVPKeyPointer& key, + const EVP_MD* digest) { + EVP_PKEY_CTX* ctx = nullptr; + if (!EVP_DigestSignInit(ctx_.get(), &ctx, digest, nullptr, key.get())) { + return std::nullopt; + } + return ctx; +} + +std::optional<EVP_PKEY_CTX*> EVPMDCtxPointer::verifyInit( + const EVPKeyPointer& key, const EVP_MD* digest) { + EVP_PKEY_CTX* ctx = nullptr; + if (!EVP_DigestVerifyInit(ctx_.get(), &ctx, digest, nullptr, key.get())) { + return std::nullopt; + } + return ctx; +} + +DataPointer EVPMDCtxPointer::signOneShot( + const Buffer<const unsigned char>& buf) const { + if (!ctx_) return {}; + size_t len; + if (!EVP_DigestSign(ctx_.get(), nullptr, &len, buf.data, buf.len)) { + return {}; + } + auto data = DataPointer::Alloc(len); + if (!data) [[unlikely]] + return {}; + + if (!EVP_DigestSign(ctx_.get(), + static_cast<unsigned char*>(data.get()), + &len, + buf.data, + buf.len)) { + return {}; + } + return data; +} + +DataPointer EVPMDCtxPointer::sign( + const Buffer<const unsigned char>& buf) const { + if (!ctx_) [[unlikely]] + return {}; + size_t len; + if (!EVP_DigestSignUpdate(ctx_.get(), buf.data, buf.len) || + !EVP_DigestSignFinal(ctx_.get(), nullptr, &len)) { + return {}; + } + auto data = DataPointer::Alloc(len); + if (!data) [[unlikely]] + return {}; + if (!EVP_DigestSignFinal( + ctx_.get(), static_cast<unsigned char*>(data.get()), &len)) { + return {}; + } + return data.resize(len); +} + +bool EVPMDCtxPointer::verify(const Buffer<const unsigned char>& buf, + const Buffer<const unsigned char>& sig) const { + if (!ctx_) return false; + int ret = EVP_DigestVerify(ctx_.get(), sig.data, sig.len, buf.data, buf.len); + return ret == 1; +} + +EVPMDCtxPointer EVPMDCtxPointer::New() { + return EVPMDCtxPointer(EVP_MD_CTX_new()); +} + +// ============================================================================ + +bool extractP1363(const Buffer<const unsigned char>& buf, + unsigned char* dest, + size_t n) { + auto asn1_sig = ECDSASigPointer::Parse(buf); + if (!asn1_sig) return false; + + return BignumPointer::EncodePaddedInto(asn1_sig.r(), dest, n) > 0 && + BignumPointer::EncodePaddedInto(asn1_sig.s(), dest + n, n) > 0; +} + +// ============================================================================ + +HMACCtxPointer::HMACCtxPointer() : ctx_(nullptr) {} + +HMACCtxPointer::HMACCtxPointer(HMAC_CTX* ctx) : ctx_(ctx) {} + +HMACCtxPointer::HMACCtxPointer(HMACCtxPointer&& other) noexcept + : ctx_(other.release()) {} + +HMACCtxPointer& HMACCtxPointer::operator=(HMACCtxPointer&& other) noexcept { + ctx_.reset(other.release()); + return *this; +} + +HMACCtxPointer::~HMACCtxPointer() { + reset(); +} + +void HMACCtxPointer::reset(HMAC_CTX* ctx) { + ctx_.reset(ctx); +} + +HMAC_CTX* HMACCtxPointer::release() { + return ctx_.release(); +} + +bool HMACCtxPointer::init(const Buffer<const void>& buf, const EVP_MD* md) { + if (!ctx_) return false; + return HMAC_Init_ex(ctx_.get(), buf.data, buf.len, md, nullptr) == 1; +} + +bool HMACCtxPointer::update(const Buffer<const void>& buf) { + if (!ctx_) return false; + return HMAC_Update(ctx_.get(), + static_cast<const unsigned char*>(buf.data), + buf.len) == 1; +} + +DataPointer HMACCtxPointer::digest() { + auto data = DataPointer::Alloc(EVP_MAX_MD_SIZE); + if (!data) return {}; + Buffer<void> buf = data; + if (!digestInto(&buf)) return {}; + return data.resize(buf.len); +} + +bool HMACCtxPointer::digestInto(Buffer<void>* buf) { + if (!ctx_) return false; + + unsigned int len = buf->len; + if (!HMAC_Final(ctx_.get(), static_cast<unsigned char*>(buf->data), &len)) { + return false; + } + buf->len = len; + return true; +} + +HMACCtxPointer HMACCtxPointer::New() { + return HMACCtxPointer(HMAC_CTX_new()); +} + +DataPointer hashDigest(const Buffer<const unsigned char>& buf, + const EVP_MD* md) { + if (md == nullptr) return {}; + size_t md_len = EVP_MD_size(md); + unsigned int result_size; + auto data = DataPointer::Alloc(md_len); + if (!data) return {}; + + if (!EVP_Digest(buf.data, + buf.len, + reinterpret_cast<unsigned char*>(data.get()), + &result_size, + md, + nullptr)) { + return {}; + } + + return data.resize(result_size); +} + } // namespace ncrypto diff --git a/deps/ncrypto/ncrypto.h b/deps/ncrypto/ncrypto.h index fffa75ec718fac..75ac9fd8d705aa 100644 --- a/deps/ncrypto/ncrypto.h +++ b/deps/ncrypto/ncrypto.h @@ -13,6 +13,7 @@ #include <openssl/ssl.h> #include <openssl/x509.h> #include <cstddef> +#include <functional> #include <list> #include <memory> #include <optional> @@ -27,6 +28,12 @@ #include <openssl/fips.h> #endif // OPENSSL_FIPS +#if OPENSSL_VERSION_MAJOR >= 3 +#define OSSL3_CONST const +#else +#define OSSL3_CONST +#endif + #ifdef __GNUC__ #define NCRYPTO_MUST_USE_RESULT __attribute__((warn_unused_result)) #else @@ -194,25 +201,29 @@ struct FunctionDeleter { template <typename T, void (*function)(T*)> using DeleteFnPtr = typename FunctionDeleter<T, function>::Pointer; -using BignumCtxPointer = DeleteFnPtr<BN_CTX, BN_CTX_free>; -using CipherCtxPointer = DeleteFnPtr<EVP_CIPHER_CTX, EVP_CIPHER_CTX_free>; -using DSAPointer = DeleteFnPtr<DSA, DSA_free>; -using DSASigPointer = DeleteFnPtr<DSA_SIG, DSA_SIG_free>; -using ECDSASigPointer = DeleteFnPtr<ECDSA_SIG, ECDSA_SIG_free>; -using ECPointer = DeleteFnPtr<EC_KEY, EC_KEY_free>; -using ECGroupPointer = DeleteFnPtr<EC_GROUP, EC_GROUP_free>; -using ECKeyPointer = DeleteFnPtr<EC_KEY, EC_KEY_free>; -using ECPointPointer = DeleteFnPtr<EC_POINT, EC_POINT_free>; -using EVPKeyCtxPointer = DeleteFnPtr<EVP_PKEY_CTX, EVP_PKEY_CTX_free>; -using EVPMDCtxPointer = DeleteFnPtr<EVP_MD_CTX, EVP_MD_CTX_free>; -using HMACCtxPointer = DeleteFnPtr<HMAC_CTX, HMAC_CTX_free>; -using NetscapeSPKIPointer = DeleteFnPtr<NETSCAPE_SPKI, NETSCAPE_SPKI_free>; using PKCS8Pointer = DeleteFnPtr<PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free>; using RSAPointer = DeleteFnPtr<RSA, RSA_free>; -using SSLCtxPointer = DeleteFnPtr<SSL_CTX, SSL_CTX_free>; -using SSLPointer = DeleteFnPtr<SSL, SSL_free>; using SSLSessionPointer = DeleteFnPtr<SSL_SESSION, SSL_SESSION_free>; +class BIOPointer; +class BignumPointer; +class CipherCtxPointer; +class DataPointer; +class DHPointer; +class ECKeyPointer; +class EVPKeyPointer; +class EVPMDCtxPointer; +class SSLCtxPointer; +class SSLPointer; +class X509View; +class X509Pointer; +class ECDSASigPointer; +class ECGroupPointer; +class ECPointPointer; +class ECKeyPointer; +class Rsa; +class Ec; + struct StackOfXASN1Deleter { void operator()(STACK_OF(ASN1_OBJECT) * p) const { sk_ASN1_OBJECT_pop_free(p, ASN1_OBJECT_free); @@ -227,11 +238,141 @@ struct Buffer { size_t len = 0; }; +DataPointer hashDigest(const Buffer<const unsigned char>& data, + const EVP_MD* md); + +class Cipher final { + public: + Cipher() = default; + Cipher(const EVP_CIPHER* cipher) : cipher_(cipher) {} + Cipher(const Cipher&) = default; + Cipher& operator=(const Cipher&) = default; + inline Cipher& operator=(const EVP_CIPHER* cipher) { + cipher_ = cipher; + return *this; + } + NCRYPTO_DISALLOW_MOVE(Cipher) + + inline const EVP_CIPHER* get() const { return cipher_; } + inline operator const EVP_CIPHER*() const { return cipher_; } + inline operator bool() const { return cipher_ != nullptr; } + + int getNid() const; + int getMode() const; + int getIvLength() const; + int getKeyLength() const; + int getBlockSize() const; + std::string_view getModeLabel() const; + std::string_view getName() const; + + bool isSupportedAuthenticatedMode() const; + + static const Cipher FromName(const char* name); + static const Cipher FromNid(int nid); + static const Cipher FromCtx(const CipherCtxPointer& ctx); + + struct CipherParams { + int padding; + const EVP_MD* digest; + const Buffer<const void> label; + }; + + static DataPointer encrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + static DataPointer decrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + + static DataPointer sign(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + + static DataPointer recover(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + + private: + const EVP_CIPHER* cipher_ = nullptr; +}; + +// ============================================================================ +// RSA + +class Rsa final { + public: + Rsa(); + Rsa(OSSL3_CONST RSA* rsa); + NCRYPTO_DISALLOW_COPY_AND_MOVE(Rsa) + + inline operator bool() const { return rsa_ != nullptr; } + inline operator OSSL3_CONST RSA*() const { return rsa_; } + + struct PublicKey { + const BIGNUM* n; + const BIGNUM* e; + const BIGNUM* d; + }; + struct PrivateKey { + const BIGNUM* p; + const BIGNUM* q; + const BIGNUM* dp; + const BIGNUM* dq; + const BIGNUM* qi; + }; + struct PssParams { + std::string_view digest = "sha1"; + std::optional<std::string_view> mgf1_digest = "sha1"; + int64_t salt_length = 20; + }; + + const PublicKey getPublicKey() const; + const PrivateKey getPrivateKey() const; + const std::optional<PssParams> getPssParams() const; + + bool setPublicKey(BignumPointer&& n, BignumPointer&& e); + bool setPrivateKey(BignumPointer&& d, + BignumPointer&& q, + BignumPointer&& p, + BignumPointer&& dp, + BignumPointer&& dq, + BignumPointer&& qi); + + using CipherParams = Cipher::CipherParams; + + static DataPointer encrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + static DataPointer decrypt(const EVPKeyPointer& key, + const CipherParams& params, + const Buffer<const void> in); + + private: + OSSL3_CONST RSA* rsa_; +}; + +class Ec final { + public: + Ec(); + Ec(OSSL3_CONST EC_KEY* key); + NCRYPTO_DISALLOW_COPY_AND_MOVE(Ec) + + const EC_GROUP* getGroup() const; + int getCurve() const; + + inline operator bool() const { return ec_ != nullptr; } + inline operator OSSL3_CONST EC_KEY*() const { return ec_; } + + private: + OSSL3_CONST EC_KEY* ec_ = nullptr; +}; + // A managed pointer to a buffer of data. When destroyed the underlying // buffer will be freed. class DataPointer final { public: static DataPointer Alloc(size_t len); + static DataPointer Copy(const Buffer<const void>& buffer); DataPointer() = default; explicit DataPointer(void* data, size_t len); @@ -248,6 +389,11 @@ class DataPointer final { void reset(void* data = nullptr, size_t len = 0); void reset(const Buffer<void>& buffer); + // Sets the underlying data buffer to all zeros. + void zero(); + + DataPointer resize(size_t len); + // Releases ownership of the underlying data buffer. It is the caller's // responsibility to ensure the buffer is appropriately freed. Buffer<void> release(); @@ -272,6 +418,7 @@ class BIOPointer final { static BIOPointer NewSecMem(); static BIOPointer New(const BIO_METHOD* method); static BIOPointer New(const void* data, size_t len); + static BIOPointer New(const BIGNUM* bn); static BIOPointer NewFile(std::string_view filename, std::string_view mode); static BIOPointer NewFp(FILE* fd, int flags); @@ -350,8 +497,28 @@ class BignumPointer final { size_t encodeInto(unsigned char* out) const; size_t encodePaddedInto(unsigned char* out, size_t size) const; + using PrimeCheckCallback = std::function<bool(int, int)>; + int isPrime(int checks, + PrimeCheckCallback cb = defaultPrimeCheckCallback) const; + struct PrimeConfig { + int bits; + bool safe = false; + const BignumPointer& add; + const BignumPointer& rem; + }; + + static BignumPointer NewPrime( + const PrimeConfig& params, + PrimeCheckCallback cb = defaultPrimeCheckCallback); + + bool generate(const PrimeConfig& params, + PrimeCheckCallback cb = defaultPrimeCheckCallback) const; + static BignumPointer New(); static BignumPointer NewSecure(); + static BignumPointer NewSub(const BignumPointer& a, const BignumPointer& b); + static BignumPointer NewLShift(size_t length); + static DataPointer Encode(const BIGNUM* bn); static DataPointer EncodePadded(const BIGNUM* bn, size_t size); static size_t EncodePaddedInto(const BIGNUM* bn, @@ -366,6 +533,121 @@ class BignumPointer final { private: DeleteFnPtr<BIGNUM, BN_clear_free> bn_; + + static bool defaultPrimeCheckCallback(int, int) { return 1; } +}; + +class CipherCtxPointer final { + public: + static CipherCtxPointer New(); + + CipherCtxPointer() = default; + explicit CipherCtxPointer(EVP_CIPHER_CTX* ctx); + CipherCtxPointer(CipherCtxPointer&& other) noexcept; + CipherCtxPointer& operator=(CipherCtxPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(CipherCtxPointer) + ~CipherCtxPointer(); + + inline bool operator==(std::nullptr_t) const noexcept { + return ctx_ == nullptr; + } + inline operator bool() const { return ctx_ != nullptr; } + inline EVP_CIPHER_CTX* get() const { return ctx_.get(); } + inline operator EVP_CIPHER_CTX*() const { return ctx_.get(); } + void reset(EVP_CIPHER_CTX* ctx = nullptr); + EVP_CIPHER_CTX* release(); + + void setFlags(int flags); + bool setKeyLength(size_t length); + bool setIvLength(size_t length); + bool setAeadTag(const Buffer<const char>& tag); + bool setAeadTagLength(size_t length); + bool setPadding(bool padding); + bool init(const Cipher& cipher, + bool encrypt, + const unsigned char* key = nullptr, + const unsigned char* iv = nullptr); + + int getBlockSize() const; + int getMode() const; + int getNid() const; + + bool update(const Buffer<const unsigned char>& in, + unsigned char* out, + int* out_len, + bool finalize = false); + bool getAeadTag(size_t len, unsigned char* out); + + private: + DeleteFnPtr<EVP_CIPHER_CTX, EVP_CIPHER_CTX_free> ctx_; +}; + +class EVPKeyCtxPointer final { + public: + EVPKeyCtxPointer(); + explicit EVPKeyCtxPointer(EVP_PKEY_CTX* ctx); + EVPKeyCtxPointer(EVPKeyCtxPointer&& other) noexcept; + EVPKeyCtxPointer& operator=(EVPKeyCtxPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(EVPKeyCtxPointer) + ~EVPKeyCtxPointer(); + + inline bool operator==(std::nullptr_t) const noexcept { + return ctx_ == nullptr; + } + inline operator bool() const { return ctx_ != nullptr; } + inline EVP_PKEY_CTX* get() const { return ctx_.get(); } + void reset(EVP_PKEY_CTX* ctx = nullptr); + EVP_PKEY_CTX* release(); + + bool initForDerive(const EVPKeyPointer& peer); + DataPointer derive() const; + + bool initForParamgen(); + bool setDhParameters(int prime_size, uint32_t generator); + bool setDsaParameters(uint32_t bits, std::optional<int> q_bits); + bool setEcParameters(int curve, int encoding); + + bool setRsaOaepMd(const EVP_MD* md); + bool setRsaMgf1Md(const EVP_MD* md); + bool setRsaPadding(int padding); + bool setRsaKeygenPubExp(BignumPointer&& e); + bool setRsaKeygenBits(int bits); + bool setRsaPssKeygenMd(const EVP_MD* md); + bool setRsaPssKeygenMgf1Md(const EVP_MD* md); + bool setRsaPssSaltlen(int salt_len); + bool setRsaImplicitRejection(); + bool setRsaOaepLabel(DataPointer&& data); + + bool setSignatureMd(const EVPMDCtxPointer& md); + + bool publicCheck() const; + bool privateCheck() const; + + bool verify(const Buffer<const unsigned char>& sig, + const Buffer<const unsigned char>& data); + DataPointer sign(const Buffer<const unsigned char>& data); + bool signInto(const Buffer<const unsigned char>& data, + Buffer<unsigned char>* sig); + + static constexpr int kDefaultRsaExponent = 0x10001; + + static bool setRsaPadding(EVP_PKEY_CTX* ctx, + int padding, + std::optional<int> salt_len = std::nullopt); + + EVPKeyPointer paramgen() const; + + bool initForEncrypt(); + bool initForDecrypt(); + bool initForKeygen(); + int initForVerify(); + int initForSign(); + + static EVPKeyCtxPointer New(const EVPKeyPointer& key); + static EVPKeyCtxPointer NewFromID(int id); + + private: + DeleteFnPtr<EVP_PKEY_CTX, EVP_PKEY_CTX_free> ctx_; }; class EVPKeyPointer final { @@ -375,6 +657,8 @@ class EVPKeyPointer final { const Buffer<const unsigned char>& data); static EVPKeyPointer NewRawPrivate(int id, const Buffer<const unsigned char>& data); + static EVPKeyPointer NewDH(DHPointer&& dh); + static EVPKeyPointer NewRSA(RSAPointer&& rsa); enum class PKEncodingType { // RSAPublicKey / RSAPrivateKey according to PKCS#1. @@ -440,6 +724,10 @@ class EVPKeyPointer final { NCRYPTO_DISALLOW_COPY(EVPKeyPointer) ~EVPKeyPointer(); + bool assign(const ECKeyPointer& eckey); + bool set(const ECKeyPointer& eckey); + operator const EC_KEY*() const; + inline bool operator==(std::nullptr_t) const noexcept { return pkey_ == nullptr; } @@ -471,6 +759,15 @@ class EVPKeyPointer final { static bool IsRSAPrivateKey(const Buffer<const unsigned char>& buffer); + std::optional<uint32_t> getBytesOfRS() const; + int getDefaultSignPadding() const; + operator Rsa() const; + + bool isRsaVariant() const; + bool isOneShotVariant() const; + bool isSigVariant() const; + bool validateDsaParameters() const; + private: DeleteFnPtr<EVP_PKEY, EVP_PKEY_free> pkey_; }; @@ -551,7 +848,82 @@ class DHPointer final { DeleteFnPtr<DH, DH_free> dh_; }; -class X509Pointer; +struct StackOfX509Deleter { + void operator()(STACK_OF(X509) * p) const { sk_X509_pop_free(p, X509_free); } +}; +using StackOfX509 = std::unique_ptr<STACK_OF(X509), StackOfX509Deleter>; + +class SSLCtxPointer final { + public: + SSLCtxPointer() = default; + explicit SSLCtxPointer(SSL_CTX* ctx); + SSLCtxPointer(SSLCtxPointer&& other) noexcept; + SSLCtxPointer& operator=(SSLCtxPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(SSLCtxPointer) + ~SSLCtxPointer(); + + inline bool operator==(std::nullptr_t) const noexcept { + return ctx_ == nullptr; + } + inline operator bool() const { return ctx_ != nullptr; } + inline SSL_CTX* get() const { return ctx_.get(); } + void reset(SSL_CTX* ctx = nullptr); + void reset(const SSL_METHOD* method); + SSL_CTX* release(); + + bool setGroups(const char* groups); + void setStatusCallback(auto callback) { + if (!ctx_) return; + SSL_CTX_set_tlsext_status_cb(get(), callback); + SSL_CTX_set_tlsext_status_arg(get(), nullptr); + } + + static SSLCtxPointer NewServer(); + static SSLCtxPointer NewClient(); + static SSLCtxPointer New(const SSL_METHOD* method = TLS_method()); + + private: + DeleteFnPtr<SSL_CTX, SSL_CTX_free> ctx_; +}; + +class SSLPointer final { + public: + SSLPointer() = default; + explicit SSLPointer(SSL* ssl); + SSLPointer(SSLPointer&& other) noexcept; + SSLPointer& operator=(SSLPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(SSLPointer) + ~SSLPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return ssl_ == nullptr; } + inline operator bool() const { return ssl_ != nullptr; } + inline SSL* get() const { return ssl_.get(); } + inline operator SSL*() const { return ssl_.get(); } + void reset(SSL* ssl = nullptr); + SSL* release(); + + bool setSession(const SSLSessionPointer& session); + bool setSniContext(const SSLCtxPointer& ctx) const; + + const std::string_view getClientHelloAlpn() const; + const std::string_view getClientHelloServerName() const; + + std::optional<const std::string_view> getServerName() const; + X509View getCertificate() const; + EVPKeyPointer getPeerTempKey() const; + const SSL_CIPHER* getCipher() const; + bool isServer() const; + + std::optional<uint32_t> verifyPeerCertificate() const; + + void getCiphers(std::function<void(const std::string_view)> cb) const; + + static SSLPointer New(const SSLCtxPointer& ctx); + static std::optional<const std::string_view> GetServerName(const SSL* ssl); + + private: + DeleteFnPtr<SSL, SSL_free> ssl_; +}; class X509View final { public: @@ -565,6 +937,8 @@ class X509View final { NCRYPTO_DISALLOW_MOVE(X509View) inline X509* get() const { return const_cast<X509*>(cert_); } + inline operator X509*() const { return const_cast<X509*>(cert_); } + inline operator const X509*() const { return cert_; } inline bool operator==(std::nullptr_t) noexcept { return cert_ == nullptr; } inline operator bool() const { return cert_ != nullptr; } @@ -589,6 +963,8 @@ class X509View final { bool checkPrivateKey(const EVPKeyPointer& pkey) const; bool checkPublicKey(const EVPKeyPointer& pkey) const; + std::optional<std::string> getFingerprint(const EVP_MD* method) const; + X509Pointer clone() const; enum class CheckMatch { @@ -603,6 +979,14 @@ class X509View final { CheckMatch checkEmail(const std::string_view email, int flags) const; CheckMatch checkIp(const std::string_view ip, int flags) const; + using UsageCallback = std::function<void(std::string_view)>; + bool enumUsages(UsageCallback callback) const; + + template <typename T> + using KeyCallback = std::function<bool(const T& t)>; + bool ifRsa(KeyCallback<Rsa> callback) const; + bool ifEc(KeyCallback<Ec> callback) const; + private: const X509* cert_ = nullptr; }; @@ -624,16 +1008,212 @@ class X509Pointer final { inline bool operator==(std::nullptr_t) noexcept { return cert_ == nullptr; } inline operator bool() const { return cert_ != nullptr; } inline X509* get() const { return cert_.get(); } + inline operator X509*() const { return cert_.get(); } + inline operator const X509*() const { return cert_.get(); } void reset(X509* cert = nullptr); X509* release(); X509View view() const; operator X509View() const { return view(); } + static std::string_view ErrorCode(int32_t err); + static std::optional<std::string_view> ErrorReason(int32_t err); + private: DeleteFnPtr<X509, X509_free> cert_; }; +class ECDSASigPointer final { + public: + explicit ECDSASigPointer(); + explicit ECDSASigPointer(ECDSA_SIG* sig); + ECDSASigPointer(ECDSASigPointer&& other) noexcept; + ECDSASigPointer& operator=(ECDSASigPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(ECDSASigPointer) + ~ECDSASigPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return sig_ == nullptr; } + inline operator bool() const { return sig_ != nullptr; } + inline ECDSA_SIG* get() const { return sig_.get(); } + inline operator ECDSA_SIG*() const { return sig_.get(); } + void reset(ECDSA_SIG* sig = nullptr); + ECDSA_SIG* release(); + + static ECDSASigPointer New(); + static ECDSASigPointer Parse(const Buffer<const unsigned char>& buffer); + + inline const BIGNUM* r() const { return pr_; } + inline const BIGNUM* s() const { return ps_; } + + bool setParams(BignumPointer&& r, BignumPointer&& s); + + Buffer<unsigned char> encode() const; + + private: + DeleteFnPtr<ECDSA_SIG, ECDSA_SIG_free> sig_; + const BIGNUM* pr_ = nullptr; + const BIGNUM* ps_ = nullptr; +}; + +class ECGroupPointer final { + public: + explicit ECGroupPointer(); + explicit ECGroupPointer(EC_GROUP* group); + ECGroupPointer(ECGroupPointer&& other) noexcept; + ECGroupPointer& operator=(ECGroupPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(ECGroupPointer) + ~ECGroupPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return group_ == nullptr; } + inline operator bool() const { return group_ != nullptr; } + inline EC_GROUP* get() const { return group_.get(); } + inline operator EC_GROUP*() const { return group_.get(); } + void reset(EC_GROUP* group = nullptr); + EC_GROUP* release(); + + static ECGroupPointer NewByCurveName(int nid); + + private: + DeleteFnPtr<EC_GROUP, EC_GROUP_free> group_; +}; + +class ECPointPointer final { + public: + ECPointPointer(); + explicit ECPointPointer(EC_POINT* point); + ECPointPointer(ECPointPointer&& other) noexcept; + ECPointPointer& operator=(ECPointPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(ECPointPointer) + ~ECPointPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return point_ == nullptr; } + inline operator bool() const { return point_ != nullptr; } + inline EC_POINT* get() const { return point_.get(); } + inline operator EC_POINT*() const { return point_.get(); } + void reset(EC_POINT* point = nullptr); + EC_POINT* release(); + + bool setFromBuffer(const Buffer<const unsigned char>& buffer, + const EC_GROUP* group); + bool mul(const EC_GROUP* group, const BIGNUM* priv_key); + + static ECPointPointer New(const EC_GROUP* group); + + private: + DeleteFnPtr<EC_POINT, EC_POINT_free> point_; +}; + +class ECKeyPointer final { + public: + ECKeyPointer(); + explicit ECKeyPointer(EC_KEY* key); + ECKeyPointer(ECKeyPointer&& other) noexcept; + ECKeyPointer& operator=(ECKeyPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(ECKeyPointer) + ~ECKeyPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return key_ == nullptr; } + inline operator bool() const { return key_ != nullptr; } + inline EC_KEY* get() const { return key_.get(); } + inline operator EC_KEY*() const { return key_.get(); } + void reset(EC_KEY* key = nullptr); + EC_KEY* release(); + + ECKeyPointer clone() const; + bool setPrivateKey(const BignumPointer& priv); + bool setPublicKey(const ECPointPointer& pub); + bool setPublicKeyRaw(const BignumPointer& x, const BignumPointer& y); + bool generate(); + bool checkKey() const; + + const EC_GROUP* getGroup() const; + const BIGNUM* getPrivateKey() const; + const EC_POINT* getPublicKey() const; + + static ECKeyPointer New(const EC_GROUP* group); + static ECKeyPointer NewByCurveName(int nid); + + static const EC_POINT* GetPublicKey(const EC_KEY* key); + static const BIGNUM* GetPrivateKey(const EC_KEY* key); + static const EC_GROUP* GetGroup(const EC_KEY* key); + static int GetGroupName(const EC_KEY* key); + static bool Check(const EC_KEY* key); + + private: + DeleteFnPtr<EC_KEY, EC_KEY_free> key_; +}; + +class EVPMDCtxPointer final { + public: + EVPMDCtxPointer(); + explicit EVPMDCtxPointer(EVP_MD_CTX* ctx); + EVPMDCtxPointer(EVPMDCtxPointer&& other) noexcept; + EVPMDCtxPointer& operator=(EVPMDCtxPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(EVPMDCtxPointer) + ~EVPMDCtxPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return ctx_ == nullptr; } + inline operator bool() const { return ctx_ != nullptr; } + inline EVP_MD_CTX* get() const { return ctx_.get(); } + inline operator EVP_MD_CTX*() const { return ctx_.get(); } + void reset(EVP_MD_CTX* ctx = nullptr); + EVP_MD_CTX* release(); + + bool digestInit(const EVP_MD* digest); + bool digestUpdate(const Buffer<const void>& in); + DataPointer digestFinal(size_t length); + bool digestFinalInto(Buffer<void>* buf); + size_t getExpectedSize(); + + std::optional<EVP_PKEY_CTX*> signInit(const EVPKeyPointer& key, + const EVP_MD* digest); + std::optional<EVP_PKEY_CTX*> verifyInit(const EVPKeyPointer& key, + const EVP_MD* digest); + + DataPointer signOneShot(const Buffer<const unsigned char>& buf) const; + DataPointer sign(const Buffer<const unsigned char>& buf) const; + bool verify(const Buffer<const unsigned char>& buf, + const Buffer<const unsigned char>& sig) const; + + const EVP_MD* getDigest() const; + size_t getDigestSize() const; + bool hasXofFlag() const; + + bool copyTo(const EVPMDCtxPointer& other) const; + + static EVPMDCtxPointer New(); + + private: + DeleteFnPtr<EVP_MD_CTX, EVP_MD_CTX_free> ctx_; +}; + +class HMACCtxPointer final { + public: + HMACCtxPointer(); + explicit HMACCtxPointer(HMAC_CTX* ctx); + HMACCtxPointer(HMACCtxPointer&& other) noexcept; + HMACCtxPointer& operator=(HMACCtxPointer&& other) noexcept; + NCRYPTO_DISALLOW_COPY(HMACCtxPointer) + ~HMACCtxPointer(); + + inline bool operator==(std::nullptr_t) noexcept { return ctx_ == nullptr; } + inline operator bool() const { return ctx_ != nullptr; } + inline HMAC_CTX* get() const { return ctx_.get(); } + inline operator HMAC_CTX*() const { return ctx_.get(); } + void reset(HMAC_CTX* ctx = nullptr); + HMAC_CTX* release(); + + bool init(const Buffer<const void>& buf, const EVP_MD* md); + bool update(const Buffer<const void>& buf); + DataPointer digest(); + bool digestInto(Buffer<void>* buf); + + static HMACCtxPointer New(); + + private: + DeleteFnPtr<HMAC_CTX, HMAC_CTX_free> ctx_; +}; + #ifndef OPENSSL_NO_ENGINE class EnginePointer final { public: @@ -711,12 +1291,17 @@ Buffer<char> ExportChallenge(const char* input, size_t length); // KDF const EVP_MD* getDigestByName(const std::string_view name); +const EVP_CIPHER* getCipherByName(const std::string_view name); // Verify that the specified HKDF output length is valid for the given digest. // The maximum length for HKDF output for a given digest is 255 times the // hash size for the given digest algorithm. bool checkHkdfLength(const EVP_MD* md, size_t length); +bool extractP1363(const Buffer<const unsigned char>& buf, + unsigned char* dest, + size_t n); + DataPointer hkdf(const EVP_MD* md, const Buffer<const unsigned char>& key, const Buffer<const unsigned char>& info, diff --git a/deps/simdutf/simdutf.cpp b/deps/simdutf/simdutf.cpp index 12a2f494e0a7aa..21962c3bad378d 100644 --- a/deps/simdutf/simdutf.cpp +++ b/deps/simdutf/simdutf.cpp @@ -1,4 +1,4 @@ -/* auto-generated on 2024-12-26 12:42:33 -0500. Do not edit! */ +/* auto-generated on 2025-01-08 17:51:07 -0500. Do not edit! */ /* begin file src/simdutf.cpp */ #include "simdutf.h" // We include base64_tables once. @@ -17142,8 +17142,33 @@ size_t convert_masked_utf8_to_utf16(const char *input, for (int k = 0; k < 6; k++) { utf16_output[k] = buffer[k]; } // the loop might compiler to a couple of instructions. - utf16_output += 6; // We wrote 3 32-bit surrogate pairs. - return 12; // We consumed 12 bytes. + // We need some validation. See + // https://github.com/simdutf/simdutf/pull/631 +#ifdef SIMDUTF_REGULAR_VISUAL_STUDIO + uint8x16_t expected_mask = simdutf_make_uint8x16_t( + 0xf8, 0xc0, 0xc0, 0xc0, 0xf8, 0xc0, 0xc0, 0xc0, 0xf8, 0xc0, 0xc0, + 0xc0, 0x0, 0x0, 0x0, 0x0); +#else + uint8x16_t expected_mask = {0xf8, 0xc0, 0xc0, 0xc0, 0xf8, 0xc0, + 0xc0, 0xc0, 0xf8, 0xc0, 0xc0, 0xc0, + 0x0, 0x0, 0x0, 0x0}; +#endif +#ifdef SIMDUTF_REGULAR_VISUAL_STUDIO + uint8x16_t expected = simdutf_make_uint8x16_t( + 0xf0, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, + 0x80, 0x0, 0x0, 0x0, 0x0); +#else + uint8x16_t expected = {0xf0, 0x80, 0x80, 0x80, 0xf0, 0x80, 0x80, 0x80, + 0xf0, 0x80, 0x80, 0x80, 0x0, 0x0, 0x0, 0x0}; +#endif + uint8x16_t check = vceqq_u8(vandq_u8(in, expected_mask), expected); + bool correct = (vminvq_u32(vreinterpretq_u32_u8(check)) == 0xFFFFFFFF); + // The validation is just three instructions and it is not on a critical + // path. + if (correct) { + utf16_output += 6; // We wrote 3 32-bit surrogate pairs. + } + return 12; // We consumed 12 bytes. } // 3 1-4 byte sequences uint8x16_t sh = vld1q_u8(reinterpret_cast<const uint8_t *>( @@ -18634,6 +18659,12 @@ compress_decode_base64(char *dst, const char_type *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -22881,6 +22912,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -22926,6 +22963,12 @@ simdutf_warn_unused full_result implementation::base64_to_binary_details( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -22977,6 +23020,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -23022,6 +23071,12 @@ simdutf_warn_unused full_result implementation::base64_to_binary_details( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -23058,6 +23113,8 @@ size_t implementation::binary_to_base64(const char *input, size_t length, #endif #if SIMDUTF_IMPLEMENTATION_ICELAKE /* begin file src/icelake/implementation.cpp */ +#include <tuple> +#include <utility> /* begin file src/simdutf/icelake/begin.h */ @@ -26106,17 +26163,17 @@ bool validate_ascii(const char *buf, size_t len) { /* begin file src/icelake/icelake_utf32_validation.inl.cpp */ // file included directly -const char32_t *validate_utf32(const char32_t *buf, size_t len) { - if (len < 16) { - return buf; +bool validate_utf32(const char32_t *buf, size_t len) { + if (len == 0) { + return true; } - const char32_t *end = buf + len - 16; + const char32_t *end = buf + len; const __m512i offset = _mm512_set1_epi32((uint32_t)0xffff2000); __m512i currentmax = _mm512_setzero_si512(); __m512i currentoffsetmax = _mm512_setzero_si512(); - while (buf <= end) { + while (buf < end - 16) { __m512i utf32 = _mm512_loadu_si512((const __m512i *)buf); buf += 16; currentoffsetmax = @@ -26124,20 +26181,26 @@ const char32_t *validate_utf32(const char32_t *buf, size_t len) { currentmax = _mm512_max_epu32(utf32, currentmax); } + __m512i utf32 = + _mm512_maskz_loadu_epi32(__mmask16((1 << (end - buf)) - 1), buf); + currentoffsetmax = + _mm512_max_epu32(_mm512_add_epi32(utf32, offset), currentoffsetmax); + currentmax = _mm512_max_epu32(utf32, currentmax); + const __m512i standardmax = _mm512_set1_epi32((uint32_t)0x10ffff); const __m512i standardoffsetmax = _mm512_set1_epi32((uint32_t)0xfffff7ff); __m512i is_zero = _mm512_xor_si512(_mm512_max_epu32(currentmax, standardmax), standardmax); if (_mm512_test_epi8_mask(is_zero, is_zero) != 0) { - return nullptr; + return false; } is_zero = _mm512_xor_si512( _mm512_max_epu32(currentoffsetmax, standardoffsetmax), standardoffsetmax); if (_mm512_test_epi8_mask(is_zero, is_zero) != 0) { - return nullptr; + return false; } - return buf; + return true; } /* end file src/icelake/icelake_utf32_validation.inl.cpp */ /* begin file src/icelake/icelake_convert_latin1_to_utf8.inl.cpp */ @@ -26556,6 +26619,12 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -26753,24 +26822,76 @@ implementation::detect_encodings(const char *input, size_t length) const noexcept { // If there is a BOM, then we trust it. auto bom_encoding = simdutf::BOM::check_bom(input, length); - // todo: convert to a one-pass algorithm if (bom_encoding != encoding_type::unspecified) { return bom_encoding; } + int out = 0; - if (validate_utf8(input, length)) { + uint32_t utf16_err = (length % 2); + uint32_t utf32_err = (length % 4); + uint32_t ends_with_high = 0; + avx512_utf8_checker checker{}; + const __m512i offset = _mm512_set1_epi32((uint32_t)0xffff2000); + __m512i currentmax = _mm512_setzero_si512(); + __m512i currentoffsetmax = _mm512_setzero_si512(); + const char *ptr = input; + const char *end = ptr + length; + for (; end - ptr >= 64; ptr += 64) { + // utf8 checks + const __m512i data = _mm512_loadu_si512((const __m512i *)ptr); + checker.check_next_input(data); + + // utf16le_checks + __m512i diff = _mm512_sub_epi16(data, _mm512_set1_epi16(uint16_t(0xD800))); + __mmask32 surrogates = + _mm512_cmplt_epu16_mask(diff, _mm512_set1_epi16(uint16_t(0x0800))); + __mmask32 highsurrogates = + _mm512_cmplt_epu16_mask(diff, _mm512_set1_epi16(uint16_t(0x0400))); + __mmask32 lowsurrogates = surrogates ^ highsurrogates; + utf16_err |= (((highsurrogates << 1) | ends_with_high) != lowsurrogates); + ends_with_high = ((highsurrogates & 0x80000000) != 0); + + // utf32le checks + currentoffsetmax = + _mm512_max_epu32(_mm512_add_epi32(data, offset), currentoffsetmax); + currentmax = _mm512_max_epu32(data, currentmax); + } + + // last block with 0 <= len < 64 + __mmask64 read_mask = (__mmask64(1) << (end - ptr)) - 1; + const __m512i data = _mm512_maskz_loadu_epi8(read_mask, (const __m512i *)ptr); + checker.check_next_input(data); + + __m512i diff = _mm512_sub_epi16(data, _mm512_set1_epi16(uint16_t(0xD800))); + __mmask32 surrogates = + _mm512_cmplt_epu16_mask(diff, _mm512_set1_epi16(uint16_t(0x0800))); + __mmask32 highsurrogates = + _mm512_cmplt_epu16_mask(diff, _mm512_set1_epi16(uint16_t(0x0400))); + __mmask32 lowsurrogates = surrogates ^ highsurrogates; + utf16_err |= (((highsurrogates << 1) | ends_with_high) != lowsurrogates); + + currentoffsetmax = + _mm512_max_epu32(_mm512_add_epi32(data, offset), currentoffsetmax); + currentmax = _mm512_max_epu32(data, currentmax); + + const __m512i standardmax = _mm512_set1_epi32((uint32_t)0x10ffff); + const __m512i standardoffsetmax = _mm512_set1_epi32((uint32_t)0xfffff7ff); + __m512i is_zero = + _mm512_xor_si512(_mm512_max_epu32(currentmax, standardmax), standardmax); + utf32_err |= (_mm512_test_epi8_mask(is_zero, is_zero) != 0); + is_zero = _mm512_xor_si512( + _mm512_max_epu32(currentoffsetmax, standardoffsetmax), standardoffsetmax); + utf32_err |= (_mm512_test_epi8_mask(is_zero, is_zero) != 0); + checker.check_eof(); + bool is_valid_utf8 = !checker.errors(); + if (is_valid_utf8) { out |= encoding_type::UTF8; } - if ((length % 2) == 0) { - if (validate_utf16le(reinterpret_cast<const char16_t *>(input), - length / 2)) { - out |= encoding_type::UTF16_LE; - } + if (utf16_err == 0) { + out |= encoding_type::UTF16_LE; } - if ((length % 4) == 0) { - if (validate_utf32(reinterpret_cast<const char32_t *>(input), length / 4)) { - out |= encoding_type::UTF32_LE; - } + if (utf32_err == 0) { + out |= encoding_type::UTF32_LE; } return out; } @@ -27092,14 +27213,7 @@ simdutf_warn_unused result implementation::validate_utf16be_with_errors( simdutf_warn_unused bool implementation::validate_utf32(const char32_t *buf, size_t len) const noexcept { - const char32_t *tail = icelake::validate_utf32(buf, len); - if (tail) { - return scalar::utf32::validate(tail, len - (tail - buf)); - } else { - // we come here if there was an error, or buf was nullptr which may happen - // for empty input. - return len == 0; - } + return icelake::validate_utf32(buf, len); } simdutf_warn_unused result implementation::validate_utf32_with_errors( @@ -27980,16 +28094,7 @@ implementation::count_utf8(const char *input, size_t length) const noexcept { } } - __m256i first_half = _mm512_extracti64x4_epi64(unrolled_popcount, 0); - __m256i second_half = _mm512_extracti64x4_epi64(unrolled_popcount, 1); - answer -= (size_t)_mm256_extract_epi64(first_half, 0) + - (size_t)_mm256_extract_epi64(first_half, 1) + - (size_t)_mm256_extract_epi64(first_half, 2) + - (size_t)_mm256_extract_epi64(first_half, 3) + - (size_t)_mm256_extract_epi64(second_half, 0) + - (size_t)_mm256_extract_epi64(second_half, 1) + - (size_t)_mm256_extract_epi64(second_half, 2) + - (size_t)_mm256_extract_epi64(second_half, 3); + answer -= _mm512_reduce_add_epi64(unrolled_popcount); return answer + scalar::utf8::count_code_points( reinterpret_cast<const char *>(str + i), length - i); @@ -28175,16 +28280,7 @@ simdutf_warn_unused size_t implementation::utf8_length_from_latin1( eight_64bits, _mm512_sad_epu8(runner, _mm512_setzero_si512())); } - __m256i first_half = _mm512_extracti64x4_epi64(eight_64bits, 0); - __m256i second_half = _mm512_extracti64x4_epi64(eight_64bits, 1); - answer += (size_t)_mm256_extract_epi64(first_half, 0) + - (size_t)_mm256_extract_epi64(first_half, 1) + - (size_t)_mm256_extract_epi64(first_half, 2) + - (size_t)_mm256_extract_epi64(first_half, 3) + - (size_t)_mm256_extract_epi64(second_half, 0) + - (size_t)_mm256_extract_epi64(second_half, 1) + - (size_t)_mm256_extract_epi64(second_half, 2) + - (size_t)_mm256_extract_epi64(second_half, 3); + answer += _mm512_reduce_add_epi64(eight_64bits); } else if (answer > 0) { for (; i + sizeof(__m512i) <= length; i += sizeof(__m512i)) { __m512i latin = _mm512_loadu_si512((const __m512i *)(str + i)); @@ -31471,6 +31567,12 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -33426,20 +33528,103 @@ implementation::detect_encodings(const char *input, if (bom_encoding != encoding_type::unspecified) { return bom_encoding; } + int out = 0; - if (validate_utf8(input, length)) { + uint32_t utf16_err = (length % 2); + uint32_t utf32_err = (length % 4); + uint32_t ends_with_high = 0; + const auto v_d8 = simd8<uint8_t>::splat(0xd8); + const auto v_f8 = simd8<uint8_t>::splat(0xf8); + const auto v_fc = simd8<uint8_t>::splat(0xfc); + const auto v_dc = simd8<uint8_t>::splat(0xdc); + const __m256i standardmax = _mm256_set1_epi32(0x10ffff); + const __m256i offset = _mm256_set1_epi32(0xffff2000); + const __m256i standardoffsetmax = _mm256_set1_epi32(0xfffff7ff); + __m256i currentmax = _mm256_setzero_si256(); + __m256i currentoffsetmax = _mm256_setzero_si256(); + + utf8_checker c{}; + buf_block_reader<64> reader(reinterpret_cast<const uint8_t *>(input), length); + while (reader.has_full_block()) { + simd::simd8x64<uint8_t> in(reader.full_block()); + // utf8 checks + c.check_next_input(in); + + // utf16le checks + auto in0 = simd16<uint16_t>(in.chunks[0]); + auto in1 = simd16<uint16_t>(in.chunks[1]); + const auto t0 = in0.shr<8>(); + const auto t1 = in1.shr<8>(); + const auto in2 = simd16<uint16_t>::pack(t0, t1); + const auto surrogates_wordmask = (in2 & v_f8) == v_d8; + const uint32_t surrogates_bitmask = surrogates_wordmask.to_bitmask(); + const auto vL = (in2 & v_fc) == v_dc; + const uint32_t L = vL.to_bitmask(); + const uint32_t H = L ^ surrogates_bitmask; + utf16_err |= (((H << 1) | ends_with_high) != L); + ends_with_high = (H & 0x80000000) != 0; + + // utf32le checks + currentmax = _mm256_max_epu32(in.chunks[0], currentmax); + currentoffsetmax = _mm256_max_epu32(_mm256_add_epi32(in.chunks[0], offset), + currentoffsetmax); + currentmax = _mm256_max_epu32(in.chunks[1], currentmax); + currentoffsetmax = _mm256_max_epu32(_mm256_add_epi32(in.chunks[1], offset), + currentoffsetmax); + + reader.advance(); + } + + uint8_t block[64]{}; + size_t idx = reader.block_index(); + std::memcpy(block, &input[idx], length - idx); + simd::simd8x64<uint8_t> in(block); + c.check_next_input(in); + + // utf16le last block check + auto in0 = simd16<uint16_t>(in.chunks[0]); + auto in1 = simd16<uint16_t>(in.chunks[1]); + const auto t0 = in0.shr<8>(); + const auto t1 = in1.shr<8>(); + const auto in2 = simd16<uint16_t>::pack(t0, t1); + const auto surrogates_wordmask = (in2 & v_f8) == v_d8; + const uint32_t surrogates_bitmask = surrogates_wordmask.to_bitmask(); + const auto vL = (in2 & v_fc) == v_dc; + const uint32_t L = vL.to_bitmask(); + const uint32_t H = L ^ surrogates_bitmask; + utf16_err |= (((H << 1) | ends_with_high) != L); + // this is required to check for last byte ending in high and end of input + // is reached + ends_with_high = (H & 0x80000000) != 0; + utf16_err |= ends_with_high; + + // utf32le last block check + currentmax = _mm256_max_epu32(in.chunks[0], currentmax); + currentoffsetmax = _mm256_max_epu32(_mm256_add_epi32(in.chunks[0], offset), + currentoffsetmax); + currentmax = _mm256_max_epu32(in.chunks[1], currentmax); + currentoffsetmax = _mm256_max_epu32(_mm256_add_epi32(in.chunks[1], offset), + currentoffsetmax); + + reader.advance(); + + c.check_eof(); + bool is_valid_utf8 = !c.errors(); + __m256i is_zero = + _mm256_xor_si256(_mm256_max_epu32(currentmax, standardmax), standardmax); + utf32_err |= (_mm256_testz_si256(is_zero, is_zero) == 0); + + is_zero = _mm256_xor_si256( + _mm256_max_epu32(currentoffsetmax, standardoffsetmax), standardoffsetmax); + utf32_err |= (_mm256_testz_si256(is_zero, is_zero) == 0); + if (is_valid_utf8) { out |= encoding_type::UTF8; } - if ((length % 2) == 0) { - if (validate_utf16le(reinterpret_cast<const char16_t *>(input), - length / 2)) { - out |= encoding_type::UTF16_LE; - } + if (utf16_err == 0) { + out |= encoding_type::UTF16_LE; } - if ((length % 4) == 0) { - if (validate_utf32(reinterpret_cast<const char32_t *>(input), length / 4)) { - out |= encoding_type::UTF32_LE; - } + if (utf32_err == 0) { + out |= encoding_type::UTF32_LE; } return out; } @@ -36317,6 +36502,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -36368,6 +36559,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -38120,6 +38317,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -38165,6 +38368,12 @@ simdutf_warn_unused full_result implementation::base64_to_binary_details( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -38216,6 +38425,12 @@ simdutf_warn_unused result implementation::base64_to_binary( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation}; } return {SUCCESS, 0}; @@ -38261,6 +38476,12 @@ simdutf_warn_unused full_result implementation::base64_to_binary_details( } if (length == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -41328,6 +41549,12 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -43282,24 +43509,138 @@ implementation::detect_encodings(const char *input, size_t length) const noexcept { // If there is a BOM, then we trust it. auto bom_encoding = simdutf::BOM::check_bom(input, length); - // todo: reimplement as a one-pass algorithm. if (bom_encoding != encoding_type::unspecified) { return bom_encoding; } + int out = 0; - if (validate_utf8(input, length)) { + uint32_t utf16_err = (length % 2); + uint32_t utf32_err = (length % 4); + uint32_t ends_with_high = 0; + const auto v_d8 = simd8<uint8_t>::splat(0xd8); + const auto v_f8 = simd8<uint8_t>::splat(0xf8); + const auto v_fc = simd8<uint8_t>::splat(0xfc); + const auto v_dc = simd8<uint8_t>::splat(0xdc); + const __m128i standardmax = _mm_set1_epi32(0x10ffff); + const __m128i offset = _mm_set1_epi32(0xffff2000); + const __m128i standardoffsetmax = _mm_set1_epi32(0xfffff7ff); + __m128i currentmax = _mm_setzero_si128(); + __m128i currentoffsetmax = _mm_setzero_si128(); + + utf8_checker c{}; + buf_block_reader<64> reader(reinterpret_cast<const uint8_t *>(input), length); + while (reader.has_full_block()) { + simd::simd8x64<uint8_t> in(reader.full_block()); + // utf8 checks + c.check_next_input(in); + + // utf16le checks + auto in0 = simd16<uint16_t>(in.chunks[0]); + auto in1 = simd16<uint16_t>(in.chunks[1]); + const auto t0 = in0.shr<8>(); + const auto t1 = in1.shr<8>(); + const auto packed1 = simd16<uint16_t>::pack(t0, t1); + auto in2 = simd16<uint16_t>(in.chunks[2]); + auto in3 = simd16<uint16_t>(in.chunks[3]); + const auto t2 = in2.shr<8>(); + const auto t3 = in3.shr<8>(); + const auto packed2 = simd16<uint16_t>::pack(t2, t3); + + const auto surrogates_wordmask_lo = (packed1 & v_f8) == v_d8; + const auto surrogates_wordmask_hi = (packed2 & v_f8) == v_d8; + const uint32_t surrogates_bitmask = + (surrogates_wordmask_hi.to_bitmask() << 16) | + surrogates_wordmask_lo.to_bitmask(); + const auto vL_lo = (packed1 & v_fc) == v_dc; + const auto vL_hi = (packed2 & v_fc) == v_dc; + const uint32_t L = (vL_hi.to_bitmask() << 16) | vL_lo.to_bitmask(); + const uint32_t H = L ^ surrogates_bitmask; + utf16_err |= (((H << 1) | ends_with_high) != L); + ends_with_high = (H & 0x80000000) != 0; + + // utf32le checks + currentmax = _mm_max_epu32(in.chunks[0], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[0], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[1], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[1], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[2], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[2], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[3], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[3], offset), currentoffsetmax); + + reader.advance(); + } + + uint8_t block[64]{}; + size_t idx = reader.block_index(); + std::memcpy(block, &input[idx], length - idx); + simd::simd8x64<uint8_t> in(block); + c.check_next_input(in); + + // utf16le last block check + auto in0 = simd16<uint16_t>(in.chunks[0]); + auto in1 = simd16<uint16_t>(in.chunks[1]); + const auto t0 = in0.shr<8>(); + const auto t1 = in1.shr<8>(); + const auto packed1 = simd16<uint16_t>::pack(t0, t1); + auto in2 = simd16<uint16_t>(in.chunks[2]); + auto in3 = simd16<uint16_t>(in.chunks[3]); + const auto t2 = in2.shr<8>(); + const auto t3 = in3.shr<8>(); + const auto packed2 = simd16<uint16_t>::pack(t2, t3); + + const auto surrogates_wordmask_lo = (packed1 & v_f8) == v_d8; + const auto surrogates_wordmask_hi = (packed2 & v_f8) == v_d8; + const uint32_t surrogates_bitmask = + (surrogates_wordmask_hi.to_bitmask() << 16) | + surrogates_wordmask_lo.to_bitmask(); + const auto vL_lo = (packed1 & v_fc) == v_dc; + const auto vL_hi = (packed2 & v_fc) == v_dc; + const uint32_t L = (vL_hi.to_bitmask() << 16) | vL_lo.to_bitmask(); + const uint32_t H = L ^ surrogates_bitmask; + utf16_err |= (((H << 1) | ends_with_high) != L); + // this is required to check for last byte ending in high and end of input + // is reached + ends_with_high = (H & 0x80000000) != 0; + utf16_err |= ends_with_high; + + // utf32le last block check + currentmax = _mm_max_epu32(in.chunks[0], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[0], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[1], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[1], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[2], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[2], offset), currentoffsetmax); + currentmax = _mm_max_epu32(in.chunks[3], currentmax); + currentoffsetmax = + _mm_max_epu32(_mm_add_epi32(in.chunks[3], offset), currentoffsetmax); + + reader.advance(); + + c.check_eof(); + bool is_valid_utf8 = !c.errors(); + __m128i is_zero = + _mm_xor_si128(_mm_max_epu32(currentmax, standardmax), standardmax); + utf32_err |= (_mm_test_all_zeros(is_zero, is_zero) == 0); + + is_zero = _mm_xor_si128(_mm_max_epu32(currentoffsetmax, standardoffsetmax), + standardoffsetmax); + utf32_err |= (_mm_test_all_zeros(is_zero, is_zero) == 0); + if (is_valid_utf8) { out |= encoding_type::UTF8; } - if ((length % 2) == 0) { - if (validate_utf16le(reinterpret_cast<const char16_t *>(input), - length / 2)) { - out |= encoding_type::UTF16_LE; - } + if (utf16_err == 0) { + out |= encoding_type::UTF16_LE; } - if ((length % 4) == 0) { - if (validate_utf32(reinterpret_cast<const char32_t *>(input), length / 4)) { - out |= encoding_type::UTF32_LE; - } + if (utf32_err == 0) { + out |= encoding_type::UTF32_LE; } return out; } @@ -47336,6 +47677,12 @@ compress_decode_base64(char *dst, const char_type *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; @@ -53668,6 +54015,12 @@ compress_decode_base64(char *dst, const chartype *src, size_t srclen, } if (srclen == 0) { if (!ignore_garbage && equalsigns > 0) { + if (last_chunk_options == last_chunk_handling_options::strict) { + return {BASE64_INPUT_REMAINDER, 0, 0}; + } else if (last_chunk_options == + last_chunk_handling_options::stop_before_partial) { + return {SUCCESS, 0, 0}; + } return {INVALID_BASE64_CHARACTER, equallocation, 0}; } return {SUCCESS, 0, 0}; diff --git a/deps/simdutf/simdutf.h b/deps/simdutf/simdutf.h index 9a4b4580da91a1..4bec0cf300292a 100644 --- a/deps/simdutf/simdutf.h +++ b/deps/simdutf/simdutf.h @@ -1,4 +1,4 @@ -/* auto-generated on 2024-12-26 12:42:33 -0500. Do not edit! */ +/* auto-generated on 2025-01-08 17:51:07 -0500. Do not edit! */ /* begin file include/simdutf.h */ #ifndef SIMDUTF_H #define SIMDUTF_H @@ -55,21 +55,35 @@ #ifndef SIMDUTF_COMMON_DEFS_H #define SIMDUTF_COMMON_DEFS_H -#include <cassert> /* begin file include/simdutf/portability.h */ #ifndef SIMDUTF_PORTABILITY_H #define SIMDUTF_PORTABILITY_H + +#include <cfloat> #include <cstddef> #include <cstdint> #include <cstdlib> -#include <cfloat> -#include <cassert> #ifndef _WIN32 // strcasecmp, strncasecmp #include <strings.h> #endif +#if defined(__apple_build_version__) + #if __apple_build_version__ < 14000000 + #define SIMDUTF_SPAN_DISABLED \ + 1 // apple-clang/13 doesn't support std::convertible_to + #endif +#endif + +#if SIMDUTF_CPLUSPLUS20 + #include <version> + #if __cpp_concepts >= 201907L && __cpp_lib_span >= 202002L && \ + !defined(SIMDUTF_SPAN_DISABLED) + #define SIMDUTF_SPAN 1 + #endif +#endif + /** * We want to check that it is actually a little endian system at * compile-time. @@ -291,27 +305,6 @@ #define simdutf_strncasecmp strncasecmp #endif -#ifdef NDEBUG - - #ifdef SIMDUTF_VISUAL_STUDIO - #define SIMDUTF_UNREACHABLE() __assume(0) - #define SIMDUTF_ASSUME(COND) __assume(COND) - #else - #define SIMDUTF_UNREACHABLE() __builtin_unreachable(); - #define SIMDUTF_ASSUME(COND) \ - do { \ - if (!(COND)) \ - __builtin_unreachable(); \ - } while (0) - #endif - -#else // NDEBUG - - #define SIMDUTF_UNREACHABLE() assert(0); - #define SIMDUTF_ASSUME(COND) assert(COND) - -#endif - #if defined(__GNUC__) && !defined(__clang__) #if __GNUC__ >= 11 #define SIMDUTF_GCC11ORMORE 1 @@ -402,27 +395,6 @@ #endif // SIMDUTF_AVX512_H_ /* end file include/simdutf/avx512.h */ -#if defined(__GNUC__) - // Marks a block with a name so that MCA analysis can see it. - #define SIMDUTF_BEGIN_DEBUG_BLOCK(name) \ - __asm volatile("# LLVM-MCA-BEGIN " #name); - #define SIMDUTF_END_DEBUG_BLOCK(name) __asm volatile("# LLVM-MCA-END " #name); - #define SIMDUTF_DEBUG_BLOCK(name, block) \ - BEGIN_DEBUG_BLOCK(name); \ - block; \ - END_DEBUG_BLOCK(name); -#else - #define SIMDUTF_BEGIN_DEBUG_BLOCK(name) - #define SIMDUTF_END_DEBUG_BLOCK(name) - #define SIMDUTF_DEBUG_BLOCK(name, block) -#endif - -// Align to N-byte boundary -#define SIMDUTF_ROUNDUP_N(a, n) (((a) + ((n) - 1)) & ~((n) - 1)) -#define SIMDUTF_ROUNDDOWN_N(a, n) ((a) & ~((n) - 1)) - -#define SIMDUTF_ISALIGNED_N(ptr, n) (((uintptr_t)(ptr) & ((n) - 1)) == 0) - #if defined(SIMDUTF_REGULAR_VISUAL_STUDIO) #define SIMDUTF_DEPRECATED __declspec(deprecated) @@ -536,18 +508,11 @@ #endif #endif -/// If EXPR is an error, returns it. -#define SIMDUTF_TRY(EXPR) \ - { \ - auto _err = (EXPR); \ - if (_err) { \ - return _err; \ - } \ - } - #endif // SIMDUTF_COMMON_DEFS_H /* end file include/simdutf/common_defs.h */ /* begin file include/simdutf/encoding_types.h */ +#ifndef SIMDUTF_ENCODING_TYPES_H +#define SIMDUTF_ENCODING_TYPES_H #include <string> namespace simdutf { @@ -591,6 +556,7 @@ size_t bom_byte_size(encoding_type bom); } // namespace BOM } // namespace simdutf +#endif /* end file include/simdutf/encoding_types.h */ /* begin file include/simdutf/error.h */ #ifndef SIMDUTF_ERROR_H @@ -675,22 +641,22 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS #define SIMDUTF_SIMDUTF_VERSION_H /** The version of simdutf being used (major.minor.revision) */ -#define SIMDUTF_VERSION "5.7.2" +#define SIMDUTF_VERSION "6.0.3" namespace simdutf { enum { /** * The major version (MAJOR.minor.revision) of simdutf being used. */ - SIMDUTF_VERSION_MAJOR = 5, + SIMDUTF_VERSION_MAJOR = 6, /** * The minor version (major.MINOR.revision) of simdutf being used. */ - SIMDUTF_VERSION_MINOR = 7, + SIMDUTF_VERSION_MINOR = 0, /** * The revision (major.minor.REVISION) of simdutf being used. */ - SIMDUTF_VERSION_REVISION = 2 + SIMDUTF_VERSION_REVISION = 3 }; } // namespace simdutf @@ -699,11 +665,10 @@ enum { /* begin file include/simdutf/implementation.h */ #ifndef SIMDUTF_IMPLEMENTATION_H #define SIMDUTF_IMPLEMENTATION_H -#include <string> #if !defined(SIMDUTF_NO_THREADS) #include <atomic> #endif -#include <tuple> +#include <string> #include <vector> /* begin file include/simdutf/internal/isadetection.h */ /* From @@ -1031,8 +996,61 @@ static inline uint32_t detect_supported_architectures() { #endif // SIMDutf_INTERNAL_ISADETECTION_H /* end file include/simdutf/internal/isadetection.h */ +#if SIMDUTF_SPAN + #include <concepts> + #include <type_traits> + #include <span> +#endif + namespace simdutf { +#if SIMDUTF_SPAN +/// helpers placed in namespace detail are not a part of the public API +namespace detail { +/** + * matches a byte, in the many ways C++ allows. note that these + * are all distinct types. + */ +template <typename T> +concept byte_like = std::is_same_v<T, std::byte> || // + std::is_same_v<T, char> || // + std::is_same_v<T, signed char> || // + std::is_same_v<T, unsigned char>; + +template <typename T> +concept is_byte_like = byte_like<std::remove_cvref_t<T>>; + +template <typename T> +concept is_pointer = std::is_pointer_v<T>; + +/** + * matches anything that behaves like std::span and points to character-like + * data such as: std::byte, char, unsigned char, signed char, std::int8_t, + * std::uint8_t + */ +template <typename T> +concept input_span_of_byte_like = requires(const T &t) { + { t.size() } noexcept -> std::convertible_to<std::size_t>; + { t.data() } noexcept -> is_pointer; + { *t.data() } noexcept -> is_byte_like; +}; + +template <typename T> +concept is_mutable = !std::is_const_v<std::remove_reference_t<T>>; + +/** + * like span_of_byte_like, but for an output span (intended to be written to) + */ +template <typename T> +concept output_span_of_byte_like = requires(T &t) { + { t.size() } noexcept -> std::convertible_to<std::size_t>; + { t.data() } noexcept -> is_pointer; + { *t.data() } noexcept -> is_byte_like; + { *t.data() } noexcept -> is_mutable; +}; +} // namespace detail +#endif + /** * Autodetect the encoding of the input, a single encoding is recommended. * E.g., the function might return simdutf::encoding_type::UTF8, @@ -1049,6 +1067,25 @@ simdutf_really_inline simdutf_warn_unused simdutf::encoding_type autodetect_encoding(const uint8_t *input, size_t length) noexcept { return autodetect_encoding(reinterpret_cast<const char *>(input), length); } +#if SIMDUTF_SPAN +/** + * Autodetect the encoding of the input, a single encoding is recommended. + * E.g., the function might return simdutf::encoding_type::UTF8, + * simdutf::encoding_type::UTF16_LE, simdutf::encoding_type::UTF16_BE, or + * simdutf::encoding_type::UTF32_LE. + * + * @param input the string to analyze. can be a anything span-like that has a + * data() and size() that points to character data: std::string, + * std::string_view, std::vector<char>, std::span<const std::byte> etc. + * @return the detected encoding type + */ +simdutf_really_inline simdutf_warn_unused simdutf::encoding_type +autodetect_encoding( + const detail::input_span_of_byte_like auto &input) noexcept { + return autodetect_encoding(reinterpret_cast<const char *>(input.data()), + input.size()); +} +#endif /** * Autodetect the possible encodings of the input in one pass. @@ -1067,6 +1104,13 @@ simdutf_really_inline simdutf_warn_unused int detect_encodings(const uint8_t *input, size_t length) noexcept { return detect_encodings(reinterpret_cast<const char *>(input), length); } +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused int +detect_encodings(const detail::input_span_of_byte_like auto &input) noexcept { + return detect_encodings(reinterpret_cast<const char *>(input.data()), + input.size()); +} +#endif /** * Validate the UTF-8 string. This function may be best when you expect @@ -1080,6 +1124,13 @@ detect_encodings(const uint8_t *input, size_t length) noexcept { * @return true if and only if the string is valid UTF-8. */ simdutf_warn_unused bool validate_utf8(const char *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_utf8(const detail::input_span_of_byte_like auto &input) noexcept { + return validate_utf8(reinterpret_cast<const char *>(input.data()), + input.size()); +} +#endif /** * Validate the UTF-8 string and stop on error. @@ -1095,6 +1146,13 @@ simdutf_warn_unused bool validate_utf8(const char *buf, size_t len) noexcept; */ simdutf_warn_unused result validate_utf8_with_errors(const char *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result validate_utf8_with_errors( + const detail::input_span_of_byte_like auto &input) noexcept { + return validate_utf8_with_errors(reinterpret_cast<const char *>(input.data()), + input.size()); +} +#endif /** * Validate the ASCII string. @@ -1106,6 +1164,13 @@ simdutf_warn_unused result validate_utf8_with_errors(const char *buf, * @return true if and only if the string is valid ASCII. */ simdutf_warn_unused bool validate_ascii(const char *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_ascii(const detail::input_span_of_byte_like auto &input) noexcept { + return validate_ascii(reinterpret_cast<const char *>(input.data()), + input.size()); +} +#endif /** * Validate the ASCII string and stop on error. It might be faster than @@ -1122,6 +1187,13 @@ simdutf_warn_unused bool validate_ascii(const char *buf, size_t len) noexcept; */ simdutf_warn_unused result validate_ascii_with_errors(const char *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result validate_ascii_with_errors( + const detail::input_span_of_byte_like auto &input) noexcept { + return validate_ascii_with_errors( + reinterpret_cast<const char *>(input.data()), input.size()); +} +#endif /** * Using native endianness; Validate the UTF-16 string. @@ -1139,6 +1211,12 @@ simdutf_warn_unused result validate_ascii_with_errors(const char *buf, */ simdutf_warn_unused bool validate_utf16(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_utf16(std::span<const char16_t> input) noexcept { + return validate_utf16(input.data(), input.size()); +} +#endif /** * Validate the UTF-16LE string. This function may be best when you expect @@ -1156,6 +1234,12 @@ simdutf_warn_unused bool validate_utf16(const char16_t *buf, */ simdutf_warn_unused bool validate_utf16le(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_utf16le(std::span<const char16_t> input) noexcept { + return validate_utf16le(input.data(), input.size()); +} +#endif /** * Validate the UTF-16BE string. This function may be best when you expect @@ -1173,6 +1257,12 @@ simdutf_warn_unused bool validate_utf16le(const char16_t *buf, */ simdutf_warn_unused bool validate_utf16be(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_utf16be(std::span<const char16_t> input) noexcept { + return validate_utf16be(input.data(), input.size()); +} +#endif /** * Using native endianness; Validate the UTF-16 string and stop on error. @@ -1193,6 +1283,12 @@ simdutf_warn_unused bool validate_utf16be(const char16_t *buf, */ simdutf_warn_unused result validate_utf16_with_errors(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +validate_utf16_with_errors(std::span<const char16_t> input) noexcept { + return validate_utf16_with_errors(input.data(), input.size()); +} +#endif /** * Validate the UTF-16LE string and stop on error. It might be faster than @@ -1212,6 +1308,12 @@ simdutf_warn_unused result validate_utf16_with_errors(const char16_t *buf, */ simdutf_warn_unused result validate_utf16le_with_errors(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +validate_utf16le_with_errors(std::span<const char16_t> input) noexcept { + return validate_utf16le_with_errors(input.data(), input.size()); +} +#endif /** * Validate the UTF-16BE string and stop on error. It might be faster than @@ -1231,6 +1333,12 @@ simdutf_warn_unused result validate_utf16le_with_errors(const char16_t *buf, */ simdutf_warn_unused result validate_utf16be_with_errors(const char16_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +validate_utf16be_with_errors(std::span<const char16_t> input) noexcept { + return validate_utf16be_with_errors(input.data(), input.size()); +} +#endif /** * Validate the UTF-32 string. This function may be best when you expect @@ -1248,6 +1356,12 @@ simdutf_warn_unused result validate_utf16be_with_errors(const char16_t *buf, */ simdutf_warn_unused bool validate_utf32(const char32_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused bool +validate_utf32(std::span<const char32_t> input) noexcept { + return validate_utf32(input.data(), input.size()); +} +#endif /** * Validate the UTF-32 string and stop on error. It might be faster than @@ -1267,6 +1381,12 @@ simdutf_warn_unused bool validate_utf32(const char32_t *buf, */ simdutf_warn_unused result validate_utf32_with_errors(const char32_t *buf, size_t len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +validate_utf32_with_errors(std::span<const char32_t> input) noexcept { + return validate_utf32_with_errors(input.data(), input.size()); +} +#endif /** * Convert Latin1 string into UTF8 string. @@ -1281,6 +1401,15 @@ simdutf_warn_unused result validate_utf32_with_errors(const char32_t *buf, simdutf_warn_unused size_t convert_latin1_to_utf8(const char *input, size_t length, char *utf8_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_latin1_to_utf8( + const detail::input_span_of_byte_like auto &latin1_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_latin1_to_utf8( + reinterpret_cast<const char *>(latin1_input.data()), latin1_input.size(), + utf8_output.data()); +} +#endif /** * Convert Latin1 string into UTF8 string with output limit. @@ -1296,6 +1425,21 @@ simdutf_warn_unused size_t convert_latin1_to_utf8(const char *input, simdutf_warn_unused size_t convert_latin1_to_utf8_safe(const char *input, size_t length, char *utf8_output, size_t utf8_len) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_latin1_to_utf8_safe( + const detail::input_span_of_byte_like auto &input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + // implementation note: outputspan is a forwarding ref to avoid copying and + // allow both lvalues and rvalues. std::span can be copied without problems, + // but std::vector should not, and this function should accept both. it will + // allow using an owning rvalue ref (example: passing a temporary std::string) + // as output, but the user will quickly find out that he has no way of getting + // the data out of the object in that case. + return convert_latin1_to_utf8_safe( + input.data(), input.size(), reinterpret_cast<char *>(utf8_output.data()), + utf8_output.size()); +} +#endif /** * Convert possibly Latin1 string into UTF-16LE string. @@ -1309,6 +1453,15 @@ convert_latin1_to_utf8_safe(const char *input, size_t length, char *utf8_output, */ simdutf_warn_unused size_t convert_latin1_to_utf16le( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_latin1_to_utf16le( + const detail::input_span_of_byte_like auto &latin1_input, + std::span<char16_t> utf16_output) noexcept { + return convert_latin1_to_utf16le( + reinterpret_cast<const char *>(latin1_input.data()), latin1_input.size(), + utf16_output.data()); +} +#endif /** * Convert Latin1 string into UTF-16BE string. @@ -1322,6 +1475,14 @@ simdutf_warn_unused size_t convert_latin1_to_utf16le( */ simdutf_warn_unused size_t convert_latin1_to_utf16be( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_latin1_to_utf16be(const detail::input_span_of_byte_like auto &input, + std::span<char16_t> output) noexcept { + return convert_latin1_to_utf16be(reinterpret_cast<const char *>(input.data()), + input.size(), output.data()); +} +#endif /** * Convert Latin1 string into UTF-32 string. @@ -1335,6 +1496,15 @@ simdutf_warn_unused size_t convert_latin1_to_utf16be( */ simdutf_warn_unused size_t convert_latin1_to_utf32( const char *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_latin1_to_utf32( + const detail::input_span_of_byte_like auto &latin1_input, + std::span<char32_t> utf32_output) noexcept { + return convert_latin1_to_utf32( + reinterpret_cast<const char *>(latin1_input.data()), latin1_input.size(), + utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into latin1 string. @@ -1351,6 +1521,15 @@ simdutf_warn_unused size_t convert_latin1_to_utf32( simdutf_warn_unused size_t convert_utf8_to_latin1(const char *input, size_t length, char *latin1_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf8_to_latin1( + const detail::input_span_of_byte_like auto &input, + detail::output_span_of_byte_like auto &&output) noexcept { + return convert_utf8_to_latin1(reinterpret_cast<const char *>(input.data()), + input.size(), + reinterpret_cast<char *>(output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-8 string into a UTF-16 @@ -1367,6 +1546,14 @@ simdutf_warn_unused size_t convert_utf8_to_latin1(const char *input, */ simdutf_warn_unused size_t convert_utf8_to_utf16( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf8_to_utf16(const detail::input_span_of_byte_like auto &input, + std::span<char16_t> output) noexcept { + return convert_utf8_to_utf16(reinterpret_cast<const char *>(input.data()), + input.size(), output.data()); +} +#endif /** * Using native endianness, convert a Latin1 string into a UTF-16 string. @@ -1378,6 +1565,14 @@ simdutf_warn_unused size_t convert_utf8_to_utf16( */ simdutf_warn_unused size_t convert_latin1_to_utf16( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_latin1_to_utf16(const detail::input_span_of_byte_like auto &input, + std::span<char16_t> output) noexcept { + return convert_latin1_to_utf16(reinterpret_cast<const char *>(input.data()), + input.size(), output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-16LE string. @@ -1393,6 +1588,15 @@ simdutf_warn_unused size_t convert_latin1_to_utf16( */ simdutf_warn_unused size_t convert_utf8_to_utf16le( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf8_to_utf16le(const detail::input_span_of_byte_like auto &utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf8_to_utf16le( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-16BE string. @@ -1408,6 +1612,15 @@ simdutf_warn_unused size_t convert_utf8_to_utf16le( */ simdutf_warn_unused size_t convert_utf8_to_utf16be( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf8_to_utf16be(const detail::input_span_of_byte_like auto &utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf8_to_utf16be( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into latin1 string with errors. @@ -1427,6 +1640,16 @@ simdutf_warn_unused size_t convert_utf8_to_utf16be( */ simdutf_warn_unused result convert_utf8_to_latin1_with_errors( const char *input, size_t length, char *latin1_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf8_to_latin1_with_errors( + const detail::input_span_of_byte_like auto &utf8_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf8_to_latin1_with_errors( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-8 string into UTF-16 @@ -1445,6 +1668,16 @@ simdutf_warn_unused result convert_utf8_to_latin1_with_errors( */ simdutf_warn_unused result convert_utf8_to_utf16_with_errors( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf8_to_utf16_with_errors( + const detail::input_span_of_byte_like auto &utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf8_to_utf16_with_errors( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-16LE string and stop on error. @@ -1462,6 +1695,16 @@ simdutf_warn_unused result convert_utf8_to_utf16_with_errors( */ simdutf_warn_unused result convert_utf8_to_utf16le_with_errors( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf8_to_utf16le_with_errors( + const detail::input_span_of_byte_like auto &utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf8_to_utf16le_with_errors( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-16BE string and stop on error. @@ -1479,6 +1722,16 @@ simdutf_warn_unused result convert_utf8_to_utf16le_with_errors( */ simdutf_warn_unused result convert_utf8_to_utf16be_with_errors( const char *input, size_t length, char16_t *utf16_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf8_to_utf16be_with_errors( + const detail::input_span_of_byte_like auto &utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf8_to_utf16be_with_errors( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-32 string. @@ -1494,6 +1747,15 @@ simdutf_warn_unused result convert_utf8_to_utf16be_with_errors( */ simdutf_warn_unused size_t convert_utf8_to_utf32( const char *input, size_t length, char32_t *utf32_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf8_to_utf32(const detail::input_span_of_byte_like auto &utf8_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf8_to_utf32( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-8 string into UTF-32 string and stop on error. @@ -1511,6 +1773,16 @@ simdutf_warn_unused size_t convert_utf8_to_utf32( */ simdutf_warn_unused result convert_utf8_to_utf32_with_errors( const char *input, size_t length, char32_t *utf32_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf8_to_utf32_with_errors( + const detail::input_span_of_byte_like auto &utf8_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf8_to_utf32_with_errors( + reinterpret_cast<const char *>(utf8_input.data()), utf8_input.size(), + utf32_output.data()); +} +#endif /** * Convert valid UTF-8 string into latin1 string. @@ -1533,6 +1805,15 @@ simdutf_warn_unused result convert_utf8_to_utf32_with_errors( */ simdutf_warn_unused size_t convert_valid_utf8_to_latin1( const char *input, size_t length, char *latin1_output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf8_to_latin1( + const detail::input_span_of_byte_like auto &valid_utf8_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_valid_utf8_to_latin1( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size(), latin1_output.data()); +} +#endif /** * Using native endianness, convert valid UTF-8 string into a UTF-16 string. @@ -1546,6 +1827,15 @@ simdutf_warn_unused size_t convert_valid_utf8_to_latin1( */ simdutf_warn_unused size_t convert_valid_utf8_to_utf16( const char *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf8_to_utf16( + const detail::input_span_of_byte_like auto &valid_utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf8_to_utf16( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size(), utf16_output.data()); +} +#endif /** * Convert valid UTF-8 string into UTF-16LE string. @@ -1559,6 +1849,15 @@ simdutf_warn_unused size_t convert_valid_utf8_to_utf16( */ simdutf_warn_unused size_t convert_valid_utf8_to_utf16le( const char *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf8_to_utf16le( + const detail::input_span_of_byte_like auto &valid_utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf8_to_utf16le( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size(), utf16_output.data()); +} +#endif /** * Convert valid UTF-8 string into UTF-16BE string. @@ -1572,6 +1871,15 @@ simdutf_warn_unused size_t convert_valid_utf8_to_utf16le( */ simdutf_warn_unused size_t convert_valid_utf8_to_utf16be( const char *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf8_to_utf16be( + const detail::input_span_of_byte_like auto &valid_utf8_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf8_to_utf16be( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size(), utf16_output.data()); +} +#endif /** * Convert valid UTF-8 string into UTF-32 string. @@ -1585,6 +1893,15 @@ simdutf_warn_unused size_t convert_valid_utf8_to_utf16be( */ simdutf_warn_unused size_t convert_valid_utf8_to_utf32( const char *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf8_to_utf32( + const detail::input_span_of_byte_like auto &valid_utf8_input, + std::span<char32_t> utf32_output) noexcept { + return convert_valid_utf8_to_utf32( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size(), utf32_output.data()); +} +#endif /** * Return the number of bytes that this Latin1 string would require in UTF-8 @@ -1596,6 +1913,13 @@ simdutf_warn_unused size_t convert_valid_utf8_to_utf32( */ simdutf_warn_unused size_t utf8_length_from_latin1(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t utf8_length_from_latin1( + const detail::input_span_of_byte_like auto &latin1_input) noexcept { + return utf8_length_from_latin1( + reinterpret_cast<const char *>(latin1_input.data()), latin1_input.size()); +} +#endif /** * Compute the number of bytes that this UTF-8 string would require in Latin1 @@ -1612,6 +1936,14 @@ simdutf_warn_unused size_t utf8_length_from_latin1(const char *input, */ simdutf_warn_unused size_t latin1_length_from_utf8(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t latin1_length_from_utf8( + const detail::input_span_of_byte_like auto &valid_utf8_input) noexcept { + return latin1_length_from_utf8( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size()); +} +#endif /** * Compute the number of 2-byte code units that this UTF-8 string would require @@ -1629,6 +1961,14 @@ simdutf_warn_unused size_t latin1_length_from_utf8(const char *input, */ simdutf_warn_unused size_t utf16_length_from_utf8(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t utf16_length_from_utf8( + const detail::input_span_of_byte_like auto &valid_utf8_input) noexcept { + return utf16_length_from_utf8( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size()); +} +#endif /** * Compute the number of 4-byte code units that this UTF-8 string would require @@ -1648,6 +1988,14 @@ simdutf_warn_unused size_t utf16_length_from_utf8(const char *input, */ simdutf_warn_unused size_t utf32_length_from_utf8(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t utf32_length_from_utf8( + const detail::input_span_of_byte_like auto &valid_utf8_input) noexcept { + return utf32_length_from_utf8( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size()); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into UTF-8 @@ -1667,6 +2015,14 @@ simdutf_warn_unused size_t utf32_length_from_utf8(const char *input, simdutf_warn_unused size_t convert_utf16_to_utf8(const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16_to_utf8( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16_to_utf8(utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into Latin1 @@ -1685,6 +2041,15 @@ simdutf_warn_unused size_t convert_utf16_to_utf8(const char16_t *input, */ simdutf_warn_unused size_t convert_utf16_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16_to_latin1( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16_to_latin1( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-16LE string into Latin1 string. @@ -1704,6 +2069,15 @@ simdutf_warn_unused size_t convert_utf16_to_latin1( */ simdutf_warn_unused size_t convert_utf16le_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16le_to_latin1( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16le_to_latin1( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-16BE string into Latin1 string. @@ -1721,6 +2095,15 @@ simdutf_warn_unused size_t convert_utf16le_to_latin1( */ simdutf_warn_unused size_t convert_utf16be_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16be_to_latin1( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16be_to_latin1( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-16LE string into UTF-8 string. @@ -1739,6 +2122,14 @@ simdutf_warn_unused size_t convert_utf16be_to_latin1( simdutf_warn_unused size_t convert_utf16le_to_utf8(const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16le_to_utf8( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16le_to_utf8(utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert possibly broken UTF-16BE string into UTF-8 string. @@ -1757,6 +2148,14 @@ simdutf_warn_unused size_t convert_utf16le_to_utf8(const char16_t *input, simdutf_warn_unused size_t convert_utf16be_to_utf8(const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf16be_to_utf8( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16be_to_utf8(utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into Latin1 @@ -1776,6 +2175,16 @@ simdutf_warn_unused size_t convert_utf16be_to_utf8(const char16_t *input, */ simdutf_warn_unused result convert_utf16_to_latin1_with_errors( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16_to_latin1_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16_to_latin1_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-16LE string into Latin1 string. @@ -1794,6 +2203,16 @@ simdutf_warn_unused result convert_utf16_to_latin1_with_errors( */ simdutf_warn_unused result convert_utf16le_to_latin1_with_errors( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16le_to_latin1_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16le_to_latin1_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-16BE string into Latin1 string. @@ -1814,6 +2233,16 @@ simdutf_warn_unused result convert_utf16le_to_latin1_with_errors( */ simdutf_warn_unused result convert_utf16be_to_latin1_with_errors( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16be_to_latin1_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf16be_to_latin1_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into UTF-8 @@ -1834,6 +2263,16 @@ simdutf_warn_unused result convert_utf16be_to_latin1_with_errors( */ simdutf_warn_unused result convert_utf16_to_utf8_with_errors( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16_to_utf8_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16_to_utf8_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert possibly broken UTF-16LE string into UTF-8 string and stop on error. @@ -1853,6 +2292,16 @@ simdutf_warn_unused result convert_utf16_to_utf8_with_errors( */ simdutf_warn_unused result convert_utf16le_to_utf8_with_errors( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16le_to_utf8_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16le_to_utf8_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert possibly broken UTF-16BE string into UTF-8 string and stop on error. @@ -1872,6 +2321,16 @@ simdutf_warn_unused result convert_utf16le_to_utf8_with_errors( */ simdutf_warn_unused result convert_utf16be_to_utf8_with_errors( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16be_to_utf8_with_errors( + std::span<char16_t> utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf16be_to_utf8_with_errors( + utf16_input.data(), utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert valid UTF-16 string into UTF-8 string. @@ -1888,6 +2347,15 @@ simdutf_warn_unused result convert_utf16be_to_utf8_with_errors( */ simdutf_warn_unused size_t convert_valid_utf16_to_utf8( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf16_to_utf8( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_valid_utf16_to_utf8( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert UTF-16 string into Latin1 string. @@ -1910,6 +2378,15 @@ simdutf_warn_unused size_t convert_valid_utf16_to_utf8( */ simdutf_warn_unused size_t convert_valid_utf16_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf16_to_latin1( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_valid_utf16_to_latin1( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert valid UTF-16LE string into Latin1 string. @@ -1932,6 +2409,16 @@ simdutf_warn_unused size_t convert_valid_utf16_to_latin1( */ simdutf_warn_unused size_t convert_valid_utf16le_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf16le_to_latin1( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_valid_utf16le_to_latin1( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert valid UTF-16BE string into Latin1 string. @@ -1954,6 +2441,16 @@ simdutf_warn_unused size_t convert_valid_utf16le_to_latin1( */ simdutf_warn_unused size_t convert_valid_utf16be_to_latin1( const char16_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf16be_to_latin1( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_valid_utf16be_to_latin1( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert valid UTF-16LE string into UTF-8 string. @@ -1971,6 +2468,15 @@ simdutf_warn_unused size_t convert_valid_utf16be_to_latin1( */ simdutf_warn_unused size_t convert_valid_utf16le_to_utf8( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf16le_to_utf8( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_valid_utf16le_to_utf8( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert valid UTF-16BE string into UTF-8 string. @@ -1987,6 +2493,15 @@ simdutf_warn_unused size_t convert_valid_utf16le_to_utf8( */ simdutf_warn_unused size_t convert_valid_utf16be_to_utf8( const char16_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf16be_to_utf8( + std::span<char16_t> valid_utf16_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_valid_utf16be_to_utf8( + valid_utf16_input.data(), valid_utf16_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into UTF-32 @@ -2005,6 +2520,14 @@ simdutf_warn_unused size_t convert_valid_utf16be_to_utf8( */ simdutf_warn_unused size_t convert_utf16_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf16_to_utf32(std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16_to_utf32(utf16_input.data(), utf16_input.size(), + utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-16LE string into UTF-32 string. @@ -2022,6 +2545,14 @@ simdutf_warn_unused size_t convert_utf16_to_utf32( */ simdutf_warn_unused size_t convert_utf16le_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf16le_to_utf32(std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16le_to_utf32(utf16_input.data(), utf16_input.size(), + utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-16BE string into UTF-32 string. @@ -2039,6 +2570,14 @@ simdutf_warn_unused size_t convert_utf16le_to_utf32( */ simdutf_warn_unused size_t convert_utf16be_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf16be_to_utf32(std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16be_to_utf32(utf16_input.data(), utf16_input.size(), + utf32_output.data()); +} +#endif /** * Using native endianness, convert possibly broken UTF-16 string into @@ -2059,6 +2598,14 @@ simdutf_warn_unused size_t convert_utf16be_to_utf32( */ simdutf_warn_unused result convert_utf16_to_utf32_with_errors( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16_to_utf32_with_errors(std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16_to_utf32_with_errors( + utf16_input.data(), utf16_input.size(), utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-16LE string into UTF-32 string and stop on error. @@ -2078,6 +2625,15 @@ simdutf_warn_unused result convert_utf16_to_utf32_with_errors( */ simdutf_warn_unused result convert_utf16le_to_utf32_with_errors( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16le_to_utf32_with_errors( + std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16le_to_utf32_with_errors( + utf16_input.data(), utf16_input.size(), utf32_output.data()); +} +#endif /** * Convert possibly broken UTF-16BE string into UTF-32 string and stop on error. @@ -2097,6 +2653,15 @@ simdutf_warn_unused result convert_utf16le_to_utf32_with_errors( */ simdutf_warn_unused result convert_utf16be_to_utf32_with_errors( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf16be_to_utf32_with_errors( + std::span<const char16_t> utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_utf16be_to_utf32_with_errors( + utf16_input.data(), utf16_input.size(), utf32_output.data()); +} +#endif /** * Using native endianness, convert valid UTF-16 string into UTF-32 string. @@ -2114,6 +2679,14 @@ simdutf_warn_unused result convert_utf16be_to_utf32_with_errors( */ simdutf_warn_unused size_t convert_valid_utf16_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf16_to_utf32(std::span<const char16_t> valid_utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_valid_utf16_to_utf32( + valid_utf16_input.data(), valid_utf16_input.size(), utf32_output.data()); +} +#endif /** * Convert valid UTF-16LE string into UTF-32 string. @@ -2130,6 +2703,14 @@ simdutf_warn_unused size_t convert_valid_utf16_to_utf32( */ simdutf_warn_unused size_t convert_valid_utf16le_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf16le_to_utf32(std::span<const char16_t> valid_utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_valid_utf16le_to_utf32( + valid_utf16_input.data(), valid_utf16_input.size(), utf32_output.data()); +} +#endif /** * Convert valid UTF-16BE string into UTF-32 string. @@ -2146,8 +2727,16 @@ simdutf_warn_unused size_t convert_valid_utf16le_to_utf32( */ simdutf_warn_unused size_t convert_valid_utf16be_to_utf32( const char16_t *input, size_t length, char32_t *utf32_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf16be_to_utf32(std::span<const char16_t> valid_utf16_input, + std::span<char32_t> utf32_output) noexcept { + return convert_valid_utf16be_to_utf32( + valid_utf16_input.data(), valid_utf16_input.size(), utf32_output.data()); +} +#endif -/* +/** * Compute the number of bytes that this UTF-16LE/BE string would require in * Latin1 format. * @@ -2174,6 +2763,13 @@ simdutf_warn_unused size_t latin1_length_from_utf16(size_t length) noexcept; */ simdutf_warn_unused size_t utf8_length_from_utf16(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf8_length_from_utf16(std::span<const char16_t> valid_utf16_input) noexcept { + return utf8_length_from_utf16(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Compute the number of bytes that this UTF-16LE string would require in UTF-8 @@ -2188,6 +2784,13 @@ simdutf_warn_unused size_t utf8_length_from_utf16(const char16_t *input, */ simdutf_warn_unused size_t utf8_length_from_utf16le(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf8_length_from_utf16le(std::span<const char16_t> valid_utf16_input) noexcept { + return utf8_length_from_utf16le(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Compute the number of bytes that this UTF-16BE string would require in UTF-8 @@ -2202,6 +2805,13 @@ simdutf_warn_unused size_t utf8_length_from_utf16le(const char16_t *input, */ simdutf_warn_unused size_t utf8_length_from_utf16be(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf8_length_from_utf16be(std::span<const char16_t> valid_utf16_input) noexcept { + return utf8_length_from_utf16be(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-8 string. @@ -2219,6 +2829,14 @@ simdutf_warn_unused size_t utf8_length_from_utf16be(const char16_t *input, simdutf_warn_unused size_t convert_utf32_to_utf8(const char32_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf32_to_utf8( + std::span<const char32_t> utf32_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf32_to_utf8(utf32_input.data(), utf32_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-8 string and stop on error. @@ -2238,6 +2856,16 @@ simdutf_warn_unused size_t convert_utf32_to_utf8(const char32_t *input, */ simdutf_warn_unused result convert_utf32_to_utf8_with_errors( const char32_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf32_to_utf8_with_errors( + std::span<const char32_t> utf32_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_utf32_to_utf8_with_errors( + utf32_input.data(), utf32_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Convert valid UTF-32 string into UTF-8 string. @@ -2254,6 +2882,15 @@ simdutf_warn_unused result convert_utf32_to_utf8_with_errors( */ simdutf_warn_unused size_t convert_valid_utf32_to_utf8( const char32_t *input, size_t length, char *utf8_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf32_to_utf8( + std::span<const char32_t> valid_utf32_input, + detail::output_span_of_byte_like auto &&utf8_output) noexcept { + return convert_valid_utf32_to_utf8( + valid_utf32_input.data(), valid_utf32_input.size(), + reinterpret_cast<char *>(utf8_output.data())); +} +#endif /** * Using native endianness, convert possibly broken UTF-32 string into a UTF-16 @@ -2271,6 +2908,14 @@ simdutf_warn_unused size_t convert_valid_utf32_to_utf8( */ simdutf_warn_unused size_t convert_utf32_to_utf16( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf32_to_utf16(std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16(utf32_input.data(), utf32_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-16LE string. @@ -2287,6 +2932,14 @@ simdutf_warn_unused size_t convert_utf32_to_utf16( */ simdutf_warn_unused size_t convert_utf32_to_utf16le( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf32_to_utf16le(std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16le(utf32_input.data(), utf32_input.size(), + utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-32 string into Latin1 string. @@ -2304,6 +2957,15 @@ simdutf_warn_unused size_t convert_utf32_to_utf16le( */ simdutf_warn_unused size_t convert_utf32_to_latin1( const char32_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_utf32_to_latin1( + std::span<char32_t> utf32_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf32_to_latin1( + utf32_input.data(), utf32_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-32 string into Latin1 string and stop on error. @@ -2324,6 +2986,16 @@ simdutf_warn_unused size_t convert_utf32_to_latin1( */ simdutf_warn_unused result convert_utf32_to_latin1_with_errors( const char32_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf32_to_latin1_with_errors( + std::span<char32_t> utf32_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_utf32_to_latin1_with_errors( + utf32_input.data(), utf32_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert valid UTF-32 string into Latin1 string. @@ -2347,6 +3019,15 @@ simdutf_warn_unused result convert_utf32_to_latin1_with_errors( */ simdutf_warn_unused size_t convert_valid_utf32_to_latin1( const char32_t *input, size_t length, char *latin1_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t convert_valid_utf32_to_latin1( + std::span<char32_t> valid_utf32_input, + detail::output_span_of_byte_like auto &&latin1_output) noexcept { + return convert_valid_utf32_to_latin1( + valid_utf32_input.data(), valid_utf32_input.size(), + reinterpret_cast<char *>(latin1_output.data())); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-16BE string. @@ -2363,6 +3044,14 @@ simdutf_warn_unused size_t convert_valid_utf32_to_latin1( */ simdutf_warn_unused size_t convert_utf32_to_utf16be( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_utf32_to_utf16be(std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16be(utf32_input.data(), utf32_input.size(), + utf16_output.data()); +} +#endif /** * Using native endianness, convert possibly broken UTF-32 string into UTF-16 @@ -2383,6 +3072,14 @@ simdutf_warn_unused size_t convert_utf32_to_utf16be( */ simdutf_warn_unused result convert_utf32_to_utf16_with_errors( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf32_to_utf16_with_errors(std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16_with_errors( + utf32_input.data(), utf32_input.size(), utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-16LE string and stop on error. @@ -2402,6 +3099,15 @@ simdutf_warn_unused result convert_utf32_to_utf16_with_errors( */ simdutf_warn_unused result convert_utf32_to_utf16le_with_errors( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf32_to_utf16le_with_errors( + std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16le_with_errors( + utf32_input.data(), utf32_input.size(), utf16_output.data()); +} +#endif /** * Convert possibly broken UTF-32 string into UTF-16BE string and stop on error. @@ -2421,6 +3127,15 @@ simdutf_warn_unused result convert_utf32_to_utf16le_with_errors( */ simdutf_warn_unused result convert_utf32_to_utf16be_with_errors( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result +convert_utf32_to_utf16be_with_errors( + std::span<const char32_t> utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_utf32_to_utf16be_with_errors( + utf32_input.data(), utf32_input.size(), utf16_output.data()); +} +#endif /** * Using native endianness, convert valid UTF-32 string into a UTF-16 string. @@ -2437,6 +3152,14 @@ simdutf_warn_unused result convert_utf32_to_utf16be_with_errors( */ simdutf_warn_unused size_t convert_valid_utf32_to_utf16( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf32_to_utf16(std::span<const char32_t> valid_utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf32_to_utf16( + valid_utf32_input.data(), valid_utf32_input.size(), utf16_output.data()); +} +#endif /** * Convert valid UTF-32 string into UTF-16LE string. @@ -2453,6 +3176,14 @@ simdutf_warn_unused size_t convert_valid_utf32_to_utf16( */ simdutf_warn_unused size_t convert_valid_utf32_to_utf16le( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf32_to_utf16le(std::span<const char32_t> valid_utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf32_to_utf16le( + valid_utf32_input.data(), valid_utf32_input.size(), utf16_output.data()); +} +#endif /** * Convert valid UTF-32 string into UTF-16BE string. @@ -2469,6 +3200,14 @@ simdutf_warn_unused size_t convert_valid_utf32_to_utf16le( */ simdutf_warn_unused size_t convert_valid_utf32_to_utf16be( const char32_t *input, size_t length, char16_t *utf16_buffer) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +convert_valid_utf32_to_utf16be(std::span<const char32_t> valid_utf32_input, + std::span<char16_t> utf16_output) noexcept { + return convert_valid_utf32_to_utf16be( + valid_utf32_input.data(), valid_utf32_input.size(), utf16_output.data()); +} +#endif /** * Change the endianness of the input. Can be used to go from UTF-16LE to @@ -2485,6 +3224,14 @@ simdutf_warn_unused size_t convert_valid_utf32_to_utf16be( */ void change_endianness_utf16(const char16_t *input, size_t length, char16_t *output) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline void +change_endianness_utf16(std::span<const char16_t> utf16_input, + std::span<char16_t> utf16_output) noexcept { + return change_endianness_utf16(utf16_input.data(), utf16_input.size(), + utf16_output.data()); +} +#endif /** * Compute the number of bytes that this UTF-32 string would require in UTF-8 @@ -2499,6 +3246,13 @@ void change_endianness_utf16(const char16_t *input, size_t length, */ simdutf_warn_unused size_t utf8_length_from_utf32(const char32_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf8_length_from_utf32(std::span<const char32_t> valid_utf32_input) noexcept { + return utf8_length_from_utf32(valid_utf32_input.data(), + valid_utf32_input.size()); +} +#endif /** * Compute the number of two-byte code units that this UTF-32 string would @@ -2513,6 +3267,13 @@ simdutf_warn_unused size_t utf8_length_from_utf32(const char32_t *input, */ simdutf_warn_unused size_t utf16_length_from_utf32(const char32_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf16_length_from_utf32(std::span<const char32_t> valid_utf32_input) noexcept { + return utf16_length_from_utf32(valid_utf32_input.data(), + valid_utf32_input.size()); +} +#endif /** * Using native endianness; Compute the number of bytes that this UTF-16 @@ -2531,6 +3292,13 @@ simdutf_warn_unused size_t utf16_length_from_utf32(const char32_t *input, */ simdutf_warn_unused size_t utf32_length_from_utf16(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +utf32_length_from_utf16(std::span<const char16_t> valid_utf16_input) noexcept { + return utf32_length_from_utf16(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Compute the number of bytes that this UTF-16LE string would require in UTF-32 @@ -2549,6 +3317,13 @@ simdutf_warn_unused size_t utf32_length_from_utf16(const char16_t *input, */ simdutf_warn_unused size_t utf32_length_from_utf16le(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t utf32_length_from_utf16le( + std::span<const char16_t> valid_utf16_input) noexcept { + return utf32_length_from_utf16le(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Compute the number of bytes that this UTF-16BE string would require in UTF-32 @@ -2567,6 +3342,13 @@ simdutf_warn_unused size_t utf32_length_from_utf16le(const char16_t *input, */ simdutf_warn_unused size_t utf32_length_from_utf16be(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t utf32_length_from_utf16be( + std::span<const char16_t> valid_utf16_input) noexcept { + return utf32_length_from_utf16be(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Count the number of code points (characters) in the string assuming that @@ -2584,6 +3366,12 @@ simdutf_warn_unused size_t utf32_length_from_utf16be(const char16_t *input, */ simdutf_warn_unused size_t count_utf16(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +count_utf16(std::span<const char16_t> valid_utf16_input) noexcept { + return count_utf16(valid_utf16_input.data(), valid_utf16_input.size()); +} +#endif /** * Count the number of code points (characters) in the string assuming that @@ -2601,6 +3389,12 @@ simdutf_warn_unused size_t count_utf16(const char16_t *input, */ simdutf_warn_unused size_t count_utf16le(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +count_utf16le(std::span<const char16_t> valid_utf16_input) noexcept { + return count_utf16le(valid_utf16_input.data(), valid_utf16_input.size()); +} +#endif /** * Count the number of code points (characters) in the string assuming that @@ -2618,6 +3412,12 @@ simdutf_warn_unused size_t count_utf16le(const char16_t *input, */ simdutf_warn_unused size_t count_utf16be(const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +count_utf16be(std::span<const char16_t> valid_utf16_input) noexcept { + return count_utf16be(valid_utf16_input.data(), valid_utf16_input.size()); +} +#endif /** * Count the number of code points (characters) in the string assuming that @@ -2633,6 +3433,13 @@ simdutf_warn_unused size_t count_utf16be(const char16_t *input, */ simdutf_warn_unused size_t count_utf8(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t count_utf8( + const detail::input_span_of_byte_like auto &valid_utf8_input) noexcept { + return count_utf8(reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size()); +} +#endif /** * Given a valid UTF-8 string having a possibly truncated last character, @@ -2649,6 +3456,14 @@ simdutf_warn_unused size_t count_utf8(const char *input, * @return the length of the string in bytes, possibly shorter by 1 to 3 bytes */ simdutf_warn_unused size_t trim_partial_utf8(const char *input, size_t length); +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t trim_partial_utf8( + const detail::input_span_of_byte_like auto &valid_utf8_input) noexcept { + return trim_partial_utf8( + reinterpret_cast<const char *>(valid_utf8_input.data()), + valid_utf8_input.size()); +} +#endif /** * Given a valid UTF-16BE string having a possibly truncated last character, @@ -2666,6 +3481,13 @@ simdutf_warn_unused size_t trim_partial_utf8(const char *input, size_t length); */ simdutf_warn_unused size_t trim_partial_utf16be(const char16_t *input, size_t length); +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +trim_partial_utf16be(std::span<const char16_t> valid_utf16_input) noexcept { + return trim_partial_utf16be(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Given a valid UTF-16LE string having a possibly truncated last character, @@ -2683,6 +3505,13 @@ simdutf_warn_unused size_t trim_partial_utf16be(const char16_t *input, */ simdutf_warn_unused size_t trim_partial_utf16le(const char16_t *input, size_t length); +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +trim_partial_utf16le(std::span<const char16_t> valid_utf16_input) noexcept { + return trim_partial_utf16le(valid_utf16_input.data(), + valid_utf16_input.size()); +} +#endif /** * Given a valid UTF-16 string having a possibly truncated last character, @@ -2700,6 +3529,12 @@ simdutf_warn_unused size_t trim_partial_utf16le(const char16_t *input, */ simdutf_warn_unused size_t trim_partial_utf16(const char16_t *input, size_t length); +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +trim_partial_utf16(std::span<const char16_t> valid_utf16_input) noexcept { + return trim_partial_utf16(valid_utf16_input.data(), valid_utf16_input.size()); +} +#endif // base64_options are used to specify the base64 encoding options. // ASCII spaces are ' ', '\t', '\n', '\r', '\f' @@ -2742,6 +3577,14 @@ enum last_chunk_handling_options : uint64_t { */ simdutf_warn_unused size_t maximal_binary_length_from_base64(const char *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +maximal_binary_length_from_base64( + const detail::input_span_of_byte_like auto &input) noexcept { + return maximal_binary_length_from_base64( + reinterpret_cast<const char *>(input.data()), input.size()); +} +#endif /** * Provide the maximal binary length in bytes given the base64 input. @@ -2755,6 +3598,12 @@ maximal_binary_length_from_base64(const char *input, size_t length) noexcept; */ simdutf_warn_unused size_t maximal_binary_length_from_base64( const char16_t *input, size_t length) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +maximal_binary_length_from_base64(std::span<const char16_t> input) noexcept { + return maximal_binary_length_from_base64(input.data(), input.size()); +} +#endif /** * Convert a base64 input to a binary output. @@ -2814,6 +3663,18 @@ simdutf_warn_unused result base64_to_binary( const char *input, size_t length, char *output, base64_options options = base64_default, last_chunk_handling_options last_chunk_options = loose) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result base64_to_binary( + const detail::input_span_of_byte_like auto &input, + detail::output_span_of_byte_like auto &&binary_output, + base64_options options = base64_default, + last_chunk_handling_options last_chunk_options = loose) noexcept { + return base64_to_binary(reinterpret_cast<const char *>(input.data()), + input.size(), + reinterpret_cast<char *>(binary_output.data()), + options, last_chunk_options); +} +#endif /** * Provide the base64 length in bytes given the length of a binary input. @@ -2847,6 +3708,16 @@ simdutf_warn_unused size_t base64_length_from_binary( */ size_t binary_to_base64(const char *input, size_t length, char *output, base64_options options = base64_default) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused size_t +binary_to_base64(const detail::input_span_of_byte_like auto &input, + detail::output_span_of_byte_like auto &&binary_output, + base64_options options = base64_default) noexcept { + return binary_to_base64( + reinterpret_cast<const char *>(input.data()), input.size(), + reinterpret_cast<char *>(binary_output.data()), options); +} +#endif /** * Convert a base64 input to a binary output. @@ -2909,6 +3780,17 @@ base64_to_binary(const char16_t *input, size_t length, char *output, base64_options options = base64_default, last_chunk_handling_options last_chunk_options = last_chunk_handling_options::loose) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result base64_to_binary( + std::span<const char16_t> input, + detail::output_span_of_byte_like auto &&binary_output, + base64_options options = base64_default, + last_chunk_handling_options last_chunk_options = loose) noexcept { + return base64_to_binary(input.data(), input.size(), + reinterpret_cast<char *>(binary_output.data()), + options, last_chunk_options); +} +#endif /** * Convert a base64 input to a binary output. @@ -2976,11 +3858,43 @@ base64_to_binary_safe(const char *input, size_t length, char *output, size_t &outlen, base64_options options = base64_default, last_chunk_handling_options last_chunk_options = last_chunk_handling_options::loose) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result base64_to_binary_safe( + const detail::input_span_of_byte_like auto &input, + detail::output_span_of_byte_like auto &&binary_output, + base64_options options = base64_default, + last_chunk_handling_options last_chunk_options = loose) noexcept { + // we can't write the outlen to the provided output span, the user will have + // to pick it up from the returned value instead (assuming success). we still + // get the benefit of providing info of how long the output buffer is. + size_t outlen = binary_output.size(); + return base64_to_binary_safe(reinterpret_cast<const char *>(input.data()), + input.size(), + reinterpret_cast<char *>(binary_output.data()), + outlen, options, last_chunk_options); +} +#endif + simdutf_warn_unused result base64_to_binary_safe(const char16_t *input, size_t length, char *output, size_t &outlen, base64_options options = base64_default, last_chunk_handling_options last_chunk_options = last_chunk_handling_options::loose) noexcept; +#if SIMDUTF_SPAN +simdutf_really_inline simdutf_warn_unused result base64_to_binary_safe( + std::span<const char16_t> input, + detail::output_span_of_byte_like auto &&binary_output, + base64_options options = base64_default, + last_chunk_handling_options last_chunk_options = loose) noexcept { + // we can't write the outlen to the provided output span, the user will have + // to pick it up from the returned value instead (assuming success). we still + // get the benefit of providing info of how long the output buffer is. + size_t outlen = binary_output.size(); + return base64_to_binary_safe(input.data(), input.size(), + reinterpret_cast<char *>(binary_output.data()), + outlen, options, last_chunk_options); +} +#endif /** * An implementation of simdutf for a particular CPU architecture. @@ -4243,7 +5157,7 @@ class implementation { simdutf_warn_unused virtual size_t latin1_length_from_utf8(const char *input, size_t length) const noexcept = 0; - /* + /** * Compute the number of bytes that this UTF-16LE/BE string would require in * Latin1 format. * @@ -4289,7 +5203,7 @@ class implementation { simdutf_warn_unused virtual size_t utf32_length_from_latin1(size_t length) const noexcept = 0; - /* + /** * Compute the number of bytes that this UTF-16LE string would require in * UTF-32 format. * @@ -4310,7 +5224,7 @@ class implementation { utf32_length_from_utf16le(const char16_t *input, size_t length) const noexcept = 0; - /* + /** * Compute the number of bytes that this UTF-16BE string would require in * UTF-32 format. * diff --git a/deps/sqlite/sqlite.gyp b/deps/sqlite/sqlite.gyp index c3ecef214ad004..c2ba4da2259fa1 100644 --- a/deps/sqlite/sqlite.gyp +++ b/deps/sqlite/sqlite.gyp @@ -13,6 +13,8 @@ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden }, 'defines': [ + 'SQLITE_DEFAULT_MEMSTATUS=0', + 'SQLITE_ENABLE_MATH_FUNCTIONS', 'SQLITE_ENABLE_SESSION', 'SQLITE_ENABLE_PREUPDATE_HOOK' ], diff --git a/deps/sqlite/unofficial.gni b/deps/sqlite/unofficial.gni index b26e1335eac339..a4fb26e70560f3 100644 --- a/deps/sqlite/unofficial.gni +++ b/deps/sqlite/unofficial.gni @@ -8,6 +8,7 @@ template("sqlite_gn_build") { config("sqlite_config") { include_dirs = [ "." ] defines = [ + "SQLITE_ENABLE_MATH_FUNCTIONS", "SQLITE_ENABLE_SESSION", "SQLITE_ENABLE_PREUPDATE_HOOK", ] diff --git a/deps/uv/.mailmap b/deps/uv/.mailmap index 97f5d1f2c004c9..f5d5375e044e18 100644 --- a/deps/uv/.mailmap +++ b/deps/uv/.mailmap @@ -52,6 +52,7 @@ San-Tai Hsu <vanilla@fatpipi.com> Santiago Gimeno <santiago.gimeno@quantion.es> <santiago.gimeno@gmail.com> Saúl Ibarra Corretgé <s@saghul.net> Saúl Ibarra Corretgé <s@saghul.net> <saghul@gmail.com> +Saúl Ibarra Corretgé <saghul@gmail.com> <s@saghul.net> Shigeki Ohtsu <ohtsu@iij.ad.jp> <ohtsu@ohtsu.org> Shuowang (Wayne) Zhang <shuowang.zhang@ibm.com> TK-one <tk5641@naver.com> diff --git a/deps/uv/AUTHORS b/deps/uv/AUTHORS index 041b7aff610f57..39550bbc535eb2 100644 --- a/deps/uv/AUTHORS +++ b/deps/uv/AUTHORS @@ -588,5 +588,7 @@ Raihaan Shouhell <raihaanhimself@gmail.com> Rialbat <miha-wead@mail.ru> Adam <adam@NetBSD.org> Poul T Lomholt <ptlomholt@users.noreply.github.com> -dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Thad House <ThadHouse@users.noreply.github.com> +Julian A Avar C <28635807+julian-a-avar-c@users.noreply.github.com> +amcgoogan <105525867+amcgoogan@users.noreply.github.com> +Rafael Gonzaga <rafael.nunu@hotmail.com> diff --git a/deps/uv/CMakeLists.txt b/deps/uv/CMakeLists.txt index 28c6df25666967..af89db2dfc2762 100644 --- a/deps/uv/CMakeLists.txt +++ b/deps/uv/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.9) +cmake_minimum_required(VERSION 3.10) if(POLICY CMP0091) cmake_policy(SET CMP0091 NEW) # Enable MSVC_RUNTIME_LIBRARY setting @@ -186,7 +186,7 @@ set(uv_sources src/version.c) if(WIN32) - list(APPEND uv_defines WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0602 _CRT_DECLARE_NONSTDC_NAMES=0) + list(APPEND uv_defines WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0A00 _CRT_DECLARE_NONSTDC_NAMES=0) list(APPEND uv_libraries psapi user32 @@ -667,6 +667,7 @@ if(LIBUV_BUILD_TESTS) test/test-thread-affinity.c test/test-thread-equal.c test/test-thread.c + test/test-thread-name.c test/test-thread-priority.c test/test-threadpool-cancel.c test/test-threadpool.c diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index dc2dd2790c57d3..006a9e1b415de9 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,4 +1,85 @@ -2024.10.18, Version 1.49.2 (Stable) +2025.01.15, Version 1.50.0 (Stable) + +Changes since version 1.49.2: + +* ci: run macOS and iOS tests also on macOS 14 (Saúl Ibarra Corretgé) + +* unix,win: map ENOEXEC errno (Saúl Ibarra Corretgé) + +* test: skip multicast join test on ENOEXEC (Saúl Ibarra Corretgé) + +* ci: make sure the macOS firewall is disabled (Saúl Ibarra Corretgé) + +* darwin,test: squelch EBUSY error on multicast join (Saúl Ibarra Corretgé) + +* build: update minimum cmake to 3.10 (Ben Noordhuis) + +* kqueue: use EVFILT_USER for async if available (Jameson Nash) + +* unix,win: fix off-by-one in uv_wtf8_to_utf16() (Ben Noordhuis) + +* doc: add scala-native-loop to LINKS.md (Julian A Avar C) + +* unix: fix build breakage on haiku, openbsd, etc (Jeffrey H. Johnson) + +* kqueue: lower overhead in uv__io_check_fd (Andy Pan) + +* doc: move cjihrig back to active maintainers (cjihrig) + +* build(deps): bump actions/checkout from 3 to 4 (dependabot[bot]) + +* unix,pipe: fix handling null buffer in uv_pipe_get{sock,peer}name (Saúl + Ibarra Corretgé) + +* unix,win: harmonize buffer checking (Saúl Ibarra Corretgé) + +* unix,win: add support for detached threads (Juan José Arboleda) + +* src: add uv_thread_set/getname() methods (Santiago Gimeno) + +* build: fix qemu builds (Ben Noordhuis) + +* win: drop support for windows 8 (Ben Noordhuis) + +* linux: fix uv_cpu_info() arm cpu model detection (Ben Noordhuis) + +* linux: always use io_uring for epoll batching (Ben Noordhuis) + +* doc: clarify repeating timer behavior more (Ben Noordhuis) + +* unix,win: handle nbufs=0 in uv_udp_try_send (Ben Noordhuis) + +* win: use GetQueuedCompletionStatusEx directly (Saúl Ibarra Corretgé) + +* win: enable uv_thread_{get,set}name on MinGW (Saúl Ibarra Corretgé) + +* win: drop support for the legacy MinGW (Saúl Ibarra Corretgé) + +* win,fs: get (most) fstat when no permission (Jameson Nash) + +* win: plug uv_fs_event_start memory leak (amcgoogan) + +* test: address FreeBSD kernel bug causing NULL path in fsevents (Juan José + Arboleda) + +* unix: refactor udp sendmsg code (Ben Noordhuis) + +* unix,win: add uv_udp_try_send2 (Ben Noordhuis) + +* test: fix flaky flaky udp_mmsg test (Juan José Arboleda) + +* build: enable fdsan in Android (Juan José Arboleda) + +* test: fix udp-multicast-join for FreeBSD (Juan José Arboleda) + +* win: fix leak processing fs event (Saúl Ibarra Corretgé) + +* src: set a default thread name for workers (Rafael Gonzaga) + +* misc: implement uv_getrusage_thread (Juan José Arboleda) + + +2024.10.18, Version 1.49.2 (Stable), e1095c7a4373ce00cd8874d8e820de5afb25776e Changes since version 1.49.1: diff --git a/deps/uv/LINKS.md b/deps/uv/LINKS.md index 3e5800747bc7dd..743935cebb8532 100644 --- a/deps/uv/LINKS.md +++ b/deps/uv/LINKS.md @@ -37,6 +37,7 @@ * [Pixie-io](https://github.com/pixie-io/pixie): Open-source observability tool for Kubernetes applications. * [potion](https://github.com/perl11/potion)/[p2](https://github.com/perl11/p2): runtime * [racer](https://libraries.io/rubygems/racer): Ruby web server written as an C extension +* [scala-native-loop](https://github.com/scala-native/scala-native-loop): Extensible event loop and async-oriented IO for Scala Native; powered by libuv * [Socket Runtime](https://sockets.sh): A runtime for creating native cross-platform software on mobile and desktop using HTML, CSS, and JavaScript * [spider-gazelle](https://github.com/cotag/spider-gazelle): Ruby web server using libuv bindings * [Suave](http://suave.io/): A simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition diff --git a/deps/uv/MAINTAINERS.md b/deps/uv/MAINTAINERS.md index 41c60cb383cfbe..ff8be88b7b7cd5 100644 --- a/deps/uv/MAINTAINERS.md +++ b/deps/uv/MAINTAINERS.md @@ -4,6 +4,9 @@ libuv is currently managed by the following individuals: * **Ben Noordhuis** ([@bnoordhuis](https://github.com/bnoordhuis)) - GPG key: D77B 1E34 243F BAF0 5F8E 9CC3 4F55 C8C8 46AB 89B9 (pubkey-bnoordhuis) +* **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) + - GPG key: 94AE 3667 5C46 4D64 BAFA 68DD 7434 390B DBE9 B9C5 (pubkey-cjihrig) + - GPG key: 5735 3E0D BDAA A7E8 39B6 6A1A FF47 D5E4 AD8B 4FDC (pubkey-cjihrig-kb) * **Jameson Nash** ([@vtjnash](https://github.com/vtjnash)) - GPG key: AEAD 0A4B 6867 6775 1A0E 4AEF 34A2 5FB1 2824 6514 (pubkey-vtjnash) - GPG key: CFBB 9CA9 A5BE AFD7 0E2B 3C5A 79A6 7C55 A367 9C8B (pubkey2022-vtjnash) @@ -24,9 +27,6 @@ libuv is currently managed by the following individuals: * **Anna Henningsen** ([@addaleax](https://github.com/addaleax)) * **Bartosz Sosnowski** ([@bzoz](https://github.com/bzoz)) * **Bert Belder** ([@piscisaureus](https://github.com/piscisaureus)) -* **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) - - GPG key: 94AE 3667 5C46 4D64 BAFA 68DD 7434 390B DBE9 B9C5 (pubkey-cjihrig) - - GPG key: 5735 3E0D BDAA A7E8 39B6 6A1A FF47 D5E4 AD8B 4FDC (pubkey-cjihrig-kb) * **Fedor Indutny** ([@indutny](https://github.com/indutny)) - GPG key: AF2E EA41 EC34 47BF DD86 FED9 D706 3CCE 19B7 E890 (pubkey-indutny) * **Imran Iqbal** ([@imran-iq](https://github.com/imran-iq)) diff --git a/deps/uv/Makefile.am b/deps/uv/Makefile.am index f85a41316c8a43..9b9e6be7178b22 100644 --- a/deps/uv/Makefile.am +++ b/deps/uv/Makefile.am @@ -59,7 +59,7 @@ if WINNT uvinclude_HEADERS += include/uv/win.h include/uv/tree.h AM_CPPFLAGS += -I$(top_srcdir)/src/win \ -DWIN32_LEAN_AND_MEAN \ - -D_WIN32_WINNT=0x0602 + -D_WIN32_WINNT=0x0A00 libuv_la_SOURCES += src/win/async.c \ src/win/atomicops-inl.h \ src/win/core.c \ @@ -294,6 +294,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ test/test-thread-equal.c \ test/test-thread.c \ test/test-thread-affinity.c \ + test/test-thread-name.c \ test/test-thread-priority.c \ test/test-threadpool-cancel.c \ test/test-threadpool.c \ diff --git a/deps/uv/SUPPORTED_PLATFORMS.md b/deps/uv/SUPPORTED_PLATFORMS.md index 8a435d2592e47f..9597801b919687 100644 --- a/deps/uv/SUPPORTED_PLATFORMS.md +++ b/deps/uv/SUPPORTED_PLATFORMS.md @@ -4,14 +4,14 @@ |---|---|---|---| | GNU/Linux | Tier 1 | Linux >= 3.10 with glibc >= 2.17 | | | macOS | Tier 1 | macOS >= 11 | Currently supported macOS releases | -| Windows | Tier 1 | >= Windows 8 | VS 2015 and later are supported | +| Windows | Tier 1 | >= Windows 10 | VS 2015 and later are supported | | FreeBSD | Tier 2 | >= 12 | | | AIX | Tier 2 | >= 6 | Maintainers: @libuv/aix | | IBM i | Tier 2 | >= IBM i 7.2 | Maintainers: @libuv/ibmi | | z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos | | Linux with musl | Tier 2 | musl >= 1.0 | | | Android | Tier 3 | NDK >= r15b | Android 7.0, `-DANDROID_PLATFORM=android-24` | -| MinGW | Tier 3 | MinGW32 and MinGW-w64 | | +| MinGW | Tier 3 | MinGW-w64 | | | SunOS | Tier 3 | Solaris 121 and later | | | Other | Tier 3 | N/A | | diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index 98c59363026f86..fc8316b8e8fa75 100644 --- a/deps/uv/configure.ac +++ b/deps/uv/configure.ac @@ -13,7 +13,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libuv], [1.49.2], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.50.0], [https://github.com/libuv/libuv/issues]) AC_CONFIG_MACRO_DIR([m4]) m4_include([m4/libuv-extra-automake-flags.m4]) m4_include([m4/as_case.m4]) diff --git a/deps/uv/docs/src/fs_event.rst b/deps/uv/docs/src/fs_event.rst index 983db1a9d5608a..bfdecdd7329cd2 100644 --- a/deps/uv/docs/src/fs_event.rst +++ b/deps/uv/docs/src/fs_event.rst @@ -47,6 +47,11 @@ Data types The `events` parameter is an ORed mask of :c:enum:`uv_fs_event` elements. +.. note:: + For FreeBSD path could sometimes be `NULL` due to a kernel bug. + + .. _Reference: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197695 + .. c:enum:: uv_fs_event Event types that :c:type:`uv_fs_event_t` handles monitor. diff --git a/deps/uv/docs/src/misc.rst b/deps/uv/docs/src/misc.rst index 61883b7e21e527..db95e2dde83ea1 100644 --- a/deps/uv/docs/src/misc.rst +++ b/deps/uv/docs/src/misc.rst @@ -360,6 +360,17 @@ API On Windows not all fields are set, the unsupported fields are filled with zeroes. See :c:type:`uv_rusage_t` for more details. +.. c:function:: int uv_getrusage_thread(uv_rusage_t* rusage) + + Gets the resource usage measures for the calling thread. + + .. versionadded:: 1.50.0 + + .. note:: + Not supported on all platforms. May return `UV_ENOTSUP`. + On macOS and Windows not all fields are set, the unsupported fields are filled with zeroes. + See :c:type:`uv_rusage_t` for more details. + .. c:function:: uv_pid_t uv_os_getpid(void) Returns the current process ID. diff --git a/deps/uv/docs/src/threading.rst b/deps/uv/docs/src/threading.rst index 883218fa829ccb..f40cf0a33c8121 100644 --- a/deps/uv/docs/src/threading.rst +++ b/deps/uv/docs/src/threading.rst @@ -78,6 +78,14 @@ Threads .. versionchanged:: 1.4.1 returns a UV_E* error code on failure +.. c:function:: int uv_thread_detach(uv_thread_t* tid) + + Detaches a thread. Detached threads automatically release their + resources upon termination, eliminating the need for the application to + call `uv_thread_join`. + + .. versionadded:: 1.50.0 + .. c:function:: int uv_thread_create_ex(uv_thread_t* tid, const uv_thread_options_t* params, uv_thread_cb entry, void* arg) Like :c:func:`uv_thread_create`, but additionally specifies options for creating a new thread. @@ -132,6 +140,23 @@ Threads .. c:function:: int uv_thread_join(uv_thread_t *tid) .. c:function:: int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2) +.. c:function:: int uv_thread_setname(const char* name) + + Sets the name of the current thread. Different platforms define different limits on the max number of characters + a thread name can be: Linux, IBM i (16), macOS (64), Windows (32767), and NetBSD (32), etc. `uv_thread_setname()` + will truncate it in case `name` is larger than the limit of the platform. + + .. versionadded:: 1.50.0 + +.. c:function:: int uv_thread_getname(uv_thread_t* tid, char* name, size_t* size) + + Gets the name of the thread specified by `tid`. The thread name is copied, with the trailing NUL, into the buffer + pointed to by `name`. The `size` parameter specifies the size of the buffer pointed to by `name`. + The buffer should be large enough to hold the name of the thread plus the trailing NUL, or it will be truncated to fit + with the trailing NUL. + + .. versionadded:: 1.50.0 + .. c:function:: int uv_thread_setpriority(uv_thread_t tid, int priority) If the function succeeds, the return value is 0. If the function fails, the return value is less than zero. diff --git a/deps/uv/docs/src/threadpool.rst b/deps/uv/docs/src/threadpool.rst index 7cfa797314ca48..05f31d2ccf30b8 100644 --- a/deps/uv/docs/src/threadpool.rst +++ b/deps/uv/docs/src/threadpool.rst @@ -17,6 +17,8 @@ is 1024). .. versionchanged:: 1.45.0 threads now have an 8 MB stack instead of the (sometimes too low) platform default. +.. versionchanged:: 1.50.0 threads now have a default name of libuv-worker. + The threadpool is global and shared across all event loops. When a particular function makes use of the threadpool (i.e. when using :c:func:`uv_queue_work`) libuv preallocates and initializes the maximum number of threads allowed by diff --git a/deps/uv/docs/src/timer.rst b/deps/uv/docs/src/timer.rst index 070fa79da9d6df..474c6b8c4cd4f6 100644 --- a/deps/uv/docs/src/timer.rst +++ b/deps/uv/docs/src/timer.rst @@ -6,6 +6,15 @@ Timer handles are used to schedule callbacks to be called in the future. +Timers are either single-shot or repeating. Repeating timers do not adjust +for overhead but are rearmed relative to the event loop's idea of "now". + +Libuv updates its idea of "now" right before executing timer callbacks, and +right after waking up from waiting for I/O. See also :c:func:`uv_update_time`. + +Example: a repeating timer with a 50 ms interval whose callback takes 17 ms +to complete, runs again 33 ms later. If other tasks take longer than 33 ms, +the timer callback runs as soon as possible. Data types ---------- @@ -64,11 +73,6 @@ API duration, and will follow normal timer semantics in the case of a time-slice overrun. - For example, if a 50ms repeating timer first runs for 17ms, it will be - scheduled to run again 33ms later. If other tasks consume more than the - 33ms following the first timer callback, then the callback will run as soon - as possible. - .. note:: If the repeat value is set from a timer callback it does not immediately take effect. If the timer was non-repeating before, it will have been stopped. If it was repeating, diff --git a/deps/uv/docs/src/udp.rst b/deps/uv/docs/src/udp.rst index 31f7f7fd71ff47..5f225e5cda4011 100644 --- a/deps/uv/docs/src/udp.rst +++ b/deps/uv/docs/src/udp.rst @@ -426,6 +426,20 @@ API .. versionchanged:: 1.27.0 added support for connected sockets +.. c:function:: int uv_udp_try_send2(uv_udp_t* handle, unsigned int count, uv_buf_t* bufs[/*count*/], unsigned int nbufs[/*count*/], struct sockaddr* addrs[/*count*/], unsigned int flags) + + Like :c:func:`uv_udp_try_send`, but can send multiple datagrams. + Lightweight abstraction around :man:`sendmmsg(2)`, with a :man:`sendmsg(2)` + fallback loop for platforms that do not support the former. The handle must + be fully initialized; call c:func:`uv_udp_bind` first. + + :returns: >= 0: number of datagrams sent. Zero only if `count` was zero. + < 0: negative error code. Only if sending the first datagram fails, + otherwise returns a positive send count. ``UV_EAGAIN`` when datagrams + cannot be sent right now; fall back to :c:func:`uv_udp_send`. + + .. versionadded:: 1.50.0 + .. c:function:: int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, uv_udp_recv_cb recv_cb) Prepare for receiving data. If the socket has not previously been bound diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h index 9e450c5110fe57..f0ec376b607c05 100644 --- a/deps/uv/include/uv.h +++ b/deps/uv/include/uv.h @@ -157,6 +157,7 @@ struct uv__queue { XX(ESOCKTNOSUPPORT, "socket type not supported") \ XX(ENODATA, "no data available") \ XX(EUNATCH, "protocol driver not attached") \ + XX(ENOEXEC, "exec format error") \ #define UV_HANDLE_TYPE_MAP(XX) \ XX(ASYNC, async) \ @@ -775,6 +776,12 @@ UV_EXTERN int uv_udp_try_send(uv_udp_t* handle, const uv_buf_t bufs[], unsigned int nbufs, const struct sockaddr* addr); +UV_EXTERN int uv_udp_try_send2(uv_udp_t* handle, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/], + unsigned int flags); UV_EXTERN int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, uv_udp_recv_cb recv_cb); @@ -1288,6 +1295,7 @@ typedef struct { } uv_rusage_t; UV_EXTERN int uv_getrusage(uv_rusage_t* rusage); +UV_EXTERN int uv_getrusage_thread(uv_rusage_t* rusage); UV_EXTERN int uv_os_homedir(char* buffer, size_t* size); UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size); @@ -1869,6 +1877,7 @@ UV_EXTERN int uv_gettimeofday(uv_timeval64_t* tv); typedef void (*uv_thread_cb)(void* arg); UV_EXTERN int uv_thread_create(uv_thread_t* tid, uv_thread_cb entry, void* arg); +UV_EXTERN int uv_thread_detach(uv_thread_t* tid); typedef enum { UV_THREAD_NO_FLAGS = 0x00, @@ -1898,6 +1907,9 @@ UV_EXTERN int uv_thread_getcpu(void); UV_EXTERN uv_thread_t uv_thread_self(void); UV_EXTERN int uv_thread_join(uv_thread_t *tid); UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2); +UV_EXTERN int uv_thread_setname(const char* name); +UV_EXTERN int uv_thread_getname(uv_thread_t* tid, char* name, size_t size); + /* The presence of these unions force similar struct layout. */ #define XX(_, name) uv_ ## name ## _t name; diff --git a/deps/uv/include/uv/errno.h b/deps/uv/include/uv/errno.h index 127278ef916161..ac00778cfc59fb 100644 --- a/deps/uv/include/uv/errno.h +++ b/deps/uv/include/uv/errno.h @@ -474,4 +474,10 @@ # define UV__EUNATCH (-4023) #endif +#if defined(ENOEXEC) && !defined(_WIN32) +# define UV__ENOEXEC UV__ERR(ENOEXEC) +#else +# define UV__ENOEXEC (-4022) +#endif + #endif /* UV_ERRNO_H_ */ diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h index 538f98b6c5d657..7c972026f688e8 100644 --- a/deps/uv/include/uv/unix.h +++ b/deps/uv/include/uv/unix.h @@ -271,7 +271,10 @@ typedef struct { #define UV_UDP_SEND_PRIVATE_FIELDS \ struct uv__queue queue; \ - struct sockaddr_storage addr; \ + union { \ + struct sockaddr addr; \ + struct sockaddr_storage storage; \ + } u; \ unsigned int nbufs; \ uv_buf_t* bufs; \ ssize_t status; \ diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h index cfa7871322e690..76eb7d125fe468 100644 --- a/deps/uv/include/uv/version.h +++ b/deps/uv/include/uv/version.h @@ -31,8 +31,8 @@ */ #define UV_VERSION_MAJOR 1 -#define UV_VERSION_MINOR 49 -#define UV_VERSION_PATCH 2 +#define UV_VERSION_MINOR 50 +#define UV_VERSION_PATCH 0 #define UV_VERSION_IS_RELEASE 1 #define UV_VERSION_SUFFIX "" diff --git a/deps/uv/include/uv/win.h b/deps/uv/include/uv/win.h index 12ac53b4f217d2..58d10b8d07fa0b 100644 --- a/deps/uv/include/uv/win.h +++ b/deps/uv/include/uv/win.h @@ -20,7 +20,7 @@ */ #ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0600 +# define _WIN32_WINNT 0x0A00 #endif #if !defined(_SSIZE_T_) && !defined(_SSIZE_T_DEFINED) @@ -32,14 +32,6 @@ typedef intptr_t ssize_t; #include <winsock2.h> -#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) -typedef struct pollfd { - SOCKET fd; - short events; - short revents; -} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; -#endif - #ifndef LOCALE_INVARIANT # define LOCALE_INVARIANT 0x007f #endif diff --git a/deps/uv/src/fs-poll.c b/deps/uv/src/fs-poll.c index 1bac1c568e36ca..44f6263a5832ec 100644 --- a/deps/uv/src/fs-poll.c +++ b/deps/uv/src/fs-poll.c @@ -139,6 +139,9 @@ int uv_fs_poll_getpath(uv_fs_poll_t* handle, char* buffer, size_t* size) { struct poll_ctx* ctx; size_t required_len; + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + if (!uv_is_active((uv_handle_t*)handle)) { *size = 0; return UV_EINVAL; diff --git a/deps/uv/src/idna.c b/deps/uv/src/idna.c index efc5f283ce2ef9..5fcaf64c974a8a 100644 --- a/deps/uv/src/idna.c +++ b/deps/uv/src/idna.c @@ -393,7 +393,7 @@ void uv_wtf8_to_utf16(const char* source_ptr, code_point = uv__wtf8_decode1(&source_ptr); /* uv_wtf8_length_as_utf16 should have been called and checked first. */ assert(code_point >= 0); - if (code_point > 0x10000) { + if (code_point > 0xFFFF) { assert(code_point < 0x10FFFF); *w_target++ = (((code_point - 0x10000) >> 10) + 0xD800); *w_target++ = ((code_point - 0x10000) & 0x3FF) + 0xDC00; diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c index 45af50dcd04ea6..98d81cc7b6a4ed 100644 --- a/deps/uv/src/threadpool.c +++ b/deps/uv/src/threadpool.c @@ -59,6 +59,7 @@ static void worker(void* arg) { struct uv__queue* q; int is_slow_work; + uv_thread_setname("libuv-worker"); uv_sem_post((uv_sem_t*) arg); arg = NULL; diff --git a/deps/uv/src/unix/async.c b/deps/uv/src/unix/async.c index 0ff2669e30a628..8265a43ab47046 100644 --- a/deps/uv/src/unix/async.c +++ b/deps/uv/src/unix/async.c @@ -38,6 +38,34 @@ #include <sys/eventfd.h> #endif +#if UV__KQUEUE_EVFILT_USER +static uv_once_t kqueue_runtime_detection_guard = UV_ONCE_INIT; +static int kqueue_evfilt_user_support = 1; + + +static void uv__kqueue_runtime_detection(void) { + int kq; + struct kevent ev[2]; + struct timespec timeout = {0, 0}; + + /* Perform the runtime detection to ensure that kqueue with + * EVFILT_USER actually works. */ + kq = kqueue(); + EV_SET(ev, UV__KQUEUE_EVFILT_USER_IDENT, EVFILT_USER, + EV_ADD | EV_CLEAR, 0, 0, 0); + EV_SET(ev + 1, UV__KQUEUE_EVFILT_USER_IDENT, EVFILT_USER, + 0, NOTE_TRIGGER, 0, 0); + if (kevent(kq, ev, 2, ev, 1, &timeout) < 1 || + ev[0].filter != EVFILT_USER || + ev[0].ident != UV__KQUEUE_EVFILT_USER_IDENT || + ev[0].flags & EV_ERROR) + /* If we wind up here, we can assume that EVFILT_USER is defined but + * broken on the current system. */ + kqueue_evfilt_user_support = 0; + uv__close(kq); +} +#endif + static void uv__async_send(uv_loop_t* loop); static int uv__async_start(uv_loop_t* loop); static void uv__cpu_relax(void); @@ -139,7 +167,11 @@ static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events) { assert(w == &loop->async_io_watcher); +#if UV__KQUEUE_EVFILT_USER + for (;!kqueue_evfilt_user_support;) { +#else for (;;) { +#endif r = read(w->fd, buf, sizeof(buf)); if (r == sizeof(buf)) @@ -195,6 +227,17 @@ static void uv__async_send(uv_loop_t* loop) { len = sizeof(val); fd = loop->async_io_watcher.fd; /* eventfd */ } +#elif UV__KQUEUE_EVFILT_USER + struct kevent ev; + + if (kqueue_evfilt_user_support) { + fd = loop->async_io_watcher.fd; /* magic number for EVFILT_USER */ + EV_SET(&ev, fd, EVFILT_USER, 0, NOTE_TRIGGER, 0, 0); + r = kevent(loop->backend_fd, &ev, 1, NULL, 0, NULL); + if (r == 0) + return; + abort(); + } #endif do @@ -215,6 +258,9 @@ static void uv__async_send(uv_loop_t* loop) { static int uv__async_start(uv_loop_t* loop) { int pipefd[2]; int err; +#if UV__KQUEUE_EVFILT_USER + struct kevent ev; +#endif if (loop->async_io_watcher.fd != -1) return 0; @@ -226,6 +272,36 @@ static int uv__async_start(uv_loop_t* loop) { pipefd[0] = err; pipefd[1] = -1; +#elif UV__KQUEUE_EVFILT_USER + uv_once(&kqueue_runtime_detection_guard, uv__kqueue_runtime_detection); + if (kqueue_evfilt_user_support) { + /* In order not to break the generic pattern of I/O polling, a valid + * file descriptor is required to take up a room in loop->watchers, + * thus we create one for that, but this fd will not be actually used, + * it's just a placeholder and magic number which is going to be closed + * during the cleanup, as other FDs. */ + err = uv__open_cloexec("/dev/null", O_RDONLY); + if (err < 0) + return err; + + pipefd[0] = err; + pipefd[1] = -1; + + /* When using EVFILT_USER event to wake up the kqueue, this event must be + * registered beforehand. Otherwise, calling kevent() to issue an + * unregistered EVFILT_USER event will get an ENOENT. + * Since uv__async_send() may happen before uv__io_poll() with multi-threads, + * we can't defer this registration of EVFILT_USER event as we did for other + * events, but must perform it right away. */ + EV_SET(&ev, err, EVFILT_USER, EV_ADD | EV_CLEAR, 0, 0, 0); + err = kevent(loop->backend_fd, &ev, 1, NULL, 0, NULL); + if (err < 0) + return UV__ERR(errno); + } else { + err = uv__make_pipe(pipefd, UV_NONBLOCK_PIPE); + if (err < 0) + return err; + } #else err = uv__make_pipe(pipefd, UV_NONBLOCK_PIPE); if (err < 0) @@ -236,6 +312,13 @@ static int uv__async_start(uv_loop_t* loop) { uv__io_start(loop, &loop->async_io_watcher, POLLIN); loop->async_wfd = pipefd[1]; +#if UV__KQUEUE_EVFILT_USER + /* Prevent the EVFILT_USER event from being added to kqueue redundantly + * and mistakenly later in uv__io_poll(). */ + if (kqueue_evfilt_user_support) + loop->async_io_watcher.events = loop->async_io_watcher.pevents; +#endif + return 0; } diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 0c52ccf2ad7b2d..61cbc0d027f04a 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -52,6 +52,8 @@ #endif #if defined(__APPLE__) +# include <mach/mach.h> +# include <mach/thread_info.h> # include <sys/filio.h> # include <sys/sysctl.h> #endif /* defined(__APPLE__) */ @@ -751,7 +753,7 @@ ssize_t uv__recvmsg(int fd, struct msghdr* msg, int flags) { int uv_cwd(char* buffer, size_t* size) { char scratch[1 + UV__PATH_MAX]; - if (buffer == NULL || size == NULL) + if (buffer == NULL || size == NULL || *size == 0) return UV_EINVAL; /* Try to read directly into the user's buffer first... */ @@ -999,10 +1001,10 @@ int uv__fd_exists(uv_loop_t* loop, int fd) { } -int uv_getrusage(uv_rusage_t* rusage) { +static int uv__getrusage(int who, uv_rusage_t* rusage) { struct rusage usage; - if (getrusage(RUSAGE_SELF, &usage)) + if (getrusage(who, &usage)) return UV__ERR(errno); rusage->ru_utime.tv_sec = usage.ru_utime.tv_sec; @@ -1041,6 +1043,48 @@ int uv_getrusage(uv_rusage_t* rusage) { } +int uv_getrusage(uv_rusage_t* rusage) { + return uv__getrusage(RUSAGE_SELF, rusage); +} + + +int uv_getrusage_thread(uv_rusage_t* rusage) { +#if defined(__APPLE__) + mach_msg_type_number_t count; + thread_basic_info_data_t info; + kern_return_t kr; + thread_t thread; + + thread = mach_thread_self(); + count = THREAD_BASIC_INFO_COUNT; + kr = thread_info(thread, + THREAD_BASIC_INFO, + (thread_info_t)&info, + &count); + + if (kr != KERN_SUCCESS) { + mach_port_deallocate(mach_task_self(), thread); + return UV_EINVAL; + } + + memset(rusage, 0, sizeof(*rusage)); + + rusage->ru_utime.tv_sec = info.user_time.seconds; + rusage->ru_utime.tv_usec = info.user_time.microseconds; + rusage->ru_stime.tv_sec = info.system_time.seconds; + rusage->ru_stime.tv_usec = info.system_time.microseconds; + + mach_port_deallocate(mach_task_self(), thread); + + return 0; + +#elif defined(RUSAGE_THREAD) + return uv__getrusage(RUSAGE_THREAD, rusage); +#endif /* defined(__APPLE__) */ + return UV_ENOTSUP; +} + + int uv__open_cloexec(const char* path, int flags) { #if defined(O_CLOEXEC) int fd; diff --git a/deps/uv/src/unix/darwin-proctitle.c b/deps/uv/src/unix/darwin-proctitle.c index 5288083ef04fd7..5e5642972a4df6 100644 --- a/deps/uv/src/unix/darwin-proctitle.c +++ b/deps/uv/src/unix/darwin-proctitle.c @@ -33,25 +33,9 @@ #include "darwin-stub.h" #endif - -static int uv__pthread_setname_np(const char* name) { - char namebuf[64]; /* MAXTHREADNAMESIZE */ - int err; - - strncpy(namebuf, name, sizeof(namebuf) - 1); - namebuf[sizeof(namebuf) - 1] = '\0'; - - err = pthread_setname_np(namebuf); - if (err) - return UV__ERR(err); - - return 0; -} - - int uv__set_process_title(const char* title) { #if TARGET_OS_IPHONE - return uv__pthread_setname_np(title); + return uv__thread_setname(title); #else CFStringRef (*pCFStringCreateWithCString)(CFAllocatorRef, const char*, @@ -177,7 +161,7 @@ int uv__set_process_title(const char* title) { goto out; } - uv__pthread_setname_np(title); /* Don't care if it fails. */ + uv__thread_setname(title); /* Don't care if it fails. */ err = 0; out: diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h index 8d586b0b64a96c..b1d2b21756da36 100644 --- a/deps/uv/src/unix/internal.h +++ b/deps/uv/src/unix/internal.h @@ -35,6 +35,10 @@ #include <sys/socket.h> #include <sys/stat.h> #include <sys/types.h> +#if defined(__APPLE__) || defined(__DragonFly__) || \ + defined(__FreeBSD__) || defined(__NetBSD__) +#include <sys/event.h> +#endif #define uv__msan_unpoison(p, n) \ do { \ @@ -323,6 +327,8 @@ void uv__prepare_close(uv_prepare_t* handle); void uv__process_close(uv_process_t* handle); void uv__stream_close(uv_stream_t* handle); void uv__tcp_close(uv_tcp_t* handle); +int uv__thread_setname(const char* name); +int uv__thread_getname(uv_thread_t* tid, char* name, size_t size); size_t uv__thread_stack_size(void); void uv__udp_close(uv_udp_t* handle); void uv__udp_finish_close(uv_udp_t* handle); @@ -504,4 +510,22 @@ int uv__get_constrained_cpu(uv__cpu_constraint* constraint); #endif #endif +#if defined(EVFILT_USER) && defined(NOTE_TRIGGER) +/* EVFILT_USER is available since OS X 10.6, DragonFlyBSD 4.0, + * FreeBSD 8.1, and NetBSD 10.0. + * + * Note that even though EVFILT_USER is defined on the current system, + * it may still fail to work at runtime somehow. In that case, we fall + * back to pipe-based signaling. + */ +#define UV__KQUEUE_EVFILT_USER 1 +/* Magic number of identifier used for EVFILT_USER during runtime detection. + * There are no Google hits for this number when I create it. That way, + * people will be directed here if this number gets printed due to some + * kqueue error and they google for help. */ +#define UV__KQUEUE_EVFILT_USER_IDENT 0x1e7e7711 +#else +#define UV__KQUEUE_EVFILT_USER 0 +#endif + #endif /* UV_UNIX_INTERNAL_H_ */ diff --git a/deps/uv/src/unix/kqueue.c b/deps/uv/src/unix/kqueue.c index 66aa166f053f52..e0166c344b05c4 100644 --- a/deps/uv/src/unix/kqueue.c +++ b/deps/uv/src/unix/kqueue.c @@ -97,8 +97,7 @@ int uv__io_fork(uv_loop_t* loop) { int uv__io_check_fd(uv_loop_t* loop, int fd) { - struct kevent ev; - int rc; + struct kevent ev[2]; struct stat sb; #ifdef __APPLE__ char path[MAXPATHLEN]; @@ -133,17 +132,12 @@ int uv__io_check_fd(uv_loop_t* loop, int fd) { } #endif - rc = 0; - EV_SET(&ev, fd, EVFILT_READ, EV_ADD, 0, 0, 0); - if (kevent(loop->backend_fd, &ev, 1, NULL, 0, NULL)) - rc = UV__ERR(errno); - - EV_SET(&ev, fd, EVFILT_READ, EV_DELETE, 0, 0, 0); - if (rc == 0) - if (kevent(loop->backend_fd, &ev, 1, NULL, 0, NULL)) - abort(); + EV_SET(ev, fd, EVFILT_READ, EV_ADD, 0, 0, 0); + EV_SET(ev + 1, fd, EVFILT_READ, EV_DELETE, 0, 0, 0); + if (kevent(loop->backend_fd, ev, 2, NULL, 0, NULL)) + return UV__ERR(errno); - return rc; + return 0; } @@ -367,6 +361,17 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { continue; } +#if UV__KQUEUE_EVFILT_USER + if (ev->filter == EVFILT_USER) { + w = &loop->async_io_watcher; + assert(fd == w->fd); + uv__metrics_update_idle_time(loop); + w->cb(loop, w, w->events); + nevents++; + continue; + } +#endif + if (ev->filter == EVFILT_VNODE) { assert(w->events == POLLIN); assert(w->pevents == POLLIN); diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c index 857a4ef8a6686f..763f5dd5917b44 100644 --- a/deps/uv/src/unix/linux.c +++ b/deps/uv/src/unix/linux.c @@ -455,7 +455,7 @@ int uv__io_uring_register(int fd, unsigned opcode, void* arg, unsigned nargs) { } -static int uv__use_io_uring(void) { +static int uv__use_io_uring(uint32_t flags) { #if defined(__ANDROID_API__) return 0; /* Possibly available but blocked by seccomp. */ #elif defined(__arm__) && __SIZEOF_POINTER__ == 4 @@ -470,25 +470,27 @@ static int uv__use_io_uring(void) { char* val; int use; - use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); - - if (use == 0) { - use = uv__kernel_version() >= #if defined(__hppa__) - /* io_uring first supported on parisc in 6.1, functional in .51 */ - /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */ - /* 6.1.51 */ 0x060133 -#else - /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ - /* 5.10.186 */ 0x050ABA + /* io_uring first supported on parisc in 6.1, functional in .51 + * https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ + */ + if (uv__kernel_version() < /*6.1.51*/0x060133) + return 0; #endif - ? 1 : -1; - /* But users can still enable it if they so desire. */ - val = getenv("UV_USE_IO_URING"); - if (val != NULL) - use = atoi(val) ? 1 : -1; + /* SQPOLL is all kinds of buggy but epoll batching should work fine. */ + if (0 == (flags & UV__IORING_SETUP_SQPOLL)) + return 1; + + /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ + if (uv__kernel_version() < /*5.10.186*/0x050ABA) + return 0; + + use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); + if (use == 0) { + val = getenv("UV_USE_IO_URING"); + use = val != NULL && atoi(val) > 0 ? 1 : -1; atomic_store_explicit(&use_io_uring, use, memory_order_relaxed); } @@ -518,7 +520,7 @@ static void uv__iou_init(int epollfd, sq = MAP_FAILED; sqe = MAP_FAILED; - if (!uv__use_io_uring()) + if (!uv__use_io_uring(flags)) return; kernel_version = uv__kernel_version(); @@ -766,14 +768,13 @@ static struct uv__io_uring_sqe* uv__iou_get_sqe(struct uv__iou* iou, */ if (iou->ringfd == -2) { /* By default, the SQPOLL is not created. Enable only if the loop is - * configured with UV_LOOP_USE_IO_URING_SQPOLL. + * configured with UV_LOOP_USE_IO_URING_SQPOLL and the UV_USE_IO_URING + * environment variable is unset or a positive number. */ - if ((loop->flags & UV_LOOP_ENABLE_IO_URING_SQPOLL) == 0) { - iou->ringfd = -1; - return NULL; - } + if (loop->flags & UV_LOOP_ENABLE_IO_URING_SQPOLL) + if (uv__use_io_uring(UV__IORING_SETUP_SQPOLL)) + uv__iou_init(loop->backend_fd, iou, 64, UV__IORING_SETUP_SQPOLL); - uv__iou_init(loop->backend_fd, iou, 64, UV__IORING_SETUP_SQPOLL); if (iou->ringfd == -2) iou->ringfd = -1; /* "failed" */ } @@ -1713,16 +1714,22 @@ int uv_uptime(double* uptime) { int uv_cpu_info(uv_cpu_info_t** ci, int* count) { #if defined(__PPC__) static const char model_marker[] = "cpu\t\t: "; + static const char model_marker2[] = ""; #elif defined(__arm__) - static const char model_marker[] = "Processor\t: "; + static const char model_marker[] = "model name\t: "; + static const char model_marker2[] = "Processor\t: "; #elif defined(__aarch64__) static const char model_marker[] = "CPU part\t: "; + static const char model_marker2[] = ""; #elif defined(__mips__) static const char model_marker[] = "cpu model\t\t: "; + static const char model_marker2[] = ""; #elif defined(__loongarch__) static const char model_marker[] = "cpu family\t\t: "; + static const char model_marker2[] = ""; #else static const char model_marker[] = "model name\t: "; + static const char model_marker2[] = ""; #endif static const char parts[] = #ifdef __aarch64__ @@ -1821,14 +1828,22 @@ int uv_cpu_info(uv_cpu_info_t** ci, int* count) { if (1 != fscanf(fp, "processor\t: %u\n", &cpu)) break; /* Parse error. */ - found = 0; - while (!found && fgets(buf, sizeof(buf), fp)) - found = !strncmp(buf, model_marker, sizeof(model_marker) - 1); + while (fgets(buf, sizeof(buf), fp)) { + if (!strncmp(buf, model_marker, sizeof(model_marker) - 1)) { + p = buf + sizeof(model_marker) - 1; + goto parts; + } + if (!*model_marker2) + continue; + if (!strncmp(buf, model_marker2, sizeof(model_marker2) - 1)) { + p = buf + sizeof(model_marker2) - 1; + goto parts; + } + } - if (!found) - goto next; + goto next; /* Not found. */ - p = buf + sizeof(model_marker) - 1; +parts: n = (int) strcspn(p, "\n"); /* arm64: translate CPU part code to model name. */ diff --git a/deps/uv/src/unix/pipe.c b/deps/uv/src/unix/pipe.c index 1f9acfac41e9c5..bd57b17fb0367a 100644 --- a/deps/uv/src/unix/pipe.c +++ b/deps/uv/src/unix/pipe.c @@ -360,6 +360,9 @@ static int uv__pipe_getsockpeername(const uv_pipe_t* handle, char* p; int err; + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + addrlen = sizeof(sa); memset(&sa, 0, addrlen); err = uv__getsockpeername((const uv_handle_t*) handle, @@ -444,7 +447,7 @@ uv_handle_type uv_pipe_pending_type(uv_pipe_t* handle) { int uv_pipe_chmod(uv_pipe_t* handle, int mode) { unsigned desired_mode; struct stat pipe_stat; - char* name_buffer; + char name_buffer[1 + UV__PATH_MAX]; size_t name_len; int r; @@ -457,26 +460,14 @@ int uv_pipe_chmod(uv_pipe_t* handle, int mode) { return UV_EINVAL; /* Unfortunately fchmod does not work on all platforms, we will use chmod. */ - name_len = 0; - r = uv_pipe_getsockname(handle, NULL, &name_len); - if (r != UV_ENOBUFS) - return r; - - name_buffer = uv__malloc(name_len); - if (name_buffer == NULL) - return UV_ENOMEM; - + name_len = sizeof(name_buffer); r = uv_pipe_getsockname(handle, name_buffer, &name_len); - if (r != 0) { - uv__free(name_buffer); + if (r != 0) return r; - } /* stat must be used as fstat has a bug on Darwin */ - if (uv__stat(name_buffer, &pipe_stat) == -1) { - uv__free(name_buffer); - return -errno; - } + if (uv__stat(name_buffer, &pipe_stat) == -1) + return UV__ERR(errno); desired_mode = 0; if (mode & UV_READABLE) @@ -485,15 +476,12 @@ int uv_pipe_chmod(uv_pipe_t* handle, int mode) { desired_mode |= S_IWUSR | S_IWGRP | S_IWOTH; /* Exit early if pipe already has desired mode. */ - if ((pipe_stat.st_mode & desired_mode) == desired_mode) { - uv__free(name_buffer); + if ((pipe_stat.st_mode & desired_mode) == desired_mode) return 0; - } pipe_stat.st_mode |= desired_mode; r = chmod(name_buffer, pipe_stat.st_mode); - uv__free(name_buffer); return r != -1 ? 0 : UV__ERR(errno); } diff --git a/deps/uv/src/unix/thread.c b/deps/uv/src/unix/thread.c index f05e6fe0f7dd5a..e51c290466d08b 100644 --- a/deps/uv/src/unix/thread.c +++ b/deps/uv/src/unix/thread.c @@ -23,6 +23,9 @@ #include "internal.h" #include <pthread.h> +#ifdef __OpenBSD__ +#include <pthread_np.h> +#endif #include <assert.h> #include <errno.h> @@ -126,6 +129,12 @@ int uv_thread_create(uv_thread_t *tid, void (*entry)(void *arg), void *arg) { return uv_thread_create_ex(tid, ¶ms, entry, arg); } + +int uv_thread_detach(uv_thread_t *tid) { + return UV__ERR(pthread_detach(*tid)); +} + + int uv_thread_create_ex(uv_thread_t* tid, const uv_thread_options_t* params, void (*entry)(void *arg), @@ -291,6 +300,18 @@ int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2) { return pthread_equal(*t1, *t2); } +int uv_thread_setname(const char* name) { + if (name == NULL) + return UV_EINVAL; + return uv__thread_setname(name); +} + +int uv_thread_getname(uv_thread_t* tid, char* name, size_t size) { + if (name == NULL || size == 0) + return UV_EINVAL; + + return uv__thread_getname(tid, name, size); +} int uv_mutex_init(uv_mutex_t* mutex) { #if defined(NDEBUG) || !defined(PTHREAD_MUTEX_ERRORCHECK) @@ -875,3 +896,80 @@ void uv_key_set(uv_key_t* key, void* value) { if (pthread_setspecific(*key, value)) abort(); } + +#if defined(_AIX) || defined(__MVS__) || defined(__PASE__) +int uv__thread_setname(const char* name) { + return UV_ENOSYS; +} +#elif defined(__APPLE__) +int uv__thread_setname(const char* name) { + char namebuf[UV_PTHREAD_MAX_NAMELEN_NP]; + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; + int err = pthread_setname_np(namebuf); + if (err) + return UV__ERR(errno); + return 0; +} +#elif defined(__NetBSD__) +int uv__thread_setname(const char* name) { + char namebuf[UV_PTHREAD_MAX_NAMELEN_NP]; + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; + return UV__ERR(pthread_setname_np(pthread_self(), "%s", namebuf)); +} +#elif defined(__OpenBSD__) +int uv__thread_setname(const char* name) { + char namebuf[UV_PTHREAD_MAX_NAMELEN_NP]; + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; + pthread_set_name_np(pthread_self(), namebuf); + return 0; +} +#else +int uv__thread_setname(const char* name) { + char namebuf[UV_PTHREAD_MAX_NAMELEN_NP]; + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; + return UV__ERR(pthread_setname_np(pthread_self(), namebuf)); +} +#endif + +#if (defined(__ANDROID_API__) && __ANDROID_API__ < 26) || \ + defined(_AIX) || \ + defined(__MVS__) || \ + defined(__PASE__) +int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { + return UV_ENOSYS; +} +#elif defined(__OpenBSD__) +int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { + char thread_name[UV_PTHREAD_MAX_NAMELEN_NP]; + pthread_get_name_np(*tid, thread_name, sizeof(thread_name)); + strncpy(name, thread_name, size - 1); + name[size - 1] = '\0'; + return 0; +} +#elif defined(__APPLE__) +int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { + char thread_name[UV_PTHREAD_MAX_NAMELEN_NP]; + if (pthread_getname_np(*tid, thread_name, sizeof(thread_name)) != 0) + return UV__ERR(errno); + + strncpy(name, thread_name, size - 1); + name[size - 1] = '\0'; + return 0; +} +#else +int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { + int r; + char thread_name[UV_PTHREAD_MAX_NAMELEN_NP]; + r = pthread_getname_np(*tid, thread_name, sizeof(thread_name)); + if (r != 0) + return UV__ERR(r); + + strncpy(name, thread_name, size - 1); + name[size - 1] = '\0'; + return 0; +} +#endif diff --git a/deps/uv/src/unix/udp.c b/deps/uv/src/unix/udp.c index f6640fc7231863..67c01f7dce8e18 100644 --- a/deps/uv/src/unix/udp.c +++ b/deps/uv/src/unix/udp.c @@ -47,6 +47,10 @@ static void uv__udp_sendmsg(uv_udp_t* handle); static int uv__udp_maybe_deferred_bind(uv_udp_t* handle, int domain, unsigned int flags); +static int uv__udp_sendmsg1(int fd, + const uv_buf_t* bufs, + unsigned int nbufs, + const struct sockaddr* addr); void uv__udp_close(uv_udp_t* handle) { @@ -282,169 +286,6 @@ static void uv__udp_recvmsg(uv_udp_t* handle) { && handle->recv_cb != NULL); } -static void uv__udp_sendmsg_one(uv_udp_t* handle, uv_udp_send_t* req) { - struct uv__queue* q; - struct msghdr h; - ssize_t size; - - for (;;) { - memset(&h, 0, sizeof h); - if (req->addr.ss_family == AF_UNSPEC) { - h.msg_name = NULL; - h.msg_namelen = 0; - } else { - h.msg_name = &req->addr; - if (req->addr.ss_family == AF_INET6) - h.msg_namelen = sizeof(struct sockaddr_in6); - else if (req->addr.ss_family == AF_INET) - h.msg_namelen = sizeof(struct sockaddr_in); - else if (req->addr.ss_family == AF_UNIX) - h.msg_namelen = sizeof(struct sockaddr_un); - else { - assert(0 && "unsupported address family"); - abort(); - } - } - h.msg_iov = (struct iovec*) req->bufs; - h.msg_iovlen = req->nbufs; - - do - size = sendmsg(handle->io_watcher.fd, &h, 0); - while (size == -1 && errno == EINTR); - - if (size == -1) - if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS) - return; - - req->status = (size == -1 ? UV__ERR(errno) : size); - - /* Sending a datagram is an atomic operation: either all data - * is written or nothing is (and EMSGSIZE is raised). That is - * why we don't handle partial writes. Just pop the request - * off the write queue and onto the completed queue, done. - */ - uv__queue_remove(&req->queue); - uv__queue_insert_tail(&handle->write_completed_queue, &req->queue); - uv__io_feed(handle->loop, &handle->io_watcher); - - if (uv__queue_empty(&handle->write_queue)) - return; - - q = uv__queue_head(&handle->write_queue); - req = uv__queue_data(q, uv_udp_send_t, queue); - } -} - -#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) -static void uv__udp_sendmsg_many(uv_udp_t* handle) { - uv_udp_send_t* req; - struct mmsghdr h[20]; - struct mmsghdr* p; - struct uv__queue* q; - ssize_t npkts; - size_t pkts; - size_t i; - -write_queue_drain: - for (pkts = 0, q = uv__queue_head(&handle->write_queue); - pkts < ARRAY_SIZE(h) && q != &handle->write_queue; - ++pkts, q = uv__queue_head(q)) { - req = uv__queue_data(q, uv_udp_send_t, queue); - - p = &h[pkts]; - memset(p, 0, sizeof(*p)); - if (req->addr.ss_family == AF_UNSPEC) { - p->msg_hdr.msg_name = NULL; - p->msg_hdr.msg_namelen = 0; - } else { - p->msg_hdr.msg_name = &req->addr; - if (req->addr.ss_family == AF_INET6) - p->msg_hdr.msg_namelen = sizeof(struct sockaddr_in6); - else if (req->addr.ss_family == AF_INET) - p->msg_hdr.msg_namelen = sizeof(struct sockaddr_in); - else if (req->addr.ss_family == AF_UNIX) - p->msg_hdr.msg_namelen = sizeof(struct sockaddr_un); - else { - assert(0 && "unsupported address family"); - abort(); - } - } - h[pkts].msg_hdr.msg_iov = (struct iovec*) req->bufs; - h[pkts].msg_hdr.msg_iovlen = req->nbufs; - } - -#if defined(__APPLE__) - do - npkts = sendmsg_x(handle->io_watcher.fd, h, pkts, MSG_DONTWAIT); - while (npkts == -1 && errno == EINTR); -#else - do - npkts = sendmmsg(handle->io_watcher.fd, h, pkts, 0); - while (npkts == -1 && errno == EINTR); -#endif - - if (npkts < 1) { - if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS) - return; - for (i = 0, q = uv__queue_head(&handle->write_queue); - i < pkts && q != &handle->write_queue; - ++i, q = uv__queue_head(&handle->write_queue)) { - req = uv__queue_data(q, uv_udp_send_t, queue); - req->status = UV__ERR(errno); - uv__queue_remove(&req->queue); - uv__queue_insert_tail(&handle->write_completed_queue, &req->queue); - } - uv__io_feed(handle->loop, &handle->io_watcher); - return; - } - - /* Safety: npkts known to be >0 below. Hence cast from ssize_t - * to size_t safe. - */ - for (i = 0, q = uv__queue_head(&handle->write_queue); - i < (size_t)npkts && q != &handle->write_queue; - ++i, q = uv__queue_head(&handle->write_queue)) { - req = uv__queue_data(q, uv_udp_send_t, queue); - req->status = req->bufs[0].len; - - /* Sending a datagram is an atomic operation: either all data - * is written or nothing is (and EMSGSIZE is raised). That is - * why we don't handle partial writes. Just pop the request - * off the write queue and onto the completed queue, done. - */ - uv__queue_remove(&req->queue); - uv__queue_insert_tail(&handle->write_completed_queue, &req->queue); - } - - /* couldn't batch everything, continue sending (jump to avoid stack growth) */ - if (!uv__queue_empty(&handle->write_queue)) - goto write_queue_drain; - - uv__io_feed(handle->loop, &handle->io_watcher); -} -#endif /* __linux__ || ____FreeBSD__ || __APPLE__ */ - -static void uv__udp_sendmsg(uv_udp_t* handle) { - struct uv__queue* q; - uv_udp_send_t* req; - - if (uv__queue_empty(&handle->write_queue)) - return; - - q = uv__queue_head(&handle->write_queue); - req = uv__queue_data(q, uv_udp_send_t, queue); - -#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) - /* Use sendmmsg() if this send request contains more than one datagram OR - * there is more than one send request (because that automatically implies - * there is more than one datagram.) - */ - if (req->nbufs != 1 || &handle->write_queue != uv__queue_next(&req->queue)) - return uv__udp_sendmsg_many(handle); -#endif - - return uv__udp_sendmsg_one(handle, req); -} /* On the BSDs, SO_REUSEPORT implies SO_REUSEADDR but with some additional * refinements for programs that use multicast. Therefore we preferentially @@ -743,11 +584,11 @@ int uv__udp_send(uv_udp_send_t* req, empty_queue = (handle->send_queue_count == 0); uv__req_init(handle->loop, req, UV_UDP_SEND); - assert(addrlen <= sizeof(req->addr)); + assert(addrlen <= sizeof(req->u.storage)); if (addr == NULL) - req->addr.ss_family = AF_UNSPEC; + req->u.storage.ss_family = AF_UNSPEC; else - memcpy(&req->addr, addr, addrlen); + memcpy(&req->u.storage, addr, addrlen); req->send_cb = send_cb; req->handle = handle; req->nbufs = nbufs; @@ -790,10 +631,9 @@ int uv__udp_try_send(uv_udp_t* handle, const struct sockaddr* addr, unsigned int addrlen) { int err; - struct msghdr h; - ssize_t size; - assert(nbufs > 0); + if (nbufs < 1) + return UV_EINVAL; /* already sending a message */ if (handle->send_queue_count != 0) @@ -807,24 +647,11 @@ int uv__udp_try_send(uv_udp_t* handle, assert(handle->flags & UV_HANDLE_UDP_CONNECTED); } - memset(&h, 0, sizeof h); - h.msg_name = (struct sockaddr*) addr; - h.msg_namelen = addrlen; - h.msg_iov = (struct iovec*) bufs; - h.msg_iovlen = nbufs; + err = uv__udp_sendmsg1(handle->io_watcher.fd, bufs, nbufs, addr); + if (err > 0) + return uv__count_bufs(bufs, nbufs); - do { - size = sendmsg(handle->io_watcher.fd, &h, 0); - } while (size == -1 && errno == EINTR); - - if (size == -1) { - if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS) - return UV_EAGAIN; - else - return UV__ERR(errno); - } - - return size; + return err; } @@ -1401,3 +1228,191 @@ int uv__udp_recv_stop(uv_udp_t* handle) { return 0; } + + +static int uv__udp_prep_pkt(struct msghdr* h, + const uv_buf_t* bufs, + const unsigned int nbufs, + const struct sockaddr* addr) { + memset(h, 0, sizeof(*h)); + h->msg_name = (void*) addr; + h->msg_iov = (void*) bufs; + h->msg_iovlen = nbufs; + if (addr == NULL) + return 0; + switch (addr->sa_family) { + case AF_INET: + h->msg_namelen = sizeof(struct sockaddr_in); + return 0; + case AF_INET6: + h->msg_namelen = sizeof(struct sockaddr_in6); + return 0; + case AF_UNIX: + h->msg_namelen = sizeof(struct sockaddr_un); + return 0; + case AF_UNSPEC: + h->msg_name = NULL; + return 0; + } + return UV_EINVAL; +} + + +static int uv__udp_sendmsg1(int fd, + const uv_buf_t* bufs, + unsigned int nbufs, + const struct sockaddr* addr) { + struct msghdr h; + int r; + + if ((r = uv__udp_prep_pkt(&h, bufs, nbufs, addr))) + return r; + + do + r = sendmsg(fd, &h, 0); + while (r == -1 && errno == EINTR); + + if (r < 0) { + r = UV__ERR(errno); + if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS) + r = UV_EAGAIN; + return r; + } + + /* UDP sockets don't EOF so we don't have to handle r=0 specially, + * that only happens when the input was a zero-sized buffer. + */ + return 1; +} + + +static int uv__udp_sendmsgv(int fd, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/]) { + unsigned int i; + int nsent; + int r; + + r = 0; + nsent = 0; + +#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) + if (count > 1) { + for (i = 0; i < count; /*empty*/) { + struct mmsghdr m[20]; + unsigned int n; + + for (n = 0; i < count && n < ARRAY_SIZE(m); i++, n++) + if ((r = uv__udp_prep_pkt(&m[n].msg_hdr, bufs[i], nbufs[i], addrs[i]))) + goto exit; + + do +#if defined(__APPLE__) + r = sendmsg_x(fd, m, n, MSG_DONTWAIT); +#else + r = sendmmsg(fd, m, n, 0); +#endif + while (r == -1 && errno == EINTR); + + if (r < 1) + goto exit; + + nsent += r; + i += r; + } + + goto exit; + } +#endif /* defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) */ + + for (i = 0; i < count; i++, nsent++) + if ((r = uv__udp_sendmsg1(fd, bufs[i], nbufs[i], addrs[i]))) + goto exit; /* goto to avoid unused label warning. */ + +exit: + + if (nsent > 0) + return nsent; + + if (r < 0) { + r = UV__ERR(errno); + if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOBUFS) + r = UV_EAGAIN; + } + + return r; +} + + +static void uv__udp_sendmsg(uv_udp_t* handle) { + static const int N = 20; + struct sockaddr* addrs[N]; + unsigned int nbufs[N]; + uv_buf_t* bufs[N]; + struct uv__queue* q; + uv_udp_send_t* req; + int n; + + if (uv__queue_empty(&handle->write_queue)) + return; + +again: + n = 0; + q = uv__queue_head(&handle->write_queue); + do { + req = uv__queue_data(q, uv_udp_send_t, queue); + addrs[n] = &req->u.addr; + nbufs[n] = req->nbufs; + bufs[n] = req->bufs; + q = uv__queue_next(q); + n++; + } while (n < N && q != &handle->write_queue); + + n = uv__udp_sendmsgv(handle->io_watcher.fd, n, bufs, nbufs, addrs); + while (n > 0) { + q = uv__queue_head(&handle->write_queue); + req = uv__queue_data(q, uv_udp_send_t, queue); + req->status = uv__count_bufs(req->bufs, req->nbufs); + uv__queue_remove(&req->queue); + uv__queue_insert_tail(&handle->write_completed_queue, &req->queue); + n--; + } + + if (n == 0) { + if (uv__queue_empty(&handle->write_queue)) + goto feed; + goto again; + } + + if (n == UV_EAGAIN) + return; + + /* Register the error against first request in queue because that + * is the request that uv__udp_sendmsgv tried but failed to send, + * because if it did send any requests, it won't return an error. + */ + q = uv__queue_head(&handle->write_queue); + req = uv__queue_data(q, uv_udp_send_t, queue); + req->status = n; + uv__queue_remove(&req->queue); + uv__queue_insert_tail(&handle->write_completed_queue, &req->queue); +feed: + uv__io_feed(handle->loop, &handle->io_watcher); +} + + +int uv__udp_try_send2(uv_udp_t* handle, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/]) { + int fd; + + fd = handle->io_watcher.fd; + if (fd == -1) + return UV_EINVAL; + + return uv__udp_sendmsgv(fd, count, bufs, nbufs, addrs); +} diff --git a/deps/uv/src/uv-common.c b/deps/uv/src/uv-common.c index 2200fe3f0a41e2..60ff56b9dd7391 100644 --- a/deps/uv/src/uv-common.c +++ b/deps/uv/src/uv-common.c @@ -514,6 +514,25 @@ int uv_udp_try_send(uv_udp_t* handle, } +int uv_udp_try_send2(uv_udp_t* handle, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/], + unsigned int flags) { + if (count < 1) + return UV_EINVAL; + + if (flags != 0) + return UV_EINVAL; + + if (handle->send_queue_count > 0) + return UV_EAGAIN; + + return uv__udp_try_send2(handle, count, bufs, nbufs, addrs); +} + + int uv_udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloc_cb, uv_udp_recv_cb recv_cb) { @@ -644,6 +663,9 @@ int uv_send_buffer_size(uv_handle_t* handle, int *value) { int uv_fs_event_getpath(uv_fs_event_t* handle, char* buffer, size_t* size) { size_t required_len; + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + if (!uv__is_active(handle)) { *size = 0; return UV_EINVAL; diff --git a/deps/uv/src/uv-common.h b/deps/uv/src/uv-common.h index 4baede2e506ee1..372f0c4b3ac39e 100644 --- a/deps/uv/src/uv-common.h +++ b/deps/uv/src/uv-common.h @@ -191,6 +191,12 @@ int uv__udp_try_send(uv_udp_t* handle, const struct sockaddr* addr, unsigned int addrlen); +int uv__udp_try_send2(uv_udp_t* handle, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/]); + int uv__udp_recv_start(uv_udp_t* handle, uv_alloc_cb alloccb, uv_udp_recv_cb recv_cb); @@ -428,4 +434,18 @@ struct uv__loop_internal_fields_s { #endif /* __linux__ */ }; +#if defined(_WIN32) +# define UV_PTHREAD_MAX_NAMELEN_NP 32767 +#elif defined(__APPLE__) +# define UV_PTHREAD_MAX_NAMELEN_NP 64 +#elif defined(__NetBSD__) || defined(__illumos__) +# define UV_PTHREAD_MAX_NAMELEN_NP PTHREAD_MAX_NAMELEN_NP +#elif defined (__linux__) +# define UV_PTHREAD_MAX_NAMELEN_NP 16 +#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +# define UV_PTHREAD_MAX_NAMELEN_NP (MAXCOMLEN + 1) +#else +# define UV_PTHREAD_MAX_NAMELEN_NP 16 +#endif + #endif /* UV_COMMON_H_ */ diff --git a/deps/uv/src/win/core.c b/deps/uv/src/win/core.c index e9885a0f1ff389..bc63b06673ac1a 100644 --- a/deps/uv/src/win/core.c +++ b/deps/uv/src/win/core.c @@ -423,97 +423,6 @@ int uv_backend_timeout(const uv_loop_t* loop) { } -static void uv__poll_wine(uv_loop_t* loop, DWORD timeout) { - uv__loop_internal_fields_t* lfields; - DWORD bytes; - ULONG_PTR key; - OVERLAPPED* overlapped; - uv_req_t* req; - int repeat; - uint64_t timeout_time; - uint64_t user_timeout; - int reset_timeout; - - lfields = uv__get_internal_fields(loop); - timeout_time = loop->time + timeout; - - if (lfields->flags & UV_METRICS_IDLE_TIME) { - reset_timeout = 1; - user_timeout = timeout; - timeout = 0; - } else { - reset_timeout = 0; - } - - for (repeat = 0; ; repeat++) { - /* Only need to set the provider_entry_time if timeout != 0. The function - * will return early if the loop isn't configured with UV_METRICS_IDLE_TIME. - */ - if (timeout != 0) - uv__metrics_set_provider_entry_time(loop); - - /* Store the current timeout in a location that's globally accessible so - * other locations like uv__work_done() can determine whether the queue - * of events in the callback were waiting when poll was called. - */ - lfields->current_timeout = timeout; - - GetQueuedCompletionStatus(loop->iocp, - &bytes, - &key, - &overlapped, - timeout); - - if (reset_timeout != 0) { - if (overlapped && timeout == 0) - uv__metrics_inc_events_waiting(loop, 1); - timeout = user_timeout; - reset_timeout = 0; - } - - /* Placed here because on success the loop will break whether there is an - * empty package or not, or if GetQueuedCompletionStatus returned early then - * the timeout will be updated and the loop will run again. In either case - * the idle time will need to be updated. - */ - uv__metrics_update_idle_time(loop); - - if (overlapped) { - uv__metrics_inc_events(loop, 1); - - /* Package was dequeued */ - req = uv__overlapped_to_req(overlapped); - uv__insert_pending_req(loop, req); - - /* Some time might have passed waiting for I/O, - * so update the loop time here. - */ - uv_update_time(loop); - } else if (GetLastError() != WAIT_TIMEOUT) { - /* Serious error */ - uv_fatal_error(GetLastError(), "GetQueuedCompletionStatus"); - } else if (timeout > 0) { - /* GetQueuedCompletionStatus can occasionally return a little early. - * Make sure that the desired timeout target time is reached. - */ - uv_update_time(loop); - if (timeout_time > loop->time) { - timeout = (DWORD)(timeout_time - loop->time); - /* The first call to GetQueuedCompletionStatus should return very - * close to the target time and the second should reach it, but - * this is not stated in the documentation. To make sure a busy - * loop cannot happen, the timeout is increased exponentially - * starting on the third round. - */ - timeout += repeat ? (1 << (repeat - 1)) : 0; - continue; - } - } - break; - } -} - - static void uv__poll(uv_loop_t* loop, DWORD timeout) { uv__loop_internal_fields_t* lfields; BOOL success; @@ -553,12 +462,12 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { */ lfields->current_timeout = timeout; - success = pGetQueuedCompletionStatusEx(loop->iocp, - overlappeds, - ARRAY_SIZE(overlappeds), - &count, - timeout, - FALSE); + success = GetQueuedCompletionStatusEx(loop->iocp, + overlappeds, + ARRAY_SIZE(overlappeds), + &count, + timeout, + FALSE); if (reset_timeout != 0) { timeout = user_timeout; @@ -566,7 +475,7 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { } /* Placed here because on success the loop will break whether there is an - * empty package or not, or if pGetQueuedCompletionStatusEx returned early + * empty package or not, or if GetQueuedCompletionStatusEx returned early * then the timeout will be updated and the loop will run again. In either * case the idle time will need to be updated. */ @@ -647,10 +556,7 @@ int uv_run(uv_loop_t *loop, uv_run_mode mode) { uv__metrics_inc_loop_count(loop); - if (pGetQueuedCompletionStatusEx) - uv__poll(loop, timeout); - else - uv__poll_wine(loop, timeout); + uv__poll(loop, timeout); /* Process immediate callbacks (e.g. write_cb) a small fixed number of * times to avoid loop starvation.*/ diff --git a/deps/uv/src/win/fs-event.c b/deps/uv/src/win/fs-event.c index 7ab407e05345f9..1bbb8c52be2d82 100644 --- a/deps/uv/src/win/fs-event.c +++ b/deps/uv/src/win/fs-event.c @@ -253,6 +253,8 @@ int uv_fs_event_start(uv_fs_event_t* handle, } dir_to_watch = dir; + uv__free(short_path); + short_path = NULL; uv__free(pathw); pathw = NULL; } @@ -577,6 +579,8 @@ void uv__process_fs_event_req(uv_loop_t* loop, uv_req_t* req, info.DeletePending) { uv__convert_utf16_to_utf8(handle->dirw, -1, &filename); handle->cb(handle, filename, UV_RENAME, 0); + uv__free(filename); + filename = NULL; } else { handle->cb(handle, NULL, 0, uv_translate_sys_error(err)); } diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c index f2215bb3082178..a4742aa2ec13fd 100644 --- a/deps/uv/src/win/fs.c +++ b/deps/uv/src/win/fs.c @@ -58,6 +58,19 @@ #define FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE 0x0010 #endif /* FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE */ +NTSTATUS uv__RtlUnicodeStringInit( + PUNICODE_STRING DestinationString, + PWSTR SourceString, + size_t SourceStringLen +) { + if (SourceStringLen > 0x7FFF) + return STATUS_INVALID_PARAMETER; + DestinationString->MaximumLength = DestinationString->Length = + SourceStringLen * sizeof(SourceString[0]); + DestinationString->Buffer = SourceString; + return STATUS_SUCCESS; +} + #define INIT(subtype) \ do { \ if (req == NULL) \ @@ -1689,12 +1702,12 @@ INLINE static fs__stat_path_return_t fs__stat_path(WCHAR* path, uv_stat_t* statbuf, int do_lstat) { FILE_STAT_BASIC_INFORMATION stat_info; - // Check if the new fast API is available. + /* Check if the new fast API is available. */ if (!pGetFileInformationByName) { return FS__STAT_PATH_TRY_SLOW; } - // Check if the API call fails. + /* Check if the API call fails. */ if (!pGetFileInformationByName(path, FileStatBasicByNameInfo, &stat_info, sizeof(stat_info))) { switch(GetLastError()) { @@ -1708,7 +1721,7 @@ INLINE static fs__stat_path_return_t fs__stat_path(WCHAR* path, return FS__STAT_PATH_TRY_SLOW; } - // A file handle is needed to get st_size for links. + /* A file handle is needed to get st_size for links. */ if ((stat_info.FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { return FS__STAT_PATH_TRY_SLOW; } @@ -1802,7 +1815,6 @@ INLINE static int fs__stat_handle(HANDLE handle, uv_stat_t* statbuf, * detect this failure and retry without do_lstat if appropriate. */ if (fs__readlink_handle(handle, NULL, &target_length) != 0) { - fs__stat_assign_statbuf(statbuf, stat_info, do_lstat); return -1; } stat_info.EndOfFile.QuadPart = target_length; @@ -1941,6 +1953,179 @@ INLINE static void fs__stat_prepare_path(WCHAR* pathw) { } } +INLINE static DWORD fs__stat_directory(WCHAR* path, uv_stat_t* statbuf, + int do_lstat, DWORD ret_error) { + HANDLE handle = INVALID_HANDLE_VALUE; + FILE_STAT_BASIC_INFORMATION stat_info; + FILE_ID_FULL_DIR_INFORMATION dir_info; + FILE_FS_VOLUME_INFORMATION volume_info; + FILE_FS_DEVICE_INFORMATION device_info; + IO_STATUS_BLOCK io_status; + NTSTATUS nt_status; + WCHAR* path_dirpath = NULL; + WCHAR* path_filename = NULL; + UNICODE_STRING FileMask; + size_t len; + size_t split; + WCHAR splitchar; + int includes_name; + + /* AKA strtok or wcscspn, in reverse. */ + len = wcslen(path); + split = len; + + includes_name = 0; + while (split > 0 && path[split - 1] != L'\\' && path[split - 1] != L'/' && + path[split - 1] != L':') { + /* check if the path contains a character other than /,\,:,. */ + if (path[split-1] != '.') { + includes_name = 1; + } + split--; + } + /* If the path is a relative path with a file name or a folder name */ + if (split == 0 && includes_name) { + path_dirpath = L"."; + /* If there is a slash or a backslash */ + } else if (path[split - 1] == L'\\' || path[split - 1] == L'/') { + path_dirpath = path; + /* If there is no filename, consider it as a relative folder path */ + if (!includes_name) { + split = len; + /* Else, split it */ + } else { + splitchar = path[split - 1]; + path[split - 1] = L'\0'; + } + /* e.g. "..", "c:" */ + } else { + path_dirpath = path; + split = len; + } + path_filename = &path[split]; + + len = 0; + while (1) { + if (path_filename[len] == L'\0') + break; + if (path_filename[len] == L'*' || path_filename[len] == L'?' || + path_filename[len] == L'>' || path_filename[len] == L'<' || + path_filename[len] == L'"') { + ret_error = ERROR_INVALID_NAME; + goto cleanup; + } + len++; + } + + /* Get directory handle */ + handle = CreateFileW(path_dirpath, + FILE_LIST_DIRECTORY, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + NULL, + OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS, + NULL); + + if (handle == INVALID_HANDLE_VALUE) { + ret_error = GetLastError(); + goto cleanup; + } + + /* Get files in the directory */ + nt_status = uv__RtlUnicodeStringInit(&FileMask, path_filename, len); + if (!NT_SUCCESS(nt_status)) { + ret_error = pRtlNtStatusToDosError(nt_status); + goto cleanup; + } + nt_status = pNtQueryDirectoryFile(handle, + NULL, + NULL, + NULL, + &io_status, + &dir_info, + sizeof(dir_info), + FileIdFullDirectoryInformation, + TRUE, + &FileMask, + TRUE); + + /* Buffer overflow (a warning status code) is expected here since there isn't + * enough space to store the FileName, and actually indicates success. */ + if (!NT_SUCCESS(nt_status) && nt_status != STATUS_BUFFER_OVERFLOW) { + if (nt_status == STATUS_NO_MORE_FILES) + ret_error = ERROR_PATH_NOT_FOUND; + else + ret_error = pRtlNtStatusToDosError(nt_status); + goto cleanup; + } + + /* Assign values to stat_info */ + memset(&stat_info, 0, sizeof(FILE_STAT_BASIC_INFORMATION)); + stat_info.FileAttributes = dir_info.FileAttributes; + stat_info.CreationTime.QuadPart = dir_info.CreationTime.QuadPart; + stat_info.LastAccessTime.QuadPart = dir_info.LastAccessTime.QuadPart; + stat_info.LastWriteTime.QuadPart = dir_info.LastWriteTime.QuadPart; + if (stat_info.FileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) { + /* A file handle is needed to get st_size for the link (from + * FSCTL_GET_REPARSE_POINT), which is required by posix, but we are here + * because getting the file handle failed. We could get just the + * ReparsePointTag by querying FILE_ID_EXTD_DIR_INFORMATION instead to make + * sure this really is a link before giving up here on the uv_fs_stat call, + * but that doesn't seem essential. */ + if (!do_lstat) + goto cleanup; + stat_info.EndOfFile.QuadPart = 0; + stat_info.AllocationSize.QuadPart = 0; + } else { + stat_info.EndOfFile.QuadPart = dir_info.EndOfFile.QuadPart; + stat_info.AllocationSize.QuadPart = dir_info.AllocationSize.QuadPart; + } + stat_info.ChangeTime.QuadPart = dir_info.ChangeTime.QuadPart; + stat_info.FileId.QuadPart = dir_info.FileId.QuadPart; + + /* Finish up by getting device info from the directory handle, + * since files presumably must live on their device. */ + nt_status = pNtQueryVolumeInformationFile(handle, + &io_status, + &volume_info, + sizeof volume_info, + FileFsVolumeInformation); + + /* Buffer overflow (a warning status code) is expected here. */ + if (io_status.Status == STATUS_NOT_IMPLEMENTED) { + stat_info.VolumeSerialNumber.QuadPart = 0; + } else if (NT_ERROR(nt_status)) { + ret_error = pRtlNtStatusToDosError(nt_status); + goto cleanup; + } else { + stat_info.VolumeSerialNumber.QuadPart = volume_info.VolumeSerialNumber; + } + + nt_status = pNtQueryVolumeInformationFile(handle, + &io_status, + &device_info, + sizeof device_info, + FileFsDeviceInformation); + + /* Buffer overflow (a warning status code) is expected here. */ + if (NT_ERROR(nt_status)) { + ret_error = pRtlNtStatusToDosError(nt_status); + goto cleanup; + } + + stat_info.DeviceType = device_info.DeviceType; + stat_info.NumberOfLinks = 1; /* No way to recover this info. */ + + fs__stat_assign_statbuf(statbuf, stat_info, do_lstat); + ret_error = 0; + +cleanup: + if (split != 0) + path[split - 1] = splitchar; + if (handle != INVALID_HANDLE_VALUE) + CloseHandle(handle); + return ret_error; +} INLINE static DWORD fs__stat_impl_from_path(WCHAR* path, int do_lstat, @@ -1949,7 +2134,7 @@ INLINE static DWORD fs__stat_impl_from_path(WCHAR* path, DWORD flags; DWORD ret; - // If new API exists, try to use it. + /* If new API exists, try to use it. */ switch (fs__stat_path(path, statbuf, do_lstat)) { case FS__STAT_PATH_SUCCESS: return 0; @@ -1959,7 +2144,7 @@ INLINE static DWORD fs__stat_impl_from_path(WCHAR* path, break; } - // If the new API does not exist, use the old API. + /* If the new API does not exist, use the old API. */ flags = FILE_FLAG_BACKUP_SEMANTICS; if (do_lstat) flags |= FILE_FLAG_OPEN_REPARSE_POINT; @@ -1972,8 +2157,12 @@ INLINE static DWORD fs__stat_impl_from_path(WCHAR* path, flags, NULL); - if (handle == INVALID_HANDLE_VALUE) - return GetLastError(); + if (handle == INVALID_HANDLE_VALUE) { + ret = GetLastError(); + if (ret != ERROR_ACCESS_DENIED && ret != ERROR_SHARING_VIOLATION) + return ret; + return fs__stat_directory(path, statbuf, do_lstat, ret); + } if (fs__stat_handle(handle, statbuf, do_lstat) != 0) ret = GetLastError(); diff --git a/deps/uv/src/win/pipe.c b/deps/uv/src/win/pipe.c index d46ecb9fc702e6..d05bfd28aec8b9 100644 --- a/deps/uv/src/win/pipe.c +++ b/deps/uv/src/win/pipe.c @@ -1161,9 +1161,9 @@ int uv__pipe_accept(uv_pipe_t* server, uv_stream_t* client) { err = uv__tcp_xfer_import( (uv_tcp_t*) client, item->xfer_type, &item->xfer_info); - + uv__free(item); - + if (err != 0) return err; @@ -1738,7 +1738,7 @@ static DWORD uv__pipe_get_ipc_remote_pid(uv_pipe_t* handle) { GetNamedPipeServerProcessId(handle->handle, pid); } } - + return *pid; } @@ -2602,6 +2602,9 @@ int uv_pipe_pending_count(uv_pipe_t* handle) { int uv_pipe_getsockname(const uv_pipe_t* handle, char* buffer, size_t* size) { + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + if (handle->flags & UV_HANDLE_BOUND) return uv__pipe_getname(handle, buffer, size); @@ -2616,6 +2619,9 @@ int uv_pipe_getsockname(const uv_pipe_t* handle, char* buffer, size_t* size) { int uv_pipe_getpeername(const uv_pipe_t* handle, char* buffer, size_t* size) { + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + /* emulate unix behaviour */ if (handle->flags & UV_HANDLE_BOUND) return UV_ENOTCONN; diff --git a/deps/uv/src/win/thread.c b/deps/uv/src/win/thread.c index bf39b88633b0d8..436846a716807e 100644 --- a/deps/uv/src/win/thread.c +++ b/deps/uv/src/win/thread.c @@ -95,6 +95,15 @@ int uv_thread_create(uv_thread_t *tid, void (*entry)(void *arg), void *arg) { return uv_thread_create_ex(tid, ¶ms, entry, arg); } + +int uv_thread_detach(uv_thread_t *tid) { + if (CloseHandle(*tid) == 0) + return uv_translate_sys_error(GetLastError()); + + return 0; +} + + int uv_thread_create_ex(uv_thread_t* tid, const uv_thread_options_t* params, void (*entry)(void *arg), @@ -269,6 +278,71 @@ int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2) { } +int uv_thread_setname(const char* name) { + HRESULT hr; + WCHAR* namew; + int err; + char namebuf[UV_PTHREAD_MAX_NAMELEN_NP]; + + if (name == NULL) + return UV_EINVAL; + + strncpy(namebuf, name, sizeof(namebuf) - 1); + namebuf[sizeof(namebuf) - 1] = '\0'; + + namew = NULL; + err = uv__convert_utf8_to_utf16(namebuf, &namew); + if (err) + return err; + + hr = SetThreadDescription(GetCurrentThread(), namew); + uv__free(namew); + if (FAILED(hr)) + return uv_translate_sys_error(HRESULT_CODE(hr)); + + return 0; +} + + +int uv_thread_getname(uv_thread_t* tid, char* name, size_t size) { + HRESULT hr; + WCHAR* namew; + char* thread_name; + size_t buf_size; + int r; + DWORD exit_code; + + if (name == NULL || size == 0) + return UV_EINVAL; + + if (tid == NULL || *tid == NULL) + return UV_EINVAL; + + /* Check if the thread handle is valid */ + if (!GetExitCodeThread(*tid, &exit_code) || exit_code != STILL_ACTIVE) + return UV_ENOENT; + + namew = NULL; + thread_name = NULL; + hr = GetThreadDescription(*tid, &namew); + if (FAILED(hr)) + return uv_translate_sys_error(HRESULT_CODE(hr)); + + buf_size = size; + r = uv__copy_utf16_to_utf8(namew, -1, name, &buf_size); + if (r == UV_ENOBUFS) { + r = uv__convert_utf16_to_utf8(namew, wcslen(namew), &thread_name); + if (r == 0) { + uv__strscpy(name, thread_name, size); + uv__free(thread_name); + } + } + + LocalFree(namew); + return r; +} + + int uv_mutex_init(uv_mutex_t* mutex) { InitializeCriticalSection(mutex); return 0; diff --git a/deps/uv/src/win/udp.c b/deps/uv/src/win/udp.c index 5c8f6e1dd0b449..e0873c2a899c24 100644 --- a/deps/uv/src/win/udp.c +++ b/deps/uv/src/win/udp.c @@ -1101,7 +1101,8 @@ int uv__udp_try_send(uv_udp_t* handle, struct sockaddr_storage converted; int err; - assert(nbufs > 0); + if (nbufs < 1) + return UV_EINVAL; if (addr != NULL) { err = uv__convert_to_localhost_if_unspecified(addr, &converted); @@ -1141,3 +1142,21 @@ int uv__udp_try_send(uv_udp_t* handle, return bytes; } + + +int uv__udp_try_send2(uv_udp_t* handle, + unsigned int count, + uv_buf_t* bufs[/*count*/], + unsigned int nbufs[/*count*/], + struct sockaddr* addrs[/*count*/]) { + unsigned int i; + int r; + + for (i = 0; i < count; i++) { + r = uv_udp_try_send(handle, bufs[i], nbufs[i], addrs[i]); + if (r < 0) + return i > 0 ? i : r; /* Error if first packet, else send count. */ + } + + return i; +} diff --git a/deps/uv/src/win/util.c b/deps/uv/src/win/util.c index e0dba1aaa94e28..1d1b2837e1a190 100644 --- a/deps/uv/src/win/util.c +++ b/deps/uv/src/win/util.c @@ -191,7 +191,7 @@ int uv_cwd(char* buffer, size_t* size) { WCHAR *utf16_buffer; int r; - if (buffer == NULL || size == NULL) { + if (buffer == NULL || size == NULL || *size == 0) { return UV_EINVAL; } @@ -874,56 +874,100 @@ void uv_free_interface_addresses(uv_interface_address_t* addresses, int uv_getrusage(uv_rusage_t *uv_rusage) { - FILETIME createTime, exitTime, kernelTime, userTime; - SYSTEMTIME kernelSystemTime, userSystemTime; - PROCESS_MEMORY_COUNTERS memCounters; - IO_COUNTERS ioCounters; + FILETIME create_time, exit_time, kernel_time, user_time; + SYSTEMTIME kernel_system_time, user_system_time; + PROCESS_MEMORY_COUNTERS mem_counters; + IO_COUNTERS io_counters; int ret; - ret = GetProcessTimes(GetCurrentProcess(), &createTime, &exitTime, &kernelTime, &userTime); + ret = GetProcessTimes(GetCurrentProcess(), + &create_time, + &exit_time, + &kernel_time, + &user_time); if (ret == 0) { return uv_translate_sys_error(GetLastError()); } - ret = FileTimeToSystemTime(&kernelTime, &kernelSystemTime); + ret = FileTimeToSystemTime(&kernel_time, &kernel_system_time); if (ret == 0) { return uv_translate_sys_error(GetLastError()); } - ret = FileTimeToSystemTime(&userTime, &userSystemTime); + ret = FileTimeToSystemTime(&user_time, &user_system_time); if (ret == 0) { return uv_translate_sys_error(GetLastError()); } ret = GetProcessMemoryInfo(GetCurrentProcess(), - &memCounters, - sizeof(memCounters)); + &mem_counters, + sizeof(mem_counters)); if (ret == 0) { return uv_translate_sys_error(GetLastError()); } - ret = GetProcessIoCounters(GetCurrentProcess(), &ioCounters); + ret = GetProcessIoCounters(GetCurrentProcess(), &io_counters); if (ret == 0) { return uv_translate_sys_error(GetLastError()); } memset(uv_rusage, 0, sizeof(*uv_rusage)); - uv_rusage->ru_utime.tv_sec = userSystemTime.wHour * 3600 + - userSystemTime.wMinute * 60 + - userSystemTime.wSecond; - uv_rusage->ru_utime.tv_usec = userSystemTime.wMilliseconds * 1000; + uv_rusage->ru_utime.tv_sec = user_system_time.wHour * 3600 + + user_system_time.wMinute * 60 + + user_system_time.wSecond; + uv_rusage->ru_utime.tv_usec = user_system_time.wMilliseconds * 1000; - uv_rusage->ru_stime.tv_sec = kernelSystemTime.wHour * 3600 + - kernelSystemTime.wMinute * 60 + - kernelSystemTime.wSecond; - uv_rusage->ru_stime.tv_usec = kernelSystemTime.wMilliseconds * 1000; + uv_rusage->ru_stime.tv_sec = kernel_system_time.wHour * 3600 + + kernel_system_time.wMinute * 60 + + kernel_system_time.wSecond; + uv_rusage->ru_stime.tv_usec = kernel_system_time.wMilliseconds * 1000; - uv_rusage->ru_majflt = (uint64_t) memCounters.PageFaultCount; - uv_rusage->ru_maxrss = (uint64_t) memCounters.PeakWorkingSetSize / 1024; + uv_rusage->ru_majflt = (uint64_t) mem_counters.PageFaultCount; + uv_rusage->ru_maxrss = (uint64_t) mem_counters.PeakWorkingSetSize / 1024; - uv_rusage->ru_oublock = (uint64_t) ioCounters.WriteOperationCount; - uv_rusage->ru_inblock = (uint64_t) ioCounters.ReadOperationCount; + uv_rusage->ru_oublock = (uint64_t) io_counters.WriteOperationCount; + uv_rusage->ru_inblock = (uint64_t) io_counters.ReadOperationCount; + + return 0; +} + + +int uv_getrusage_thread(uv_rusage_t* uv_rusage) { + FILETIME create_time, exit_time, kernel_time, user_time; + SYSTEMTIME kernel_system_time, user_system_time; + int ret; + + ret = GetThreadTimes(GetCurrentThread(), + &create_time, + &exit_time, + &kernel_time, + &user_time); + if (ret == 0) { + return uv_translate_sys_error(GetLastError()); + } + + ret = FileTimeToSystemTime(&kernel_time, &kernel_system_time); + if (ret == 0) { + return uv_translate_sys_error(GetLastError()); + } + + ret = FileTimeToSystemTime(&user_time, &user_system_time); + if (ret == 0) { + return uv_translate_sys_error(GetLastError()); + } + + memset(uv_rusage, 0, sizeof(*uv_rusage)); + + uv_rusage->ru_utime.tv_sec = user_system_time.wHour * 3600 + + user_system_time.wMinute * 60 + + user_system_time.wSecond; + uv_rusage->ru_utime.tv_usec = user_system_time.wMilliseconds * 1000; + + uv_rusage->ru_stime.tv_sec = kernel_system_time.wHour * 3600 + + kernel_system_time.wMinute * 60 + + kernel_system_time.wSecond; + uv_rusage->ru_stime.tv_usec = kernel_system_time.wMilliseconds * 1000; return 0; } @@ -1589,7 +1633,7 @@ int uv_os_uname(uv_utsname_t* buffer) { version_size = sizeof(buffer->version) - version_size; r = uv__copy_utf16_to_utf8(os_info.szCSDVersion, -1, - buffer->version + + buffer->version + sizeof(buffer->version) - version_size, &version_size); if (r) diff --git a/deps/uv/src/win/winapi.c b/deps/uv/src/win/winapi.c index a74108db03e701..315a0d49aff50b 100644 --- a/deps/uv/src/win/winapi.c +++ b/deps/uv/src/win/winapi.c @@ -36,9 +36,6 @@ sNtQueryDirectoryFile pNtQueryDirectoryFile; sNtQuerySystemInformation pNtQuerySystemInformation; sNtQueryInformationProcess pNtQueryInformationProcess; -/* Kernel32 function pointers */ -sGetQueuedCompletionStatusEx pGetQueuedCompletionStatusEx; - /* Powrprof.dll function pointer */ sPowerRegisterSuspendResumeNotification pPowerRegisterSuspendResumeNotification; @@ -55,7 +52,6 @@ void uv__winapi_init(void) { HMODULE ntdll_module; HMODULE powrprof_module; HMODULE user32_module; - HMODULE kernel32_module; HMODULE ws2_32_module; HMODULE api_win_core_file_module; @@ -121,15 +117,6 @@ void uv__winapi_init(void) { uv_fatal_error(GetLastError(), "GetProcAddress"); } - kernel32_module = GetModuleHandleA("kernel32.dll"); - if (kernel32_module == NULL) { - uv_fatal_error(GetLastError(), "GetModuleHandleA"); - } - - pGetQueuedCompletionStatusEx = (sGetQueuedCompletionStatusEx) GetProcAddress( - kernel32_module, - "GetQueuedCompletionStatusEx"); - powrprof_module = LoadLibraryExA("powrprof.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); if (powrprof_module != NULL) { pPowerRegisterSuspendResumeNotification = (sPowerRegisterSuspendResumeNotification) diff --git a/deps/uv/src/win/winapi.h b/deps/uv/src/win/winapi.h index 5800e70dfd7d11..4e0ccc61baf225 100644 --- a/deps/uv/src/win/winapi.h +++ b/deps/uv/src/win/winapi.h @@ -4150,40 +4150,35 @@ typedef struct _FILE_STAT_BASIC_INFORMATION { } FILE_STAT_BASIC_INFORMATION; #endif -/* MinGW already has a definition for REPARSE_DATA_BUFFER, but mingw-w64 does - * not. - */ -#if defined(_MSC_VER) || defined(__MINGW64_VERSION_MAJOR) - typedef struct _REPARSE_DATA_BUFFER { - ULONG ReparseTag; - USHORT ReparseDataLength; - USHORT Reserved; - union { - struct { - USHORT SubstituteNameOffset; - USHORT SubstituteNameLength; - USHORT PrintNameOffset; - USHORT PrintNameLength; - ULONG Flags; - WCHAR PathBuffer[1]; - } SymbolicLinkReparseBuffer; - struct { - USHORT SubstituteNameOffset; - USHORT SubstituteNameLength; - USHORT PrintNameOffset; - USHORT PrintNameLength; - WCHAR PathBuffer[1]; - } MountPointReparseBuffer; - struct { - UCHAR DataBuffer[1]; - } GenericReparseBuffer; - struct { - ULONG StringCount; - WCHAR StringList[1]; - } AppExecLinkReparseBuffer; - }; - } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; -#endif +typedef struct _REPARSE_DATA_BUFFER { + ULONG ReparseTag; + USHORT ReparseDataLength; + USHORT Reserved; + union { + struct { + USHORT SubstituteNameOffset; + USHORT SubstituteNameLength; + USHORT PrintNameOffset; + USHORT PrintNameLength; + ULONG Flags; + WCHAR PathBuffer[1]; + } SymbolicLinkReparseBuffer; + struct { + USHORT SubstituteNameOffset; + USHORT SubstituteNameLength; + USHORT PrintNameOffset; + USHORT PrintNameLength; + WCHAR PathBuffer[1]; + } MountPointReparseBuffer; + struct { + UCHAR DataBuffer[1]; + } GenericReparseBuffer; + struct { + ULONG StringCount; + WCHAR StringList[1]; + } AppExecLinkReparseBuffer; + }; +} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; typedef struct _IO_STATUS_BLOCK { union { @@ -4292,6 +4287,22 @@ typedef struct _FILE_BOTH_DIR_INFORMATION { WCHAR FileName[1]; } FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION; +typedef struct _FILE_ID_FULL_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + LARGE_INTEGER FileId; + WCHAR FileName[1]; +} FILE_ID_FULL_DIR_INFORMATION, *PFILE_ID_FULL_DIR_INFORMATION; + typedef struct _FILE_BASIC_INFORMATION { LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; @@ -4661,15 +4672,6 @@ typedef NTSTATUS (NTAPI *sNtQueryInformationProcess) # define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1 #endif -#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) - typedef struct _OVERLAPPED_ENTRY { - ULONG_PTR lpCompletionKey; - LPOVERLAPPED lpOverlapped; - ULONG_PTR Internal; - DWORD dwNumberOfBytesTransferred; - } OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY; -#endif - /* from wincon.h */ #ifndef ENABLE_INSERT_MODE # define ENABLE_INSERT_MODE 0x20 @@ -4716,14 +4718,6 @@ typedef NTSTATUS (NTAPI *sNtQueryInformationProcess) # define ERROR_MUI_FILE_NOT_LOADED 15105 #endif -typedef BOOL (WINAPI *sGetQueuedCompletionStatusEx) - (HANDLE CompletionPort, - LPOVERLAPPED_ENTRY lpCompletionPortEntries, - ULONG ulCount, - PULONG ulNumEntriesRemoved, - DWORD dwMilliseconds, - BOOL fAlertable); - /* from powerbase.h */ #ifndef DEVICE_NOTIFY_CALLBACK # define DEVICE_NOTIFY_CALLBACK 2 @@ -4818,9 +4812,6 @@ extern sNtQueryDirectoryFile pNtQueryDirectoryFile; extern sNtQuerySystemInformation pNtQuerySystemInformation; extern sNtQueryInformationProcess pNtQueryInformationProcess; -/* Kernel32 function pointers */ -extern sGetQueuedCompletionStatusEx pGetQueuedCompletionStatusEx; - /* Powrprof.dll function pointer */ extern sPowerRegisterSuspendResumeNotification pPowerRegisterSuspendResumeNotification; @@ -4837,4 +4828,13 @@ typedef int (WINAPI *uv_sGetHostNameW) int); extern uv_sGetHostNameW pGetHostNameW; +/* processthreadsapi.h */ +#if defined(__MINGW32__) +WINBASEAPI +HRESULT WINAPI GetThreadDescription(HANDLE hThread, + PWSTR *ppszThreadDescription); +WINBASEAPI +HRESULT WINAPI SetThreadDescription(HANDLE hThread, PCWSTR lpThreadDescription); +#endif + #endif /* UV_WIN_WINAPI_H_ */ diff --git a/deps/uv/src/win/winsock.h b/deps/uv/src/win/winsock.h index 2af958870a7de6..bb3808a35c27e6 100644 --- a/deps/uv/src/win/winsock.h +++ b/deps/uv/src/win/winsock.h @@ -154,47 +154,6 @@ typedef struct _AFD_RECV_INFO { #define IOCTL_AFD_POLL \ _AFD_CONTROL_CODE(AFD_POLL, METHOD_BUFFERED) -#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) -typedef struct _IP_ADAPTER_UNICAST_ADDRESS_XP { - /* FIXME: __C89_NAMELESS was removed */ - /* __C89_NAMELESS */ union { - ULONGLONG Alignment; - /* __C89_NAMELESS */ struct { - ULONG Length; - DWORD Flags; - }; - }; - struct _IP_ADAPTER_UNICAST_ADDRESS_XP *Next; - SOCKET_ADDRESS Address; - IP_PREFIX_ORIGIN PrefixOrigin; - IP_SUFFIX_ORIGIN SuffixOrigin; - IP_DAD_STATE DadState; - ULONG ValidLifetime; - ULONG PreferredLifetime; - ULONG LeaseLifetime; -} IP_ADAPTER_UNICAST_ADDRESS_XP,*PIP_ADAPTER_UNICAST_ADDRESS_XP; - -typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH { - union { - ULONGLONG Alignment; - struct { - ULONG Length; - DWORD Flags; - }; - }; - struct _IP_ADAPTER_UNICAST_ADDRESS_LH *Next; - SOCKET_ADDRESS Address; - IP_PREFIX_ORIGIN PrefixOrigin; - IP_SUFFIX_ORIGIN SuffixOrigin; - IP_DAD_STATE DadState; - ULONG ValidLifetime; - ULONG PreferredLifetime; - ULONG LeaseLifetime; - UINT8 OnLinkPrefixLength; -} IP_ADAPTER_UNICAST_ADDRESS_LH,*PIP_ADAPTER_UNICAST_ADDRESS_LH; - -#endif - int uv__convert_to_localhost_if_unspecified(const struct sockaddr* addr, struct sockaddr_storage* storage); diff --git a/deps/uv/test/runner.c b/deps/uv/test/runner.c index d1dd02f5ce0806..54abb39dd22886 100644 --- a/deps/uv/test/runner.c +++ b/deps/uv/test/runner.c @@ -27,6 +27,11 @@ #include "task.h" #include "uv.h" +/* Refs: https://github.com/libuv/libuv/issues/4369 */ +#if defined(__ANDROID__) +#include <android/fdsan.h> +#endif + char executable_path[sizeof(executable_path)]; @@ -142,6 +147,13 @@ void log_tap_result(int test_count, fflush(stdout); } +void enable_fdsan(void) { +/* Refs: https://github.com/libuv/libuv/issues/4369 */ +#if defined(__ANDROID__) + android_fdsan_set_error_level(ANDROID_FDSAN_ERROR_LEVEL_WARN_ALWAYS); +#endif +} + int run_test(const char* test, int benchmark_output, @@ -160,6 +172,8 @@ int run_test(const char* test, main_proc = NULL; process_count = 0; + enable_fdsan(); + #ifndef _WIN32 /* Clean up stale socket from previous run. */ remove(TEST_PIPENAME); diff --git a/deps/uv/test/test-fs-event.c b/deps/uv/test/test-fs-event.c index bb223a5f654c03..b53057dc25bb22 100644 --- a/deps/uv/test/test-fs-event.c +++ b/deps/uv/test/test-fs-event.c @@ -153,7 +153,14 @@ static void fs_event_cb_del_dir(uv_fs_event_t* handle, ASSERT_PTR_EQ(handle, &fs_event); ASSERT_OK(status); ASSERT(events == UV_CHANGE || events == UV_RENAME); + /* There is a bug in the FreeBSD kernel where the filename is sometimes NULL. + * Refs: https://github.com/libuv/libuv/issues/4606 + */ + #if defined(__FreeBSD__) + ASSERT(filename == NULL || strcmp(filename, "watch_del_dir") == 0); + #else ASSERT_OK(strcmp(filename, "watch_del_dir")); + #endif ASSERT_OK(uv_fs_event_stop(handle)); uv_close((uv_handle_t*)handle, close_cb); } @@ -1121,7 +1128,7 @@ TEST_IMPL(fs_event_getpath) { ASSERT_EQ(r, UV_EINVAL); r = uv_fs_event_start(&fs_event, fail_cb, watch_dir[i], 0); ASSERT_OK(r); - len = 0; + len = 1; r = uv_fs_event_getpath(&fs_event, buf, &len); ASSERT_EQ(r, UV_ENOBUFS); ASSERT_LT(len, sizeof buf); /* sanity check */ diff --git a/deps/uv/test/test-fs.c b/deps/uv/test/test-fs.c index 33cbd428707c36..423d72dd2f7b84 100644 --- a/deps/uv/test/test-fs.c +++ b/deps/uv/test/test-fs.c @@ -4507,6 +4507,60 @@ TEST_IMPL(fs_open_readonly_acl) { MAKE_VALGRIND_HAPPY(loop); return 0; } + +TEST_IMPL(fs_stat_no_permission) { + uv_passwd_t pwd; + uv_fs_t req; + int r; + char* filename = "test_file_no_permission.txt"; + + /* Setup - clear the ACL and remove the file */ + loop = uv_default_loop(); + r = uv_os_get_passwd(&pwd); + ASSERT_OK(r); + call_icacls("icacls %s /remove *S-1-1-0:(F)", filename); + unlink(filename); + + /* Create the file */ + r = uv_fs_open(loop, + &open_req1, + filename, + UV_FS_O_RDONLY | UV_FS_O_CREAT, + S_IRUSR, + NULL); + ASSERT_GE(r, 0); + ASSERT_GE(open_req1.result, 0); + uv_fs_req_cleanup(&open_req1); + r = uv_fs_close(NULL, &close_req, open_req1.result, NULL); + ASSERT_OK(r); + ASSERT_OK(close_req.result); + uv_fs_req_cleanup(&close_req); + + /* Set up ACL */ + r = call_icacls("icacls %s /deny *S-1-1-0:(F)", filename); + if (r != 0) { + goto acl_cleanup; + } + + /* Read file stats */ + r = uv_fs_stat(NULL, &req, filename, NULL); + if (r != 0) { + goto acl_cleanup; + } + + uv_fs_req_cleanup(&req); + + acl_cleanup: + /* Cleanup */ + call_icacls("icacls %s /reset", filename); + uv_fs_unlink(NULL, &unlink_req, filename, NULL); + uv_fs_req_cleanup(&unlink_req); + unlink(filename); + uv_os_free_passwd(&pwd); + ASSERT_OK(r); + MAKE_VALGRIND_HAPPY(loop); + return 0; +} #endif #ifdef _WIN32 diff --git a/deps/uv/test/test-idna.c b/deps/uv/test/test-idna.c index 28f9eaaae9e77a..46df9f3c581015 100644 --- a/deps/uv/test/test-idna.c +++ b/deps/uv/test/test-idna.c @@ -39,7 +39,7 @@ TEST_IMPL(utf8_decode1) { /* Two-byte sequences. */ p = b; - snprintf(b, sizeof(b), "\xC2\x80\xDF\xBF"); + snprintf(b, sizeof(b), "%s", "\xC2\x80\xDF\xBF"); ASSERT_EQ(128, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 2); ASSERT_EQ(0x7FF, uv__utf8_decode1(&p, b + sizeof(b))); @@ -47,7 +47,7 @@ TEST_IMPL(utf8_decode1) { /* Three-byte sequences. */ p = b; - snprintf(b, sizeof(b), "\xE0\xA0\x80\xEF\xBF\xBF"); + snprintf(b, sizeof(b), "%s", "\xE0\xA0\x80\xEF\xBF\xBF"); ASSERT_EQ(0x800, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 3); ASSERT_EQ(0xFFFF, uv__utf8_decode1(&p, b + sizeof(b))); @@ -55,7 +55,7 @@ TEST_IMPL(utf8_decode1) { /* Four-byte sequences. */ p = b; - snprintf(b, sizeof(b), "\xF0\x90\x80\x80\xF4\x8F\xBF\xBF"); + snprintf(b, sizeof(b), "%s", "\xF0\x90\x80\x80\xF4\x8F\xBF\xBF"); ASSERT_EQ(0x10000, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 4); ASSERT_EQ(0x10FFFF, uv__utf8_decode1(&p, b + sizeof(b))); @@ -63,7 +63,7 @@ TEST_IMPL(utf8_decode1) { /* Four-byte sequences > U+10FFFF; disallowed. */ p = b; - snprintf(b, sizeof(b), "\xF4\x90\xC0\xC0\xF7\xBF\xBF\xBF"); + snprintf(b, sizeof(b), "%s", "\xF4\x90\xC0\xC0\xF7\xBF\xBF\xBF"); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 4); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); @@ -71,7 +71,7 @@ TEST_IMPL(utf8_decode1) { /* Overlong; disallowed. */ p = b; - snprintf(b, sizeof(b), "\xC0\x80\xC1\x80"); + snprintf(b, sizeof(b), "%s", "\xC0\x80\xC1\x80"); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 2); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); @@ -79,7 +79,7 @@ TEST_IMPL(utf8_decode1) { /* Surrogate pairs; disallowed. */ p = b; - snprintf(b, sizeof(b), "\xED\xA0\x80\xED\xA3\xBF"); + snprintf(b, sizeof(b), "%s", "\xED\xA0\x80\xED\xA3\xBF"); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); ASSERT_PTR_EQ(p, b + 3); ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); @@ -87,7 +87,7 @@ TEST_IMPL(utf8_decode1) { /* Simply illegal. */ p = b; - snprintf(b, sizeof(b), "\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"); + snprintf(b, sizeof(b), "%s", "\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"); for (i = 1; i <= 8; i++) { ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + sizeof(b))); @@ -218,3 +218,15 @@ TEST_IMPL(idna_toascii) { #undef T #endif /* __MVS__ */ + +TEST_IMPL(wtf8) { + static const char input[] = "ᜄȺy𐞲:𞢢𘴇𐀀'¥3̞[<i$"; + uint16_t buf[32]; + ssize_t len; + + len = uv_wtf8_length_as_utf16(input); + ASSERT_GT(len, 0); + ASSERT_LT(len, ARRAY_SIZE(buf)); + uv_wtf8_to_utf16(input, buf, len); + return 0; +} diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h index e07bd61ecf73c1..c6651299c12c8d 100644 --- a/deps/uv/test/test-list.h +++ b/deps/uv/test/test-list.h @@ -466,6 +466,7 @@ TEST_DECLARE (threadpool_cancel_work) TEST_DECLARE (threadpool_cancel_fs) TEST_DECLARE (threadpool_cancel_single) TEST_DECLARE (threadpool_cancel_when_busy) +TEST_DECLARE (thread_detach) TEST_DECLARE (thread_local_storage) TEST_DECLARE (thread_stack_size) TEST_DECLARE (thread_stack_size_explicit) @@ -477,6 +478,8 @@ TEST_DECLARE (thread_create) TEST_DECLARE (thread_equal) TEST_DECLARE (thread_affinity) TEST_DECLARE (thread_priority) +TEST_DECLARE (thread_name) +TEST_DECLARE (thread_name_threadpool) TEST_DECLARE (dlerror) #if (defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))) && \ !defined(__sun) @@ -512,6 +515,7 @@ TEST_DECLARE (environment_creation) TEST_DECLARE (listen_with_simultaneous_accepts) TEST_DECLARE (listen_no_simultaneous_accepts) TEST_DECLARE (fs_stat_root) +TEST_DECLARE (fs_stat_no_permission) TEST_DECLARE (spawn_with_an_odd_path) TEST_DECLARE (spawn_no_path) TEST_DECLARE (spawn_no_ext) @@ -572,6 +576,7 @@ TEST_DECLARE (fork_threadpool_queue_work_simple) TEST_DECLARE (iouring_pollhup) +TEST_DECLARE (wtf8) TEST_DECLARE (idna_toascii) TEST_DECLARE (utf8_decode1) TEST_DECLARE (utf8_decode1_overrun) @@ -1040,6 +1045,7 @@ TASK_LIST_START TEST_ENTRY (listen_with_simultaneous_accepts) TEST_ENTRY (listen_no_simultaneous_accepts) TEST_ENTRY (fs_stat_root) + TEST_ENTRY (fs_stat_no_permission) TEST_ENTRY (spawn_with_an_odd_path) TEST_ENTRY (spawn_no_path) TEST_ENTRY (spawn_no_ext) @@ -1179,6 +1185,7 @@ TASK_LIST_START TEST_ENTRY (threadpool_cancel_fs) TEST_ENTRY (threadpool_cancel_single) TEST_ENTRY (threadpool_cancel_when_busy) + TEST_ENTRY (thread_detach) TEST_ENTRY (thread_local_storage) TEST_ENTRY (thread_stack_size) TEST_ENTRY (thread_stack_size_explicit) @@ -1190,6 +1197,8 @@ TASK_LIST_START TEST_ENTRY (thread_equal) TEST_ENTRY (thread_affinity) TEST_ENTRY (thread_priority) + TEST_ENTRY (thread_name) + TEST_ENTRY (thread_name_threadpool) TEST_ENTRY (dlerror) TEST_ENTRY (ip4_addr) TEST_ENTRY (ip6_addr_link_local) @@ -1223,6 +1232,7 @@ TASK_LIST_START TEST_ENTRY (iouring_pollhup) + TEST_ENTRY (wtf8) TEST_ENTRY (utf8_decode1) TEST_ENTRY (utf8_decode1_overrun) TEST_ENTRY (uname) diff --git a/deps/uv/test/test-pipe-getsockname.c b/deps/uv/test/test-pipe-getsockname.c index 34b572343c698a..cc345ccd86426c 100644 --- a/deps/uv/test/test-pipe-getsockname.c +++ b/deps/uv/test/test-pipe-getsockname.c @@ -154,6 +154,15 @@ TEST_IMPL(pipe_getsockname) { ASSERT_STR_EQ(pipe_server.pipe_fname, TEST_PIPENAME); #endif + r = uv_pipe_getsockname(&pipe_server, NULL, &len); + ASSERT_EQ(r, UV_EINVAL); + + r = uv_pipe_getsockname(&pipe_server, buf, NULL); + ASSERT_EQ(r, UV_EINVAL); + + r = uv_pipe_getsockname(&pipe_server, NULL, NULL); + ASSERT_EQ(r, UV_EINVAL); + len = sizeof(TEST_PIPENAME) - 1; ASSERT_EQ(UV_ENOBUFS, uv_pipe_getsockname(&pipe_server, buf, &len)); diff --git a/deps/uv/test/test-platform-output.c b/deps/uv/test/test-platform-output.c index 4e5300da037399..d9b39c744ff16d 100644 --- a/deps/uv/test/test-platform-output.c +++ b/deps/uv/test/test-platform-output.c @@ -236,5 +236,21 @@ TEST_IMPL(platform_output) { printf(" version: %s\n", uname.version); printf(" machine: %s\n", uname.machine); + ASSERT_OK(uv_getrusage_thread(&rusage)); + ASSERT_UINT64_GE(rusage.ru_utime.tv_sec, 0); + ASSERT_UINT64_GE(rusage.ru_utime.tv_usec, 0); + ASSERT_UINT64_GE(rusage.ru_stime.tv_sec, 0); + ASSERT_UINT64_GE(rusage.ru_stime.tv_usec, 0); + printf("uv_getrusage_thread:\n"); + printf(" user: %llu sec %llu microsec\n", + (unsigned long long) rusage.ru_utime.tv_sec, + (unsigned long long) rusage.ru_utime.tv_usec); + printf(" system: %llu sec %llu microsec\n", + (unsigned long long) rusage.ru_stime.tv_sec, + (unsigned long long) rusage.ru_stime.tv_usec); + printf(" page faults: %llu\n", (unsigned long long) rusage.ru_majflt); + printf(" maximum resident set size: %llu\n", + (unsigned long long) rusage.ru_maxrss); + return 0; } diff --git a/deps/uv/test/test-spawn.c b/deps/uv/test/test-spawn.c index efbb2395ff8b2b..964c8a86c76eb6 100644 --- a/deps/uv/test/test-spawn.c +++ b/deps/uv/test/test-spawn.c @@ -1329,9 +1329,7 @@ TEST_IMPL(environment_creation) { } } if (prev) { /* verify sort order */ -#if !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR) ASSERT_EQ(1, CompareStringOrdinal(prev, -1, str, -1, TRUE)); -#endif } ASSERT(found); /* verify that we expected this variable */ } @@ -1524,7 +1522,7 @@ TEST_IMPL(spawn_setuid_fails) { init_process_options("spawn_helper1", fail_cb); options.flags |= UV_PROCESS_SETUID; - /* On IBMi PASE, there is no root user. User may grant + /* On IBMi PASE, there is no root user. User may grant * root-like privileges, including setting uid to 0. */ #if defined(__PASE__) @@ -1575,7 +1573,7 @@ TEST_IMPL(spawn_setgid_fails) { init_process_options("spawn_helper1", fail_cb); options.flags |= UV_PROCESS_SETGID; - /* On IBMi PASE, there is no root user. User may grant + /* On IBMi PASE, there is no root user. User may grant * root-like privileges, including setting gid to 0. */ #if defined(__MVS__) || defined(__PASE__) diff --git a/deps/uv/test/test-thread-name.c b/deps/uv/test/test-thread-name.c new file mode 100644 index 00000000000000..378d82cf81bc43 --- /dev/null +++ b/deps/uv/test/test-thread-name.c @@ -0,0 +1,189 @@ +/* Copyright libuv project contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "uv.h" +#include "task.h" +#include "../src/uv-common.h" + +#include <string.h> + +struct semaphores { + uv_sem_t main; + uv_sem_t worker; +}; + +static void thread_run(void* arg) { + int r; + char thread_name[16]; + struct semaphores* sem; + uv_thread_t thread; + + sem = arg; + +#ifdef _WIN32 + /* uv_thread_self isn't defined for the main thread on Windows. */ + thread = GetCurrentThread(); +#else + thread = uv_thread_self(); +#endif + + r = uv_thread_setname("worker-thread"); + ASSERT_OK(r); + + uv_sem_post(&sem->worker); + + r = uv_thread_getname(&thread, thread_name, sizeof(thread_name)); + ASSERT_OK(r); + + ASSERT_STR_EQ(thread_name, "worker-thread"); + + uv_sem_wait(&sem->main); +} + +TEST_IMPL(thread_name) { + int r; + uv_thread_t threads[2]; + char tn[UV_PTHREAD_MAX_NAMELEN_NP]; + char thread_name[UV_PTHREAD_MAX_NAMELEN_NP]; + char long_thread_name[UV_PTHREAD_MAX_NAMELEN_NP + 1]; + struct semaphores sem; + +#if defined(__ANDROID_API__) && __ANDROID_API__ < 26 || \ + defined(_AIX) || \ + defined(__MVS__) || \ + defined(__PASE__) + RETURN_SKIP("API not available on this platform"); +#endif + + ASSERT_OK(uv_sem_init(&sem.main, 0)); + ASSERT_OK(uv_sem_init(&sem.worker, 0)); + + memset(thread_name, 'a', sizeof(thread_name) - 1); + thread_name[sizeof(thread_name) - 1] = '\0'; + + memset(long_thread_name, 'a', sizeof(long_thread_name) - 1); + long_thread_name[sizeof(long_thread_name) - 1] = '\0'; + +#ifdef _WIN32 + /* uv_thread_self isn't defined for the main thread on Windows. */ + threads[0] = GetCurrentThread(); +#else + threads[0] = uv_thread_self(); +#endif + + r = uv_thread_getname(&threads[0], tn, sizeof(tn)); + ASSERT_OK(r); + + r = uv_thread_setname(long_thread_name); + ASSERT_OK(r); + + r = uv_thread_getname(&threads[0], tn, sizeof(tn)); + ASSERT_OK(r); + ASSERT_STR_EQ(tn, thread_name); + + r = uv_thread_setname(thread_name); + ASSERT_OK(r); + + r = uv_thread_getname(&threads[0], tn, sizeof(tn)); + ASSERT_OK(r); + ASSERT_STR_EQ(tn, thread_name); + + r = uv_thread_getname(&threads[0], tn, 3); + ASSERT_OK(r); + ASSERT_EQ(strlen(tn), 2); + ASSERT_OK(memcmp(thread_name, tn, 2)); + + /* Illumos doesn't support non-ASCII thread names. */ +#ifndef __illumos__ + r = uv_thread_setname("~½¬{½"); + ASSERT_OK(r); + + r = uv_thread_getname(&threads[0], tn, sizeof(tn)); + ASSERT_OK(r); + ASSERT_STR_EQ(tn, "~½¬{½"); +#endif + + ASSERT_OK(uv_thread_create(threads + 1, thread_run, &sem)); + + uv_sem_wait(&sem.worker); + + r = uv_thread_getname(threads + 1, tn, sizeof(tn)); + ASSERT_OK(r); + + ASSERT_STR_EQ(tn, "worker-thread"); + + uv_sem_post(&sem.main); + + ASSERT_OK(uv_thread_join(threads + 1)); + + uv_sem_destroy(&sem.main); + uv_sem_destroy(&sem.worker); + + return 0; +} + +#define MAX_THREADS 4 + +static void* executedThreads[MAX_THREADS] = { NULL }; +static int size; +static uv_loop_t* loop; + +static unsigned short int key_exists(void* key) { + size_t i; + for (i = 0; i < MAX_THREADS; i++) { + if (executedThreads[i] == key) { + return 1; + } + } + return 0; +} + +static void work_cb(uv_work_t* req) { + uv_thread_t thread = uv_thread_self(); + req->data = &thread; + char tn[UV_PTHREAD_MAX_NAMELEN_NP]; + ASSERT_OK(uv_thread_getname(&thread, tn, sizeof(tn))); + ASSERT_STR_EQ(tn, "libuv-worker"); +} + +static void after_work_cb(uv_work_t* req, int status) { + ASSERT_OK(status); + if (!key_exists(req->data)) { + executedThreads[size++] = req->data; + } + + if (size == MAX_THREADS) { + return; + } + + uv_queue_work(loop, req, work_cb, after_work_cb); +} + +TEST_IMPL(thread_name_threadpool) { + uv_work_t req; + loop = uv_default_loop(); + // Just to make sure all workers will be executed + // with the correct thread name + ASSERT_OK(uv_queue_work(loop, &req, work_cb, after_work_cb)); + uv_run(loop, UV_RUN_DEFAULT); + MAKE_VALGRIND_HAPPY(uv_default_loop()); + return 0; +} diff --git a/deps/uv/test/test-thread.c b/deps/uv/test/test-thread.c index d0094e304435bb..819bbd5c92399d 100644 --- a/deps/uv/test/test-thread.c +++ b/deps/uv/test/test-thread.c @@ -294,3 +294,13 @@ TEST_IMPL(thread_stack_size_explicit) { return 0; } + +static void thread_detach_cb(void* arg) {} + +TEST_IMPL(thread_detach) { + uv_thread_t thread; + ASSERT_OK(uv_thread_create(&thread, thread_detach_cb, NULL)); + ASSERT_OK(uv_thread_detach(&thread)); + + return 0; +} diff --git a/deps/uv/test/test-udp-mmsg.c b/deps/uv/test/test-udp-mmsg.c index c0e000b9d92bbf..73213c43d97aa2 100644 --- a/deps/uv/test/test-udp-mmsg.c +++ b/deps/uv/test/test-udp-mmsg.c @@ -32,12 +32,12 @@ #define BUFFER_MULTIPLIER 20 #define MAX_DGRAM_SIZE (64 * 1024) #define NUM_SENDS 40 -#define EXPECTED_MMSG_ALLOCS (NUM_SENDS / BUFFER_MULTIPLIER) static uv_udp_t recver; static uv_udp_t sender; static int recv_cb_called; static int received_datagrams; +static int read_bytes; static int close_cb_called; static int alloc_cb_called; @@ -74,6 +74,7 @@ static void recv_cb(uv_udp_t* handle, const struct sockaddr* addr, unsigned flags) { ASSERT_GE(nread, 0); + read_bytes += nread; /* free and return if this is a mmsg free-only callback invocation */ if (flags & UV_UDP_MMSG_FREE) { @@ -140,7 +141,7 @@ TEST_IMPL(udp_mmsg) { /* On platforms that don't support mmsg, each recv gets its own alloc */ if (uv_udp_using_recvmmsg(&recver)) - ASSERT_EQ(alloc_cb_called, EXPECTED_MMSG_ALLOCS); + ASSERT_EQ(read_bytes, NUM_SENDS * 4); /* we're sending 4 bytes per datagram */ else ASSERT_EQ(alloc_cb_called, recv_cb_called); diff --git a/deps/uv/test/test-udp-multicast-join.c b/deps/uv/test/test-udp-multicast-join.c index 9e322dc579fc33..58b055561c6ded 100644 --- a/deps/uv/test/test-udp-multicast-join.c +++ b/deps/uv/test/test-udp-multicast-join.c @@ -36,10 +36,9 @@ static uv_udp_t client; static uv_udp_send_t req; static uv_udp_send_t req_ss; +static int darwin_ebusy_errors; static int cl_recv_cb_called; - static int sv_send_cb_called; - static int close_cb_called; static void alloc_cb(uv_handle_t* handle, @@ -128,6 +127,13 @@ static void cl_recv_cb(uv_udp_t* handle, #if !defined(__NetBSD__) r = uv_udp_set_source_membership(&server, MULTICAST_ADDR, NULL, source_addr, UV_JOIN_GROUP); +#if defined(__APPLE__) + if (r == UV_EBUSY) { + uv_close((uv_handle_t*) &server, close_cb); + darwin_ebusy_errors++; + return; + } +#endif ASSERT_OK(r); #endif @@ -160,7 +166,13 @@ TEST_IMPL(udp_multicast_join) { r = uv_udp_set_membership(&server, MULTICAST_ADDR, NULL, UV_JOIN_GROUP); if (r == UV_ENODEV) RETURN_SKIP("No multicast support."); + if (r == UV_ENOEXEC) + RETURN_SKIP("No multicast support (likely a firewall issue)."); ASSERT_OK(r); +#if defined(__ANDROID__) + /* It returns an ENOSYS error */ + RETURN_SKIP("Test does not currently work in ANDROID"); +#endif r = uv_udp_recv_start(&server, alloc_cb, cl_recv_cb); ASSERT_OK(r); @@ -175,6 +187,9 @@ TEST_IMPL(udp_multicast_join) { /* run the loop till all events are processed */ uv_run(uv_default_loop(), UV_RUN_DEFAULT); + if (darwin_ebusy_errors > 0) + RETURN_SKIP("Unexplained macOS IP_ADD_SOURCE_MEMBERSHIP EBUSY bug"); + ASSERT_EQ(2, cl_recv_cb_called); ASSERT_EQ(2, sv_send_cb_called); ASSERT_EQ(2, close_cb_called); diff --git a/deps/uv/test/test-udp-multicast-join6.c b/deps/uv/test/test-udp-multicast-join6.c index c6872e4283247d..430e4e3321e859 100644 --- a/deps/uv/test/test-udp-multicast-join6.c +++ b/deps/uv/test/test-udp-multicast-join6.c @@ -33,6 +33,7 @@ #if defined(__APPLE__) || \ defined(_AIX) || \ defined(__MVS__) || \ + defined(__FreeBSD__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) #define MULTICAST_ADDR "ff02::1%lo0" diff --git a/deps/uv/test/test-udp-try-send.c b/deps/uv/test/test-udp-try-send.c index 0c76fb1c84df68..6181fbbbffca3b 100644 --- a/deps/uv/test/test-udp-try-send.c +++ b/deps/uv/test/test-udp-try-send.c @@ -60,8 +60,6 @@ static void sv_recv_cb(uv_udp_t* handle, const uv_buf_t* rcvbuf, const struct sockaddr* addr, unsigned flags) { - ASSERT_GT(nread, 0); - if (nread == 0) { ASSERT_NULL(addr); return; @@ -70,11 +68,17 @@ static void sv_recv_cb(uv_udp_t* handle, ASSERT_EQ(4, nread); ASSERT_NOT_NULL(addr); - ASSERT_OK(memcmp("EXIT", rcvbuf->base, nread)); - uv_close((uv_handle_t*) handle, close_cb); - uv_close((uv_handle_t*) &client, close_cb); + if (!memcmp("EXIT", rcvbuf->base, nread)) { + uv_close((uv_handle_t*) handle, close_cb); + uv_close((uv_handle_t*) &client, close_cb); + } else { + ASSERT_MEM_EQ(rcvbuf->base, "HELO", 4); + } sv_recv_cb_called++; + + if (sv_recv_cb_called == 2) + uv_udp_recv_stop(handle); } @@ -101,9 +105,33 @@ TEST_IMPL(udp_try_send) { ASSERT_OK(r); buf = uv_buf_init(buffer, sizeof(buffer)); + + r = uv_udp_try_send(&client, &buf, 0, (const struct sockaddr*) &addr); + ASSERT_EQ(r, UV_EINVAL); + r = uv_udp_try_send(&client, &buf, 1, (const struct sockaddr*) &addr); ASSERT_EQ(r, UV_EMSGSIZE); + uv_buf_t* bufs[] = {&buf, &buf}; + unsigned int nbufs[] = {1, 1}; + struct sockaddr* addrs[] = { + (struct sockaddr*) &addr, + (struct sockaddr*) &addr, + }; + + ASSERT_EQ(0, sv_recv_cb_called); + + buf = uv_buf_init("HELO", 4); + r = uv_udp_try_send2(&client, 2, bufs, nbufs, addrs, /*flags*/0); + ASSERT_EQ(r, 2); + + uv_run(uv_default_loop(), UV_RUN_DEFAULT); + + ASSERT_EQ(2, sv_recv_cb_called); + + r = uv_udp_recv_start(&server, alloc_cb, sv_recv_cb); + ASSERT_OK(r); + buf = uv_buf_init("EXIT", 4); r = uv_udp_try_send(&client, &buf, 1, (const struct sockaddr*) &addr); ASSERT_EQ(4, r); @@ -111,7 +139,7 @@ TEST_IMPL(udp_try_send) { uv_run(uv_default_loop(), UV_RUN_DEFAULT); ASSERT_EQ(2, close_cb_called); - ASSERT_EQ(1, sv_recv_cb_called); + ASSERT_EQ(3, sv_recv_cb_called); ASSERT_OK(client.send_queue_size); ASSERT_OK(server.send_queue_size); diff --git a/deps/uv/unofficial.gni b/deps/uv/unofficial.gni index 7a73f891e3fc32..348d2f0703e47c 100644 --- a/deps/uv/unofficial.gni +++ b/deps/uv/unofficial.gni @@ -7,6 +7,11 @@ template("uv_gn_build") { config("uv_external_config") { include_dirs = [ "include" ] + if (is_clang || !is_win) { + cflags_cc = [ + "-Wno-deprecated-pragma", # for using ENODATA in errno.h + ] + } } config("uv_internal_config") { diff --git a/doc/abi_version_registry.json b/doc/abi_version_registry.json index 203f64354d062a..d41b56e39a3db9 100644 --- a/doc/abi_version_registry.json +++ b/doc/abi_version_registry.json @@ -1,5 +1,6 @@ { "NODE_MODULE_VERSION": [ + { "modules": 133,"runtime": "electron", "variant": "electron", "versions": "35" }, { "modules": 132,"runtime": "electron", "variant": "electron", "versions": "34" }, { "modules": 131,"runtime": "node", "variant": "v8_12.9", "versions": "23.0.0" }, { "modules": 130,"runtime": "electron", "variant": "electron", "versions": "33" }, diff --git a/doc/api/assert.md b/doc/api/assert.md index 444815e0041432..6ee9d2f78fa740 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -804,8 +804,10 @@ are recursively evaluated also by the following rules. * [`Map`][] keys and [`Set`][] items are compared unordered. * Recursion stops when both sides differ or both sides encounter a circular reference. -* [`WeakMap`][] and [`WeakSet`][] comparison does not rely on their values. See - below for further details. +* [`WeakMap`][] and [`WeakSet`][] instances are **not** compared structurally. + They are only equal if they reference the same object. Any comparison between + different `WeakMap` or `WeakSet` instances will result in inequality, + even if they contain the same entries. * [`RegExp`][] lastIndex, flags, and source are always compared, even if these are not enumerable properties. @@ -882,23 +884,41 @@ assert.deepStrictEqual({ [symbol1]: 1 }, { [symbol2]: 1 }); // } const weakMap1 = new WeakMap(); -const weakMap2 = new WeakMap([[{}, {}]]); -const weakMap3 = new WeakMap(); -weakMap3.unequal = true; +const weakMap2 = new WeakMap(); +const obj = {}; +weakMap1.set(obj, 'value'); +weakMap2.set(obj, 'value'); + +// Comparing different instances fails, even with same contents assert.deepStrictEqual(weakMap1, weakMap2); -// OK, because it is impossible to compare the entries +// AssertionError: Values have same structure but are not reference-equal: +// +// WeakMap { +// <items unknown> +// } -// Fails because weakMap3 has a property that weakMap1 does not contain: -assert.deepStrictEqual(weakMap1, weakMap3); -// AssertionError: Expected inputs to be strictly deep-equal: +// Comparing the same instance to itself succeeds +assert.deepStrictEqual(weakMap1, weakMap1); +// OK + +const weakSet1 = new WeakSet(); +const weakSet2 = new WeakSet(); +weakSet1.add(obj); +weakSet2.add(obj); + +// Comparing different instances fails, even with same contents +assert.deepStrictEqual(weakSet1, weakSet2); +// AssertionError: Values have same structure but are not reference-equal: // + actual - expected // -// WeakMap { -// + [items unknown] -// - [items unknown], -// - unequal: true -// } +// WeakSet { +// <items unknown> +// } + +// Comparing the same instance to itself succeeds +assert.deepStrictEqual(weakSet1, weakSet1); +// OK ``` ```cjs @@ -974,23 +994,41 @@ assert.deepStrictEqual({ [symbol1]: 1 }, { [symbol2]: 1 }); // } const weakMap1 = new WeakMap(); -const weakMap2 = new WeakMap([[{}, {}]]); -const weakMap3 = new WeakMap(); -weakMap3.unequal = true; +const weakMap2 = new WeakMap(); +const obj = {}; +weakMap1.set(obj, 'value'); +weakMap2.set(obj, 'value'); + +// Comparing different instances fails, even with same contents assert.deepStrictEqual(weakMap1, weakMap2); -// OK, because it is impossible to compare the entries +// AssertionError: Values have same structure but are not reference-equal: +// +// WeakMap { +// <items unknown> +// } -// Fails because weakMap3 has a property that weakMap1 does not contain: -assert.deepStrictEqual(weakMap1, weakMap3); -// AssertionError: Expected inputs to be strictly deep-equal: +// Comparing the same instance to itself succeeds +assert.deepStrictEqual(weakMap1, weakMap1); +// OK + +const weakSet1 = new WeakSet(); +const weakSet2 = new WeakSet(); +weakSet1.add(obj); +weakSet2.add(obj); + +// Comparing different instances fails, even with same contents +assert.deepStrictEqual(weakSet1, weakSet2); +// AssertionError: Values have same structure but are not reference-equal: // + actual - expected // -// WeakMap { -// + [items unknown] -// - [items unknown], -// - unequal: true -// } +// WeakSet { +// <items unknown> +// } + +// Comparing the same instance to itself succeeds +assert.deepStrictEqual(weakSet1, weakSet1); +// OK ``` If the values are not equal, an [`AssertionError`][] is thrown with a `message` diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 7a9345416e0545..0a9c0e3e326cc3 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -536,7 +536,7 @@ changes: * `options` {Object} * `cwd` {string|URL} Current working directory of the child process. * `detached` {boolean} Prepare child process to run independently of its - parent process. Specific behavior depends on the platform, see + parent process. Specific behavior depends on the platform (see [`options.detached`][]). * `env` {Object} Environment key-value pairs. **Default:** `process.env`. * `execPath` {string} Executable used to create the child process. @@ -688,7 +688,7 @@ changes: * `stdio` {Array|string} Child's stdio configuration (see [`options.stdio`][`stdio`]). * `detached` {boolean} Prepare child process to run independently of - its parent process. Specific behavior depends on the platform, see + its parent process. Specific behavior depends on the platform (see [`options.detached`][]). * `uid` {number} Sets the user identity of the process (see setuid(2)). * `gid` {number} Sets the group identity of the process (see setgid(2)). diff --git a/doc/api/cli.md b/doc/api/cli.md index 82a86bbab7ad48..c603aa71372959 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -174,19 +174,18 @@ node:internal/child_process:388 ^ Error: Access to this API has been restricted at ChildProcess.spawn (node:internal/child_process:388:28) - at Object.spawn (node:child_process:723:9) - at Object.<anonymous> (/home/index.js:3:14) - at Module._compile (node:internal/modules/cjs/loader:1120:14) - at Module._extensions..js (node:internal/modules/cjs/loader:1174:10) - at Module.load (node:internal/modules/cjs/loader:998:32) - at Module._load (node:internal/modules/cjs/loader:839:12) - at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47 { code: 'ERR_ACCESS_DENIED', permission: 'ChildProcess' } ``` +Unlike `child_process.spawn`, the `child_process.fork` API copies the execution +arguments from the parent process. This means that if you start Node.js with the +Permission Model enabled and include the `--allow-child-process` flag, calling +`child_process.fork()` will propagate all Permission Model flags to the child +process. + ### `--allow-fs-read` <!-- YAML @@ -574,6 +573,17 @@ Disable the `Object.prototype.__proto__` property. If `mode` is `delete`, the property is removed entirely. If `mode` is `throw`, accesses to the property throw an exception with the code `ERR_PROTO_ACCESS`. +### `--disable-sigusr1` + +<!-- YAML +added: v23.7.0 +--> + +> Stability: 1.2 - Release candidate + +Disable the ability of starting a debugging session by sending a +`SIGUSR1` signal to the process. + ### `--disable-warning=code-or-type` > Stability: 1.1 - Active development @@ -943,6 +953,10 @@ Previously gated the entire `import.meta.resolve` feature. <!-- YAML added: v8.8.0 changes: + - version: v23.6.1 + pr-url: https://github.com/nodejs-private/node-private/pull/629 + description: Using this feature with the permission model enabled requires + passing `--allow-worker`. - version: v12.11.1 pr-url: https://github.com/nodejs/node/pull/29752 description: This flag was renamed from `--loader` to @@ -956,6 +970,8 @@ changes: Specify the `module` containing exported [module customization hooks][]. `module` may be any string accepted as an [`import` specifier][]. +This feature requires `--allow-worker` if used with the [Permission Model][]. + ### `--experimental-network-inspection` <!-- YAML @@ -1045,6 +1061,11 @@ report is not generated. See the documentation on added: - v22.3.0 - v20.18.0 +changes: + - version: v23.6.1 + pr-url: https://github.com/nodejs-private/node-private/pull/629 + description: Using this feature with the permission model enabled requires + passing `--allow-worker`. --> > Stability: 1.0 - Early development @@ -1382,7 +1403,8 @@ Node.js will try to detect the syntax with the following steps: 1. Run the input as CommonJS. 2. If step 1 fails, run the input as an ES module. 3. If step 2 fails with a SyntaxError, strip the types. -4. If step 3 fails with an error code [`ERR_INVALID_TYPESCRIPT_SYNTAX`][], +4. If step 3 fails with an error code [`ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX`][] + or [`ERR_INVALID_TYPESCRIPT_SYNTAX`][], throw the error from step 2, including the TypeScript error in the message, else run as CommonJS. 5. If step 4 fails, run the input as an ES module. @@ -1461,6 +1483,7 @@ added: v7.6.0 Set the `host:port` to be used when the inspector is activated. Useful when activating the inspector by sending the `SIGUSR1` signal. +Except when [`--disable-sigusr1`][] is passed. Default host is `127.0.0.1`. If port `0` is specified, a random available port will be used. @@ -3072,6 +3095,7 @@ one is included in the list below. * `--conditions`, `-C` * `--diagnostic-dir` * `--disable-proto` +* `--disable-sigusr1` * `--disable-warning` * `--disable-wasm-trap-handler` * `--dns-result-order` @@ -3350,11 +3374,6 @@ easier to instrument applications that call the `child_process.spawn()` family of functions. `NODE_V8_COVERAGE` can be set to an empty string, to prevent propagation. -### `NO_COLOR=<any>` - -[`NO_COLOR`][] is an alias for `NODE_DISABLE_COLORS`. The value of the -environment variable is arbitrary. - #### Coverage output Coverage is output as an array of [ScriptCoverage][] objects on the top-level @@ -3420,6 +3439,11 @@ and the line lengths of the source file (in the key `lineLengths`). } ``` +### `NO_COLOR=<any>` + +[`NO_COLOR`][] is an alias for `NODE_DISABLE_COLORS`. The value of the +environment variable is arbitrary. + ### `OPENSSL_CONF=file` <!-- YAML @@ -3650,6 +3674,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12 [`--build-snapshot`]: #--build-snapshot [`--cpu-prof-dir`]: #--cpu-prof-dir [`--diagnostic-dir`]: #--diagnostic-dirdirectory +[`--disable-sigusr1`]: #--disable-sigusr1 [`--env-file-if-exists`]: #--env-file-if-existsconfig [`--env-file`]: #--env-fileconfig [`--experimental-addon-modules`]: #--experimental-addon-modules @@ -3667,6 +3692,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12 [`Buffer`]: buffer.md#class-buffer [`CRYPTO_secure_malloc_init`]: https://www.openssl.org/docs/man3.0/man3/CRYPTO_secure_malloc_init.html [`ERR_INVALID_TYPESCRIPT_SYNTAX`]: errors.md#err_invalid_typescript_syntax +[`ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX`]: errors.md#err_unsupported_typescript_syntax [`NODE_OPTIONS`]: #node_optionsoptions [`NO_COLOR`]: https://no-color.org [`SlowBuffer`]: buffer.md#class-slowbuffer diff --git a/doc/api/crypto.md b/doc/api/crypto.md index ecd379f694e441..966ba964ba2efe 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -3934,6 +3934,13 @@ By default, the prime is encoded as a big-endian sequence of octets in an {ArrayBuffer}. If the `bigint` option is `true`, then a {bigint} is provided. +The `size` of the prime will have a direct impact on how long it takes to +generate the prime. The larger the size, the longer it will take. Because +we use OpenSSL's `BN_generate_prime_ex` function, which provides only +minimal control over our ability to interrupt the generation process, +it is not recommended to generate overly large primes, as doing so may make +the process unresponsive. + ### `crypto.generatePrimeSync(size[, options])` <!-- YAML @@ -3975,6 +3982,13 @@ By default, the prime is encoded as a big-endian sequence of octets in an {ArrayBuffer}. If the `bigint` option is `true`, then a {bigint} is provided. +The `size` of the prime will have a direct impact on how long it takes to +generate the prime. The larger the size, the longer it will take. Because +we use OpenSSL's `BN_generate_prime_ex` function, which provides only +minimal control over our ability to interrupt the generation process, +it is not recommended to generate overly large primes, as doing so may make +the process unresponsive. + ### `crypto.getCipherInfo(nameOrNid[, options])` <!-- YAML diff --git a/doc/api/diagnostics_channel.md b/doc/api/diagnostics_channel.md index 6fa1a57f3eeb60..98b11a9c01973f 100644 --- a/doc/api/diagnostics_channel.md +++ b/doc/api/diagnostics_channel.md @@ -1121,6 +1121,43 @@ While the diagnostics\_channel API is now considered stable, the built-in channels currently available are not. Each channel must be declared stable independently. +#### Console + +`console.log` + +* `args` {any\[]} + +Emitted when `console.log()` is called. Receives and array of the arguments +passed to `console.log()`. + +`console.info` + +* `args` {any\[]} + +Emitted when `console.info()` is called. Receives and array of the arguments +passed to `console.info()`. + +`console.debug` + +* `args` {any\[]} + +Emitted when `console.debug()` is called. Receives and array of the arguments +passed to `console.debug()`. + +`console.warn` + +* `args` {any\[]} + +Emitted when `console.warn()` is called. Receives and array of the arguments +passed to `console.warn()`. + +`console.error` + +* `args` {any\[]} + +Emitted when `console.error()` is called. Receives and array of the arguments +passed to `console.error()`. + #### HTTP `http.client.request.created` diff --git a/doc/api/errors.md b/doc/api/errors.md index d59a51329a8bfa..b252f49d2c65cd 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -2093,11 +2093,13 @@ does not consist of exactly two elements. <!-- YAML added: v23.0.0 +changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56610 + description: This error is no longer thrown on valid yet unsupported syntax. --> -The provided TypeScript syntax is not valid or unsupported. -This could happen when using TypeScript syntax that requires -transformation with [type-stripping][]. +The provided TypeScript syntax is not valid. <a id="ERR_INVALID_URI"></a> @@ -2809,25 +2811,6 @@ An unspecified or non-specific system error has occurred within the Node.js process. The error object will have an `err.info` object property with additional details. -<a id="ERR_TAP_LEXER_ERROR"></a> - -### `ERR_TAP_LEXER_ERROR` - -An error representing a failing lexer state. - -<a id="ERR_TAP_PARSER_ERROR"></a> - -### `ERR_TAP_PARSER_ERROR` - -An error representing a failing parser state. Additional information about -the token causing the error is available via the `cause` property. - -<a id="ERR_TAP_VALIDATION_ERROR"></a> - -### `ERR_TAP_VALIDATION_ERROR` - -This error represents a failed TAP validation. - <a id="ERR_TEST_FAILURE"></a> ### `ERR_TEST_FAILURE` @@ -3115,6 +3098,18 @@ try { } ``` +<a id="ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX"></a> + +### `ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX` + +<!-- YAML +added: v23.7.0 +--> + +The provided TypeScript syntax is unsupported. +This could happen when using TypeScript syntax that requires +transformation with [type-stripping][]. + <a id="ERR_USE_AFTER_CLOSE"></a> ### `ERR_USE_AFTER_CLOSE` @@ -3863,6 +3858,25 @@ removed: v10.0.0 Used when an attempt is made to use a readable stream that has not implemented [`readable._read()`][]. +<a id="ERR_TAP_LEXER_ERROR"></a> + +### `ERR_TAP_LEXER_ERROR` + +An error representing a failing lexer state. + +<a id="ERR_TAP_PARSER_ERROR"></a> + +### `ERR_TAP_PARSER_ERROR` + +An error representing a failing parser state. Additional information about +the token causing the error is available via the `cause` property. + +<a id="ERR_TAP_VALIDATION_ERROR"></a> + +### `ERR_TAP_VALIDATION_ERROR` + +This error represents a failed TAP validation. + <a id="ERR_TLS_RENEGOTIATION_FAILED"></a> ### `ERR_TLS_RENEGOTIATION_FAILED` diff --git a/doc/api/fs.md b/doc/api/fs.md index 621731f133c700..36b309a40d9f1e 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -1074,6 +1074,9 @@ behavior is similar to `cp dir1/ dir2/`. <!-- YAML added: v22.0.0 changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56489 + description: Add support for `exclude` option to accept glob patterns. - version: v22.2.0 pr-url: https://github.com/nodejs/node/pull/52837 description: Add support for `withFileTypes` as an option. @@ -1084,7 +1087,8 @@ changes: * `pattern` {string|string\[]} * `options` {Object} * `cwd` {string} current working directory. **Default:** `process.cwd()` - * `exclude` {Function} Function to filter out files/directories. Return + * `exclude` {Function|string\[]} Function to filter out files/directories or a + list of glob patterns to be excluded. If a function is provided, return `true` to exclude the item, `false` to include it. **Default:** `undefined`. * `withFileTypes` {boolean} `true` if the glob should return paths as Dirents, `false` otherwise. **Default:** `false`. @@ -3120,6 +3124,9 @@ descriptor. See [`fs.utimes()`][]. <!-- YAML added: v22.0.0 changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56489 + description: Add support for `exclude` option to accept glob patterns. - version: v22.2.0 pr-url: https://github.com/nodejs/node/pull/52837 description: Add support for `withFileTypes` as an option. @@ -3131,7 +3138,8 @@ changes: * `options` {Object} * `cwd` {string} current working directory. **Default:** `process.cwd()` - * `exclude` {Function} Function to filter out files/directories. Return + * `exclude` {Function|string\[]} Function to filter out files/directories or a + list of glob patterns to be excluded. If a function is provided, return `true` to exclude the item, `false` to include it. **Default:** `undefined`. * `withFileTypes` {boolean} `true` if the glob should return paths as Dirents, `false` otherwise. **Default:** `false`. @@ -5656,6 +5664,9 @@ Synchronous version of [`fs.futimes()`][]. Returns `undefined`. <!-- YAML added: v22.0.0 changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56489 + description: Add support for `exclude` option to accept glob patterns. - version: v22.2.0 pr-url: https://github.com/nodejs/node/pull/52837 description: Add support for `withFileTypes` as an option. @@ -5666,7 +5677,8 @@ changes: * `pattern` {string|string\[]} * `options` {Object} * `cwd` {string} current working directory. **Default:** `process.cwd()` - * `exclude` {Function} Function to filter out files/directories. Return + * `exclude` {Function|string\[]} Function to filter out files/directories or a + list of glob patterns to be excluded. If a function is provided, return `true` to exclude the item, `false` to include it. **Default:** `undefined`. * `withFileTypes` {boolean} `true` if the glob should return paths as Dirents, `false` otherwise. **Default:** `false`. diff --git a/doc/api/module.md b/doc/api/module.md index faa8e3d030ddd9..7f9137a25f068e 100644 --- a/doc/api/module.md +++ b/doc/api/module.md @@ -177,6 +177,10 @@ added: - v20.6.0 - v18.19.0 changes: + - version: v23.6.1 + pr-url: https://github.com/nodejs-private/node-private/pull/629 + description: Using this feature with the permission model enabled requires + passing `--allow-worker`. - version: - v20.8.0 - v18.19.0 @@ -205,6 +209,8 @@ changes: Register a module that exports [hooks][] that customize Node.js module resolution and loading behavior. See [Customization hooks][]. +This feature requires `--allow-worker` if used with the [Permission Model][]. + ### `module.registerHooks(options)` <!-- YAML @@ -1033,13 +1039,14 @@ changes: * `nextResolve` {Function} The subsequent `resolve` hook in the chain, or the Node.js default `resolve` hook after the last user-supplied `resolve` hook * `specifier` {string} - * `context` {Object} + * `context` {Object|undefined} When omitted, the defaults are provided. When provided, defaults + are merged in with preference to the provided properties. * Returns: {Object|Promise} The asynchronous version takes either an object containing the following properties, or a `Promise` that will resolve to such an object. The synchronous version only accepts an object returned synchronously. - * `format` {string|null|undefined} A hint to the load hook (it might be - ignored) - `'builtin' | 'commonjs' | 'json' | 'module' | 'wasm'` + * `format` {string|null|undefined} A hint to the `load` hook (it might be ignored). It can be a + module format (such as `'commonjs'` or `'module'`) or an arbitrary value like `'css'` or + `'yaml'`. * `importAttributes` {Object|undefined} The import attributes to use when caching the module (optional; if excluded the input will be used) * `shortCircuit` {undefined|boolean} A signal that this hook intends to @@ -1142,12 +1149,14 @@ changes: * `context` {Object} * `conditions` {string\[]} Export conditions of the relevant `package.json` * `format` {string|null|undefined} The format optionally supplied by the - `resolve` hook chain + `resolve` hook chain. This can be any string value as an input; input values do not need to + conform to the list of acceptable return values described below. * `importAttributes` {Object} * `nextLoad` {Function} The subsequent `load` hook in the chain, or the Node.js default `load` hook after the last user-supplied `load` hook * `url` {string} - * `context` {Object} + * `context` {Object|undefined} When omitted, defaults are provided. When provided, defaults are + merged in with preference to the provided properties. * Returns: {Object|Promise} The asynchronous version takes either an object containing the following properties, or a `Promise` that will resolve to such an object. The synchronous version only accepts an object returned synchronously. @@ -1581,6 +1590,20 @@ import { findSourceMap, SourceMap } from 'node:module'; const { findSourceMap, SourceMap } = require('node:module'); ``` +### `module.getSourceMapsSupport()` + +<!-- YAML +added: v23.7.0 +--> + +* Returns: {Object} + * `enabled` {boolean} If the source maps support is enabled + * `nodeModules` {boolean} If the support is enabled for files in `node_modules`. + * `generatedCode` {boolean} If the support is enabled for generated code from `eval` or `new Function`. + +This method returns whether the [Source Map v3][Source Map] support for stack +traces is enabled. + <!-- Anchors to make sure old links find a target --> <a id="module_module_findsourcemap_path_error"></a> @@ -1600,6 +1623,31 @@ added: `path` is the resolved path for the file for which a corresponding source map should be fetched. +### `module.setSourceMapsSupport(enabled[, options])` + +<!-- YAML +added: v23.7.0 +--> + +* `enabled` {boolean} Enable the source map support. +* `options` {Object} Optional + * `nodeModules` {boolean} If enabling the support for files in + `node_modules`. **Default:** `false`. + * `generatedCode` {boolean} If enabling the support for generated code from + `eval` or `new Function`. **Default:** `false`. + +This function enables or disables the [Source Map v3][Source Map] support for +stack traces. + +It provides same features as launching Node.js process with commandline options +`--enable-source-maps`, with additional options to alter the support for files +in `node_modules` or generated codes. + +Only source maps in JavaScript files that are loaded after source maps has been +enabled will be parsed and loaded. Preferably, use the commandline options +`--enable-source-maps` to avoid losing track of source maps of modules loaded +before this API call. + ### Class: `module.SourceMap` <!-- YAML @@ -1699,6 +1747,8 @@ returned object contains the following keys: [Conditional exports]: packages.md#conditional-exports [Customization hooks]: #customization-hooks [ES Modules]: esm.md +[Permission Model]: permissions.md#permission-model +[Source Map]: https://sourcemaps.info/spec.html [Source map v3 format]: https://sourcemaps.info/spec.html#h.mofvlxcwqzej [V8 JavaScript code coverage]: https://v8project.blogspot.com/2017/12/javascript-code-coverage.html [V8 code cache]: https://v8.dev/blog/code-caching-for-devs diff --git a/doc/api/permissions.md b/doc/api/permissions.md index ea3ccc17b306b7..59c4f7754f8d58 100644 --- a/doc/api/permissions.md +++ b/doc/api/permissions.md @@ -1,5 +1,9 @@ # Permissions +<!--introduced_in=v20.0.0--> + +<!-- source_link=src/permission.cc --> + Permissions can be used to control what system resources the Node.js process has access to or what actions the process can take with those resources. @@ -26,12 +30,16 @@ If you find a potential security vulnerability, please refer to our ### Permission Model -<!-- type=misc --> +<!-- YAML +added: v20.0.0 +changes: + - version: v23.5.0 + pr-url: https://github.com/nodejs/node/pull/56201 + description: This feature is no longer experimental. +--> > Stability: 2 - Stable. -<!-- name=permission-model --> - The Node.js Permission Model is a mechanism for restricting access to specific resources during execution. The API exists behind a flag [`--permission`][] which when enabled, @@ -126,6 +134,43 @@ does not exist, the wildcard will not be added, and access will be limited to yet, make sure to explicitly include the wildcard: `/my-path/folder-do-not-exist/*`. +#### Using the Permission Model with `npx` + +If you're using [`npx`][] to execute a Node.js script, you can enable the +Permission Model by passing the `--node-options` flag. For example: + +```bash +npx --node-options="--permission" package-name +``` + +This sets the `NODE_OPTIONS` environment variable for all Node.js processes +spawned by [`npx`][], without affecting the `npx` process itself. + +**FileSystemRead Error with `npx`** + +The above command will likely throw a `FileSystemRead` invalid access error +because Node.js requires file system read access to locate and execute the +package. To avoid this: + +1. **Using a Globally Installed Package** + Grant read access to the global `node_modules` directory by running: + + ```bash + npx --node-options="--permission --allow-fs-read=$(npm prefix -g)" package-name + ``` + +2. **Using the `npx` Cache** + If you are installing the package temporarily or relying on the `npx` cache, + grant read access to the npm cache directory: + + ```bash + npx --node-options="--permission --allow-fs-read=$(npm config get cache)" package-name + ``` + +Any arguments you would normally pass to `node` (e.g., `--allow-*` flags) can +also be passed through the `--node-options` flag. This flexibility makes it +easy to configure permissions as needed when using `npx`. + #### Permission Model constraints There are constraints you need to know before using this system: @@ -166,4 +211,5 @@ There are constraints you need to know before using this system: [`--allow-wasi`]: cli.md#--allow-wasi [`--allow-worker`]: cli.md#--allow-worker [`--permission`]: cli.md#--permission +[`npx`]: https://docs.npmjs.com/cli/commands/npx [`permission.has()`]: process.md#processpermissionhasscope-reference diff --git a/doc/api/process.md b/doc/api/process.md index 0b61897802b551..5d3a1f2d214c83 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -3006,34 +3006,40 @@ function definitelyAsync(arg, cb) { ### When to use `queueMicrotask()` vs. `process.nextTick()` -The [`queueMicrotask()`][] API is an alternative to `process.nextTick()` that -also defers execution of a function using the same microtask queue used to -execute the then, catch, and finally handlers of resolved promises. Within -Node.js, every time the "next tick queue" is drained, the microtask queue +The [`queueMicrotask()`][] API is an alternative to `process.nextTick()` that instead of using the +"next tick queue" defers execution of a function using the same microtask queue used to execute the +then, catch, and finally handlers of resolved promises. + +Within Node.js, every time the "next tick queue" is drained, the microtask queue is drained immediately after. +So in CJS modules `process.nextTick()` callbacks are always run before `queueMicrotask()` ones. +However since ESM modules are processed already as part of the microtask queue, there +`queueMicrotask()` callbacks are always exectued before `process.nextTick()` ones since Node.js +is already in the process of draining the microtask queue. + ```mjs import { nextTick } from 'node:process'; -Promise.resolve().then(() => console.log(2)); -queueMicrotask(() => console.log(3)); -nextTick(() => console.log(1)); +Promise.resolve().then(() => console.log('resolve')); +queueMicrotask(() => console.log('microtask')); +nextTick(() => console.log('nextTick')); // Output: -// 1 -// 2 -// 3 +// resolve +// microtask +// nextTick ``` ```cjs const { nextTick } = require('node:process'); -Promise.resolve().then(() => console.log(2)); -queueMicrotask(() => console.log(3)); -nextTick(() => console.log(1)); +Promise.resolve().then(() => console.log('resolve')); +queueMicrotask(() => console.log('microtask')); +nextTick(() => console.log('nextTick')); // Output: -// 1 -// 2 -// 3 +// nextTick +// resolve +// microtask ``` For _most_ userland use cases, the `queueMicrotask()` API provides a portable @@ -3234,11 +3240,13 @@ console.log(`The parent process is pid ${ppid}`); added: v23.6.0 --> +> Stability: 1 - Experimental + * `maybeRefable` {any} An object that may be "refable". An object is "refable" if it implements the Node.js "Refable protocol". -Specifically, this means that the object implements the `Symbol.for('node:ref')` -and `Symbol.for('node:unref')` methods. "Ref'd" objects will keep the Node.js +Specifically, this means that the object implements the `Symbol.for('nodejs.ref')` +and `Symbol.for('nodejs.unref')` methods. "Ref'd" objects will keep the Node.js event loop alive, while "unref'd" objects will not. Historically, this was implemented by using `ref()` and `unref()` methods directly on the objects. This pattern, however, is being deprecated in favor of the "Refable protocol" @@ -3979,7 +3987,7 @@ added: - v14.18.0 --> -> Stability: 1 - Experimental +> Stability: 1 - Experimental: Use [`module.setSourceMapsSupport()`][] instead. * `val` {boolean} @@ -3992,6 +4000,9 @@ It provides same features as launching Node.js process with commandline options Only source maps in JavaScript files that are loaded after source maps has been enabled will be parsed and loaded. +This implies calling `module.setSourceMapsSupport()` with an option +`{ nodeModules: true, generatedCode: true }`. + ## `process.setUncaughtExceptionCaptureCallback(fn)` <!-- YAML @@ -4026,7 +4037,7 @@ added: - v18.19.0 --> -> Stability: 1 - Experimental +> Stability: 1 - Experimental: Use [`module.getSourceMapsSupport()`][] instead. * {boolean} @@ -4291,11 +4302,13 @@ In [`Worker`][] threads, `process.umask(mask)` will throw an exception. added: v23.6.0 --> +> Stability: 1 - Experimental + * `maybeUnfefable` {any} An object that may be "unref'd". An object is "unrefable" if it implements the Node.js "Refable protocol". -Specifically, this means that the object implements the `Symbol.for('node:ref')` -and `Symbol.for('node:unref')` methods. "Ref'd" objects will keep the Node.js +Specifically, this means that the object implements the `Symbol.for('nodejs.ref')` +and `Symbol.for('nodejs.unref')` methods. "Ref'd" objects will keep the Node.js event loop alive, while "unref'd" objects will not. Historically, this was implemented by using `ref()` and `unref()` methods directly on the objects. This pattern, however, is being deprecated in favor of the "Refable protocol" @@ -4491,7 +4504,9 @@ cases: [`console.error()`]: console.md#consoleerrordata-args [`console.log()`]: console.md#consolelogdata-args [`domain`]: domain.md +[`module.getSourceMapsSupport()`]: module.md#modulegetsourcemapssupport [`module.isBuiltin(id)`]: module.md#moduleisbuiltinmodulename +[`module.setSourceMapsSupport()`]: module.md#modulesetsourcemapssupportenabled-options [`net.Server`]: net.md#class-netserver [`net.Socket`]: net.md#class-netsocket [`os.constants.dlopen`]: os.md#dlopen-constants diff --git a/doc/api/sqlite.md b/doc/api/sqlite.md index 13f8a165171fce..a8a2d07851bb98 100644 --- a/doc/api/sqlite.md +++ b/doc/api/sqlite.md @@ -329,11 +329,15 @@ over hand-crafted SQL strings when handling user input. <!-- YAML added: v22.5.0 +changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56385 + description: Add support for `DataView` and typed array objects for `anonymousParameters`. --> * `namedParameters` {Object} An optional object used to bind named parameters. The keys of this object are used to configure the mapping. -* `...anonymousParameters` {null|number|bigint|string|Buffer|Uint8Array} Zero or +* `...anonymousParameters` {null|number|bigint|string|Buffer|TypedArray|DataView} Zero or more values to bind to anonymous parameters. * Returns: {Array} An array of objects. Each object corresponds to a row returned by executing the prepared statement. The keys and values of each @@ -361,11 +365,15 @@ execution of this prepared statement. This property is a wrapper around <!-- YAML added: v22.5.0 +changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56385 + description: Add support for `DataView` and typed array objects for `anonymousParameters`. --> * `namedParameters` {Object} An optional object used to bind named parameters. The keys of this object are used to configure the mapping. -* `...anonymousParameters` {null|number|bigint|string|Buffer|Uint8Array} Zero or +* `...anonymousParameters` {null|number|bigint|string|Buffer|TypedArray|DataView} Zero or more values to bind to anonymous parameters. * Returns: {Object|undefined} An object corresponding to the first row returned by executing the prepared statement. The keys and values of the object @@ -381,11 +389,15 @@ values in `namedParameters` and `anonymousParameters`. <!-- YAML added: v23.4.0 +changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56385 + description: Add support for `DataView` and typed array objects for `anonymousParameters`. --> * `namedParameters` {Object} An optional object used to bind named parameters. The keys of this object are used to configure the mapping. -* `...anonymousParameters` {null|number|bigint|string|Buffer|Uint8Array} Zero or +* `...anonymousParameters` {null|number|bigint|string|Buffer|TypedArray|DataView} Zero or more values to bind to anonymous parameters. * Returns: {Iterator} An iterable iterator of objects. Each object corresponds to a row returned by executing the prepared statement. The keys and values of each @@ -400,11 +412,15 @@ the values in `namedParameters` and `anonymousParameters`. <!-- YAML added: v22.5.0 +changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56385 + description: Add support for `DataView` and typed array objects for `anonymousParameters`. --> * `namedParameters` {Object} An optional object used to bind named parameters. The keys of this object are used to configure the mapping. -* `...anonymousParameters` {null|number|bigint|string|Buffer|Uint8Array} Zero or +* `...anonymousParameters` {null|number|bigint|string|Buffer|TypedArray|DataView} Zero or more values to bind to anonymous parameters. * Returns: {Object} * `changes`: {number|bigint} The number of rows modified, inserted, or deleted diff --git a/doc/api/test.md b/doc/api/test.md index faae49cc92dd8a..4012861929a63d 100644 --- a/doc/api/test.md +++ b/doc/api/test.md @@ -932,7 +932,13 @@ test('runs timers as setTime passes ticks', (context) => { ## Snapshot testing -> Stability: 1.0 - Early development +<!-- YAML +added: v22.3.0 +changes: + - version: v23.4.0 + pr-url: https://github.com/nodejs/node/pull/55897 + description: Snapsnot testing is no longer experimental. +--> Snapshot tests allow arbitrary values to be serialized into string values and compared against a set of known good values. The known good values are known as @@ -1742,14 +1748,35 @@ describe('tests', async () => { }); ``` +## `assert` + +<!-- YAML +added: v23.7.0 +--> + +An object whose methods are used to configure available assertions on the +`TestContext` objects in the current process. The methods from `node:assert` +and snapshot testing functions are available by default. + +It is possible to apply the same configuration to all files by placing common +configuration code in a module +preloaded with `--require` or `--import`. + +### `assert.register(name, fn)` + +<!-- YAML +added: v23.7.0 +--> + +Defines a new assertion function with the provided name and function. If an +assertion already exists with the same name, it is overwritten. + ## `snapshot` <!-- YAML added: v22.3.0 --> -> Stability: 1.0 - Early development - An object whose methods are used to configure default snapshot settings in the current process. It is possible to apply the same configuration to all files by placing common configuration code in a module preloaded with `--require` or @@ -1761,8 +1788,6 @@ placing common configuration code in a module preloaded with `--require` or added: v22.3.0 --> -> Stability: 1.0 - Early development - * `serializers` {Array} An array of synchronous functions used as the default serializers for snapshot tests. @@ -1778,8 +1803,6 @@ more robust serialization mechanism is required, this function should be used. added: v22.3.0 --> -> Stability: 1.0 - Early development - * `fn` {Function} A function used to compute the location of the snapshot file. The function receives the path of the test file as its only argument. If the test is not associated with a file (for example in the REPL), the input is @@ -2928,6 +2951,7 @@ The corresponding declaration ordered events are `'test:pass'` and `'test:fail'` `undefined` if the test was run through the REPL. * `name` {string} The test name. * `nesting` {number} The nesting level of the test. + * `type` {string} The test type. Either `'suite'` or `'test'`. Emitted when a test is dequeued, right before it is executed. This event is not guaranteed to be emitted in the same order as the tests are @@ -2960,6 +2984,7 @@ defined. `undefined` if the test was run through the REPL. * `name` {string} The test name. * `nesting` {number} The nesting level of the test. + * `type` {string} The test type. Either `'suite'` or `'test'`. Emitted when a test is enqueued for execution. @@ -3253,14 +3278,49 @@ test('test', (t) => { }); ``` +#### `context.assert.fileSnapshot(value, path[, options])` + +<!-- YAML +added: v23.7.0 +--> + +* `value` {any} A value to serialize to a string. If Node.js was started with + the [`--test-update-snapshots`][] flag, the serialized value is written to + `path`. Otherwise, the serialized value is compared to the contents of the + existing snapshot file. +* `path` {string} The file where the serialized `value` is written. +* `options` {Object} Optional configuration options. The following properties + are supported: + * `serializers` {Array} An array of synchronous functions used to serialize + `value` into a string. `value` is passed as the only argument to the first + serializer function. The return value of each serializer is passed as input + to the next serializer. Once all serializers have run, the resulting value + is coerced to a string. **Default:** If no serializers are provided, the + test runner's default serializers are used. + +This function serializes `value` and writes it to the file specified by `path`. + +```js +test('snapshot test with default serialization', (t) => { + t.assert.fileSnapshot({ value1: 1, value2: 2 }, './snapshots/snapshot.json'); +}); +``` + +This function differs from `context.assert.snapshot()` in the following ways: + +* The snapshot file path is explicitly provided by the user. +* Each snapshot file is limited to a single snapshot value. +* No additional escaping is performed by the test runner. + +These differences allow snapshot files to better support features such as syntax +highlighting. + #### `context.assert.snapshot(value[, options])` <!-- YAML added: v22.3.0 --> -> Stability: 1.0 - Early development - * `value` {any} A value to serialize to a string. If Node.js was started with the [`--test-update-snapshots`][] flag, the serialized value is written to the snapshot file. Otherwise, the serialized value is compared to the @@ -3544,6 +3604,27 @@ test('top level test', async (t) => { }); ``` +### `context.waitFor(condition[, options])` + +<!-- YAML +added: v23.7.0 +--> + +* `condition` {Function|AsyncFunction} An assertion function that is invoked + periodically until it completes successfully or the defined polling timeout + elapses. Successful completion is defined as not throwing or rejecting. This + function does not accept any arguments, and is allowed to return any value. +* `options` {Object} An optional configuration object for the polling operation. + The following properties are supported: + * `interval` {number} The number of milliseconds to wait after an unsuccessful + invocation of `condition` before trying again. **Default:** `50`. + * `timeout` {number} The poll timeout in milliseconds. If `condition` has not + succeeded by the time this elapses, an error occurs. **Default:** `1000`. +* Returns: {Promise} Fulfilled with the value returned by `condition`. + +This method polls a `condition` function until that function either returns +successfully or the operation times out. + ## Class: `SuiteContext` <!-- YAML diff --git a/doc/api/tracing.md b/doc/api/tracing.md index ddd1bae52a62c4..1b18243a5ad1d3 100644 --- a/doc/api/tracing.md +++ b/doc/api/tracing.md @@ -69,9 +69,19 @@ node --trace-event-categories v8,node,node.async_hooks Alternatively, trace events may be enabled using the `node:trace_events` module: -```js -const trace_events = require('node:trace_events'); -const tracing = trace_events.createTracing({ categories: ['node.perf'] }); +```mjs +import { createTracing } from 'node:trace_events'; +const tracing = createTracing({ categories: ['node.perf'] }); +tracing.enable(); // Enable trace event capture for the 'node.perf' category + +// do work + +tracing.disable(); // Disable trace event capture for the 'node.perf' category +``` + +```cjs +const { createTracing } = require('node:trace_events'); +const tracing = createTracing({ categories: ['node.perf'] }); tracing.enable(); // Enable trace event capture for the 'node.perf' category // do work @@ -153,20 +163,36 @@ Disables this `Tracing` object. Only trace event categories _not_ covered by other enabled `Tracing` objects and _not_ specified by the `--trace-event-categories` flag will be disabled. -```js -const trace_events = require('node:trace_events'); -const t1 = trace_events.createTracing({ categories: ['node', 'v8'] }); -const t2 = trace_events.createTracing({ categories: ['node.perf', 'node'] }); +```mjs +import { createTracing, getEnabledCategories } from 'node:trace_events'; +const t1 = createTracing({ categories: ['node', 'v8'] }); +const t2 = createTracing({ categories: ['node.perf', 'node'] }); +t1.enable(); +t2.enable(); + +// Prints 'node,node.perf,v8' +console.log(getEnabledCategories()); + +t2.disable(); // Will only disable emission of the 'node.perf' category + +// Prints 'node,v8' +console.log(getEnabledCategories()); +``` + +```cjs +const { createTracing, getEnabledCategories } = require('node:trace_events'); +const t1 = createTracing({ categories: ['node', 'v8'] }); +const t2 = createTracing({ categories: ['node.perf', 'node'] }); t1.enable(); t2.enable(); // Prints 'node,node.perf,v8' -console.log(trace_events.getEnabledCategories()); +console.log(getEnabledCategories()); t2.disable(); // Will only disable emission of the 'node.perf' category // Prints 'node,v8' -console.log(trace_events.getEnabledCategories()); +console.log(getEnabledCategories()); ``` #### `tracing.enable()` @@ -200,10 +226,19 @@ added: v10.0.0 Creates and returns a `Tracing` object for the given set of `categories`. -```js -const trace_events = require('node:trace_events'); +```mjs +import { createTracing } from 'node:trace_events'; +const categories = ['node.perf', 'node.async_hooks']; +const tracing = createTracing({ categories }); +tracing.enable(); +// do stuff +tracing.disable(); +``` + +```cjs +const { createTracing } = require('node:trace_events'); const categories = ['node.perf', 'node.async_hooks']; -const tracing = trace_events.createTracing({ categories }); +const tracing = createTracing({ categories }); tracing.enable(); // do stuff tracing.disable(); @@ -226,23 +261,71 @@ Given the file `test.js` below, the command `node --trace-event-categories node.perf test.js` will print `'node.async_hooks,node.perf'` to the console. -```js -const trace_events = require('node:trace_events'); -const t1 = trace_events.createTracing({ categories: ['node.async_hooks'] }); -const t2 = trace_events.createTracing({ categories: ['node.perf'] }); -const t3 = trace_events.createTracing({ categories: ['v8'] }); +```mjs +import { createTracing, getEnabledCategories } from 'node:trace_events'; +const t1 = createTracing({ categories: ['node.async_hooks'] }); +const t2 = createTracing({ categories: ['node.perf'] }); +const t3 = createTracing({ categories: ['v8'] }); + +t1.enable(); +t2.enable(); + +console.log(getEnabledCategories()); +``` + +```cjs +const { createTracing, getEnabledCategories } = require('node:trace_events'); +const t1 = createTracing({ categories: ['node.async_hooks'] }); +const t2 = createTracing({ categories: ['node.perf'] }); +const t3 = createTracing({ categories: ['v8'] }); t1.enable(); t2.enable(); -console.log(trace_events.getEnabledCategories()); +console.log(getEnabledCategories()); ``` ## Examples ### Collect trace events data by inspector -```js +```mjs +import { Session } from 'node:inspector'; +const session = new Session(); +session.connect(); + +function post(message, data) { + return new Promise((resolve, reject) => { + session.post(message, data, (err, result) => { + if (err) + reject(new Error(JSON.stringify(err))); + else + resolve(result); + }); + }); +} + +async function collect() { + const data = []; + session.on('NodeTracing.dataCollected', (chunk) => data.push(chunk)); + session.on('NodeTracing.tracingComplete', () => { + // done + }); + const traceConfig = { includedCategories: ['v8'] }; + await post('NodeTracing.start', { traceConfig }); + // do something + setTimeout(() => { + post('NodeTracing.stop').then(() => { + session.disconnect(); + console.log(data); + }); + }, 1000); +} + +collect(); +``` + +```cjs 'use strict'; const { Session } = require('node:inspector'); diff --git a/doc/api/util.md b/doc/api/util.md index c39e450ce98013..48612ce46db545 100644 --- a/doc/api/util.md +++ b/doc/api/util.md @@ -371,6 +371,12 @@ util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 }); <!-- YAML added: v22.9.0 changes: + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56584 + description: Property `column` is deprecated in favor of `columnNumber`. + - version: v23.7.0 + pr-url: https://github.com/nodejs/node/pull/56551 + description: Property `CallSite.scriptId` is exposed. - version: v23.3.0 pr-url: https://github.com/nodejs/node/pull/55626 description: The API is renamed from `util.getCallSite` to `util.getCallSites()`. @@ -385,8 +391,9 @@ changes: * `functionName` {string} Returns the name of the function associated with this call site. * `scriptName` {string} Returns the name of the resource that contains the script for the function for this call site. - * `lineNumber` {number} Returns the number, 1-based, of the line for the associate function call. - * `column` {number} Returns the 1-based column offset on the line for the associated function call. + * `scriptId` {string} Returns the unique id of the script, as in Chrome DevTools protocol [`Runtime.ScriptId`][]. + * `lineNumber` {number} Returns the JavaScript script line number (1-based). + * `columnNumber` {number} Returns the JavaScript script column number (1-based). Returns an array of call site objects containing the stack of the caller function. @@ -403,7 +410,7 @@ function exampleFunction() { console.log(`Function Name: ${callSite.functionName}`); console.log(`Script Name: ${callSite.scriptName}`); console.log(`Line Number: ${callSite.lineNumber}`); - console.log(`Column Number: ${callSite.column}`); + console.log(`Column Number: ${callSite.columnNumber}`); }); // CallSite 1: // Function Name: exampleFunction @@ -1959,7 +1966,7 @@ const errorMessage = styleText( // Validate if process.stderr has TTY { stream: stderr }, ); -console.error(successMessage); +console.error(errorMessage); ``` ```cjs @@ -3184,6 +3191,7 @@ util.isArray({}); [`Object.freeze()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze [`Promise`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise [`Proxy`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy +[`Runtime.ScriptId`]: https://chromedevtools.github.io/devtools-protocol/1-3/Runtime/#type-ScriptId [`Set`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set [`SharedArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer [`TypedArray`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index afecd991da9dd3..6083b08d3cf80e 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -100,6 +100,44 @@ if (isMainThread) { } ``` +## `worker.isInternalThread` + +<!-- YAML +added: v23.7.0 +--> + +* {boolean} + +Is `true` if this code is running inside of an internal [`Worker`][] thread (e.g the loader thread). + +```bash +node --experimental-loader ./loader.js main.js +``` + +```cjs +// loader.js +const { isInternalThread } = require('node:worker_threads'); +console.log(isInternalThread); // true +``` + +```mjs +// loader.js +import { isInternalThread } from 'node:worker_threads'; +console.log(isInternalThread); // true +``` + +```cjs +// main.js +const { isInternalThread } = require('node:worker_threads'); +console.log(isInternalThread); // false +``` + +```mjs +// main.js +import { isInternalThread } from 'node:worker_threads'; +console.log(isInternalThread); // false +``` + ## `worker.isMainThread` <!-- YAML diff --git a/doc/api_assets/api.js b/doc/api_assets/api.js index 394b5ba990946c..e86f110e0346bf 100644 --- a/doc/api_assets/api.js +++ b/doc/api_assets/api.js @@ -41,6 +41,7 @@ function closeAllPickers() { for (const picker of pickers) { picker.parentNode.classList.remove('expanded'); + picker.ariaExpanded = false; } window.removeEventListener('click', closeAllPickers); @@ -58,6 +59,7 @@ for (const picker of pickers) { const parentNode = picker.parentNode; + picker.ariaExpanded = parentNode.classList.contains('expanded'); picker.addEventListener('click', function(e) { e.preventDefault(); @@ -65,7 +67,7 @@ closeAllPickers as window event trigger already closed all the pickers, if it already closed there is nothing else to do here */ - if (parentNode.classList.contains('expanded')) { + if (picker.ariaExpanded === 'true') { return; } @@ -75,9 +77,11 @@ */ requestAnimationFrame(function() { + picker.ariaExpanded = true; parentNode.classList.add('expanded'); window.addEventListener('click', closeAllPickers); window.addEventListener('keydown', onKeyDown); + parentNode.querySelector('.picker a').focus(); }); }); } diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css index 28a284e3b975b8..9f56028d09162c 100644 --- a/doc/api_assets/style.css +++ b/doc/api_assets/style.css @@ -122,6 +122,19 @@ a.type { font-size: .9em; } +.skip-to-content { + position: fixed; + top: -300%; +} +.skip-to-content:focus { + display: block; + top: 0; + left: 0; + background-color: var(--green1); + padding: 1rem; + z-index: 999999; +} + #content { position: relative; } @@ -182,22 +195,15 @@ li.picker-header .picker-arrow { height: .6rem; border-top: .3rem solid transparent; border-bottom: .3rem solid transparent; - border-left: .6rem solid var(--color-links); + border-left: .6rem solid currentColor; border-right: none; margin: 0 .2rem .05rem 0; } -li.picker-header a:focus .picker-arrow, -li.picker-header a:active .picker-arrow, -li.picker-header a:hover .picker-arrow { - border-left: .6rem solid var(--white); -} - -li.picker-header.expanded a:focus .picker-arrow, -li.picker-header.expanded a:active .picker-arrow, -li.picker-header.expanded a:hover .picker-arrow, +li.picker-header.expanded .picker-arrow, +:root:not(.has-js) li.picker-header:focus-within .picker-arrow, :root:not(.has-js) li.picker-header:hover .picker-arrow { - border-top: .6rem solid var(--white); + border-top: .6rem solid currentColor; border-bottom: none; border-left: .35rem solid transparent; border-right: .35rem solid transparent; @@ -205,11 +211,13 @@ li.picker-header.expanded a:hover .picker-arrow, } li.picker-header.expanded > a, +:root:not(.has-js) li.picker-header:focus-within > a, :root:not(.has-js) li.picker-header:hover > a { border-radius: 2px 2px 0 0; } li.picker-header.expanded > .picker, +:root:not(.has-js) li.picker-header:focus-within > .picker, :root:not(.has-js) li.picker-header:hover > .picker { display: block; z-index: 1; @@ -562,40 +570,28 @@ hr { } .toc ul { - margin: 0 + margin: 0; } - -.toc li a::before { - content: "■"; - color: var(--color-text-primary); - padding-right: 1em; - font-size: 0.9em; +.toc>ul:first-child { + margin-left: 1rem; +} +.toc li { + display: list-item; + list-style: square; +} +.toc li a { + display: inline; + padding-left: 0; } .toc li a:hover::before { color: var(--white); } -.toc ul ul a { +.toc ul { padding-left: 1rem; } -.toc ul ul ul a { - padding-left: 2rem; -} - -.toc ul ul ul ul a { - padding-left: 3rem; -} - -.toc ul ul ul ul ul a { - padding-left: 4rem; -} - -.toc ul ul ul ul ul ul a { - padding-left: 5rem; -} - #toc .stability_0::after, .deprecated-inline::after { background-color: var(--red2); diff --git a/doc/changelogs/CHANGELOG_V23.md b/doc/changelogs/CHANGELOG_V23.md index 6fb4f664ead635..35bb5422011344 100644 --- a/doc/changelogs/CHANGELOG_V23.md +++ b/doc/changelogs/CHANGELOG_V23.md @@ -8,6 +8,7 @@ </tr> <tr> <td> +<a href="#23.7.0">23.7.0</a><br/> <a href="#23.6.1">23.6.1</a><br/> <a href="#23.6.0">23.6.0</a><br/> <a href="#23.5.0">23.5.0</a><br/> @@ -45,6 +46,181 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) +<a id="23.7.0"></a> + +## 2025-01-30, Version 23.7.0 (Current), @aduh95 + +### Notable Changes + +* \[[`36dd9ecc41`](https://github.com/nodejs/node/commit/36dd9ecc41)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#56566](https://github.com/nodejs/node/pull/56566) +* \[[`9414d3cbf1`](https://github.com/nodejs/node/commit/9414d3cbf1)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#56489](https://github.com/nodejs/node/pull/56489) +* \[[`9c5c3b3115`](https://github.com/nodejs/node/commit/9c5c3b3115)] - **(SEMVER-MINOR)** **module**: add ERR\_UNSUPPORTED\_TYPESCRIPT\_SYNTAX (Marco Ippolito) [#56610](https://github.com/nodejs/node/pull/56610) +* \[[`1e201fd5fd`](https://github.com/nodejs/node/commit/1e201fd5fd)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#56385](https://github.com/nodejs/node/pull/56385) +* \[[`48c813fb67`](https://github.com/nodejs/node/commit/48c813fb67)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#56441](https://github.com/nodejs/node/pull/56441) +* \[[`cf16123785`](https://github.com/nodejs/node/commit/cf16123785)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#56469](https://github.com/nodejs/node/pull/56469) +* \[[`13bdd9c961`](https://github.com/nodejs/node/commit/13bdd9c961)] - **(SEMVER-MINOR)** **test\_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#56595](https://github.com/nodejs/node/pull/56595) +* \[[`00a1943858`](https://github.com/nodejs/node/commit/00a1943858)] - **(SEMVER-MINOR)** **test\_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#56459](https://github.com/nodejs/node/pull/56459) +* \[[`3143566045`](https://github.com/nodejs/node/commit/3143566045)] - **(SEMVER-MINOR)** **test\_runner**: add assert.register() API (Colin Ihrig) [#56434](https://github.com/nodejs/node/pull/56434) + +### Commits + +* \[[`334a3ac7c6`](https://github.com/nodejs/node/commit/334a3ac7c6)] - **assert**: make myers\_diff function more performant (Giovanni Bucci) [#56303](https://github.com/nodejs/node/pull/56303) +* \[[`eb2bf460b7`](https://github.com/nodejs/node/commit/eb2bf460b7)] - **assert**: make partialDeepStrictEqual work with urls and File prototypes (Giovanni Bucci) [#56231](https://github.com/nodejs/node/pull/56231) +* \[[`d184453b90`](https://github.com/nodejs/node/commit/d184453b90)] - **assert**: show diff when doing partial comparisons (Giovanni Bucci) [#56211](https://github.com/nodejs/node/pull/56211) +* \[[`4aa1afd607`](https://github.com/nodejs/node/commit/4aa1afd607)] - **benchmark**: add validateStream to styleText bench (Rafael Gonzaga) [#56556](https://github.com/nodejs/node/pull/56556) +* \[[`8bbdb1203e`](https://github.com/nodejs/node/commit/8bbdb1203e)] - **child\_process**: fix parsing messages with splitted length field (Maksim Gorkov) [#56106](https://github.com/nodejs/node/pull/56106) +* \[[`d83d89a08e`](https://github.com/nodejs/node/commit/d83d89a08e)] - **crypto**: add missing return value check (Michael Dawson) [#56615](https://github.com/nodejs/node/pull/56615) +* \[[`36dd9ecc41`](https://github.com/nodejs/node/commit/36dd9ecc41)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#56566](https://github.com/nodejs/node/pull/56566) +* \[[`3915152c36`](https://github.com/nodejs/node/commit/3915152c36)] - **crypto**: fix checkPrime crash with large buffers (Santiago Gimeno) [#56559](https://github.com/nodejs/node/pull/56559) +* \[[`c8d1dcb063`](https://github.com/nodejs/node/commit/c8d1dcb063)] - **crypto**: fix warning of ignoring return value (Cheng) [#56527](https://github.com/nodejs/node/pull/56527) +* \[[`1994eaaf52`](https://github.com/nodejs/node/commit/1994eaaf52)] - **crypto**: make generatePrime/checkPrime interruptible (James M Snell) [#56460](https://github.com/nodejs/node/pull/56460) +* \[[`5f1ee05390`](https://github.com/nodejs/node/commit/5f1ee05390)] - **deps**: update corepack to 0.31.0 (Node.js GitHub Bot) [#56795](https://github.com/nodejs/node/pull/56795) +* \[[`9cfac712b8`](https://github.com/nodejs/node/commit/9cfac712b8)] - **deps**: move inspector\_protocol to deps (Chengzhong Wu) [#56649](https://github.com/nodejs/node/pull/56649) +* \[[`b2ec816a31`](https://github.com/nodejs/node/commit/b2ec816a31)] - **deps**: macro ENODATA is deprecated in libc++ (Cheng) [#56698](https://github.com/nodejs/node/pull/56698) +* \[[`edd9361499`](https://github.com/nodejs/node/commit/edd9361499)] - **deps**: fixup some minor coverity warnings (James M Snell) [#56612](https://github.com/nodejs/node/pull/56612) +* \[[`9ffe3ad4b1`](https://github.com/nodejs/node/commit/9ffe3ad4b1)] - **deps**: update libuv to 1.50.0 (Node.js GitHub Bot) [#56616](https://github.com/nodejs/node/pull/56616) +* \[[`73ad3ca238`](https://github.com/nodejs/node/commit/73ad3ca238)] - **deps**: update amaro to 0.3.0 (Node.js GitHub Bot) [#56568](https://github.com/nodejs/node/pull/56568) +* \[[`0657f6270a`](https://github.com/nodejs/node/commit/0657f6270a)] - **deps**: update amaro to 0.2.2 (Node.js GitHub Bot) [#56568](https://github.com/nodejs/node/pull/56568) +* \[[`47fad8cbc0`](https://github.com/nodejs/node/commit/47fad8cbc0)] - **deps**: update simdutf to 6.0.3 (Node.js GitHub Bot) [#56567](https://github.com/nodejs/node/pull/56567) +* \[[`c9a211ae29`](https://github.com/nodejs/node/commit/c9a211ae29)] - **diagnostics\_channel**: capture console messages (Stephen Belanger) [#56292](https://github.com/nodejs/node/pull/56292) +* \[[`cf5d2d6598`](https://github.com/nodejs/node/commit/cf5d2d6598)] - **doc**: move anatoli to emeritus (Michael Dawson) [#56592](https://github.com/nodejs/node/pull/56592) +* \[[`5dd08d10be`](https://github.com/nodejs/node/commit/5dd08d10be)] - **doc**: fix styles of the expandable TOC (Antoine du Hamel) [#56755](https://github.com/nodejs/node/pull/56755) +* \[[`09fb3adf80`](https://github.com/nodejs/node/commit/09fb3adf80)] - **doc**: add "Skip to content" button (Antoine du Hamel) [#56750](https://github.com/nodejs/node/pull/56750) +* \[[`ad012ca1f3`](https://github.com/nodejs/node/commit/ad012ca1f3)] - **doc**: improve accessibility of expandable lists (Antoine du Hamel) [#56749](https://github.com/nodejs/node/pull/56749) +* \[[`38acdb57eb`](https://github.com/nodejs/node/commit/38acdb57eb)] - **doc**: add note regarding commit message trailers (Dario Piotrowicz) [#56736](https://github.com/nodejs/node/pull/56736) +* \[[`f4a9b134c0`](https://github.com/nodejs/node/commit/f4a9b134c0)] - **doc**: fix typo in example code for util.styleText (Robin Mehner) [#56720](https://github.com/nodejs/node/pull/56720) +* \[[`8a61aaa734`](https://github.com/nodejs/node/commit/8a61aaa734)] - **doc**: fix inconsistencies in `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#56683](https://github.com/nodejs/node/pull/56683) +* \[[`4ade128184`](https://github.com/nodejs/node/commit/4ade128184)] - **doc**: add RafaelGSS as latest sec release stewards (Rafael Gonzaga) [#56682](https://github.com/nodejs/node/pull/56682) +* \[[`e1e1200b79`](https://github.com/nodejs/node/commit/e1e1200b79)] - **doc**: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()` (Dario Piotrowicz) [#56659](https://github.com/nodejs/node/pull/56659) +* \[[`57a7b931fb`](https://github.com/nodejs/node/commit/57a7b931fb)] - **doc**: `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#56648](https://github.com/nodejs/node/pull/56648) +* \[[`56b21489f4`](https://github.com/nodejs/node/commit/56b21489f4)] - **doc**: mention prepare --security (Rafael Gonzaga) [#56617](https://github.com/nodejs/node/pull/56617) +* \[[`67f39b597a`](https://github.com/nodejs/node/commit/67f39b597a)] - **doc**: tweak info on reposts in ambassador program (Michael Dawson) [#56589](https://github.com/nodejs/node/pull/56589) +* \[[`6381e0761d`](https://github.com/nodejs/node/commit/6381e0761d)] - **doc**: add type stripping to ambassadors program (Marco Ippolito) [#56598](https://github.com/nodejs/node/pull/56598) +* \[[`9bd438acd3`](https://github.com/nodejs/node/commit/9bd438acd3)] - **doc**: improve internal documentation on built-in snapshot (Joyee Cheung) [#56505](https://github.com/nodejs/node/pull/56505) +* \[[`f54118c84a`](https://github.com/nodejs/node/commit/f54118c84a)] - **doc**: correct customization hook types & clarify descriptions (Jacob Smith) [#56454](https://github.com/nodejs/node/pull/56454) +* \[[`6af5053153`](https://github.com/nodejs/node/commit/6af5053153)] - **doc**: document CLI way to open the nodejs/bluesky PR (Antoine du Hamel) [#56506](https://github.com/nodejs/node/pull/56506) +* \[[`4a77a9e1eb`](https://github.com/nodejs/node/commit/4a77a9e1eb)] - **doc**: add history info for Permission Model (Antoine du Hamel) [#56707](https://github.com/nodejs/node/pull/56707) +* \[[`097b8b4889`](https://github.com/nodejs/node/commit/097b8b4889)] - **doc**: add note for features using `InternalWorker` with permission model (Antoine du Hamel) [#56706](https://github.com/nodejs/node/pull/56706) +* \[[`f600466c73`](https://github.com/nodejs/node/commit/f600466c73)] - **doc**: add section about using npx with permission model (Rafael Gonzaga) [#56539](https://github.com/nodejs/node/pull/56539) +* \[[`c2d5a0c629`](https://github.com/nodejs/node/commit/c2d5a0c629)] - **doc**: update gcc-version for ubuntu-lts (Kunal Kumar) [#56553](https://github.com/nodejs/node/pull/56553) +* \[[`202af46793`](https://github.com/nodejs/node/commit/202af46793)] - **doc**: fix parentheses in options (Tobias Nießen) [#56563](https://github.com/nodejs/node/pull/56563) +* \[[`4e4b0c63d0`](https://github.com/nodejs/node/commit/4e4b0c63d0)] - **doc**: fix location of NO\_COLOR in CLI docs (Colin Ihrig) [#56525](https://github.com/nodejs/node/pull/56525) +* \[[`92eeeb98a5`](https://github.com/nodejs/node/commit/92eeeb98a5)] - **doc**: include CVE to EOL lines as sec release process (Rafael Gonzaga) [#56520](https://github.com/nodejs/node/pull/56520) +* \[[`233a6a93a1`](https://github.com/nodejs/node/commit/233a6a93a1)] - **doc**: add esm examples to node:trace\_events (Alfredo González) [#56514](https://github.com/nodejs/node/pull/56514) +* \[[`d9cff6c73f`](https://github.com/nodejs/node/commit/d9cff6c73f)] - **doc**: reserve NMV 133 for Electron 35 (Keeley Hammond) [#56513](https://github.com/nodejs/node/pull/56513) +* \[[`6047fd7c5c`](https://github.com/nodejs/node/commit/6047fd7c5c)] - **doc**: add message for Ambassadors to promote (Michael Dawson) [#56235](https://github.com/nodejs/node/pull/56235) +* \[[`a4045c9488`](https://github.com/nodejs/node/commit/a4045c9488)] - **doc**: allow request for TSC reviews via the GitHub UI (Antoine du Hamel) [#56493](https://github.com/nodejs/node/pull/56493) +* \[[`dd3f94873e`](https://github.com/nodejs/node/commit/dd3f94873e)] - **esm**: fix jsdoc type refs to `ModuleJobBase` in esm/loader (Jacob Smith) [#56499](https://github.com/nodejs/node/pull/56499) +* \[[`9414d3cbf1`](https://github.com/nodejs/node/commit/9414d3cbf1)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#56489](https://github.com/nodejs/node/pull/56489) +* \[[`4202045673`](https://github.com/nodejs/node/commit/4202045673)] - **http2**: omit server name when HTTP2 host is IP address (islandryu) [#56530](https://github.com/nodejs/node/pull/56530) +* \[[`f48a562776`](https://github.com/nodejs/node/commit/f48a562776)] - **inspector**: roll inspector\_protocol (Chengzhong Wu) [#56649](https://github.com/nodejs/node/pull/56649) +* \[[`9a954fbf4a`](https://github.com/nodejs/node/commit/9a954fbf4a)] - **inspector**: add undici http tracking support (Chengzhong Wu) [#56488](https://github.com/nodejs/node/pull/56488) +* \[[`f185e8a34a`](https://github.com/nodejs/node/commit/f185e8a34a)] - **inspector**: report loadingFinished until the response data is consumed (Chengzhong Wu) [#56372](https://github.com/nodejs/node/pull/56372) +* \[[`2fb007fdce`](https://github.com/nodejs/node/commit/2fb007fdce)] - **lib**: allow skipping source maps in node\_modules (Chengzhong Wu) [#56639](https://github.com/nodejs/node/pull/56639) +* \[[`2f69dc2659`](https://github.com/nodejs/node/commit/2f69dc2659)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#56580](https://github.com/nodejs/node/pull/56580) +* \[[`0d869963e0`](https://github.com/nodejs/node/commit/0d869963e0)] - **meta**: add codeowners of security release document (Rafael Gonzaga) [#56521](https://github.com/nodejs/node/pull/56521) +* \[[`59510ab819`](https://github.com/nodejs/node/commit/59510ab819)] - **module**: fix bad `require.resolve` with option paths for `.` and `..` (Dario Piotrowicz) [#56735](https://github.com/nodejs/node/pull/56735) +* \[[`58d2dad67d`](https://github.com/nodejs/node/commit/58d2dad67d)] - **module**: integrate TypeScript into compile cache (Joyee Cheung) [#56629](https://github.com/nodejs/node/pull/56629) +* \[[`9f99a6acb5`](https://github.com/nodejs/node/commit/9f99a6acb5)] - **module**: use more defensive code when handling SWC errors (Antoine du Hamel) [#56646](https://github.com/nodejs/node/pull/56646) +* \[[`7347d34053`](https://github.com/nodejs/node/commit/7347d34053)] - **module**: fixing url change in load sync hook chain (Vitalii Akimov) [#56402](https://github.com/nodejs/node/pull/56402) +* \[[`9c5c3b3115`](https://github.com/nodejs/node/commit/9c5c3b3115)] - **(SEMVER-MINOR)** **module**: add ERR\_UNSUPPORTED\_TYPESCRIPT\_SYNTAX (Marco Ippolito) [#56610](https://github.com/nodejs/node/pull/56610) +* \[[`afd1f91a1e`](https://github.com/nodejs/node/commit/afd1f91a1e)] - **module**: fix jsdoc for `format` parameter in cjs/loader (pacexy) [#56501](https://github.com/nodejs/node/pull/56501) +* \[[`86d783fa51`](https://github.com/nodejs/node/commit/86d783fa51)] - **module**: rethrow amaro error message (Marco Ippolito) [#56568](https://github.com/nodejs/node/pull/56568) +* \[[`7b6df4a97a`](https://github.com/nodejs/node/commit/7b6df4a97a)] - **process**: fix symbol key and mark experimental new `node:process` methods (Antoine du Hamel) [#56517](https://github.com/nodejs/node/pull/56517) +* \[[`21362cc4f4`](https://github.com/nodejs/node/commit/21362cc4f4)] - **punycode**: limit deprecation warning (Colin Ihrig) [#56632](https://github.com/nodejs/node/pull/56632) +* \[[`93f60a1c15`](https://github.com/nodejs/node/commit/93f60a1c15)] - **sqlite**: disable memstatus APIs at build time (Colin Ihrig) [#56541](https://github.com/nodejs/node/pull/56541) +* \[[`1e201fd5fd`](https://github.com/nodejs/node/commit/1e201fd5fd)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#56385](https://github.com/nodejs/node/pull/56385) +* \[[`3aca628a11`](https://github.com/nodejs/node/commit/3aca628a11)] - **sqlite**: enable SQL math functions (Colin Ihrig) [#56447](https://github.com/nodejs/node/pull/56447) +* \[[`575251ae6a`](https://github.com/nodejs/node/commit/575251ae6a)] - **src**: add nullptr handling from X509\_STORE\_new() (Burkov Egor) [#56700](https://github.com/nodejs/node/pull/56700) +* \[[`8fb03d8f43`](https://github.com/nodejs/node/commit/8fb03d8f43)] - **src**: move more crypto to ncrypto (James M Snell) [#56653](https://github.com/nodejs/node/pull/56653) +* \[[`55a0135261`](https://github.com/nodejs/node/commit/55a0135261)] - **src**: add default value for RSACipherConfig mode field (Burkov Egor) [#56701](https://github.com/nodejs/node/pull/56701) +* \[[`83c56da328`](https://github.com/nodejs/node/commit/83c56da328)] - **src**: fix build with GCC 15 (tjuhaszrh) [#56740](https://github.com/nodejs/node/pull/56740) +* \[[`872d68d87c`](https://github.com/nodejs/node/commit/872d68d87c)] - **src**: fix to generate path from wchar\_t via wstring (yamachu) [#56696](https://github.com/nodejs/node/pull/56696) +* \[[`2b6a82dcea`](https://github.com/nodejs/node/commit/2b6a82dcea)] - **src**: replace NoArrayBufferZeroFillScope with v8 option (James M Snell) [#56658](https://github.com/nodejs/node/pull/56658) +* \[[`a5f9023297`](https://github.com/nodejs/node/commit/a5f9023297)] - **src**: initialize FSReqWrapSync in path that uses it (Michaël Zasso) [#56613](https://github.com/nodejs/node/pull/56613) +* \[[`90f70ed8dd`](https://github.com/nodejs/node/commit/90f70ed8dd)] - **src**: use cppgc to manage ContextifyContext (Joyee Cheung) [#56522](https://github.com/nodejs/node/pull/56522) +* \[[`0b1ac9653e`](https://github.com/nodejs/node/commit/0b1ac9653e)] - **src**: handle duplicate paths granted (Rafael Gonzaga) [#56591](https://github.com/nodejs/node/pull/56591) +* \[[`33f5345002`](https://github.com/nodejs/node/commit/33f5345002)] - **src**: update ECKeyPointer in ncrypto (James M Snell) [#56526](https://github.com/nodejs/node/pull/56526) +* \[[`c7b95fcf95`](https://github.com/nodejs/node/commit/c7b95fcf95)] - **src**: update ECPointPointer in ncrypto (James M Snell) [#56526](https://github.com/nodejs/node/pull/56526) +* \[[`c008b15108`](https://github.com/nodejs/node/commit/c008b15108)] - **src**: update ECGroupPointer in ncrypto (James M Snell) [#56526](https://github.com/nodejs/node/pull/56526) +* \[[`5673dc7de7`](https://github.com/nodejs/node/commit/5673dc7de7)] - **src**: update ECDASSigPointer implementation in ncrypto (James M Snell) [#56526](https://github.com/nodejs/node/pull/56526) +* \[[`87ba48b2c6`](https://github.com/nodejs/node/commit/87ba48b2c6)] - **src**: cleaning up more crypto internals for ncrypto (James M Snell) [#56526](https://github.com/nodejs/node/pull/56526) +* \[[`48c813fb67`](https://github.com/nodejs/node/commit/48c813fb67)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#56441](https://github.com/nodejs/node/pull/56441) +* \[[`50c65eed78`](https://github.com/nodejs/node/commit/50c65eed78)] - **src**: fix undefined script name in error source (Chengzhong Wu) [#56502](https://github.com/nodejs/node/pull/56502) +* \[[`b3c66d2493`](https://github.com/nodejs/node/commit/b3c66d2493)] - **src**: refactor --trace-env to reuse option selection and handling (Joyee Cheung) [#56293](https://github.com/nodejs/node/pull/56293) +* \[[`17d59efe3c`](https://github.com/nodejs/node/commit/17d59efe3c)] - **src**: minor cleanups on OneByteString usage (James M Snell) [#56482](https://github.com/nodejs/node/pull/56482) +* \[[`3e6e0106f6`](https://github.com/nodejs/node/commit/3e6e0106f6)] - **src**: move more crypto impl detail to ncrypto dep (James M Snell) [#56421](https://github.com/nodejs/node/pull/56421) +* \[[`5e1ddd5d4c`](https://github.com/nodejs/node/commit/5e1ddd5d4c)] - **src**: fixup more ToLocalChecked uses in node\_file (James M Snell) [#56484](https://github.com/nodejs/node/pull/56484) +* \[[`aa3fd2f58f`](https://github.com/nodejs/node/commit/aa3fd2f58f)] - **src**: make some minor ToLocalChecked cleanups (James M Snell) [#56483](https://github.com/nodejs/node/pull/56483) +* \[[`7dd8165b0b`](https://github.com/nodejs/node/commit/7dd8165b0b)] - **src**: lock the thread properly in snapshot builder (Joyee Cheung) [#56327](https://github.com/nodejs/node/pull/56327) +* \[[`edafab7248`](https://github.com/nodejs/node/commit/edafab7248)] - **src**: drain platform tasks before creating startup snapshot (Chengzhong Wu) [#56403](https://github.com/nodejs/node/pull/56403) +* \[[`e1887d2c58`](https://github.com/nodejs/node/commit/e1887d2c58)] - **src**: use LocalVector in more places (James M Snell) [#56457](https://github.com/nodejs/node/pull/56457) +* \[[`cf16123785`](https://github.com/nodejs/node/commit/cf16123785)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#56469](https://github.com/nodejs/node/pull/56469) +* \[[`df78515664`](https://github.com/nodejs/node/commit/df78515664)] - **stream**: fix typo in ReadableStreamBYOBReader.readIntoRequests (Mattias Buelens) [#56560](https://github.com/nodejs/node/pull/56560) +* \[[`4ff79fb22a`](https://github.com/nodejs/node/commit/4ff79fb22a)] - **test**: reduce number of written chunks (Luigi Pinca) [#56757](https://github.com/nodejs/node/pull/56757) +* \[[`2e7b7b7674`](https://github.com/nodejs/node/commit/2e7b7b7674)] - **test**: fix invalid common.mustSucceed() usage (Luigi Pinca) [#56756](https://github.com/nodejs/node/pull/56756) +* \[[`0af368ce5e`](https://github.com/nodejs/node/commit/0af368ce5e)] - **test**: use strict mode in global setters test (Rich Trott) [#56742](https://github.com/nodejs/node/pull/56742) +* \[[`e49f3e944c`](https://github.com/nodejs/node/commit/e49f3e944c)] - **test**: cleanup and simplify test-crypto-aes-wrap (James M Snell) [#56748](https://github.com/nodejs/node/pull/56748) +* \[[`85f7bbf4e4`](https://github.com/nodejs/node/commit/85f7bbf4e4)] - **test**: do not use common.isMainThread (Luigi Pinca) [#56768](https://github.com/nodejs/node/pull/56768) +* \[[`36b02bf1b1`](https://github.com/nodejs/node/commit/36b02bf1b1)] - **test**: make some requires lazy in common/index (James M Snell) [#56715](https://github.com/nodejs/node/pull/56715) +* \[[`bcb35c3fb7`](https://github.com/nodejs/node/commit/bcb35c3fb7)] - **test**: add test that uses multibyte for path and resolves modules (yamachu) [#56696](https://github.com/nodejs/node/pull/56696) +* \[[`917f98b29c`](https://github.com/nodejs/node/commit/917f98b29c)] - **test**: replace more uses of `global` with `globalThis` (James M Snell) [#56712](https://github.com/nodejs/node/pull/56712) +* \[[`bf34a49206`](https://github.com/nodejs/node/commit/bf34a49206)] - **test**: make common/index slightly less node.js specific (James M Snell) [#56712](https://github.com/nodejs/node/pull/56712) +* \[[`ef2ed71389`](https://github.com/nodejs/node/commit/ef2ed71389)] - **test**: rely less on duplicative common test harness utilities (James M Snell) [#56712](https://github.com/nodejs/node/pull/56712) +* \[[`e654c8b84a`](https://github.com/nodejs/node/commit/e654c8b84a)] - **test**: simplify common/index.js (James M Snell) [#56712](https://github.com/nodejs/node/pull/56712) +* \[[`a62345e73b`](https://github.com/nodejs/node/commit/a62345e73b)] - **test**: move hasMultiLocalhost to common/net (James M Snell) [#56716](https://github.com/nodejs/node/pull/56716) +* \[[`6edf04ee5e`](https://github.com/nodejs/node/commit/6edf04ee5e)] - **test**: move crypto related common utilities in common/crypto (James M Snell) [#56714](https://github.com/nodejs/node/pull/56714) +* \[[`c7a132229f`](https://github.com/nodejs/node/commit/c7a132229f)] - **test**: add missing test for env file (Jonas) [#56642](https://github.com/nodejs/node/pull/56642) +* \[[`2a219eddf6`](https://github.com/nodejs/node/commit/2a219eddf6)] - **test**: enforce strict mode in test-zlib-const (Rich Trott) [#56689](https://github.com/nodejs/node/pull/56689) +* \[[`f885496d9c`](https://github.com/nodejs/node/commit/f885496d9c)] - **test**: fix localization data for ICU 74.2 (Antoine du Hamel) [#56661](https://github.com/nodejs/node/pull/56661) +* \[[`eb3148fb5c`](https://github.com/nodejs/node/commit/eb3148fb5c)] - **test**: use --permission instead of --experimental-permission (Rafael Gonzaga) [#56685](https://github.com/nodejs/node/pull/56685) +* \[[`86d7ba09c4`](https://github.com/nodejs/node/commit/86d7ba09c4)] - **test**: test-stream-compose.js doesn't need internals (Meghan Denny) [#56619](https://github.com/nodejs/node/pull/56619) +* \[[`676276889e`](https://github.com/nodejs/node/commit/676276889e)] - **test**: add maxCount and gcOptions to gcUntil() (Joyee Cheung) [#56522](https://github.com/nodejs/node/pull/56522) +* \[[`5b7a012144`](https://github.com/nodejs/node/commit/5b7a012144)] - **test**: add line break at end of file (Rafael Gonzaga) [#56588](https://github.com/nodejs/node/pull/56588) +* \[[`27cfec619f`](https://github.com/nodejs/node/commit/27cfec619f)] - **test**: mark test-worker-prof as flaky on smartos (Joyee Cheung) [#56583](https://github.com/nodejs/node/pull/56583) +* \[[`7e58da68c1`](https://github.com/nodejs/node/commit/7e58da68c1)] - **test**: update ts eval snapshots (Marco Ippolito) [#56568](https://github.com/nodejs/node/pull/56568) +* \[[`b1c54439ae`](https://github.com/nodejs/node/commit/b1c54439ae)] - **test**: update test-child-process-bad-stdio to use node:test (Colin Ihrig) [#56562](https://github.com/nodejs/node/pull/56562) +* \[[`0d772a963e`](https://github.com/nodejs/node/commit/0d772a963e)] - **test**: disable openssl 3.4.0 incompatible tests (Jelle van der Waa) [#56160](https://github.com/nodejs/node/pull/56160) +* \[[`6fa6d699ff`](https://github.com/nodejs/node/commit/6fa6d699ff)] - **test**: make test-crypto-hash compatible with OpenSSL > 3.4.0 (Jelle van der Waa) [#56160](https://github.com/nodejs/node/pull/56160) +* \[[`90e12f2945`](https://github.com/nodejs/node/commit/90e12f2945)] - **test**: clarify fork inherit permission flags (Rafael Gonzaga) [#56523](https://github.com/nodejs/node/pull/56523) +* \[[`323f96f7b3`](https://github.com/nodejs/node/commit/323f96f7b3)] - **test**: add error only reporter for node:test (Carlos Espa) [#56438](https://github.com/nodejs/node/pull/56438) +* \[[`cbbcaf9108`](https://github.com/nodejs/node/commit/cbbcaf9108)] - **test**: mark test-http-server-request-timeouts-mixed as flaky (Joyee Cheung) [#56503](https://github.com/nodejs/node/pull/56503) +* \[[`295db19ba2`](https://github.com/nodejs/node/commit/295db19ba2)] - **test**: update error code in tls-psk-circuit for for OpenSSL 3.4 (sebastianas) [#56420](https://github.com/nodejs/node/pull/56420) +* \[[`f7563780a6`](https://github.com/nodejs/node/commit/f7563780a6)] - **test**: update compiled sqlite tests to match other tests (Colin Ihrig) [#56446](https://github.com/nodejs/node/pull/56446) +* \[[`8feb2737e7`](https://github.com/nodejs/node/commit/8feb2737e7)] - **test**: add initial test426 coverage (Chengzhong Wu) [#56436](https://github.com/nodejs/node/pull/56436) +* \[[`b9cd7895c0`](https://github.com/nodejs/node/commit/b9cd7895c0)] - **test**: update test-set-http-max-http-headers to use node:test (Colin Ihrig) [#56439](https://github.com/nodejs/node/pull/56439) +* \[[`332ce548cb`](https://github.com/nodejs/node/commit/332ce548cb)] - **test**: update test-child-process-windows-hide to use node:test (Colin Ihrig) [#56437](https://github.com/nodejs/node/pull/56437) +* \[[`e2668c0e00`](https://github.com/nodejs/node/commit/e2668c0e00)] - **test\_runner**: print failing assertion only once with spec reporter (Pietro Marchini) [#56662](https://github.com/nodejs/node/pull/56662) +* \[[`f97cd5b02b`](https://github.com/nodejs/node/commit/f97cd5b02b)] - **test\_runner**: remove unused errors (Pietro Marchini) [#56607](https://github.com/nodejs/node/pull/56607) +* \[[`13bdd9c961`](https://github.com/nodejs/node/commit/13bdd9c961)] - **(SEMVER-MINOR)** **test\_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#56595](https://github.com/nodejs/node/pull/56595) +* \[[`00a1943858`](https://github.com/nodejs/node/commit/00a1943858)] - **(SEMVER-MINOR)** **test\_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#56459](https://github.com/nodejs/node/pull/56459) +* \[[`c4979ebfb2`](https://github.com/nodejs/node/commit/c4979ebfb2)] - **test\_runner**: run single test file benchmark (Pietro Marchini) [#56479](https://github.com/nodejs/node/pull/56479) +* \[[`839a06e908`](https://github.com/nodejs/node/commit/839a06e908)] - **test\_runner**: differentiate test types in enqueue dequeue events (Eddie Abbondanzio) [#54049](https://github.com/nodejs/node/pull/54049) +* \[[`3143566045`](https://github.com/nodejs/node/commit/3143566045)] - **(SEMVER-MINOR)** **test\_runner**: add assert.register() API (Colin Ihrig) [#56434](https://github.com/nodejs/node/pull/56434) +* \[[`3aa864904f`](https://github.com/nodejs/node/commit/3aa864904f)] - **test\_runner**: finish marking snapshot testing as stable (Colin Ihrig) [#56425](https://github.com/nodejs/node/pull/56425) +* \[[`b7b0768cda`](https://github.com/nodejs/node/commit/b7b0768cda)] - **tls**: fix error stack conversion in cryptoErrorListToException() (Joyee Cheung) [#56554](https://github.com/nodejs/node/pull/56554) +* \[[`8f59f5ba47`](https://github.com/nodejs/node/commit/8f59f5ba47)] - **tools**: update doc to new version (Node.js GitHub Bot) [#56259](https://github.com/nodejs/node/pull/56259) +* \[[`ebf4527730`](https://github.com/nodejs/node/commit/ebf4527730)] - **tools**: update inspector\_protocol roller (Chengzhong Wu) [#56649](https://github.com/nodejs/node/pull/56649) +* \[[`649cf0c0f6`](https://github.com/nodejs/node/commit/649cf0c0f6)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#56704](https://github.com/nodejs/node/pull/56704) +* \[[`69cb44e315`](https://github.com/nodejs/node/commit/69cb44e315)] - **tools**: fix tools-deps-update (Daniel Lemire) [#56684](https://github.com/nodejs/node/pull/56684) +* \[[`02f36ca11b`](https://github.com/nodejs/node/commit/02f36ca11b)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#56695](https://github.com/nodejs/node/pull/56695) +* \[[`bcc1c65066`](https://github.com/nodejs/node/commit/bcc1c65066)] - **tools**: fix permissions in `lint-release-proposal` workflow (Antoine du Hamel) [#56614](https://github.com/nodejs/node/pull/56614) +* \[[`ab4cfef600`](https://github.com/nodejs/node/commit/ab4cfef600)] - **tools**: remove github reporter (Carlos Espa) [#56468](https://github.com/nodejs/node/pull/56468) +* \[[`477e674a2a`](https://github.com/nodejs/node/commit/477e674a2a)] - **tools**: edit `create-release-proposal` workflow (Antoine du Hamel) [#56540](https://github.com/nodejs/node/pull/56540) +* \[[`5f6785b1cb`](https://github.com/nodejs/node/commit/5f6785b1cb)] - **tools**: validate commit list as part of `lint-release-commit` (Antoine du Hamel) [#56291](https://github.com/nodejs/node/pull/56291) +* \[[`2a0fbd8731`](https://github.com/nodejs/node/commit/2a0fbd8731)] - **tools**: fix loong64 build failed (Xiao-Tao) [#56466](https://github.com/nodejs/node/pull/56466) +* \[[`aea088f79e`](https://github.com/nodejs/node/commit/aea088f79e)] - **tools**: disable unneeded rule ignoring in Python linting (Rich Trott) [#56429](https://github.com/nodejs/node/pull/56429) +* \[[`7a0dd2d04f`](https://github.com/nodejs/node/commit/7a0dd2d04f)] - **tools**: use a configurable value for number of open dependabot PRs (Antoine du Hamel) [#56427](https://github.com/nodejs/node/pull/56427) +* \[[`c249c9715a`](https://github.com/nodejs/node/commit/c249c9715a)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#56426](https://github.com/nodejs/node/pull/56426) +* \[[`a9d332a16f`](https://github.com/nodejs/node/commit/a9d332a16f)] - **util**: inspect: do not crash on an Error stack that contains a Symbol (Jordan Harband) [#56573](https://github.com/nodejs/node/pull/56573) +* \[[`6a16012fd7`](https://github.com/nodejs/node/commit/6a16012fd7)] - **util**: inspect: do not crash on an Error with a regex `name` (Jordan Harband) [#56574](https://github.com/nodejs/node/pull/56574) +* \[[`c7f16192f4`](https://github.com/nodejs/node/commit/c7f16192f4)] - **util**: rename CallSite.column to columnNumber (Chengzhong Wu) [#56584](https://github.com/nodejs/node/pull/56584) +* \[[`e652781934`](https://github.com/nodejs/node/commit/e652781934)] - **util**: do not crash on inspecting function with `Symbol` name (Jordan Harband) [#56572](https://github.com/nodejs/node/pull/56572) +* \[[`d066acfcf9`](https://github.com/nodejs/node/commit/d066acfcf9)] - **util**: expose CallSite.scriptId (Chengzhong Wu) [#56551](https://github.com/nodejs/node/pull/56551) +* \[[`e1b0f44d19`](https://github.com/nodejs/node/commit/e1b0f44d19)] - **watch**: reload env file for --env-file-if-exists (Jonas) [#56643](https://github.com/nodejs/node/pull/56643) +* \[[`538e19489f`](https://github.com/nodejs/node/commit/538e19489f)] - **worker**: refactor stdio to improve performance (Matteo Collina) [#56630](https://github.com/nodejs/node/pull/56630) +* \[[`aab53e6965`](https://github.com/nodejs/node/commit/aab53e6965)] - **worker**: flush stdout and stderr on exit (Matteo Collina) [#56428](https://github.com/nodejs/node/pull/56428) + <a id="23.6.1"></a> ## 2025-01-21, Version 23.6.1 (Current), @RafaelGSS diff --git a/doc/contributing/advocacy-ambassador-program.md b/doc/contributing/advocacy-ambassador-program.md index 31d8fd58a1a4bf..76f29b73586691 100644 --- a/doc/contributing/advocacy-ambassador-program.md +++ b/doc/contributing/advocacy-ambassador-program.md @@ -94,11 +94,14 @@ process. An ambassador can request promotion of content in the following ways: * Posting a link to the content in the "what's new" issue in nodejs/ambassadors so that it goes out on the news feed. -Foundation staff will repost the social media post -without any need for validation based on the request coming from -an ambassador. These requests can be made through the existing social channel -in the OpenJS Slack. For that reason and for communication purposes and -collaboration opportunities, ambassadors should be members of the +For accounts managed by foundation staff, the staff will repost the social +media post without any need for validation based on the request coming from +an ambassador. For accounts managed by the project with an approval process, +(for example bluesky) documentation for the approval process will indicate +that repost requests from ambassadors should generally be approved. These +requests can be made through the existing social channel in the OpenJS Slack. +For that reason and for communication purposes and collaboration opportunities, +ambassadors should be members of the [OpenJS Slack](https://slack-invite.openjsf.org/). ## Messages and topics to promote @@ -165,3 +168,83 @@ Some of the things to highlight include: #### Project contacts * @mhdawson + +### How things get done in the Node.js project + +#### Goal + +Help people understand that no people are paid to answer their issues or +implement their pull requests. Things get done based on what volunteers work on +and the best way to get something fixed/changed is to submit a Pull request. + +Some of the things to highlight include: + +* Nobody is paid specifically to answer issues, fix bugs or implement new features. +* No company owns/supports Node.js. Most contributions are from individuals + as opposed to organizations. When an individual becomes a collaborator + the access and priviledges are granted to the indidual, their employer does + not gain any additional rights in the project. +* The governance of the project is specifically designed to prevent one or + a small number of companies from dominating the project. +* Decisions are made by the active collaborators, there is no single person + who makes a decision for the project on their own. This can slow down + decision making but most often results in better outcomes. +* The project is open and receptive to contributions. If you need something PR + in a fix or feature. +* Maintainers are people just like you, with many priorities and end goals. We + all have the same goal of moving the Node.js project forward but at the same + time we all have other responsibilities that affect how much time we have + available to do so. +* People are volunteering their time to review your PRs and answer questions in + the issues you open. Be mindfull of your asks for their time and acknowledge + the gift of their time. Too many issues/PRs in a short period of time may + overwelm maintainers leading to less progress versus more, try to pace your + issues and PRs so that you don't have too many open at the same time. The + same goes for comments in discussions, try to avoid overwelming a discussion + with too many responses, even too much useful data can overwelm a discussion + leading to lower engagement. +* While volunteers work to do the right thing for the community, the project + does not owe anybody anything and does not tolerate abusive or + demanding language in issues, discussions or PRs. A respectful dialog will + maximize the chances of the outcome you desire. +* If you depend on timely support or an SLA, contract with a company that provides + paid support and will prioritize your issues. + +#### Related Links + +* <https://github.com/nodejs/TSC/blob/main/TSC-Charter.md#section-3-establishment-of-the-tsc> + +#### Project contacts + +* @mcollina +* @mhdawson +* @marco-ippolito + +You can find their contact email in the [`README.md`](../../README.md#tsc-technical-steering-committee) + +#### Node.js Type Stripping + +##### Goal + +The goal is to raise awareness of the Node.js TypeScript Type Stripping in the JavaScript ecosystem. +Some of the things to highlight include: + +* The benefits and limitations of the current implementation. +* The `tsconfig.json` configuration options to use in combination for type checking. +* Updates on the implementation advancements. + +#### Related Links + +<!-- lint disable prohibited-strings remark-lint--> + +* <https://github.com/nodejs/typescript> +* <https://nodejs.org/api/typescript.html> +* <https://nodejs.org/en/learn/typescript/run-natively> +* <https://satanacchio.hashnode.dev/everything-you-need-to-know-about-nodejs-type-stripping> +* <https://github.com/nodejs/amaro> + +<!-- lint enable prohibited-strings remark-lint--> + +#### Project contacts + +* @marco-ippolito diff --git a/doc/contributing/collaborator-guide.md b/doc/contributing/collaborator-guide.md index eb5ab19f8923e9..e153c86061bb7d 100644 --- a/doc/contributing/collaborator-guide.md +++ b/doc/contributing/collaborator-guide.md @@ -523,7 +523,6 @@ deprecation level of an API. Collaborators can opt to elevate pull requests or issues to the [TSC][]. Do this if a pull request or issue: -* Is labeled `semver-major`, or * Has a significant impact on the codebase, or * Is controversial, or * Is at an impasse among collaborators who are participating in the discussion. @@ -532,6 +531,9 @@ Do this if a pull request or issue: [TSC][]. Do not use the GitHub UI on the right-hand side to assign to `@nodejs/tsc` or request a review from `@nodejs/tsc`. +If a pull request is labeled `semver-major`, you can request a review from the +`@nodejs/tsc` GitHub team. + The TSC serves as the final arbiter where required. ## Landing pull requests diff --git a/doc/contributing/pull-requests.md b/doc/contributing/pull-requests.md index 2ad538b3fd8e29..8914d60c95aa2f 100644 --- a/doc/contributing/pull-requests.md +++ b/doc/contributing/pull-requests.md @@ -184,6 +184,11 @@ A good commit message should describe what changed and why. of the log. Use the `Fixes:` prefix and the full issue URL. For other references use `Refs:`. + `Fixes:` and `Refs:` trailers get automatically added to your commit message + when the Pull Request lands as long as they are included in the + Pull Request's description. If the Pull Request lands in several commits, + by default the trailers found in the description are added to each commits. + Examples: * `Fixes: https://github.com/nodejs/node/issues/1337` diff --git a/doc/contributing/releases.md b/doc/contributing/releases.md index b3b20b8ae5589e..5b6d2180515565 100644 --- a/doc/contributing/releases.md +++ b/doc/contributing/releases.md @@ -308,6 +308,22 @@ branch. git checkout -b v1.2.3-proposal upstream/v1.x-staging ``` +You can also run: + +```bash +git node release -S --prepare --security --filterLabel vX.x +``` + +Example: + +```bash +git checkout v20.x +git node release -S --prepare --security --filterLabel v20.x +``` + +to automate the remaining steps until step 6 or you can perform it manually +following the below steps. + <details> <summary>Security release</summary> @@ -1102,6 +1118,22 @@ The post content can be as simple as: > … > something here about notable changes +You can create the PR for the release post on nodejs/bluesky with the following: + +```bash +# Create a PR for a post: +gh workflow run create-pr.yml --repo "https://github.com/nodejs/bluesky" \ + -F prTitle='vx.x.x release announcement' \ + -F richText='Node.js vx.x.x is out. Check the blog post at https://nodejs.org/…. TL;DR is + +- New feature +- …' + +# Create a PR for a retweet: +gh workflow run create-pr.yml --repo "https://github.com/nodejs/bluesky" \ + -F prTitle='Retweet vx.x.x release announcement' -F postURL=… +``` + <details> <summary>Security release</summary> diff --git a/doc/contributing/security-release-process.md b/doc/contributing/security-release-process.md index 3508180e0d5687..7027b16a00d5e5 100644 --- a/doc/contributing/security-release-process.md +++ b/doc/contributing/security-release-process.md @@ -35,6 +35,7 @@ The current security stewards are documented in the main Node.js | NodeSource | Rafael | 2024-Apr-03 | | NodeSource | Rafael | 2024-Apr-10 | | NodeSource | Rafael | 2024-Jul-08 | +| NodeSource | Rafael | 2025-Jan-21 | | Datadog | Bryan | | | IBM | Joe | | | Platformatic | Matteo | | @@ -65,6 +66,8 @@ The current security stewards are documented in the main Node.js * [ ] 4\. **Requesting CVEs:** * Request CVEs for the reports with `git node security --request-cve`. * Make sure to have a green CI before requesting a CVE. + * Check if there is a need to issue a CVE for any version that became + EOL after the last security release through [this issue](https://github.com/nodejs/security-wg/issues/1419). * [ ] 5\. **Choosing or Updating Release Date:** * Get agreement on the planned date for the release. diff --git a/doc/template.html b/doc/template.html index ab8be0e747f492..34edf068df5c8d 100644 --- a/doc/template.html +++ b/doc/template.html @@ -26,6 +26,7 @@ __JS_FLAVORED_DYNAMIC_CSS__ </head> <body class="alt apidoc" id="api-section-__FILENAME__"> + <a href="#apicontent" class="skip-to-content">Skip to content</a> <div id="content" class="clearfix"> <div role="navigation" id="column2" class="interior"> <div id="intro" class="interior"> @@ -59,13 +60,13 @@ <h1>Node.js __VERSION__ documentation</h1> __GTOC_PICKER__ __ALTDOCS__ <li class="picker-header"> - <a href="#"> + <a href="#options-picker" aria-controls="options-picker"> <span class="picker-arrow"></span> Options </a> - <div class="picker"> - <ul> + <div class="picker" tabindex="-1"> + <ul id="options-picker"> <li> <a href="all.html">View on single page</a> </li> diff --git a/eslint.config.mjs b/eslint.config.mjs index 2e8dd65a1b3733..ef195d0c60a955 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -49,7 +49,6 @@ export default [ 'test/.tmp.*/**', 'test/addons/??_*', 'test/fixtures/**', - 'tools/github_reporter/**', ], }, // #endregion diff --git a/lib/assert.js b/lib/assert.js index d8d841da4c7e60..603f2a026313c9 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -95,6 +95,7 @@ const CallTracker = require('internal/assert/calltracker'); const { validateFunction, } = require('internal/validators'); +const { isURL } = require('internal/url'); let isDeepEqual; let isDeepStrictEqual; @@ -383,7 +384,7 @@ function isSpecial(obj) { } const typesToCallDeepStrictEqualWith = [ - isKeyObject, isWeakSet, isWeakMap, Buffer.isBuffer, isSharedArrayBuffer, + isKeyObject, isWeakSet, isWeakMap, Buffer.isBuffer, isSharedArrayBuffer, isURL, ]; function partiallyCompareMaps(actual, expected, comparedObjects) { @@ -466,7 +467,7 @@ function partiallyCompareArrayBuffersOrViews(actual, expected) { } for (let i = 0; i < expectedViewLength; i++) { - if (actualView[i] !== expectedView[i]) { + if (!ObjectIs(actualView[i], expectedView[i])) { return false; } } @@ -586,6 +587,10 @@ function compareBranch( expected, comparedObjects, ) { + // Checking for the simplest case possible. + if (actual === expected) { + return true; + } // Check for Map object equality if (isMap(actual) && isMap(expected)) { return partiallyCompareMaps(actual, expected, comparedObjects); @@ -639,10 +644,9 @@ function compareBranch( // Check if all expected keys and values match for (let i = 0; i < keysExpected.length; i++) { const key = keysExpected[i]; - assert( - ReflectHas(actual, key), - new AssertionError({ message: `Expected key ${String(key)} not found in actual object` }), - ); + if (!ReflectHas(actual, key)) { + return false; + } if (!compareBranch(actual[key], expected[key], comparedObjects)) { return false; } diff --git a/lib/internal/assert/assertion_error.js b/lib/internal/assert/assertion_error.js index d036248e45755e..d654ca5038bbab 100644 --- a/lib/internal/assert/assertion_error.js +++ b/lib/internal/assert/assertion_error.js @@ -26,6 +26,7 @@ const { myersDiff, printMyersDiff, printSimpleMyersDiff } = require('internal/as const kReadableOperator = { deepStrictEqual: 'Expected values to be strictly deep-equal:', + partialDeepStrictEqual: 'Expected values to be partially and strictly deep-equal:', strictEqual: 'Expected values to be strictly equal:', strictEqualObject: 'Expected "actual" to be reference-equal to "expected":', deepEqual: 'Expected values to be loosely deep-equal:', @@ -41,6 +42,8 @@ const kReadableOperator = { const kMaxShortStringLength = 12; const kMaxLongStringLength = 512; +const kMethodsWithCustomMessageDiff = ['deepStrictEqual', 'strictEqual', 'partialDeepStrictEqual']; + function copyError(source) { const target = ObjectAssign( { __proto__: ObjectGetPrototypeOf(source) }, @@ -210,9 +213,13 @@ function createErrDiff(actual, expected, operator, customMessage) { const checkCommaDisparity = actual != null && typeof actual === 'object'; const diff = myersDiff(inspectedSplitActual, inspectedSplitExpected, checkCommaDisparity); - const myersDiffMessage = printMyersDiff(diff); + const myersDiffMessage = printMyersDiff(diff, operator); message = myersDiffMessage.message; + if (operator === 'partialDeepStrictEqual') { + header = `${colors.gray}${colors.hasColors ? '' : '+ '}actual${colors.white} ${colors.red}- expected${colors.white}`; + } + if (myersDiffMessage.skipped) { skipped = true; } @@ -255,7 +262,7 @@ class AssertionError extends Error { if (isErrorStackTraceLimitWritable()) Error.stackTraceLimit = 0; if (message != null) { - if (operator === 'deepStrictEqual' || operator === 'strictEqual') { + if (kMethodsWithCustomMessageDiff.includes(operator)) { super(createErrDiff(actual, expected, operator, message)); } else { super(String(message)); @@ -275,7 +282,7 @@ class AssertionError extends Error { expected = copyError(expected); } - if (operator === 'deepStrictEqual' || operator === 'strictEqual') { + if (kMethodsWithCustomMessageDiff.includes(operator)) { super(createErrDiff(actual, expected, operator, message)); } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') { diff --git a/lib/internal/assert/myers_diff.js b/lib/internal/assert/myers_diff.js index 8893ff78d7c2a7..8ec20e304801fb 100644 --- a/lib/internal/assert/myers_diff.js +++ b/lib/internal/assert/myers_diff.js @@ -1,10 +1,9 @@ 'use strict'; const { - Array, - ArrayPrototypeFill, ArrayPrototypePush, ArrayPrototypeSlice, + Int32Array, StringPrototypeEndsWith, } = primordials; @@ -26,7 +25,7 @@ function myersDiff(actual, expected, checkCommaDisparity = false) { const actualLength = actual.length; const expectedLength = expected.length; const max = actualLength + expectedLength; - const v = ArrayPrototypeFill(Array(2 * max + 1), 0); + const v = new Int32Array(2 * max + 1); const trace = []; @@ -35,22 +34,24 @@ function myersDiff(actual, expected, checkCommaDisparity = false) { ArrayPrototypePush(trace, newTrace); for (let diagonalIndex = -diffLevel; diagonalIndex <= diffLevel; diagonalIndex += 2) { - let x; - if (diagonalIndex === -diffLevel || - (diagonalIndex !== diffLevel && v[diagonalIndex - 1 + max] < v[diagonalIndex + 1 + max])) { - x = v[diagonalIndex + 1 + max]; - } else { - x = v[diagonalIndex - 1 + max] + 1; - } - + const offset = diagonalIndex + max; + const previousOffset = v[offset - 1]; + const nextOffset = v[offset + 1]; + let x = diagonalIndex === -diffLevel || (diagonalIndex !== diffLevel && previousOffset < nextOffset) ? + nextOffset : + previousOffset + 1; let y = x - diagonalIndex; - while (x < actualLength && y < expectedLength && areLinesEqual(actual[x], expected[y], checkCommaDisparity)) { + while ( + x < actualLength && + y < expectedLength && + areLinesEqual(actual[x], expected[y], checkCommaDisparity) + ) { x++; y++; } - v[diagonalIndex + max] = x; + v[offset] = x; if (x >= actualLength && y >= expectedLength) { return backtrack(trace, actual, expected, checkCommaDisparity); @@ -71,10 +72,13 @@ function backtrack(trace, actual, expected, checkCommaDisparity) { for (let diffLevel = trace.length - 1; diffLevel >= 0; diffLevel--) { const v = trace[diffLevel]; const diagonalIndex = x - y; - let prevDiagonalIndex; + const offset = diagonalIndex + max; - if (diagonalIndex === -diffLevel || - (diagonalIndex !== diffLevel && v[diagonalIndex - 1 + max] < v[diagonalIndex + 1 + max])) { + let prevDiagonalIndex; + if ( + diagonalIndex === -diffLevel || + (diagonalIndex !== diffLevel && v[offset - 1] < v[offset + 1]) + ) { prevDiagonalIndex = diagonalIndex + 1; } else { prevDiagonalIndex = diagonalIndex - 1; @@ -84,8 +88,11 @@ function backtrack(trace, actual, expected, checkCommaDisparity) { const prevY = prevX - prevDiagonalIndex; while (x > prevX && y > prevY) { - const value = !checkCommaDisparity || - StringPrototypeEndsWith(actual[x - 1], ',') ? actual[x - 1] : expected[y - 1]; + const actualItem = actual[x - 1]; + const value = + !checkCommaDisparity || StringPrototypeEndsWith(actualItem, ',') ? + actualItem : + expected[y - 1]; ArrayPrototypePush(result, { __proto__: null, type: 'nop', value }); x--; y--; @@ -110,36 +117,37 @@ function printSimpleMyersDiff(diff) { for (let diffIdx = diff.length - 1; diffIdx >= 0; diffIdx--) { const { type, value } = diff[diffIdx]; + let color = colors.white; + if (type === 'insert') { - message += `${colors.green}${value}${colors.white}`; + color = colors.green; } else if (type === 'delete') { - message += `${colors.red}${value}${colors.white}`; - } else { - message += `${colors.white}${value}${colors.white}`; + color = colors.red; } + + message += `${color}${value}${colors.white}`; } return `\n${message}`; } -function printMyersDiff(diff, simple = false) { +function printMyersDiff(diff, operator) { let message = ''; let skipped = false; let nopCount = 0; for (let diffIdx = diff.length - 1; diffIdx >= 0; diffIdx--) { const { type, value } = diff[diffIdx]; - const previousType = (diffIdx < (diff.length - 1)) ? diff[diffIdx + 1].type : null; - const typeChanged = previousType && (type !== previousType); + const previousType = diffIdx < diff.length - 1 ? diff[diffIdx + 1].type : null; - if (typeChanged && previousType === 'nop') { - // Avoid grouping if only one line would have been grouped otherwise + // Avoid grouping if only one line would have been grouped otherwise + if (previousType === 'nop' && type !== previousType) { if (nopCount === kNopLinesToCollapse + 1) { message += `${colors.white} ${diff[diffIdx + 1].value}\n`; } else if (nopCount === kNopLinesToCollapse + 2) { message += `${colors.white} ${diff[diffIdx + 2].value}\n`; message += `${colors.white} ${diff[diffIdx + 1].value}\n`; - } if (nopCount >= (kNopLinesToCollapse + 3)) { + } else if (nopCount >= kNopLinesToCollapse + 3) { message += `${colors.blue}...${colors.white}\n`; message += `${colors.white} ${diff[diffIdx + 1].value}\n`; skipped = true; @@ -148,7 +156,11 @@ function printMyersDiff(diff, simple = false) { } if (type === 'insert') { - message += `${colors.green}+${colors.white} ${value}\n`; + if (operator === 'partialDeepStrictEqual') { + message += `${colors.gray}${colors.hasColors ? ' ' : '+'} ${value}${colors.white}\n`; + } else { + message += `${colors.green}+${colors.white} ${value}\n`; + } } else if (type === 'delete') { message += `${colors.red}-${colors.white} ${value}\n`; } else if (type === 'nop') { diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index de2f0e00e14092..5b24a44741b0d6 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -368,8 +368,8 @@ internalBinding('process_methods').setEmitWarningSync(emitWarningSync); { const { - getSourceMapsEnabled, - setSourceMapsEnabled, + getSourceMapsSupport, + setSourceMapsSupport, maybeCacheGeneratedSourceMap, } = require('internal/source_map/source_map_cache'); const { @@ -381,10 +381,19 @@ internalBinding('process_methods').setEmitWarningSync(emitWarningSync); enumerable: true, configurable: true, get() { - return getSourceMapsEnabled(); + return getSourceMapsSupport().enabled; }, }); - process.setSourceMapsEnabled = setSourceMapsEnabled; + process.setSourceMapsEnabled = function setSourceMapsEnabled(val) { + setSourceMapsSupport(val, { + __proto__: null, + // TODO(legendecas): In order to smoothly improve the source map support, + // skip source maps in node_modules and generated code with + // `process.setSourceMapsEnabled(true)` in a semver major version. + nodeModules: val, + generatedCode: val, + }); + }; // The C++ land calls back to maybeCacheGeneratedSourceMap() // when code is generated by user with eval() or new Function() // to cache the source maps from the evaluated code, if any. diff --git a/lib/internal/bootstrap/switches/is_not_main_thread.js b/lib/internal/bootstrap/switches/is_not_main_thread.js index 03aa7c3ebe12f2..6fa30aec748af0 100644 --- a/lib/internal/bootstrap/switches/is_not_main_thread.js +++ b/lib/internal/bootstrap/switches/is_not_main_thread.js @@ -33,11 +33,22 @@ process.removeListener('removeListener', stopListeningIfSignal); const { createWorkerStdio, + kStdioWantsMoreDataCallback, } = require('internal/worker/io'); let workerStdio; function lazyWorkerStdio() { - return workerStdio ??= createWorkerStdio(); + if (workerStdio === undefined) { + workerStdio = createWorkerStdio(); + process.on('exit', flushSync); + } + + return workerStdio; +} + +function flushSync() { + workerStdio.stdout[kStdioWantsMoreDataCallback](); + workerStdio.stderr[kStdioWantsMoreDataCallback](); } function getStdout() { return lazyWorkerStdio().stdout; } diff --git a/lib/internal/child_process/serialization.js b/lib/internal/child_process/serialization.js index 7be39f0d48c3c2..46bb1faaf9fc21 100644 --- a/lib/internal/child_process/serialization.js +++ b/lib/internal/child_process/serialization.js @@ -61,7 +61,12 @@ const advanced = { *parseChannelMessages(channel, readData) { if (readData.length === 0) return; - ArrayPrototypePush(channel[kMessageBuffer], readData); + if (channel[kMessageBufferSize] && channel[kMessageBuffer][0].length < 4) { + // Message length split into two buffers, so let's concatenate it. + channel[kMessageBuffer][0] = Buffer.concat([channel[kMessageBuffer][0], readData]); + } else { + ArrayPrototypePush(channel[kMessageBuffer], readData); + } channel[kMessageBufferSize] += readData.length; // Index 0 should always be present because we just pushed data into it. diff --git a/lib/internal/console/constructor.js b/lib/internal/console/constructor.js index cefb50fb35e32b..26f2e837d74f6f 100644 --- a/lib/internal/console/constructor.js +++ b/lib/internal/console/constructor.js @@ -61,6 +61,13 @@ const { } = require('internal/constants'); const kCounts = Symbol('counts'); const { time, timeLog, timeEnd, kNone } = require('internal/util/debuglog'); +const { channel } = require('diagnostics_channel'); + +const onLog = channel('console.log'); +const onWarn = channel('console.warn'); +const onError = channel('console.error'); +const onInfo = channel('console.info'); +const onDebug = channel('console.debug'); const kTraceConsoleCategory = 'node,node.console'; @@ -371,14 +378,39 @@ function timeLogImpl(consoleRef, label, formatted, args) { const consoleMethods = { log(...args) { + if (onLog.hasSubscribers) { + onLog.publish(args); + } this[kWriteToConsole](kUseStdout, this[kFormatForStdout](args)); }, + info(...args) { + if (onInfo.hasSubscribers) { + onInfo.publish(args); + } + this[kWriteToConsole](kUseStdout, this[kFormatForStdout](args)); + }, + + debug(...args) { + if (onDebug.hasSubscribers) { + onDebug.publish(args); + } + this[kWriteToConsole](kUseStdout, this[kFormatForStdout](args)); + }, warn(...args) { + if (onWarn.hasSubscribers) { + onWarn.publish(args); + } this[kWriteToConsole](kUseStderr, this[kFormatForStderr](args)); }, + error(...args) { + if (onError.hasSubscribers) { + onError.publish(args); + } + this[kWriteToConsole](kUseStderr, this[kFormatForStderr](args)); + }, dir(object, options) { this[kWriteToConsole](kUseStdout, inspect(object, { @@ -614,10 +646,7 @@ function noop() {} for (const method of ReflectOwnKeys(consoleMethods)) Console.prototype[method] = consoleMethods[method]; -Console.prototype.debug = Console.prototype.log; -Console.prototype.info = Console.prototype.log; Console.prototype.dirxml = Console.prototype.log; -Console.prototype.error = Console.prototype.warn; Console.prototype.groupCollapsed = Console.prototype.group; function initializeGlobalConsole(globalConsole) { diff --git a/lib/internal/errors.js b/lib/internal/errors.js index d990f8d5a106aa..d6b2ceb5962351 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -1739,21 +1739,6 @@ E('ERR_STREAM_WRAP', 'Stream has StringDecoder set or is in objectMode', Error); E('ERR_STREAM_WRITE_AFTER_END', 'write after end', Error); E('ERR_SYNTHETIC', 'JavaScript Callstack', Error); E('ERR_SYSTEM_ERROR', 'A system error occurred', SystemError, HideStackFramesError); -E('ERR_TAP_LEXER_ERROR', function(errorMsg) { - hideInternalStackFrames(this); - return errorMsg; -}, Error); -E('ERR_TAP_PARSER_ERROR', function(errorMsg, details, tokenCausedError, source) { - hideInternalStackFrames(this); - this.cause = tokenCausedError; - const { column, line, start, end } = tokenCausedError.location; - const errorDetails = `${details} at line ${line}, column ${column} (start ${start}, end ${end})`; - return errorMsg + errorDetails; -}, SyntaxError); -E('ERR_TAP_VALIDATION_ERROR', function(errorMsg) { - hideInternalStackFrames(this); - return errorMsg; -}, Error); E('ERR_TEST_FAILURE', function(error, failureType) { hideInternalStackFrames(this); assert(typeof failureType === 'string' || typeof failureType === 'symbol', @@ -1853,6 +1838,7 @@ E('ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING', E('ERR_UNSUPPORTED_RESOLVE_REQUEST', 'Failed to resolve module specifier "%s" from "%s": Invalid relative URL or base scheme is not hierarchical.', TypeError); +E('ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX', '%s', SyntaxError); E('ERR_USE_AFTER_CLOSE', '%s was closed', Error); // This should probably be a `TypeError`. diff --git a/lib/internal/fs/glob.js b/lib/internal/fs/glob.js index 6876b3d5721c67..ba6066d80d8558 100644 --- a/lib/internal/fs/glob.js +++ b/lib/internal/fs/glob.js @@ -2,6 +2,7 @@ const { ArrayFrom, + ArrayIsArray, ArrayPrototypeAt, ArrayPrototypeFlatMap, ArrayPrototypeMap, @@ -24,12 +25,18 @@ const { isMacOS, } = require('internal/util'); const { - validateFunction, validateObject, validateString, validateStringArray, } = require('internal/validators'); const { DirentFromStats } = require('internal/fs/utils'); +const { + codes: { + ERR_INVALID_ARG_TYPE, + }, + hideStackFrames, +} = require('internal/errors'); +const assert = require('internal/assert'); let minimatch; function lazyMinimatch() { @@ -63,6 +70,45 @@ function getDirentSync(path) { return new DirentFromStats(basename(path), stat, dirname(path)); } +/** + * @callback validateStringArrayOrFunction + * @param {*} value + * @param {string} name + */ +const validateStringArrayOrFunction = hideStackFrames((value, name) => { + if (ArrayIsArray(value)) { + for (let i = 0; i < value.length; ++i) { + if (typeof value[i] !== 'string') { + throw new ERR_INVALID_ARG_TYPE(`${name}[${i}]`, 'string', value[i]); + } + } + return; + } + if (typeof value !== 'function') { + throw new ERR_INVALID_ARG_TYPE(name, ['string[]', 'function'], value); + } +}); + +/** + * @param {string} pattern + * @param {options} options + * @returns {Minimatch} + */ +function createMatcher(pattern, options = kEmptyObject) { + const opts = { + __proto__: null, + nocase: isWindows || isMacOS, + windowsPathsNoEscape: true, + nonegate: true, + nocomment: true, + optimizationLevel: 2, + platform: process.platform, + nocaseMagicOnly: true, + ...options, + }; + return new (lazyMinimatch().Minimatch)(pattern, opts); +} + class Cache { #cache = new SafeMap(); #statsCache = new SafeMap(); @@ -188,24 +234,56 @@ class Pattern { } } +class ResultSet extends SafeSet { + #root = '.'; + #isExcluded = () => false; + constructor(i) { super(i); } // eslint-disable-line no-useless-constructor + + setup(root, isExcludedFn) { + this.#root = root; + this.#isExcluded = isExcludedFn; + } + + add(value) { + if (this.#isExcluded(resolve(this.#root, value))) { + return false; + } + super.add(value); + return true; + } +} + class Glob { #root; #exclude; #cache = new Cache(); - #results = new SafeSet(); + #results = new ResultSet(); #queue = []; #subpatterns = new SafeMap(); #patterns; #withFileTypes; + #isExcluded = () => false; constructor(pattern, options = kEmptyObject) { validateObject(options, 'options'); const { exclude, cwd, withFileTypes } = options; - if (exclude != null) { - validateFunction(exclude, 'options.exclude'); - } this.#root = cwd ?? '.'; - this.#exclude = exclude; this.#withFileTypes = !!withFileTypes; + if (exclude != null) { + validateStringArrayOrFunction(exclude, 'options.exclude'); + if (ArrayIsArray(exclude)) { + assert(typeof this.#root === 'string'); + // Convert the path part of exclude patterns to absolute paths for + // consistent comparison before instantiating matchers. + const matchers = exclude + .map((pattern) => resolve(this.#root, pattern)) + .map((pattern) => createMatcher(pattern)); + this.#isExcluded = (value) => + matchers.some((matcher) => matcher.match(value)); + this.#results.setup(this.#root, this.#isExcluded); + } else { + this.#exclude = exclude; + } + } let patterns; if (typeof pattern === 'object') { validateStringArray(pattern, 'patterns'); @@ -214,17 +292,7 @@ class Glob { validateString(pattern, 'patterns'); patterns = [pattern]; } - this.matchers = ArrayPrototypeMap(patterns, (pattern) => new (lazyMinimatch().Minimatch)(pattern, { - __proto__: null, - nocase: isWindows || isMacOS, - windowsPathsNoEscape: true, - nonegate: true, - nocomment: true, - optimizationLevel: 2, - platform: process.platform, - nocaseMagicOnly: true, - })); - + this.matchers = ArrayPrototypeMap(patterns, (pattern) => createMatcher(pattern)); this.#patterns = ArrayPrototypeFlatMap(this.matchers, (matcher) => ArrayPrototypeMap(matcher.set, (pattern, i) => new Pattern( pattern, @@ -255,6 +323,9 @@ class Glob { ); } #addSubpattern(path, pattern) { + if (this.#isExcluded(path)) { + return; + } if (!this.#subpatterns.has(path)) { this.#subpatterns.set(path, [pattern]); } else { @@ -273,6 +344,9 @@ class Glob { const isLast = pattern.isLast(isDirectory); const isFirst = pattern.isFirst(); + if (this.#isExcluded(fullpath)) { + return; + } if (isFirst && isWindows && typeof pattern.at(0) === 'string' && StringPrototypeEndsWith(pattern.at(0), ':')) { // Absolute path, go to root this.#addSubpattern(`${pattern.at(0)}\\`, pattern.child(new SafeSet().add(1))); @@ -461,6 +535,9 @@ class Glob { const isLast = pattern.isLast(isDirectory); const isFirst = pattern.isFirst(); + if (this.#isExcluded(fullpath)) { + return; + } if (isFirst && isWindows && typeof pattern.at(0) === 'string' && StringPrototypeEndsWith(pattern.at(0), ':')) { // Absolute path, go to root this.#addSubpattern(`${pattern.at(0)}\\`, pattern.child(new SafeSet().add(1))); @@ -489,8 +566,9 @@ class Glob { if (stat && (p || isDirectory)) { const result = join(path, p); if (!this.#results.has(result)) { - this.#results.add(result); - yield this.#withFileTypes ? stat : result; + if (this.#results.add(result)) { + yield this.#withFileTypes ? stat : result; + } } } if (pattern.indexes.size === 1 && pattern.indexes.has(last)) { @@ -501,8 +579,9 @@ class Glob { // If pattern ends with **, add to results // if path is ".", add it only if pattern starts with "." or pattern is exactly "**" if (!this.#results.has(path)) { - this.#results.add(path); - yield this.#withFileTypes ? stat : path; + if (this.#results.add(path)) { + yield this.#withFileTypes ? stat : path; + } } } @@ -551,8 +630,9 @@ class Glob { } else if (!fromSymlink && index === last) { // If ** is last, add to results if (!this.#results.has(entryPath)) { - this.#results.add(entryPath); - yield this.#withFileTypes ? entry : entryPath; + if (this.#results.add(entryPath)) { + yield this.#withFileTypes ? entry : entryPath; + } } } @@ -562,8 +642,9 @@ class Glob { if (nextMatches && nextIndex === last && !isLast) { // If next pattern is the last one, add to results if (!this.#results.has(entryPath)) { - this.#results.add(entryPath); - yield this.#withFileTypes ? entry : entryPath; + if (this.#results.add(entryPath)) { + yield this.#withFileTypes ? entry : entryPath; + } } } else if (nextMatches && entry.isDirectory()) { // Pattern matched, meaning two patterns forward @@ -598,15 +679,17 @@ class Glob { if (!this.#cache.seen(path, pattern, nextIndex)) { this.#cache.add(path, pattern.child(new SafeSet().add(nextIndex))); if (!this.#results.has(path)) { - this.#results.add(path); - yield this.#withFileTypes ? this.#cache.statSync(fullpath) : path; + if (this.#results.add(path)) { + yield this.#withFileTypes ? this.#cache.statSync(fullpath) : path; + } } } if (!this.#cache.seen(path, pattern, nextIndex) || !this.#cache.seen(parent, pattern, nextIndex)) { this.#cache.add(parent, pattern.child(new SafeSet().add(nextIndex))); if (!this.#results.has(parent)) { - this.#results.add(parent); - yield this.#withFileTypes ? this.#cache.statSync(join(this.#root, parent)) : parent; + if (this.#results.add(parent)) { + yield this.#withFileTypes ? this.#cache.statSync(join(this.#root, parent)) : parent; + } } } } @@ -621,8 +704,9 @@ class Glob { // If current pattern is ".", proceed to test next pattern if (nextIndex === last) { if (!this.#results.has(entryPath)) { - this.#results.add(entryPath); - yield this.#withFileTypes ? entry : entryPath; + if (this.#results.add(entryPath)) { + yield this.#withFileTypes ? entry : entryPath; + } } } else { subPatterns.add(nextIndex + 1); @@ -634,8 +718,9 @@ class Glob { // add next pattern to potential patterns, or to results if it's the last pattern if (index === last) { if (!this.#results.has(entryPath)) { - this.#results.add(entryPath); - yield this.#withFileTypes ? entry : entryPath; + if (this.#results.add(entryPath)) { + yield this.#withFileTypes ? entry : entryPath; + } } } else if (entry.isDirectory()) { subPatterns.add(nextIndex); diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index 0fdf516baafd74..554221ac614636 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -645,15 +645,21 @@ function initOriginSet(session) { if (originSet === undefined) { const socket = session[kSocket]; session[kState].originSet = originSet = new SafeSet(); - if (socket.servername != null) { - let originString = `https://${socket.servername}`; - if (socket.remotePort != null) - originString += `:${socket.remotePort}`; - // We have to ensure that it is a properly serialized - // ASCII origin string. The socket.servername might not - // be properly ASCII encoded. - originSet.add(getURLOrigin(originString)); + let hostName = socket.servername; + if (hostName === null || hostName === false) { + if (socket.remoteFamily === 'IPv6') { + hostName = `[${socket.remoteAddress}]`; + } else { + hostName = socket.remoteAddress; + } } + let originString = `https://${hostName}`; + if (socket.remotePort != null) + originString += `:${socket.remotePort}`; + // We have to ensure that it is a properly serialized + // ASCII origin string. The socket.servername might not + // be properly ASCII encoded. + originSet.add(getURLOrigin(originString)); } return originSet; } @@ -3342,7 +3348,7 @@ function connect(authority, options, listener) { socket = net.connect({ port, host, ...options }); break; case 'https:': - socket = tls.connect(port, host, initializeTLSOptions(options, host)); + socket = tls.connect(port, host, initializeTLSOptions(options, net.isIP(host) ? undefined : host)); break; default: throw new ERR_HTTP2_UNSUPPORTED_PROTOCOL(protocol); diff --git a/lib/internal/inspector/network.js b/lib/internal/inspector/network.js new file mode 100644 index 00000000000000..f46268ddc49621 --- /dev/null +++ b/lib/internal/inspector/network.js @@ -0,0 +1,54 @@ +'use strict'; + +const { + NumberMAX_SAFE_INTEGER, + Symbol, +} = primordials; + +const { now } = require('internal/perf/utils'); +const kInspectorRequestId = Symbol('kInspectorRequestId'); + +// https://chromedevtools.github.io/devtools-protocol/1-3/Network/#type-ResourceType +const kResourceType = { + Document: 'Document', + Stylesheet: 'Stylesheet', + Image: 'Image', + Media: 'Media', + Font: 'Font', + Script: 'Script', + TextTrack: 'TextTrack', + XHR: 'XHR', + Fetch: 'Fetch', + Prefetch: 'Prefetch', + EventSource: 'EventSource', + WebSocket: 'WebSocket', + Manifest: 'Manifest', + SignedExchange: 'SignedExchange', + Ping: 'Ping', + CSPViolationReport: 'CSPViolationReport', + Preflight: 'Preflight', + Other: 'Other', +}; + +/** + * Return a monotonically increasing time in seconds since an arbitrary point in the past. + * @returns {number} + */ +function getMonotonicTime() { + return now() / 1000; +} + +let requestId = 0; +function getNextRequestId() { + if (requestId === NumberMAX_SAFE_INTEGER) { + requestId = 0; + } + return `node-network-event-${++requestId}`; +}; + +module.exports = { + kInspectorRequestId, + kResourceType, + getMonotonicTime, + getNextRequestId, +}; diff --git a/lib/internal/inspector/network_http.js b/lib/internal/inspector/network_http.js new file mode 100644 index 00000000000000..16669f308f3a8e --- /dev/null +++ b/lib/internal/inspector/network_http.js @@ -0,0 +1,132 @@ +'use strict'; + +const { + ArrayIsArray, + DateNow, + ObjectEntries, + String, + Symbol, +} = primordials; + +const { + kInspectorRequestId, + kResourceType, + getMonotonicTime, + getNextRequestId, +} = require('internal/inspector/network'); +const dc = require('diagnostics_channel'); +const { Network } = require('inspector'); + +const kRequestUrl = Symbol('kRequestUrl'); + +// Convert a Headers object (Map<string, number | string | string[]>) to a plain object (Map<string, string>) +const convertHeaderObject = (headers = {}) => { + // The 'host' header that contains the host and port of the URL. + let host; + const dict = {}; + for (const { 0: key, 1: value } of ObjectEntries(headers)) { + if (key.toLowerCase() === 'host') { + host = value; + } + if (typeof value === 'string') { + dict[key] = value; + } else if (ArrayIsArray(value)) { + if (key.toLowerCase() === 'cookie') dict[key] = value.join('; '); + // ChromeDevTools frontend treats 'set-cookie' as a special case + // https://github.com/ChromeDevTools/devtools-frontend/blob/4275917f84266ef40613db3c1784a25f902ea74e/front_end/core/sdk/NetworkRequest.ts#L1368 + else if (key.toLowerCase() === 'set-cookie') dict[key] = value.join('\n'); + else dict[key] = value.join(', '); + } else { + dict[key] = String(value); + } + } + return [host, dict]; +}; + +/** + * When a client request starts, emit Network.requestWillBeSent event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-requestWillBeSent + * @param {{ request: import('http').ClientRequest }} event + */ +function onClientRequestStart({ request }) { + request[kInspectorRequestId] = getNextRequestId(); + + const { 0: host, 1: headers } = convertHeaderObject(request.getHeaders()); + const url = `${request.protocol}//${host}${request.path}`; + request[kRequestUrl] = url; + + Network.requestWillBeSent({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + wallTime: DateNow(), + request: { + url, + method: request.method, + headers, + }, + }); +} + +/** + * When a client request errors, emit Network.loadingFailed event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-loadingFailed + * @param {{ request: import('http').ClientRequest, error: any }} event + */ +function onClientRequestError({ request, error }) { + if (typeof request[kInspectorRequestId] !== 'string') { + return; + } + Network.loadingFailed({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + type: kResourceType.Other, + errorText: error.message, + }); +} + +/** + * When response headers are received, emit Network.responseReceived event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-responseReceived + * @param {{ request: import('http').ClientRequest, error: any }} event + */ +function onClientResponseFinish({ request, response }) { + if (typeof request[kInspectorRequestId] !== 'string') { + return; + } + Network.responseReceived({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + type: kResourceType.Other, + response: { + url: request[kRequestUrl], + status: response.statusCode, + statusText: response.statusMessage ?? '', + headers: convertHeaderObject(response.headers)[1], + }, + }); + + // Wait until the response body is consumed by user code. + response.once('end', () => { + Network.loadingFinished({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + }); + }); +} + +function enable() { + dc.subscribe('http.client.request.start', onClientRequestStart); + dc.subscribe('http.client.request.error', onClientRequestError); + dc.subscribe('http.client.response.finish', onClientResponseFinish); +} + +function disable() { + dc.unsubscribe('http.client.request.start', onClientRequestStart); + dc.unsubscribe('http.client.request.error', onClientRequestError); + dc.unsubscribe('http.client.response.finish', onClientResponseFinish); +} + +module.exports = { + enable, + disable, +}; diff --git a/lib/internal/inspector/network_undici.js b/lib/internal/inspector/network_undici.js new file mode 100644 index 00000000000000..7afc5970117127 --- /dev/null +++ b/lib/internal/inspector/network_undici.js @@ -0,0 +1,141 @@ +'use strict'; + +const { + DateNow, +} = primordials; + +const { + kInspectorRequestId, + kResourceType, + getMonotonicTime, + getNextRequestId, +} = require('internal/inspector/network'); +const dc = require('diagnostics_channel'); +const { Network } = require('inspector'); + +// Convert an undici request headers array to a plain object (Map<string, string>) +function requestHeadersArrayToDictionary(headers) { + const dict = {}; + for (let idx = 0; idx < headers.length; idx += 2) { + const key = `${headers[idx]}`; + const value = `${headers[idx + 1]}`; + dict[key] = value; + } + return dict; +}; + +// Convert an undici response headers array to a plain object (Map<string, string>) +function responseHeadersArrayToDictionary(headers) { + const dict = {}; + for (let idx = 0; idx < headers.length; idx += 2) { + const key = `${headers[idx]}`; + const value = `${headers[idx + 1]}`; + const prevValue = dict[key]; + + if (typeof prevValue === 'string') { + // ChromeDevTools frontend treats 'set-cookie' as a special case + // https://github.com/ChromeDevTools/devtools-frontend/blob/4275917f84266ef40613db3c1784a25f902ea74e/front_end/core/sdk/NetworkRequest.ts#L1368 + if (key.toLowerCase() === 'set-cookie') dict[key] = `${prevValue}\n${value}`; + else dict[key] = `${prevValue}, ${value}`; + } else { + dict[key] = value; + } + } + return dict; +}; + +/** + * When a client request starts, emit Network.requestWillBeSent event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-requestWillBeSent + * @param {{ request: undici.Request }} event + */ +function onClientRequestStart({ request }) { + const url = `${request.origin}${request.path}`; + request[kInspectorRequestId] = getNextRequestId(); + Network.requestWillBeSent({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + wallTime: DateNow(), + request: { + url, + method: request.method, + headers: requestHeadersArrayToDictionary(request.headers), + }, + }); +} + +/** + * When a client request errors, emit Network.loadingFailed event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-loadingFailed + * @param {{ request: undici.Request, error: any }} event + */ +function onClientRequestError({ request, error }) { + if (typeof request[kInspectorRequestId] !== 'string') { + return; + } + Network.loadingFailed({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + // TODO(legendecas): distinguish between `undici.request` and `undici.fetch`. + type: kResourceType.Fetch, + errorText: error.message, + }); +} + +/** + * When response headers are received, emit Network.responseReceived event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-responseReceived + * @param {{ request: undici.Request, response: undici.Response }} event + */ +function onClientResponseHeaders({ request, response }) { + if (typeof request[kInspectorRequestId] !== 'string') { + return; + } + const url = `${request.origin}${request.path}`; + Network.responseReceived({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + // TODO(legendecas): distinguish between `undici.request` and `undici.fetch`. + type: kResourceType.Fetch, + response: { + url, + status: response.statusCode, + statusText: response.statusText, + headers: responseHeadersArrayToDictionary(response.headers), + }, + }); +} + +/** + * When a response is completed, emit Network.loadingFinished event. + * https://chromedevtools.github.io/devtools-protocol/1-3/Network/#event-loadingFinished + * @param {{ request: undici.Request, response: undici.Response }} event + */ +function onClientResponseFinish({ request }) { + if (typeof request[kInspectorRequestId] !== 'string') { + return; + } + Network.loadingFinished({ + requestId: request[kInspectorRequestId], + timestamp: getMonotonicTime(), + }); +} + +function enable() { + dc.subscribe('undici:request:create', onClientRequestStart); + dc.subscribe('undici:request:error', onClientRequestError); + dc.subscribe('undici:request:headers', onClientResponseHeaders); + dc.subscribe('undici:request:trailers', onClientResponseFinish); +} + +function disable() { + dc.subscribe('undici:request:create', onClientRequestStart); + dc.subscribe('undici:request:error', onClientRequestError); + dc.subscribe('undici:request:headers', onClientResponseHeaders); + dc.subscribe('undici:request:trailers', onClientResponseFinish); +} + +module.exports = { + enable, + disable, +}; diff --git a/lib/internal/inspector_network_tracking.js b/lib/internal/inspector_network_tracking.js index de325baf77eb42..5748259fb680c1 100644 --- a/lib/internal/inspector_network_tracking.js +++ b/lib/internal/inspector_network_tracking.js @@ -1,102 +1,13 @@ 'use strict'; -const { - ArrayIsArray, - DateNow, - ObjectEntries, - String, -} = primordials; - -let dc; -let Network; - -let requestId = 0; -const getNextRequestId = () => `node-network-event-${++requestId}`; - -// Convert a Headers object (Map<string, number | string | string[]>) to a plain object (Map<string, string>) -const headerObjectToDictionary = (headers = {}) => { - const dict = {}; - for (const { 0: key, 1: value } of ObjectEntries(headers)) { - if (typeof value === 'string') { - dict[key] = value; - } else if (ArrayIsArray(value)) { - if (key.toLowerCase() === 'cookie') dict[key] = value.join('; '); - // ChromeDevTools frontend treats 'set-cookie' as a special case - // https://github.com/ChromeDevTools/devtools-frontend/blob/4275917f84266ef40613db3c1784a25f902ea74e/front_end/core/sdk/NetworkRequest.ts#L1368 - else if (key.toLowerCase() === 'set-cookie') dict[key] = value.join('\n'); - else dict[key] = value.join(', '); - } else { - dict[key] = String(value); - } - } - return dict; -}; - -function onClientRequestStart({ request }) { - const url = `${request.protocol}//${request.host}${request.path}`; - const wallTime = DateNow(); - const timestamp = wallTime / 1000; - request._inspectorRequestId = getNextRequestId(); - Network.requestWillBeSent({ - requestId: request._inspectorRequestId, - timestamp, - wallTime, - request: { - url, - method: request.method, - headers: headerObjectToDictionary(request.getHeaders()), - }, - }); -} - -function onClientRequestError({ request, error }) { - if (typeof request._inspectorRequestId !== 'string') { - return; - } - const timestamp = DateNow() / 1000; - Network.loadingFailed({ - requestId: request._inspectorRequestId, - timestamp, - type: 'Other', - errorText: error.message, - }); -} - -function onClientResponseFinish({ request, response }) { - if (typeof request._inspectorRequestId !== 'string') { - return; - } - const url = `${request.protocol}//${request.host}${request.path}`; - const timestamp = DateNow() / 1000; - Network.responseReceived({ - requestId: request._inspectorRequestId, - timestamp, - type: 'Other', - response: { - url, - status: response.statusCode, - statusText: response.statusMessage ?? '', - headers: headerObjectToDictionary(response.headers), - }, - }); - Network.loadingFinished({ - requestId: request._inspectorRequestId, - timestamp, - }); -} - function enable() { - dc ??= require('diagnostics_channel'); - Network ??= require('inspector').Network; - dc.subscribe('http.client.request.start', onClientRequestStart); - dc.subscribe('http.client.request.error', onClientRequestError); - dc.subscribe('http.client.response.finish', onClientResponseFinish); + require('internal/inspector/network_http').enable(); + require('internal/inspector/network_undici').enable(); } function disable() { - dc.unsubscribe('http.client.request.start', onClientRequestStart); - dc.unsubscribe('http.client.request.error', onClientRequestError); - dc.unsubscribe('http.client.response.finish', onClientResponseFinish); + require('internal/inspector/network_http').disable(); + require('internal/inspector/network_undici').disable(); } module.exports = { diff --git a/lib/internal/main/watch_mode.js b/lib/internal/main/watch_mode.js index 6e2528e64737c7..60639efb45482d 100644 --- a/lib/internal/main/watch_mode.js +++ b/lib/internal/main/watch_mode.js @@ -33,7 +33,7 @@ markBootstrapComplete(); // TODO(MoLow): Make kill signal configurable const kKillSignal = 'SIGTERM'; const kShouldFilterModules = getOptionValue('--watch-path').length === 0; -const kEnvFile = getOptionValue('--env-file'); +const kEnvFile = getOptionValue('--env-file') || getOptionValue('--env-file-if-exists'); const kWatchedPaths = ArrayPrototypeMap(getOptionValue('--watch-path'), (path) => resolve(path)); const kPreserveOutput = getOptionValue('--watch-preserve-output'); const kCommand = ArrayPrototypeSlice(process.argv, 1); diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index c453f2b403e89d..6608be9d2db029 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -722,18 +722,8 @@ Module._findPath = function(request, paths, isMain, conditions = getCjsCondition ) )); - const isRelative = StringPrototypeCharCodeAt(request, 0) === CHAR_DOT && - ( - request.length === 1 || - StringPrototypeCharCodeAt(request, 1) === CHAR_FORWARD_SLASH || - (isWindows && StringPrototypeCharCodeAt(request, 1) === CHAR_BACKWARD_SLASH) || - (StringPrototypeCharCodeAt(request, 1) === CHAR_DOT && (( - request.length === 2 || - StringPrototypeCharCodeAt(request, 2) === CHAR_FORWARD_SLASH) || - (isWindows && StringPrototypeCharCodeAt(request, 2) === CHAR_BACKWARD_SLASH))) - ); let insidePath = true; - if (isRelative) { + if (isRelative(request)) { const normalizedRequest = path.normalize(request); if (StringPrototypeStartsWith(normalizedRequest, '..')) { insidePath = false; @@ -1144,7 +1134,7 @@ function getDefaultLoad(url, filename) { return function defaultLoad(urlFromHook, context) { // If the url is the same as the original one, save the conversion. const isLoadingOriginalModule = (urlFromHook === url); - const filenameFromHook = isLoadingOriginalModule ? filename : convertURLToCJSFilename(url); + const filenameFromHook = isLoadingOriginalModule ? filename : convertURLToCJSFilename(urlFromHook); const source = defaultLoadImpl(filenameFromHook, context.format); // Format from context is directly returned, because format detection should only be // done after the entire load chain is completed. @@ -1328,12 +1318,7 @@ Module._resolveFilename = function(request, parent, isMain, options) { if (typeof options === 'object' && options !== null) { if (ArrayIsArray(options.paths)) { - const isRelative = StringPrototypeStartsWith(request, './') || - StringPrototypeStartsWith(request, '../') || - ((isWindows && StringPrototypeStartsWith(request, '.\\')) || - StringPrototypeStartsWith(request, '..\\')); - - if (isRelative) { + if (isRelative(request)) { paths = options.paths; } else { const fakeParent = new Module('', null); @@ -1682,9 +1667,8 @@ function wrapSafe(filename, content, cjsModuleInstance, format) { * `exports`) to the file. Returns exception, if any. * @param {string} content The source code of the module * @param {string} filename The file path of the module - * @param { - * 'module'|'commonjs'|'commonjs-typescript'|'module-typescript' - * } format Intended format of the module. + * @param {'module'|'commonjs'|'commonjs-typescript'|'module-typescript'|'typescript'} format + * Intended format of the module. */ Module.prototype._compile = function(content, filename, format) { if (format === 'commonjs-typescript' || format === 'module-typescript' || format === 'typescript') { @@ -1979,6 +1963,21 @@ function createRequire(filename) { return createRequireFromPath(filepath); } +/** + * Checks if a path is relative + * @param {string} path the target path + * @returns {boolean} true if the path is relative, false otherwise + */ +function isRelative(path) { + if (StringPrototypeCharCodeAt(path, 0) !== CHAR_DOT) { return false; } + + return path.length === 1 || path === '..' || + StringPrototypeStartsWith(path, './') || + StringPrototypeStartsWith(path, '../') || + ((isWindows && StringPrototypeStartsWith(path, '.\\')) || + StringPrototypeStartsWith(path, '..\\')); +} + Module.createRequire = createRequire; /** diff --git a/lib/internal/modules/customization_hooks.js b/lib/internal/modules/customization_hooks.js index c7a7a6d53dffd8..9570f52ddc5884 100644 --- a/lib/internal/modules/customization_hooks.js +++ b/lib/internal/modules/customization_hooks.js @@ -25,17 +25,40 @@ let debug = require('internal/util/debuglog').debuglog('module_hooks', (fn) => { debug = fn; }); -/** @typedef {import('internal/modules/cjs/loader.js').Module} Module */ /** - * @typedef {(specifier: string, context: ModuleResolveContext, nextResolve: ResolveHook) - * => ModuleResolveResult} ResolveHook - * @typedef {(url: string, context: ModuleLoadContext, nextLoad: LoadHook) - * => ModuleLoadResult} LoadHook + * @typedef {import('internal/modules/cjs/loader.js').Module} Module + */ +/** + * @typedef {( + * specifier: string, + * context: Partial<ModuleResolveContext>, + * ) => ModuleResolveResult + * } NextResolve + * @typedef {( + * specifier: string, + * context: ModuleResolveContext, + * nextResolve: NextResolve, + * ) => ModuleResolveResult + * } ResolveHook + * @typedef {( + * url: string, + * context: Partial<ModuleLoadContext>, + * ) => ModuleLoadResult + * } NextLoad + * @typedef {( + * url: string, + * context: ModuleLoadContext, + * nextLoad: NextLoad, + * ) => ModuleLoadResult + * } LoadHook */ // Use arrays for better insertion and iteration performance, we don't care // about deletion performance as much. + +/** @type {ResolveHook[]} */ const resolveHooks = []; +/** @type {LoadHook[]} */ const loadHooks = []; const hookId = Symbol('kModuleHooksIdKey'); let nextHookId = 0; diff --git a/lib/internal/modules/esm/loader.js b/lib/internal/modules/esm/loader.js index 19eac728623939..a3b437ade87c75 100644 --- a/lib/internal/modules/esm/loader.js +++ b/lib/internal/modules/esm/loader.js @@ -54,6 +54,8 @@ const { tracingChannel } = require('diagnostics_channel'); const onImport = tracingChannel('module.import'); /** + * @typedef {import('./hooks.js').HooksProxy} HooksProxy + * @typedef {import('./module_job.js').ModuleJobBase} ModuleJobBase * @typedef {import('url').URL} URL */ @@ -149,6 +151,7 @@ class ModuleLoader { * to this property and failure to do so will cause undefined * behavior when invoking `import.meta.resolve`. * @see {ModuleLoader.setCustomizations} + * @type {CustomizedModuleLoader} */ #customizations; @@ -202,7 +205,7 @@ class ModuleLoader { * * Calling this function alters how modules are loaded and should be * invoked with care. - * @param {object} customizations + * @param {CustomizedModuleLoader} customizations */ setCustomizations(customizations) { this.#customizations = customizations; @@ -270,7 +273,7 @@ class ModuleLoader { * @param {string} [parentURL] The URL of the module where the module request is initiated. * It's undefined if it's from the root module. * @param {ImportAttributes} importAttributes Attributes from the import statement or expression. - * @returns {Promise<ModuleJobBase} + * @returns {Promise<ModuleJobBase>} */ async getModuleJobForImport(specifier, parentURL, importAttributes) { const resolveResult = await this.resolve(specifier, parentURL, importAttributes); @@ -284,7 +287,7 @@ class ModuleLoader { * @param {string} specifier See {@link getModuleJobForImport} * @param {string} [parentURL] See {@link getModuleJobForImport} * @param {ImportAttributes} importAttributes See {@link getModuleJobForImport} - * @returns {Promise<ModuleJobBase} + * @returns {Promise<ModuleJobBase>} */ getModuleJobForRequireInImportedCJS(specifier, parentURL, importAttributes) { const resolveResult = this.resolveSync(specifier, parentURL, importAttributes); @@ -678,7 +681,7 @@ class ModuleLoader { /** * Similar to {@link resolve}, but the results are always synchronously returned. If there are any * asynchronous resolve hooks from module.register(), it will block until the results are returned - * from the loader thread for this to be synchornous. + * from the loader thread for this to be synchronous. * This is here to support `import.meta.resolve()`, `require()` in imported CJS, and * `module.registerHooks()` hooks. * diff --git a/lib/internal/modules/esm/module_job.js b/lib/internal/modules/esm/module_job.js index 8039e2f57a500f..846a336d27547e 100644 --- a/lib/internal/modules/esm/module_job.js +++ b/lib/internal/modules/esm/module_job.js @@ -30,7 +30,7 @@ const { } = internalBinding('util'); const { decorateErrorStack, kEmptyObject } = require('internal/util'); const { - getSourceMapsEnabled, + getSourceMapsSupport, } = require('internal/source_map/source_map_cache'); const assert = require('internal/assert'); const resolvedPromise = PromiseResolve(); @@ -186,7 +186,7 @@ class ModuleJob extends ModuleJobBase { // of missing named export. This is currently not possible because // stack trace originates in module_job, not the file itself. A hidden // symbol with filename could be set in node_errors.cc to facilitate this. - if (!getSourceMapsEnabled() && + if (!getSourceMapsSupport().enabled && StringPrototypeIncludes(e.message, ' does not provide an export named')) { const splitStack = StringPrototypeSplit(e.stack, '\n'); diff --git a/lib/internal/modules/typescript.js b/lib/internal/modules/typescript.js index 5a240a6a5403b7..17bbc6ba944432 100644 --- a/lib/internal/modules/typescript.js +++ b/lib/internal/modules/typescript.js @@ -1,5 +1,8 @@ 'use strict'; +const { + ObjectPrototypeHasOwnProperty, +} = primordials; const { validateBoolean, validateOneOf, @@ -14,10 +17,16 @@ const { assertTypeScript, const { ERR_INVALID_TYPESCRIPT_SYNTAX, ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING, + ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX, } = require('internal/errors').codes; const { getOptionValue } = require('internal/options'); const assert = require('internal/assert'); const { Buffer } = require('buffer'); +const { + getCompileCacheEntry, + saveCompileCacheEntry, + cachedCodeTypes: { kStrippedTypeScript, kTransformedTypeScript, kTransformedTypeScriptWithSourceMaps }, +} = internalBinding('modules'); /** * The TypeScript parsing mode, either 'strip-only' or 'transform'. @@ -49,7 +58,21 @@ function parseTypeScript(source, options) { try { return parse(source, options); } catch (error) { - throw new ERR_INVALID_TYPESCRIPT_SYNTAX(error); + /** + * Amaro v0.3.0 (from SWC v1.10.7) throws an object with `message` and `code` properties. + * It allows us to distinguish between invalid syntax and unsupported syntax. + */ + switch (error?.code) { + case 'UnsupportedSyntax': + throw new ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX(error.message); + case 'InvalidSyntax': + throw new ERR_INVALID_TYPESCRIPT_SYNTAX(error.message); + default: + // SWC may throw strings when something goes wrong. + if (typeof error === 'string') { assert.fail(error); } + assert(error != null && ObjectPrototypeHasOwnProperty(error, 'message')); + assert.fail(error.message); + } } } @@ -87,11 +110,19 @@ function stripTypeScriptTypes(code, options = kEmptyObject) { }); } +/** + * @typedef {'strip-only' | 'transform'} TypeScriptMode + * @typedef {object} TypeScriptOptions + * @property {TypeScriptMode} mode Mode. + * @property {boolean} sourceMap Whether to generate source maps. + * @property {string|undefined} filename Filename. + */ + /** * Processes TypeScript code by stripping types or transforming. * Handles source maps if needed. * @param {string} code TypeScript code to process. - * @param {object} options The configuration object. + * @param {TypeScriptOptions} options The configuration object. * @returns {string} The processed code. */ function processTypeScriptCode(code, options) { @@ -108,6 +139,20 @@ function processTypeScriptCode(code, options) { return transformedCode; } +/** + * Get the type enum used for compile cache. + * @param {TypeScriptMode} mode Mode of transpilation. + * @param {boolean} sourceMap Whether source maps are enabled. + * @returns {number} + */ +function getCachedCodeType(mode, sourceMap) { + if (mode === 'transform') { + if (sourceMap) { return kTransformedTypeScriptWithSourceMaps; } + return kTransformedTypeScript; + } + return kStrippedTypeScript; +} + /** * Performs type-stripping to TypeScript source code internally. * It is used by internal loaders. @@ -124,12 +169,40 @@ function stripTypeScriptModuleTypes(source, filename, emitWarning = true) { if (isUnderNodeModules(filename)) { throw new ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING(filename); } + const sourceMap = getOptionValue('--enable-source-maps'); + + const mode = getTypeScriptParsingMode(); + + // Instead of caching the compile cache status, just go into C++ to fetch it, + // as checking process.env equally involves calling into C++ anyway, and + // the compile cache can be enabled dynamically. + const type = getCachedCodeType(mode, sourceMap); + // Get a compile cache entry into the native compile cache store, + // keyed by the filename. If the cache can already be loaded on disk, + // cached.transpiled contains the cached string. Otherwise we should do + // the transpilation and save it in the native store later using + // saveCompileCacheEntry(). + const cached = (filename ? getCompileCacheEntry(source, filename, type) : undefined); + if (cached?.transpiled) { // TODO(joyeecheung): return Buffer here. + return cached.transpiled; + } + const options = { - mode: getTypeScriptParsingMode(), - sourceMap: getOptionValue('--enable-source-maps'), + mode, + sourceMap, filename, }; - return processTypeScriptCode(source, options); + + const transpiled = processTypeScriptCode(source, options); + if (cached) { + // cached.external contains a pointer to the native cache entry. + // The cached object would be unreachable once it's out of scope, + // but the pointer inside cached.external would stay around for reuse until + // environment shutdown or when the cache is manually flushed + // to disk. Unwrap it in JS before passing into C++ since it's faster. + saveCompileCacheEntry(cached.external, transpiled); + } + return transpiled; } /** diff --git a/lib/internal/process/execution.js b/lib/internal/process/execution.js index f5b19d5a7e8c9c..d4d7a604851ef1 100644 --- a/lib/internal/process/execution.js +++ b/lib/internal/process/execution.js @@ -35,7 +35,7 @@ const { getOptionValue } = require('internal/options'); const { makeContextifyScript, runScriptInThisContext, } = require('internal/vm'); -const { emitExperimentalWarning, isError } = require('internal/util'); +const { emitExperimentalWarning } = require('internal/util'); // shouldAbortOnUncaughtToggle is a typed array for faster // communication with JS. const { shouldAbortOnUncaughtToggle } = internalBinding('util'); @@ -254,10 +254,6 @@ function evalTypeScript(name, source, breakFirstLine, print, shouldLoadESM = fal try { compiledScript = compileScript(name, source, baseUrl); } catch (originalError) { - // If it's not a SyntaxError, rethrow it. - if (!isError(originalError) || originalError.name !== 'SyntaxError') { - throw originalError; - } try { sourceToRun = stripTypeScriptModuleTypes(source, name, false); // Retry the CJS/ESM syntax detection after stripping the types. @@ -270,15 +266,14 @@ function evalTypeScript(name, source, breakFirstLine, print, shouldLoadESM = fal // Emit the experimental warning after the code was successfully evaluated. emitExperimentalWarning('Type Stripping'); } catch (tsError) { - // If its not an error, or it's not an invalid typescript syntax error, rethrow it. - if (!isError(tsError) || tsError?.code !== 'ERR_INVALID_TYPESCRIPT_SYNTAX') { - throw tsError; + // If it's invalid or unsupported TypeScript syntax, rethrow the original error + // with the TypeScript error message added to the stack. + if (tsError.code === 'ERR_INVALID_TYPESCRIPT_SYNTAX' || tsError.code === 'ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX') { + originalError.stack = decorateCJSErrorWithTSMessage(originalError.stack, tsError.message); + throw originalError; } - try { - originalError.stack = decorateCJSErrorWithTSMessage(originalError.stack, tsError.message); - } catch { /* Ignore potential errors coming from `stack` getter/setter */ } - throw originalError; + throw tsError; } } @@ -322,28 +317,23 @@ function evalTypeScriptModuleEntryPoint(source, print) { // Compile the module to check for syntax errors. moduleWrap = loader.createModuleWrap(source, url); } catch (originalError) { - // If it's not a SyntaxError, rethrow it. - if (!isError(originalError) || originalError.name !== 'SyntaxError') { - throw originalError; - } - let strippedSource; try { - strippedSource = stripTypeScriptModuleTypes(source, url, false); + const strippedSource = stripTypeScriptModuleTypes(source, url, false); // If the moduleWrap was successfully created, execute the module job. // outside the try-catch block to avoid catching runtime errors. moduleWrap = loader.createModuleWrap(strippedSource, url); // Emit the experimental warning after the code was successfully compiled. emitExperimentalWarning('Type Stripping'); } catch (tsError) { - // If its not an error, or it's not an invalid typescript syntax error, rethrow it. - if (!isError(tsError) || tsError?.code !== 'ERR_INVALID_TYPESCRIPT_SYNTAX') { - throw tsError; - } - try { + // If it's invalid or unsupported TypeScript syntax, rethrow the original error + // with the TypeScript error message added to the stack. + if (tsError.code === 'ERR_INVALID_TYPESCRIPT_SYNTAX' || + tsError.code === 'ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX') { originalError.stack = `${tsError.message}\n\n${originalError.stack}`; - } catch { /* Ignore potential errors coming from `stack` getter/setter */ } + throw originalError; + } - throw originalError; + throw tsError; } } // If the moduleWrap was successfully created either with by just compiling diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index 0921f583183d71..134e99e2374722 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -421,12 +421,14 @@ function toggleTraceCategoryState(asyncHooksEnabled) { const { arch, platform, version } = process; function ref(maybeRefable) { - const fn = maybeRefable?.[SymbolFor('node:ref')] || maybeRefable?.ref; + const fn = maybeRefable?.[SymbolFor('nodejs.ref')] || maybeRefable?.[SymbolFor('node:ref')] || maybeRefable?.ref; if (typeof fn === 'function') FunctionPrototypeCall(fn, maybeRefable); } function unref(maybeRefable) { - const fn = maybeRefable?.[SymbolFor('node:unref')] || maybeRefable?.unref; + const fn = maybeRefable?.[SymbolFor('nodejs.unref')] || + maybeRefable?.[SymbolFor('node:unref')] || + maybeRefable?.unref; if (typeof fn === 'function') FunctionPrototypeCall(fn, maybeRefable); } diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js index b3aba59674b82b..3d9ba5a1605912 100644 --- a/lib/internal/process/pre_execution.js +++ b/lib/internal/process/pre_execution.js @@ -608,9 +608,17 @@ function initializeESMLoader(forceDefaultLoader) { function initializeSourceMapsHandlers() { const { - setSourceMapsEnabled, + setSourceMapsSupport, } = require('internal/source_map/source_map_cache'); - setSourceMapsEnabled(getOptionValue('--enable-source-maps')); + const enabled = getOptionValue('--enable-source-maps'); + setSourceMapsSupport(enabled, { + __proto__: null, + // TODO(legendecas): In order to smoothly improve the source map support, + // skip source maps in node_modules and generated code with + // `--enable-source-maps` in a semver major version. + nodeModules: enabled, + generatedCode: enabled, + }); } function initializeFrozenIntrinsics() { diff --git a/lib/internal/source_map/source_map_cache.js b/lib/internal/source_map/source_map_cache.js index aaca27136e66a0..bdef338e3dd086 100644 --- a/lib/internal/source_map/source_map_cache.js +++ b/lib/internal/source_map/source_map_cache.js @@ -3,6 +3,7 @@ const { ArrayPrototypePush, JSONParse, + ObjectFreeze, RegExpPrototypeExec, SafeMap, StringPrototypeCodePointAt, @@ -15,7 +16,7 @@ let debug = require('internal/util/debuglog').debuglog('source_map', (fn) => { debug = fn; }); -const { validateBoolean } = require('internal/validators'); +const { validateBoolean, validateObject } = require('internal/validators'); const { setSourceMapsEnabled: setSourceMapsNative, } = internalBinding('errors'); @@ -23,7 +24,7 @@ const { defaultPrepareStackTrace, setInternalPrepareStackTrace, } = require('internal/errors'); -const { getLazy } = require('internal/util'); +const { getLazy, isUnderNodeModules, kEmptyObject } = require('internal/util'); const getModuleSourceMapCache = getLazy(() => { const { SourceMapCacheMap } = require('internal/source_map/source_map_cache_map'); @@ -45,30 +46,48 @@ const { fileURLToPath, pathToFileURL, URL, URLParse } = require('internal/url'); let SourceMap; // This is configured with --enable-source-maps during pre-execution. -let sourceMapsEnabled = false; -function getSourceMapsEnabled() { - return sourceMapsEnabled; +let sourceMapsSupport = ObjectFreeze({ + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); +function getSourceMapsSupport() { + // Return a read-only object. + return sourceMapsSupport; } /** * Enables or disables source maps programmatically. - * @param {boolean} val + * @param {boolean} enabled + * @param {object} options + * @param {boolean} [options.nodeModules] + * @param {boolean} [options.generatedCode] */ -function setSourceMapsEnabled(val) { - validateBoolean(val, 'val'); +function setSourceMapsSupport(enabled, options = kEmptyObject) { + validateBoolean(enabled, 'enabled'); + validateObject(options, 'options'); + + const { nodeModules = false, generatedCode = false } = options; + validateBoolean(nodeModules, 'options.nodeModules'); + validateBoolean(generatedCode, 'options.generatedCode'); - setSourceMapsNative(val); - if (val) { + setSourceMapsNative(enabled); + if (enabled) { const { prepareStackTraceWithSourceMaps, } = require('internal/source_map/prepare_stack_trace'); setInternalPrepareStackTrace(prepareStackTraceWithSourceMaps); - } else if (sourceMapsEnabled !== undefined) { - // Reset prepare stack trace callback only when disabling source maps. + } else { setInternalPrepareStackTrace(defaultPrepareStackTrace); } - sourceMapsEnabled = val; + sourceMapsSupport = ObjectFreeze({ + __proto__: null, + enabled, + nodeModules: nodeModules, + generatedCode: generatedCode, + }); } /** @@ -130,14 +149,18 @@ function extractSourceMapURLMagicComment(content) { * @param {string | undefined} sourceMapURL - the source map url */ function maybeCacheSourceMap(filename, content, moduleInstance, isGeneratedSource, sourceURL, sourceMapURL) { - const sourceMapsEnabled = getSourceMapsEnabled(); - if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return; + const support = getSourceMapsSupport(); + if (!(process.env.NODE_V8_COVERAGE || support.enabled)) return; const { normalizeReferrerURL } = require('internal/modules/helpers'); filename = normalizeReferrerURL(filename); if (filename === undefined) { // This is most likely an invalid filename in sourceURL of [eval]-wrapper. return; } + if (!support.nodeModules && isUnderNodeModules(filename)) { + // Skip file under node_modules if not enabled. + return; + } if (sourceMapURL === undefined) { sourceMapURL = extractSourceMapURLMagicComment(content); @@ -185,8 +208,8 @@ function maybeCacheSourceMap(filename, content, moduleInstance, isGeneratedSourc * @param {string} content - the eval'd source code */ function maybeCacheGeneratedSourceMap(content) { - const sourceMapsEnabled = getSourceMapsEnabled(); - if (!(process.env.NODE_V8_COVERAGE || sourceMapsEnabled)) return; + const support = getSourceMapsSupport(); + if (!(process.env.NODE_V8_COVERAGE || support.enabled || support.generated)) return; const sourceURL = extractSourceURLMagicComment(content); if (sourceURL === null) { @@ -352,6 +375,10 @@ function findSourceMap(sourceURL) { return undefined; } + if (!getSourceMapsSupport().nodeModules && isUnderNodeModules(sourceURL)) { + return undefined; + } + SourceMap ??= require('internal/source_map/source_map').SourceMap; try { if (RegExpPrototypeExec(kLeadingProtocol, sourceURL) === null) { @@ -377,8 +404,8 @@ function findSourceMap(sourceURL) { module.exports = { findSourceMap, - getSourceMapsEnabled, - setSourceMapsEnabled, + getSourceMapsSupport, + setSourceMapsSupport, maybeCacheSourceMap, maybeCacheGeneratedSourceMap, sourceMapCacheToObject, diff --git a/lib/internal/test_runner/assert.js b/lib/internal/test_runner/assert.js new file mode 100644 index 00000000000000..776c1e25cbfb61 --- /dev/null +++ b/lib/internal/test_runner/assert.js @@ -0,0 +1,50 @@ +'use strict'; +const { + SafeMap, +} = primordials; +const { + validateFunction, + validateString, +} = require('internal/validators'); +const assert = require('assert'); +const methodsToCopy = [ + 'deepEqual', + 'deepStrictEqual', + 'doesNotMatch', + 'doesNotReject', + 'doesNotThrow', + 'equal', + 'fail', + 'ifError', + 'match', + 'notDeepEqual', + 'notDeepStrictEqual', + 'notEqual', + 'notStrictEqual', + 'partialDeepStrictEqual', + 'rejects', + 'strictEqual', + 'throws', +]; +let assertMap; + +function getAssertionMap() { + if (assertMap === undefined) { + assertMap = new SafeMap(); + + for (let i = 0; i < methodsToCopy.length; i++) { + assertMap.set(methodsToCopy[i], assert[methodsToCopy[i]]); + } + } + + return assertMap; +} + +function register(name, fn) { + validateString(name, 'name'); + validateFunction(fn, 'fn'); + const map = getAssertionMap(); + map.set(name, fn); +} + +module.exports = { getAssertionMap, register }; diff --git a/lib/internal/test_runner/reporter/spec.js b/lib/internal/test_runner/reporter/spec.js index 2092d22e3fe77f..caee92a7ba13e1 100644 --- a/lib/internal/test_runner/reporter/spec.js +++ b/lib/internal/test_runner/reporter/spec.js @@ -52,7 +52,7 @@ class SpecReporter extends Transform { hasChildren = true; } const indentation = indent(data.nesting); - return `${formatTestReport(type, data, prefix, indentation, hasChildren)}\n`; + return `${formatTestReport(type, data, prefix, indentation, hasChildren, false)}\n`; } #handleEvent({ type, data }) { switch (type) { diff --git a/lib/internal/test_runner/reporter/utils.js b/lib/internal/test_runner/reporter/utils.js index 9b6cc96a185a9a..256619039e8e90 100644 --- a/lib/internal/test_runner/reporter/utils.js +++ b/lib/internal/test_runner/reporter/utils.js @@ -59,7 +59,7 @@ function formatError(error, indent) { return `\n${indent} ${message}\n`; } -function formatTestReport(type, data, prefix = '', indent = '', hasChildren = false) { +function formatTestReport(type, data, prefix = '', indent = '', hasChildren = false, showErrorDetails = true) { let color = reporterColorMap[type] ?? colors.white; let symbol = reporterUnicodeSymbolMap[type] ?? ' '; const { skip, todo } = data; @@ -71,10 +71,12 @@ function formatTestReport(type, data, prefix = '', indent = '', hasChildren = fa } else if (todo !== undefined) { title += ` # ${typeof todo === 'string' && todo.length ? todo : 'TODO'}`; } - const error = formatError(data.details?.error, indent); + + const error = showErrorDetails ? formatError(data.details?.error, indent) : ''; const err = hasChildren ? (!error || data.details?.error?.failureType === 'subtestsFailed' ? '' : `\n${error}`) : error; + if (skip !== undefined) { color = colors.gray; symbol = reporterUnicodeSymbolMap['hyphen:minus']; diff --git a/lib/internal/test_runner/snapshot.js b/lib/internal/test_runner/snapshot.js index 7e41a0bf76f0cd..642e84b2f13b33 100644 --- a/lib/internal/test_runner/snapshot.js +++ b/lib/internal/test_runner/snapshot.js @@ -15,7 +15,7 @@ const { ERR_INVALID_STATE, }, } = require('internal/errors'); -const { emitExperimentalWarning, kEmptyObject } = require('internal/util'); +const { kEmptyObject } = require('internal/util'); let debug = require('internal/util/debuglog').debuglog('test_runner', (fn) => { debug = fn; }); @@ -23,12 +23,12 @@ const { validateArray, validateFunction, validateObject, + validateString, } = require('internal/validators'); const { strictEqual } = require('assert'); const { mkdirSync, readFileSync, writeFileSync } = require('fs'); const { dirname } = require('path'); const { createContext, runInContext } = require('vm'); -const kExperimentalWarning = 'Snapshot testing'; const kMissingSnapshotTip = 'Missing snapshots can be generated by rerunning ' + 'the command with the --test-update-snapshots flag.'; const defaultSerializers = [ @@ -47,13 +47,11 @@ let resolveSnapshotPathFn = defaultResolveSnapshotPath; let serializerFns = defaultSerializers; function setResolveSnapshotPath(fn) { - emitExperimentalWarning(kExperimentalWarning); validateFunction(fn, 'fn'); resolveSnapshotPathFn = fn; } function setDefaultSnapshotSerializers(serializers) { - emitExperimentalWarning(kExperimentalWarning); validateFunctionArray(serializers, 'serializers'); serializerFns = ArrayPrototypeSlice(serializers); } @@ -112,16 +110,7 @@ class SnapshotFile { } this.loaded = true; } catch (err) { - let msg = `Cannot read snapshot file '${this.snapshotFile}.'`; - - if (err?.code === 'ENOENT') { - msg += ` ${kMissingSnapshotTip}`; - } - - const error = new ERR_INVALID_STATE(msg); - error.cause = err; - error.filename = this.snapshotFile; - throw error; + throwReadError(err, this.snapshotFile); } } @@ -135,11 +124,7 @@ class SnapshotFile { mkdirSync(dirname(this.snapshotFile), { __proto__: null, recursive: true }); writeFileSync(this.snapshotFile, output, 'utf8'); } catch (err) { - const msg = `Cannot write snapshot file '${this.snapshotFile}.'`; - const error = new ERR_INVALID_STATE(msg); - error.cause = err; - error.filename = this.snapshotFile; - throw error; + throwWriteError(err, this.snapshotFile); } } } @@ -174,21 +159,18 @@ class SnapshotManager { serialize(input, serializers = serializerFns) { try { - let value = input; - - for (let i = 0; i < serializers.length; ++i) { - const fn = serializers[i]; - value = fn(value); - } - + const value = serializeValue(input, serializers); return `\n${templateEscape(value)}\n`; } catch (err) { - const error = new ERR_INVALID_STATE( - 'The provided serializers did not generate a string.', - ); - error.input = input; - error.cause = err; - throw error; + throwSerializationError(input, err); + } + } + + serializeWithoutEscape(input, serializers = serializerFns) { + try { + return serializeValue(input, serializers); + } catch (err) { + throwSerializationError(input, err); } } @@ -207,7 +189,6 @@ class SnapshotManager { const manager = this; return function snapshotAssertion(actual, options = kEmptyObject) { - emitExperimentalWarning(kExperimentalWarning); validateObject(options, 'options'); const { serializers = serializerFns, @@ -226,6 +207,80 @@ class SnapshotManager { } }; } + + createFileAssert() { + const manager = this; + + return function fileSnapshotAssertion(actual, path, options = kEmptyObject) { + validateString(path, 'path'); + validateObject(options, 'options'); + const { + serializers = serializerFns, + } = options; + validateFunctionArray(serializers, 'options.serializers'); + const value = manager.serializeWithoutEscape(actual, serializers); + + if (manager.updateSnapshots) { + try { + mkdirSync(dirname(path), { __proto__: null, recursive: true }); + writeFileSync(path, value, 'utf8'); + } catch (err) { + throwWriteError(err, path); + } + } else { + let expected; + + try { + expected = readFileSync(path, 'utf8'); + } catch (err) { + throwReadError(err, path); + } + + strictEqual(value, expected); + } + }; + } +} + +function throwReadError(err, filename) { + let msg = `Cannot read snapshot file '${filename}.'`; + + if (err?.code === 'ENOENT') { + msg += ` ${kMissingSnapshotTip}`; + } + + const error = new ERR_INVALID_STATE(msg); + error.cause = err; + error.filename = filename; + throw error; +} + +function throwWriteError(err, filename) { + const msg = `Cannot write snapshot file '${filename}.'`; + const error = new ERR_INVALID_STATE(msg); + error.cause = err; + error.filename = filename; + throw error; +} + +function throwSerializationError(input, err) { + const error = new ERR_INVALID_STATE( + 'The provided serializers did not generate a string.', + ); + error.input = input; + error.cause = err; + throw error; +} + +function serializeValue(value, serializers) { + let v = value; + + for (let i = 0; i < serializers.length; ++i) { + const fn = serializers[i]; + v = fn(v); + } + + return v; } function validateFunctionArray(fns, name) { diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index 6a92ec335ddf34..b13d13e105e9ba 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -8,6 +8,7 @@ const { ArrayPrototypeSplice, ArrayPrototypeUnshift, ArrayPrototypeUnshiftApply, + Error, FunctionPrototype, MathMax, Number, @@ -58,11 +59,16 @@ const { const { isPromise } = require('internal/util/types'); const { validateAbortSignal, + validateFunction, validateNumber, + validateObject, validateOneOf, validateUint32, } = require('internal/validators'); -const { setTimeout } = require('timers'); +const { + clearTimeout, + setTimeout, +} = require('timers'); const { TIMEOUT_MAX } = require('internal/timers'); const { fileURLToPath } = require('internal/url'); const { availableParallelism } = require('os'); @@ -100,34 +106,19 @@ function lazyFindSourceMap(file) { function lazyAssertObject(harness) { if (assertObj === undefined) { - assertObj = new SafeMap(); - const assert = require('assert'); + const { getAssertionMap } = require('internal/test_runner/assert'); const { SnapshotManager } = require('internal/test_runner/snapshot'); - const methodsToCopy = [ - 'deepEqual', - 'deepStrictEqual', - 'doesNotMatch', - 'doesNotReject', - 'doesNotThrow', - 'equal', - 'fail', - 'ifError', - 'match', - 'notDeepEqual', - 'notDeepStrictEqual', - 'notEqual', - 'notStrictEqual', - 'partialDeepStrictEqual', - 'rejects', - 'strictEqual', - 'throws', - ]; - for (let i = 0; i < methodsToCopy.length; i++) { - assertObj.set(methodsToCopy[i], assert[methodsToCopy[i]]); - } + assertObj = getAssertionMap(); harness.snapshotManager = new SnapshotManager(harness.config.updateSnapshots); - assertObj.set('snapshot', harness.snapshotManager.createAssert()); + + if (!assertObj.has('snapshot')) { + assertObj.set('snapshot', harness.snapshotManager.createAssert()); + } + + if (!assertObj.has('fileSnapshot')) { + assertObj.set('fileSnapshot', harness.snapshotManager.createFileAssert()); + } } return assertObj; } @@ -264,15 +255,18 @@ class TestContext { }; }); - // This is a hack. It allows the innerOk function to collect the stacktrace from the correct starting point. - function ok(...args) { - if (plan !== null) { - plan.actual++; + if (!map.has('ok')) { + // This is a hack. It allows the innerOk function to collect the + // stacktrace from the correct starting point. + function ok(...args) { + if (plan !== null) { + plan.actual++; + } + innerOk(ok, args.length, ...args); } - innerOk(ok, args.length, ...args); - } - assert.ok = ok; + assert.ok = ok; + } } return this.#assert; } @@ -352,6 +346,60 @@ class TestContext { loc: getCallerLocation(), }); } + + waitFor(condition, options = kEmptyObject) { + validateFunction(condition, 'condition'); + validateObject(options, 'options'); + + const { + interval = 50, + timeout = 1000, + } = options; + + validateNumber(interval, 'options.interval', 0, TIMEOUT_MAX); + validateNumber(timeout, 'options.timeout', 0, TIMEOUT_MAX); + + const { promise, resolve, reject } = PromiseWithResolvers(); + const noError = Symbol(); + let cause = noError; + let pollerId; + let timeoutId; + const done = (err, result) => { + clearTimeout(pollerId); + clearTimeout(timeoutId); + + if (err === noError) { + resolve(result); + } else { + reject(err); + } + }; + + timeoutId = setTimeout(() => { + // eslint-disable-next-line no-restricted-syntax + const err = new Error('waitFor() timed out'); + + if (cause !== noError) { + err.cause = cause; + } + + done(err); + }, timeout); + + const poller = async () => { + try { + const result = await condition(); + + done(noError, result); + } catch (err) { + cause = err; + pollerId = setTimeout(poller, interval); + } + }; + + poller(); + return promise; + } } class SuiteContext { @@ -379,6 +427,7 @@ class SuiteContext { } class Test extends AsyncResource { + reportedType = 'test'; abortController; outerSignal; #reportedSubtest; @@ -625,7 +674,7 @@ class Test extends AsyncResource { while (this.pendingSubtests.length > 0 && this.hasConcurrency()) { const deferred = ArrayPrototypeShift(this.pendingSubtests); const test = deferred.test; - test.reporter.dequeue(test.nesting, test.loc, test.name); + test.reporter.dequeue(test.nesting, test.loc, test.name, this.reportedType); await test.run(); deferred.resolve(); } @@ -816,7 +865,7 @@ class Test extends AsyncResource { // If there is enough available concurrency to run the test now, then do // it. Otherwise, return a Promise to the caller and mark the test as // pending for later execution. - this.reporter.enqueue(this.nesting, this.loc, this.name); + this.reporter.enqueue(this.nesting, this.loc, this.name, this.reportedType); if (this.root.harness.buildPromise || !this.parent.hasConcurrency()) { const deferred = PromiseWithResolvers(); @@ -825,7 +874,7 @@ class Test extends AsyncResource { return deferred.promise; } - this.reporter.dequeue(this.nesting, this.loc, this.name); + this.reporter.dequeue(this.nesting, this.loc, this.name, this.reportedType); return this.run(); } @@ -1195,6 +1244,7 @@ class Test extends AsyncResource { } class TestHook extends Test { + reportedType = 'hook'; #args; constructor(fn, options) { const { hookType, loc, parent, timeout, signal } = options; diff --git a/lib/internal/test_runner/tests_stream.js b/lib/internal/test_runner/tests_stream.js index ecbc407e01f318..2fda1e68069c19 100644 --- a/lib/internal/test_runner/tests_stream.js +++ b/lib/internal/test_runner/tests_stream.js @@ -87,20 +87,22 @@ class TestsStream extends Readable { return { __proto__: null, todo: reason ?? true }; } - enqueue(nesting, loc, name) { + enqueue(nesting, loc, name, type) { this[kEmitMessage]('test:enqueue', { __proto__: null, nesting, name, + type, ...loc, }); } - dequeue(nesting, loc, name) { + dequeue(nesting, loc, name, type) { this[kEmitMessage]('test:dequeue', { __proto__: null, nesting, name, + type, ...loc, }); } diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index 57586a888e191f..091d3a53f10c10 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -88,6 +88,7 @@ const { StringPrototypePadEnd, StringPrototypePadStart, StringPrototypeRepeat, + StringPrototypeReplace, StringPrototypeReplaceAll, StringPrototypeSlice, StringPrototypeSplit, @@ -733,6 +734,7 @@ function addPrototypeProperties(ctx, main, obj, recurseTimes, output) { } while (++depth !== 3); } +/** @type {(constructor: string, tag: string, fallback: string, size?: string) => string} */ function getPrefix(constructor, tag, fallback, size = '') { if (constructor === null) { if (tag !== '' && fallback !== tag) { @@ -989,7 +991,7 @@ function formatRaw(ctx, value, recurseTimes, typedArray) { keys = getKeys(value, ctx.showHidden); braces = ['{', '}']; if (typeof value === 'function') { - base = getFunctionBase(value, constructor, tag); + base = getFunctionBase(ctx, value, constructor, tag); if (keys.length === 0 && protoProps === undefined) return ctx.stylize(base, 'special'); } else if (constructor === 'Object') { @@ -1223,7 +1225,7 @@ function getClassBase(value, constructor, tag) { return `[${base}]`; } -function getFunctionBase(value, constructor, tag) { +function getFunctionBase(ctx, value, constructor, tag) { const stringified = FunctionPrototypeToString(value); if (StringPrototypeStartsWith(stringified, 'class') && stringified[stringified.length - 1] === '}') { const slice = StringPrototypeSlice(stringified, 5, -1); @@ -1250,7 +1252,7 @@ function getFunctionBase(value, constructor, tag) { if (value.name === '') { base += ' (anonymous)'; } else { - base += `: ${value.name}`; + base += `: ${typeof value.name === 'string' ? value.name : formatValue(ctx, value.name)}`; } base += ']'; if (constructor !== type && constructor !== null) { @@ -1285,8 +1287,14 @@ function identicalSequenceRange(a, b) { return { len: 0, offset: 0 }; } -function getStackString(error) { - return error.stack ? String(error.stack) : ErrorPrototypeToString(error); +function getStackString(ctx, error) { + if (error.stack) { + if (typeof error.stack === 'string') { + return error.stack; + } + return formatValue(ctx, error.stack); + } + return ErrorPrototypeToString(error); } function getStackFrames(ctx, err, stack) { @@ -1301,7 +1309,7 @@ function getStackFrames(ctx, err, stack) { // Remove stack frames identical to frames in cause. if (cause != null && isError(cause)) { - const causeStack = getStackString(cause); + const causeStack = getStackString(ctx, cause); const causeStackStart = StringPrototypeIndexOf(causeStack, '\n at'); if (causeStackStart !== -1) { const causeFrames = StringPrototypeSplit(StringPrototypeSlice(causeStack, causeStackStart + 1), '\n'); @@ -1316,11 +1324,20 @@ function getStackFrames(ctx, err, stack) { return frames; } +/** @type {(stack: string, constructor: string | null, name: unknown, tag: string) => string} */ function improveStack(stack, constructor, name, tag) { // A stack trace may contain arbitrary data. Only manipulate the output // for "regular errors" (errors that "look normal") for now. let len = name.length; + if (typeof name !== 'string') { + stack = StringPrototypeReplace( + stack, + `${name}`, + `${name} [${StringPrototypeSlice(getPrefix(constructor, tag, 'Error'), 0, -1)}]`, + ); + } + if (constructor === null || (StringPrototypeEndsWith(name, 'Error') && StringPrototypeStartsWith(stack, name) && @@ -1353,8 +1370,8 @@ function removeDuplicateErrorKeys(ctx, keys, err, stack) { if (!ctx.showHidden && keys.length !== 0) { for (const name of ['name', 'message', 'stack']) { const index = ArrayPrototypeIndexOf(keys, name); - // Only hide the property in case it's part of the original stack - if (index !== -1 && StringPrototypeIncludes(stack, err[name])) { + // Only hide the property if it's a string and if it's part of the original stack + if (index !== -1 && (typeof err[name] !== 'string' || StringPrototypeIncludes(stack, err[name]))) { ArrayPrototypeSplice(keys, index, 1); } } @@ -1414,8 +1431,8 @@ function safeGetCWD() { } function formatError(err, constructor, tag, ctx, keys) { - const name = err.name != null ? String(err.name) : 'Error'; - let stack = getStackString(err); + const name = err.name != null ? err.name : 'Error'; + let stack = getStackString(ctx, err); removeDuplicateErrorKeys(ctx, keys, err, stack); diff --git a/lib/internal/webstreams/readablestream.js b/lib/internal/webstreams/readablestream.js index 8d884c43c2f9c3..f9b9e6b4fb2c3e 100644 --- a/lib/internal/webstreams/readablestream.js +++ b/lib/internal/webstreams/readablestream.js @@ -925,7 +925,7 @@ class ReadableStreamBYOBReader { throw new ERR_INVALID_ARG_TYPE('stream', 'ReadableStream', stream); this[kState] = { stream: undefined, - requestIntoRequests: [], + readIntoRequests: [], close: { promise: undefined, resolve: undefined, @@ -1031,7 +1031,7 @@ class ReadableStreamBYOBReader { [kInspect](depth, options) { return customInspect(depth, options, this[kType], { stream: this[kState].stream, - requestIntoRequests: this[kState].requestIntoRequests.length, + readIntoRequests: this[kState].readIntoRequests.length, close: this[kState].close.promise, }); } diff --git a/lib/internal/worker.js b/lib/internal/worker.js index 84ae104d4b9588..e5a2cd06892c75 100644 --- a/lib/internal/worker.js +++ b/lib/internal/worker.js @@ -67,6 +67,7 @@ const { const { ownsProcessState, isMainThread, + isInternalThread, resourceLimits: resourceLimitsRaw, threadId, Worker: WorkerImpl, @@ -339,9 +340,11 @@ class Worker extends EventEmitter { { const { stream, chunks } = message; const readable = this[kParentSideStdio][stream]; - ArrayPrototypeForEach(chunks, ({ chunk, encoding }) => { + // This is a hot path, use a for(;;) loop + for (let i = 0; i < chunks.length; i++) { + const { chunk, encoding } = chunks[i]; readable.push(chunk, encoding); - }); + } return; } case messageTypes.STDIO_WANTS_MORE_DATA: @@ -538,6 +541,7 @@ module.exports = { ownsProcessState, kIsOnline, isMainThread, + isInternalThread, SHARE_ENV, resourceLimits: !isMainThread ? makeResourceLimits(resourceLimitsRaw) : {}, diff --git a/lib/internal/worker/io.js b/lib/internal/worker/io.js index 42b8845cec6711..29c7914982b67a 100644 --- a/lib/internal/worker/io.js +++ b/lib/internal/worker/io.js @@ -1,9 +1,7 @@ 'use strict'; const { - ArrayPrototypeForEach, - ArrayPrototypeMap, - ArrayPrototypePush, + Array, FunctionPrototypeBind, FunctionPrototypeCall, ObjectAssign, @@ -77,7 +75,7 @@ const kOnMessage = Symbol('kOnMessage'); const kOnMessageError = Symbol('kOnMessageError'); const kPort = Symbol('kPort'); const kWaitingStreams = Symbol('kWaitingStreams'); -const kWritableCallbacks = Symbol('kWritableCallbacks'); +const kWritableCallback = Symbol('kWritableCallback'); const kStartedReading = Symbol('kStartedReading'); const kStdioWantsMoreDataCallback = Symbol('kStdioWantsMoreDataCallback'); const kCurrentlyReceivingPorts = @@ -282,19 +280,32 @@ class WritableWorkerStdio extends Writable { super({ decodeStrings: false }); this[kPort] = port; this[kName] = name; - this[kWritableCallbacks] = []; + this[kWritableCallback] = null; } _writev(chunks, cb) { + const toSend = new Array(chunks.length); + + // We avoid .map() because it's a hot path + for (let i = 0; i < chunks.length; i++) { + const { chunk, encoding } = chunks[i]; + toSend[i] = { chunk, encoding }; + } + this[kPort].postMessage({ type: messageTypes.STDIO_PAYLOAD, stream: this[kName], - chunks: ArrayPrototypeMap(chunks, - ({ chunk, encoding }) => ({ chunk, encoding })), + chunks: toSend, }); - ArrayPrototypePush(this[kWritableCallbacks], cb); - if (this[kPort][kWaitingStreams]++ === 0) - this[kPort].ref(); + if (process._exiting) { + cb(); + } else { + // Only one writev happens at any given time, + // so we can safely overwrite the callback. + this[kWritableCallback] = cb; + if (this[kPort][kWaitingStreams]++ === 0) + this[kPort].ref(); + } } _final(cb) { @@ -307,11 +318,13 @@ class WritableWorkerStdio extends Writable { } [kStdioWantsMoreDataCallback]() { - const cbs = this[kWritableCallbacks]; - this[kWritableCallbacks] = []; - ArrayPrototypeForEach(cbs, (cb) => cb()); - if ((this[kPort][kWaitingStreams] -= cbs.length) === 0) - this[kPort].unref(); + const cb = this[kWritableCallback]; + if (cb) { + this[kWritableCallback] = null; + cb(); + if (--this[kPort][kWaitingStreams] === 0) + this[kPort].unref(); + } } } diff --git a/lib/module.js b/lib/module.js index a0317d06e0edb0..1217172afb3ccb 100644 --- a/lib/module.js +++ b/lib/module.js @@ -1,9 +1,15 @@ 'use strict'; -const { findSourceMap } = require('internal/source_map/source_map_cache'); +const { + findSourceMap, + getSourceMapsSupport, + setSourceMapsSupport, +} = require('internal/source_map/source_map_cache'); const { Module } = require('internal/modules/cjs/loader'); const { register } = require('internal/modules/esm/loader'); -const { SourceMap } = require('internal/source_map/source_map'); +const { + SourceMap, +} = require('internal/source_map/source_map'); const { constants, enableCompileCache, @@ -15,9 +21,7 @@ const { } = require('internal/modules/package_json_reader'); const { stripTypeScriptTypes } = require('internal/modules/typescript'); -Module.findSourceMap = findSourceMap; Module.register = register; -Module.SourceMap = SourceMap; Module.constants = constants; Module.enableCompileCache = enableCompileCache; Module.findPackageJSON = findPackageJSON; @@ -25,4 +29,10 @@ Module.flushCompileCache = flushCompileCache; Module.getCompileCacheDir = getCompileCacheDir; Module.stripTypeScriptTypes = stripTypeScriptTypes; +// SourceMap APIs +Module.findSourceMap = findSourceMap; +Module.SourceMap = SourceMap; +Module.getSourceMapsSupport = getSourceMapsSupport; +Module.setSourceMapsSupport = setSourceMapsSupport; + module.exports = Module; diff --git a/lib/punycode.js b/lib/punycode.js index 7dfe552a5c9efa..e303a5373b8839 100644 --- a/lib/punycode.js +++ b/lib/punycode.js @@ -1,11 +1,16 @@ 'use strict'; - -process.emitWarning( - 'The `punycode` module is deprecated. Please use a userland ' + - 'alternative instead.', - 'DeprecationWarning', - 'DEP0040', -); +const { + isInsideNodeModules, +} = internalBinding('util'); + +if (!isInsideNodeModules(100, true)) { + process.emitWarning( + 'The `punycode` module is deprecated. Please use a userland ' + + 'alternative instead.', + 'DeprecationWarning', + 'DEP0040', + ); +} /** Highest positive signed 32-bit float value */ const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 diff --git a/lib/test.js b/lib/test.js index 8e7c6295a37225..d6a313cd0763eb 100644 --- a/lib/test.js +++ b/lib/test.js @@ -61,3 +61,15 @@ ObjectDefineProperty(module.exports, 'snapshot', { return lazySnapshot; }, }); + +ObjectDefineProperty(module.exports, 'assert', { + __proto__: null, + configurable: true, + enumerable: true, + get() { + const { register } = require('internal/test_runner/assert'); + const assert = { __proto__: null, register }; + ObjectDefineProperty(module.exports, 'assert', assert); + return assert; + }, +}); diff --git a/lib/util.js b/lib/util.js index 591a1832fecdb8..c8619d5e3f5360 100644 --- a/lib/util.js +++ b/lib/util.js @@ -348,10 +348,10 @@ const lazySourceMap = getLazy(() => require('internal/source_map/source_map_cach * @returns {CallSite | undefined} // The reconstructed call site object */ function reconstructCallSite(callSite) { - const { scriptName, lineNumber, column } = callSite; + const { scriptName, lineNumber, columnNumber } = callSite; const sourceMap = lazySourceMap().findSourceMap(scriptName); if (!sourceMap) return; - const entry = sourceMap.findEntry(lineNumber - 1, column - 1); + const entry = sourceMap.findEntry(lineNumber - 1, columnNumber - 1); if (!entry?.originalSource) return; return { __proto__: null, @@ -360,6 +360,7 @@ function reconstructCallSite(callSite) { scriptName: entry.originalSource, lineNumber: entry.originalLine + 1, column: entry.originalColumn + 1, + columnNumber: entry.originalColumn + 1, }; } diff --git a/lib/worker_threads.js b/lib/worker_threads.js index e874671ea12221..1e7a175fc8638e 100644 --- a/lib/worker_threads.js +++ b/lib/worker_threads.js @@ -1,6 +1,7 @@ 'use strict'; const { + isInternalThread, isMainThread, SHARE_ENV, resourceLimits, @@ -29,6 +30,7 @@ const { } = require('internal/buffer'); module.exports = { + isInternalThread, isMainThread, MessagePort, MessageChannel, diff --git a/node.gyp b/node.gyp index a3688b8e6dff41..1633ed2d832fc5 100644 --- a/node.gyp +++ b/node.gyp @@ -1296,26 +1296,6 @@ ], }, # embedtest - { - 'target_name': 'sqlite_extension', - 'type': 'shared_library', - 'sources': [ - 'test/sqlite/extension.c' - ], - - 'include_dirs': [ - 'test/sqlite', - 'deps/sqlite', - ], - - 'cflags': [ - '-fPIC', - '-Wall', - '-Wextra', - '-O3', - ], - }, # sqlitetest - { 'target_name': 'overlapped-checker', 'type': 'executable', diff --git a/pyproject.toml b/pyproject.toml index 8e97e3b4446293..45f540bd15170d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,8 +4,7 @@ exclude = [ "tools/cpplint.py", "tools/gyp", "tools/inspector_protocol", - "tools/eslint/node_modules", - "tools/github_reporter" + "tools/eslint/node_modules" ] line-length = 172 target-version = "py38" @@ -33,9 +32,7 @@ ignore = [ "E401", "E402", "E7", - "PLC1901", "RUF005", - "RUF100", ] [tool.ruff.lint.mccabe] diff --git a/src/README.md b/src/README.md index 300b74c28d505c..20453b405b312f 100644 --- a/src/README.md +++ b/src/README.md @@ -467,10 +467,16 @@ void Initialize(Local<Object> target, NODE_BINDING_CONTEXT_AWARE_INTERNAL(cares_wrap, Initialize) ``` -If the C++ binding is loaded during bootstrap, it needs to be registered -with the utilities in `node_external_reference.h`, like this: +#### Registering binding functions used in bootstrap + +If the C++ binding is loaded during bootstrap, in addition to registering it +using `NODE_BINDING_CONTEXT_AWARE_INTERNAL` for `internalBinding()` lookup, +it also needs to be registered with `NODE_BINDING_EXTERNAL_REFERENCE` so that +the external references can be resolved from the built-in snapshot, like this: ```cpp +#include "node_external_reference.h" + namespace node { namespace util { void RegisterExternalReferences(ExternalReferenceRegistry* registry) { @@ -498,7 +504,8 @@ Unknown external reference 0x107769200. /bin/sh: line 1: 6963 Illegal instruction: 4 out/Release/node_mksnapshot out/Release/gen/node_snapshot.cc ``` -You can try using a debugger to symbolicate the external reference. For example, +You can try using a debugger to symbolicate the external reference in order to find +out the binding functions that you forget to register. For example, with lldb's `image lookup --address` command (with gdb it's `info symbol`): ```console @@ -514,7 +521,9 @@ Process 7012 stopped ``` Which explains that the unregistered external reference is -`node::util::GetHiddenValue` defined in `node_util.cc`. +`node::util::GetHiddenValue` defined in `node_util.cc`, and should be registered +using `registry->Register()` in a registration function marked by +`NODE_BINDING_EXTERNAL_REFERENCE`. <a id="per-binding-state"></a> diff --git a/src/amaro_version.h b/src/amaro_version.h index b620c6658b1fe2..88efa031ad322b 100644 --- a/src/amaro_version.h +++ b/src/amaro_version.h @@ -2,5 +2,5 @@ // Refer to tools/dep_updaters/update-amaro.sh #ifndef SRC_AMARO_VERSION_H_ #define SRC_AMARO_VERSION_H_ -#define AMARO_VERSION "0.2.1" +#define AMARO_VERSION "0.3.0" #endif // SRC_AMARO_VERSION_H_ diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index a19e8221f34eba..e79f43d1824b60 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -1580,15 +1580,16 @@ void ConvertIpv6StringToBuffer(const FunctionCallbackInfo<Value>& args) { if (uv_inet_pton(AF_INET6, *ip, dst) != 0) { isolate->ThrowException(Exception::Error( - String::NewFromUtf8(isolate, "Invalid IPv6 address").ToLocalChecked())); + FIXED_ONE_BYTE_STRING(isolate, "Invalid IPv6 address"))); return; } - Local<Object> buffer = - node::Buffer::Copy( + Local<Object> buffer; + if (node::Buffer::Copy( isolate, reinterpret_cast<const char*>(dst), sizeof(dst)) - .ToLocalChecked(); - args.GetReturnValue().Set(buffer); + .ToLocal(&buffer)) { + args.GetReturnValue().Set(buffer); + } } void GetAddrInfo(const FunctionCallbackInfo<Value>& args) { @@ -1750,22 +1751,27 @@ void SetServers(const FunctionCallbackInfo<Value>& args) { int err; for (uint32_t i = 0; i < len; i++) { - CHECK(arr->Get(env->context(), i).ToLocalChecked()->IsArray()); - - Local<Array> elm = arr->Get(env->context(), i).ToLocalChecked().As<Array>(); - - CHECK(elm->Get(env->context(), - 0).ToLocalChecked()->Int32Value(env->context()).FromJust()); - CHECK(elm->Get(env->context(), 1).ToLocalChecked()->IsString()); - CHECK(elm->Get(env->context(), - 2).ToLocalChecked()->Int32Value(env->context()).FromJust()); - - int fam = elm->Get(env->context(), 0) - .ToLocalChecked()->Int32Value(env->context()).FromJust(); - node::Utf8Value ip(env->isolate(), - elm->Get(env->context(), 1).ToLocalChecked()); - int port = elm->Get(env->context(), 2) - .ToLocalChecked()->Int32Value(env->context()).FromJust(); + Local<Value> val; + if (!arr->Get(env->context(), i).ToLocal(&val)) return; + CHECK(val->IsArray()); + + Local<Array> elm = val.As<Array>(); + + Local<Value> familyValue; + Local<Value> ipValue; + Local<Value> portValue; + + if (!elm->Get(env->context(), 0).ToLocal(&familyValue)) return; + if (!elm->Get(env->context(), 1).ToLocal(&ipValue)) return; + if (!elm->Get(env->context(), 2).ToLocal(&portValue)) return; + + CHECK(familyValue->Int32Value(env->context()).FromJust()); + CHECK(ipValue->IsString()); + CHECK(portValue->Int32Value(env->context()).FromJust()); + + int fam = familyValue->Int32Value(env->context()).FromJust(); + node::Utf8Value ip(env->isolate(), ipValue); + int port = portValue->Int32Value(env->context()).FromJust(); ares_addr_port_node* cur = &servers[i]; diff --git a/src/compile_cache.cc b/src/compile_cache.cc index 50697bcfe1671d..f13797e5f50288 100644 --- a/src/compile_cache.cc +++ b/src/compile_cache.cc @@ -77,10 +77,27 @@ v8::ScriptCompiler::CachedData* CompileCacheEntry::CopyCache() const { // See comments in CompileCacheHandler::Persist(). constexpr uint32_t kCacheMagicNumber = 0x8adfdbb2; +const char* CompileCacheEntry::type_name() const { + switch (type) { + case CachedCodeType::kCommonJS: + return "CommonJS"; + case CachedCodeType::kESM: + return "ESM"; + case CachedCodeType::kStrippedTypeScript: + return "StrippedTypeScript"; + case CachedCodeType::kTransformedTypeScript: + return "TransformedTypeScript"; + case CachedCodeType::kTransformedTypeScriptWithSourceMaps: + return "TransformedTypeScriptWithSourceMaps"; + default: + UNREACHABLE(); + } +} + void CompileCacheHandler::ReadCacheFile(CompileCacheEntry* entry) { Debug("[compile cache] reading cache from %s for %s %s...", entry->cache_filename, - entry->type == CachedCodeType::kCommonJS ? "CommonJS" : "ESM", + entry->type_name(), entry->source_filename); uv_fs_t req; @@ -256,7 +273,8 @@ void CompileCacheHandler::MaybeSaveImpl(CompileCacheEntry* entry, v8::Local<T> func_or_mod, bool rejected) { DCHECK_NOT_NULL(entry); - Debug("[compile cache] cache for %s was %s, ", + Debug("[compile cache] V8 code cache for %s %s was %s, ", + entry->type_name(), entry->source_filename, rejected ? "rejected" : (entry->cache == nullptr) ? "not initialized" @@ -287,6 +305,25 @@ void CompileCacheHandler::MaybeSave(CompileCacheEntry* entry, MaybeSaveImpl(entry, func, rejected); } +void CompileCacheHandler::MaybeSave(CompileCacheEntry* entry, + std::string_view transpiled) { + CHECK(entry->type == CachedCodeType::kStrippedTypeScript || + entry->type == CachedCodeType::kTransformedTypeScript || + entry->type == CachedCodeType::kTransformedTypeScriptWithSourceMaps); + Debug("[compile cache] saving transpilation cache for %s %s\n", + entry->type_name(), + entry->source_filename); + + // TODO(joyeecheung): it's weird to copy it again here. Convert the v8::String + // directly into buffer held by v8::ScriptCompiler::CachedData here. + int cache_size = static_cast<int>(transpiled.size()); + uint8_t* data = new uint8_t[cache_size]; + memcpy(data, transpiled.data(), cache_size); + entry->cache.reset(new v8::ScriptCompiler::CachedData( + data, cache_size, v8::ScriptCompiler::CachedData::BufferOwned)); + entry->refreshed = true; +} + /** * Persist the compile cache accumulated in memory to disk. * @@ -316,18 +353,25 @@ void CompileCacheHandler::Persist() { // incur a negligible overhead from thread synchronization. for (auto& pair : compiler_cache_store_) { auto* entry = pair.second.get(); + const char* type_name = entry->type_name(); if (entry->cache == nullptr) { - Debug("[compile cache] skip %s because the cache was not initialized\n", + Debug("[compile cache] skip persisting %s %s because the cache was not " + "initialized\n", + type_name, entry->source_filename); continue; } if (entry->refreshed == false) { - Debug("[compile cache] skip %s because cache was the same\n", - entry->source_filename); + Debug( + "[compile cache] skip persisting %s %s because cache was the same\n", + type_name, + entry->source_filename); continue; } if (entry->persisted == true) { - Debug("[compile cache] skip %s because cache was already persisted\n", + Debug("[compile cache] skip persisting %s %s because cache was already " + "persisted\n", + type_name, entry->source_filename); continue; } @@ -363,8 +407,9 @@ void CompileCacheHandler::Persist() { auto cleanup_mkstemp = OnScopeLeave([&mkstemp_req]() { uv_fs_req_cleanup(&mkstemp_req); }); std::string cache_filename_tmp = entry->cache_filename + ".XXXXXX"; - Debug("[compile cache] Creating temporary file for cache of %s...", - entry->source_filename); + Debug("[compile cache] Creating temporary file for cache of %s (%s)...", + entry->source_filename, + type_name); int err = uv_fs_mkstemp( nullptr, &mkstemp_req, cache_filename_tmp.c_str(), nullptr); if (err < 0) { @@ -372,8 +417,10 @@ void CompileCacheHandler::Persist() { continue; } Debug(" -> %s\n", mkstemp_req.path); - Debug("[compile cache] writing cache for %s to temporary file %s [%d %d %d " + Debug("[compile cache] writing cache for %s %s to temporary file %s [%d " + "%d %d " "%d %d]...", + type_name, entry->source_filename, mkstemp_req.path, headers[kMagicNumberOffset], diff --git a/src/compile_cache.h b/src/compile_cache.h index a7bb58c4a0be95..72910084e18bca 100644 --- a/src/compile_cache.h +++ b/src/compile_cache.h @@ -13,10 +13,17 @@ namespace node { class Environment; -// TODO(joyeecheung): move it into a CacheHandler class. +#define CACHED_CODE_TYPES(V) \ + V(kCommonJS, 0) \ + V(kESM, 1) \ + V(kStrippedTypeScript, 2) \ + V(kTransformedTypeScript, 3) \ + V(kTransformedTypeScriptWithSourceMaps, 4) + enum class CachedCodeType : uint8_t { - kCommonJS = 0, - kESM, +#define V(type, value) type = value, + CACHED_CODE_TYPES(V) +#undef V }; struct CompileCacheEntry { @@ -34,6 +41,7 @@ struct CompileCacheEntry { // Copy the cache into a new store for V8 to consume. Caller takes // ownership. v8::ScriptCompiler::CachedData* CopyCache() const; + const char* type_name() const; }; #define COMPILE_CACHE_STATUS(V) \ @@ -70,6 +78,7 @@ class CompileCacheHandler { void MaybeSave(CompileCacheEntry* entry, v8::Local<v8::Module> mod, bool rejected); + void MaybeSave(CompileCacheEntry* entry, std::string_view transpiled); std::string_view cache_dir() { return compile_cache_dir_; } private: diff --git a/src/crypto/crypto_aes.cc b/src/crypto/crypto_aes.cc index d430648aebc540..ce32b578f9b24a 100644 --- a/src/crypto/crypto_aes.cc +++ b/src/crypto/crypto_aes.cc @@ -16,6 +16,9 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::Cipher; +using ncrypto::CipherCtxPointer; using v8::FunctionCallbackInfo; using v8::Just; using v8::JustVoid; @@ -40,43 +43,30 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, ByteSource* out) { CHECK_EQ(key_data.GetKeyType(), kKeyTypeSecret); - const int mode = EVP_CIPHER_mode(params.cipher); + const int mode = params.cipher.getMode(); - CipherCtxPointer ctx(EVP_CIPHER_CTX_new()); - EVP_CIPHER_CTX_init(ctx.get()); - if (mode == EVP_CIPH_WRAP_MODE) - EVP_CIPHER_CTX_set_flags(ctx.get(), EVP_CIPHER_CTX_FLAG_WRAP_ALLOW); + auto ctx = CipherCtxPointer::New(); + if (mode == EVP_CIPH_WRAP_MODE) { + ctx.setFlags(EVP_CIPHER_CTX_FLAG_WRAP_ALLOW); + } const bool encrypt = cipher_mode == kWebCryptoCipherEncrypt; - if (!EVP_CipherInit_ex( - ctx.get(), - params.cipher, - nullptr, - nullptr, - nullptr, - encrypt)) { + if (!ctx.init(params.cipher, encrypt)) { // Cipher init failed return WebCryptoCipherStatus::FAILED; } - if (mode == EVP_CIPH_GCM_MODE && !EVP_CIPHER_CTX_ctrl( - ctx.get(), - EVP_CTRL_AEAD_SET_IVLEN, - params.iv.size(), - nullptr)) { + if (mode == EVP_CIPH_GCM_MODE && !ctx.setIvLength(params.iv.size())) { return WebCryptoCipherStatus::FAILED; } - if (!EVP_CIPHER_CTX_set_key_length(ctx.get(), - key_data.GetSymmetricKeySize()) || - !EVP_CipherInit_ex( - ctx.get(), - nullptr, - nullptr, + if (!ctx.setKeyLength(key_data.GetSymmetricKeySize()) || + !ctx.init( + Cipher(), + encrypt, reinterpret_cast<const unsigned char*>(key_data.GetSymmetricKey()), - params.iv.data<unsigned char>(), - encrypt)) { + params.iv.data<unsigned char>())) { return WebCryptoCipherStatus::FAILED; } @@ -84,17 +74,19 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, if (mode == EVP_CIPH_GCM_MODE) { switch (cipher_mode) { - case kWebCryptoCipherDecrypt: + case kWebCryptoCipherDecrypt: { // If in decrypt mode, the auth tag must be set in the params.tag. CHECK(params.tag); - if (!EVP_CIPHER_CTX_ctrl(ctx.get(), - EVP_CTRL_AEAD_SET_TAG, - params.tag.size(), - const_cast<char*>(params.tag.data<char>()))) { + ncrypto::Buffer<const char> buffer = { + .data = params.tag.data<char>(), + .len = params.tag.size(), + }; + if (!ctx.setAeadTag(buffer)) { return WebCryptoCipherStatus::FAILED; } break; - case kWebCryptoCipherEncrypt: + } + case kWebCryptoCipherEncrypt: { // In decrypt mode, we grab the tag length here. We'll use it to // ensure that that allocated buffer has enough room for both the // final block and the auth tag. Unlike our other AES-GCM implementation @@ -102,23 +94,22 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, // of the generated ciphertext and returned in the same ArrayBuffer. tag_len = params.length; break; + } default: UNREACHABLE(); } } size_t total = 0; - int buf_len = in.size() + EVP_CIPHER_CTX_block_size(ctx.get()) + tag_len; + int buf_len = in.size() + ctx.getBlockSize() + tag_len; int out_len; - if (mode == EVP_CIPH_GCM_MODE && - params.additional_data.size() && - !EVP_CipherUpdate( - ctx.get(), - nullptr, - &out_len, - params.additional_data.data<unsigned char>(), - params.additional_data.size())) { + ncrypto::Buffer<const unsigned char> buffer = { + .data = params.additional_data.data<unsigned char>(), + .len = params.additional_data.size(), + }; + if (mode == EVP_CIPH_GCM_MODE && params.additional_data.size() && + !ctx.update(buffer, nullptr, &out_len)) { return WebCryptoCipherStatus::FAILED; } @@ -132,21 +123,20 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, // // Refs: https://github.com/openssl/openssl/commit/420cb707b880e4fb649094241371701013eeb15f // Refs: https://github.com/nodejs/node/pull/38913#issuecomment-866505244 + buffer = { + .data = in.data<unsigned char>(), + .len = in.size(), + }; if (in.empty()) { out_len = 0; - } else if (!EVP_CipherUpdate(ctx.get(), - buf.data<unsigned char>(), - &out_len, - in.data<unsigned char>(), - in.size())) { + } else if (!ctx.update(buffer, buf.data<unsigned char>(), &out_len)) { return WebCryptoCipherStatus::FAILED; } total += out_len; CHECK_LE(out_len, buf_len); - out_len = EVP_CIPHER_CTX_block_size(ctx.get()); - if (!EVP_CipherFinal_ex( - ctx.get(), buf.data<unsigned char>() + total, &out_len)) { + out_len = ctx.getBlockSize(); + if (!ctx.update({}, buf.data<unsigned char>() + total, &out_len, true)) { return WebCryptoCipherStatus::FAILED; } total += out_len; @@ -154,11 +144,9 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, // If using AES_GCM, grab the generated auth tag and append // it to the end of the ciphertext. if (cipher_mode == kWebCryptoCipherEncrypt && mode == EVP_CIPH_GCM_MODE) { - if (!EVP_CIPHER_CTX_ctrl(ctx.get(), - EVP_CTRL_AEAD_GET_TAG, - tag_len, - buf.data<unsigned char>() + total)) + if (!ctx.getAeadTag(tag_len, buf.data<unsigned char>() + total)) { return WebCryptoCipherStatus::FAILED; + } total += tag_len; } @@ -221,33 +209,34 @@ WebCryptoCipherStatus AES_CTR_Cipher2(const KeyObjectData& key_data, const ByteSource& in, unsigned const char* counter, unsigned char* out) { - CipherCtxPointer ctx(EVP_CIPHER_CTX_new()); + auto ctx = CipherCtxPointer::New(); + if (!ctx) { + return WebCryptoCipherStatus::FAILED; + } const bool encrypt = cipher_mode == kWebCryptoCipherEncrypt; - if (!EVP_CipherInit_ex( - ctx.get(), + if (!ctx.init( params.cipher, - nullptr, + encrypt, reinterpret_cast<const unsigned char*>(key_data.GetSymmetricKey()), - counter, - encrypt)) { + counter)) { // Cipher init failed return WebCryptoCipherStatus::FAILED; } int out_len = 0; int final_len = 0; - if (!EVP_CipherUpdate( - ctx.get(), - out, - &out_len, - in.data<unsigned char>(), - in.size())) { + ncrypto::Buffer<const unsigned char> buffer = { + .data = in.data<unsigned char>(), + .len = in.size(), + }; + if (!ctx.update(buffer, out, &out_len)) { return WebCryptoCipherStatus::FAILED; } - if (!EVP_CipherFinal_ex(ctx.get(), out + out_len, &final_len)) + if (!ctx.update({}, out + out_len, &final_len, true)) { return WebCryptoCipherStatus::FAILED; + } out_len += final_len; if (static_cast<unsigned>(out_len) != in.size()) @@ -262,9 +251,8 @@ WebCryptoCipherStatus AES_CTR_Cipher(Environment* env, const AESCipherConfig& params, const ByteSource& in, ByteSource* out) { - auto num_counters = BignumPointer::New(); - if (!BN_lshift(num_counters.get(), BignumPointer::One(), params.length)) - return WebCryptoCipherStatus::FAILED; + auto num_counters = BignumPointer::NewLShift(params.length); + if (!num_counters) return WebCryptoCipherStatus::FAILED; BignumPointer current_counter = GetCounter(params); @@ -277,10 +265,9 @@ WebCryptoCipherStatus AES_CTR_Cipher(Environment* env, // be incremented more than there are counter values, we fail. if (num_output > num_counters) return WebCryptoCipherStatus::FAILED; - auto remaining_until_reset = BignumPointer::New(); - if (!BN_sub(remaining_until_reset.get(), - num_counters.get(), - current_counter.get())) { + auto remaining_until_reset = + BignumPointer::NewSub(num_counters, current_counter); + if (!remaining_until_reset) { return WebCryptoCipherStatus::FAILED; } @@ -480,13 +467,13 @@ Maybe<void> AESCipherTraits::AdditionalConfig( } #undef V - params->cipher = EVP_get_cipherbynid(cipher_nid); - if (params->cipher == nullptr) { + params->cipher = Cipher::FromNid(cipher_nid); + if (!params->cipher) { THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env); return Nothing<void>(); } - int cipher_op_mode = EVP_CIPHER_mode(params->cipher); + int cipher_op_mode = params->cipher.getMode(); if (cipher_op_mode != EVP_CIPH_WRAP_MODE) { if (!ValidateIV(env, mode, args[offset + 1], params)) { return Nothing<void>(); @@ -505,8 +492,7 @@ Maybe<void> AESCipherTraits::AdditionalConfig( UseDefaultIV(params); } - if (params->iv.size() < - static_cast<size_t>(EVP_CIPHER_iv_length(params->cipher))) { + if (params->iv.size() < static_cast<size_t>(params->cipher.getIvLength())) { THROW_ERR_CRYPTO_INVALID_IV(env); return Nothing<void>(); } diff --git a/src/crypto/crypto_aes.h b/src/crypto/crypto_aes.h index 3f554ac8c15c60..7bcfa36afdace4 100644 --- a/src/crypto/crypto_aes.h +++ b/src/crypto/crypto_aes.h @@ -38,7 +38,7 @@ enum AESKeyVariant { struct AESCipherConfig final : public MemoryRetainer { CryptoJobMode mode; AESKeyVariant variant; - const EVP_CIPHER* cipher; + ncrypto::Cipher cipher; size_t length; ByteSource iv; // Used for both iv or counter ByteSource additional_data; diff --git a/src/crypto/crypto_bio.cc b/src/crypto/crypto_bio.cc index e9c920ccffa70a..f32cb1cff7d41d 100644 --- a/src/crypto/crypto_bio.cc +++ b/src/crypto/crypto_bio.cc @@ -30,6 +30,9 @@ #include <cstring> namespace node { + +using ncrypto::BIOPointer; + namespace crypto { BIOPointer NodeBIO::New(Environment* env) { diff --git a/src/crypto/crypto_bio.h b/src/crypto/crypto_bio.h index 7587a353f11cde..d621d611f748f8 100644 --- a/src/crypto/crypto_bio.h +++ b/src/crypto/crypto_bio.h @@ -43,12 +43,13 @@ class NodeBIO : public MemoryRetainer { public: ~NodeBIO() override; - static BIOPointer New(Environment* env = nullptr); + static ncrypto::BIOPointer New(Environment* env = nullptr); // NewFixed takes a copy of `len` bytes from `data` and returns a BIO that, // when read from, returns those bytes followed by EOF. - static BIOPointer NewFixed(const char* data, size_t len, - Environment* env = nullptr); + static ncrypto::BIOPointer NewFixed(const char* data, + size_t len, + Environment* env = nullptr); // Move read head to next buffer if needed void TryMoveReadHead(); diff --git a/src/crypto/crypto_cipher.cc b/src/crypto/crypto_cipher.cc index 21e34333609880..dca59f16723ef8 100644 --- a/src/crypto/crypto_cipher.cc +++ b/src/crypto/crypto_cipher.cc @@ -10,9 +10,17 @@ namespace node { +using ncrypto::Cipher; +using ncrypto::CipherCtxPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::MarkPopErrorOnReturn; +using ncrypto::SSLCtxPointer; +using ncrypto::SSLPointer; using v8::Array; using v8::ArrayBuffer; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Context; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; @@ -27,26 +35,6 @@ using v8::Value; namespace crypto { namespace { -bool IsSupportedAuthenticatedMode(const EVP_CIPHER* cipher) { - switch (EVP_CIPHER_mode(cipher)) { - case EVP_CIPH_CCM_MODE: - case EVP_CIPH_GCM_MODE: -#ifndef OPENSSL_NO_OCB - case EVP_CIPH_OCB_MODE: -#endif - return true; - case EVP_CIPH_STREAM_CIPHER: - return EVP_CIPHER_nid(cipher) == NID_chacha20_poly1305; - default: - return false; - } -} - -bool IsSupportedAuthenticatedMode(const EVP_CIPHER_CTX* ctx) { - const EVP_CIPHER* cipher = EVP_CIPHER_CTX_cipher(ctx); - return IsSupportedAuthenticatedMode(cipher); -} - bool IsValidGCMTagLength(unsigned int tag_len) { return tag_len == 4 || tag_len == 8 || (tag_len >= 12 && tag_len <= 16); } @@ -59,36 +47,23 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { CHECK(args[1]->IsString() || args[1]->IsInt32()); - const EVP_CIPHER* cipher; - if (args[1]->IsString()) { - Utf8Value name(env->isolate(), args[1]); - cipher = EVP_get_cipherbyname(*name); - } else { - int nid = args[1].As<Int32>()->Value(); - cipher = EVP_get_cipherbynid(nid); - } + const auto cipher = ([&] { + if (args[1]->IsString()) { + Utf8Value name(env->isolate(), args[1]); + return Cipher::FromName(*name); + } else { + int nid = args[1].As<Int32>()->Value(); + return Cipher::FromNid(nid); + } + })(); - if (cipher == nullptr) - return; + if (!cipher) return; - int mode = EVP_CIPHER_mode(cipher); - int iv_length = EVP_CIPHER_iv_length(cipher); - int key_length = EVP_CIPHER_key_length(cipher); - int block_length = EVP_CIPHER_block_size(cipher); - const char* mode_label = nullptr; - switch (mode) { - case EVP_CIPH_CBC_MODE: mode_label = "cbc"; break; - case EVP_CIPH_CCM_MODE: mode_label = "ccm"; break; - case EVP_CIPH_CFB_MODE: mode_label = "cfb"; break; - case EVP_CIPH_CTR_MODE: mode_label = "ctr"; break; - case EVP_CIPH_ECB_MODE: mode_label = "ecb"; break; - case EVP_CIPH_GCM_MODE: mode_label = "gcm"; break; - case EVP_CIPH_OCB_MODE: mode_label = "ocb"; break; - case EVP_CIPH_OFB_MODE: mode_label = "ofb"; break; - case EVP_CIPH_WRAP_MODE: mode_label = "wrap"; break; - case EVP_CIPH_XTS_MODE: mode_label = "xts"; break; - case EVP_CIPH_STREAM_CIPHER: mode_label = "stream"; break; - } + int iv_length = cipher.getIvLength(); + int key_length = cipher.getKeyLength(); + int block_length = cipher.getBlockSize(); + auto mode_label = cipher.getModeLabel(); + auto name = cipher.getName(); // If the testKeyLen and testIvLen arguments are specified, // then we will make an attempt to see if they are usable for @@ -99,14 +74,16 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { // Test and input IV or key length to determine if it's acceptable. // If it is, then the getCipherInfo will succeed with the given // values. - CipherCtxPointer ctx(EVP_CIPHER_CTX_new()); - if (!EVP_CipherInit_ex(ctx.get(), cipher, nullptr, nullptr, nullptr, 1)) + auto ctx = CipherCtxPointer::New(); + if (!ctx.init(cipher, true)) { return; + } if (args[2]->IsInt32()) { int check_len = args[2].As<Int32>()->Value(); - if (!EVP_CIPHER_CTX_set_key_length(ctx.get(), check_len)) + if (!ctx.setKeyLength(check_len)) { return; + } key_length = check_len; } @@ -116,7 +93,7 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { // For GCM and OCB modes, we'll check by attempting to // set the value. For everything else, just check that // check_len == iv_length. - switch (mode) { + switch (cipher.getMode()) { case EVP_CIPH_CCM_MODE: if (check_len < 7 || check_len > 13) return; @@ -124,11 +101,7 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { case EVP_CIPH_GCM_MODE: // Fall through case EVP_CIPH_OCB_MODE: - if (!EVP_CIPHER_CTX_ctrl( - ctx.get(), - EVP_CTRL_AEAD_SET_IVLEN, - check_len, - nullptr)) { + if (!ctx.setIvLength(check_len)) { return; } break; @@ -140,38 +113,35 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { } } - if (mode_label != nullptr && - info->Set( - env->context(), - FIXED_ONE_BYTE_STRING(env->isolate(), "mode"), - OneByteString(env->isolate(), mode_label)).IsNothing()) { + if (mode_label.length() && + info->Set(env->context(), + FIXED_ONE_BYTE_STRING(env->isolate(), "mode"), + OneByteString( + env->isolate(), mode_label.data(), mode_label.length())) + .IsNothing()) { return; } - // OBJ_nid2sn(EVP_CIPHER_nid(cipher)) is used here instead of - // EVP_CIPHER_name(cipher) for compatibility with BoringSSL. - if (info->Set( - env->context(), - env->name_string(), - OneByteString( - env->isolate(), - OBJ_nid2sn(EVP_CIPHER_nid(cipher)))).IsNothing()) { + if (info->Set(env->context(), + env->name_string(), + OneByteString(env->isolate(), name.data(), name.length())) + .IsNothing()) { return; } - if (info->Set( - env->context(), - FIXED_ONE_BYTE_STRING(env->isolate(), "nid"), - Int32::New(env->isolate(), EVP_CIPHER_nid(cipher))).IsNothing()) { + if (info->Set(env->context(), + FIXED_ONE_BYTE_STRING(env->isolate(), "nid"), + Int32::New(env->isolate(), cipher.getNid())) + .IsNothing()) { return; } // Stream ciphers do not have a meaningful block size - if (mode != EVP_CIPH_STREAM_CIPHER && - info->Set( - env->context(), - FIXED_ONE_BYTE_STRING(env->isolate(), "blockSize"), - Int32::New(env->isolate(), block_length)).IsNothing()) { + if (cipher.getMode() != EVP_CIPH_STREAM_CIPHER && + info->Set(env->context(), + FIXED_ONE_BYTE_STRING(env->isolate(), "blockSize"), + Int32::New(env->isolate(), block_length)) + .IsNothing()) { return; } @@ -198,42 +168,20 @@ void GetCipherInfo(const FunctionCallbackInfo<Value>& args) { void CipherBase::GetSSLCiphers(const FunctionCallbackInfo<Value>& args) { Environment* env = Environment::GetCurrent(args); - SSLCtxPointer ctx(SSL_CTX_new(TLS_method())); + auto ctx = SSLCtxPointer::New(); if (!ctx) { return ThrowCryptoError(env, ERR_get_error(), "SSL_CTX_new"); } - SSLPointer ssl(SSL_new(ctx.get())); + auto ssl = SSLPointer::New(ctx); if (!ssl) { return ThrowCryptoError(env, ERR_get_error(), "SSL_new"); } - STACK_OF(SSL_CIPHER)* ciphers = SSL_get_ciphers(ssl.get()); - - // TLSv1.3 ciphers aren't listed by EVP. There are only 5, we could just - // document them, but since there are only 5, easier to just add them manually - // and not have to explain their absence in the API docs. They are lower-cased - // because the docs say they will be. - static const char* TLS13_CIPHERS[] = { - "tls_aes_256_gcm_sha384", - "tls_chacha20_poly1305_sha256", - "tls_aes_128_gcm_sha256", - "tls_aes_128_ccm_8_sha256", - "tls_aes_128_ccm_sha256" - }; - - const int n = sk_SSL_CIPHER_num(ciphers); - LocalVector<Value> arr(env->isolate(), n + arraysize(TLS13_CIPHERS)); - - for (int i = 0; i < n; ++i) { - const SSL_CIPHER* cipher = sk_SSL_CIPHER_value(ciphers, i); - arr[i] = OneByteString(env->isolate(), SSL_CIPHER_get_name(cipher)); - } - - for (unsigned i = 0; i < arraysize(TLS13_CIPHERS); ++i) { - const char* name = TLS13_CIPHERS[i]; - arr[n + i] = OneByteString(env->isolate(), name); - } + LocalVector<Value> arr(env->isolate()); + ssl.getCiphers([&](const std::string_view name) { + arr.push_back(OneByteString(env->isolate(), name.data(), name.length())); + }); args.GetReturnValue().Set(Array::New(env->isolate(), arr.data(), arr.size())); } @@ -297,26 +245,22 @@ void CipherBase::Initialize(Environment* env, Local<Object> target) { target, "publicEncrypt", PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, - EVP_PKEY_encrypt_init, - EVP_PKEY_encrypt>); + ncrypto::Cipher::encrypt>); SetMethod(context, target, "privateDecrypt", PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, - EVP_PKEY_decrypt_init, - EVP_PKEY_decrypt>); + ncrypto::Cipher::decrypt>); SetMethod(context, target, "privateEncrypt", PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, - EVP_PKEY_sign_init, - EVP_PKEY_sign>); + ncrypto::Cipher::sign>); SetMethod(context, target, "publicDecrypt", PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, - EVP_PKEY_verify_recover_init, - EVP_PKEY_verify_recover>); + ncrypto::Cipher::recover>); SetMethodNoSideEffect(context, target, "getCipherInfo", GetCipherInfo); @@ -341,17 +285,13 @@ void CipherBase::RegisterExternalReferences( registry->Register(GetCiphers); registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, - EVP_PKEY_encrypt_init, - EVP_PKEY_encrypt>); + ncrypto::Cipher::encrypt>); registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, - EVP_PKEY_decrypt_init, - EVP_PKEY_decrypt>); + ncrypto::Cipher::decrypt>); registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPrivate, - EVP_PKEY_sign_init, - EVP_PKEY_sign>); + ncrypto::Cipher::sign>); registry->Register(PublicKeyCipher::Cipher<PublicKeyCipher::kPublic, - EVP_PKEY_verify_recover_init, - EVP_PKEY_verify_recover>); + ncrypto::Cipher::recover>); registry->Register(GetCipherInfo); } @@ -363,38 +303,38 @@ void CipherBase::New(const FunctionCallbackInfo<Value>& args) { } void CipherBase::CommonInit(const char* cipher_type, - const EVP_CIPHER* cipher, + const ncrypto::Cipher& cipher, const unsigned char* key, int key_len, const unsigned char* iv, int iv_len, unsigned int auth_tag_len) { CHECK(!ctx_); - ctx_.reset(EVP_CIPHER_CTX_new()); + ctx_ = CipherCtxPointer::New(); + CHECK(ctx_); - const int mode = EVP_CIPHER_mode(cipher); - if (mode == EVP_CIPH_WRAP_MODE) - EVP_CIPHER_CTX_set_flags(ctx_.get(), EVP_CIPHER_CTX_FLAG_WRAP_ALLOW); + if (cipher.getMode() == EVP_CIPH_WRAP_MODE) { + ctx_.setFlags(EVP_CIPHER_CTX_FLAG_WRAP_ALLOW); + } const bool encrypt = (kind_ == kCipher); - if (1 != EVP_CipherInit_ex(ctx_.get(), cipher, nullptr, - nullptr, nullptr, encrypt)) { + if (!ctx_.init(cipher, encrypt)) { return ThrowCryptoError(env(), ERR_get_error(), "Failed to initialize cipher"); } - if (IsSupportedAuthenticatedMode(cipher)) { + if (cipher.isSupportedAuthenticatedMode()) { CHECK_GE(iv_len, 0); if (!InitAuthenticated(cipher_type, iv_len, auth_tag_len)) return; } - if (!EVP_CIPHER_CTX_set_key_length(ctx_.get(), key_len)) { + if (!ctx_.setKeyLength(key_len)) { ctx_.reset(); return THROW_ERR_CRYPTO_INVALID_KEYLEN(env()); } - if (1 != EVP_CipherInit_ex(ctx_.get(), nullptr, nullptr, key, iv, encrypt)) { + if (!ctx_.init(Cipher(), encrypt, key, iv)) { return ThrowCryptoError(env(), ERR_get_error(), "Failed to initialize cipher"); } @@ -405,9 +345,10 @@ void CipherBase::Init(const char* cipher_type, unsigned int auth_tag_len) { HandleScope scope(env()->isolate()); MarkPopErrorOnReturn mark_pop_error_on_return; - const EVP_CIPHER* const cipher = EVP_get_cipherbyname(cipher_type); - if (cipher == nullptr) + auto cipher = Cipher::FromName(cipher_type); + if (!cipher) { return THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env()); + } unsigned char key[EVP_MAX_KEY_LENGTH]; unsigned char iv[EVP_MAX_IV_LENGTH]; @@ -422,7 +363,7 @@ void CipherBase::Init(const char* cipher_type, iv); CHECK_NE(key_len, 0); - const int mode = EVP_CIPHER_mode(cipher); + const int mode = cipher.getMode(); if (kind_ == kCipher && (mode == EVP_CIPH_CTR_MODE || mode == EVP_CIPH_GCM_MODE || mode == EVP_CIPH_CCM_MODE)) { @@ -433,8 +374,13 @@ void CipherBase::Init(const char* cipher_type, cipher_type); } - CommonInit(cipher_type, cipher, key, key_len, iv, - EVP_CIPHER_iv_length(cipher), auth_tag_len); + CommonInit(cipher_type, + cipher, + key, + key_len, + iv, + cipher.getIvLength(), + auth_tag_len); } void CipherBase::Init(const FunctionCallbackInfo<Value>& args) { @@ -469,12 +415,10 @@ void CipherBase::InitIv(const char* cipher_type, HandleScope scope(env()->isolate()); MarkPopErrorOnReturn mark_pop_error_on_return; - const EVP_CIPHER* const cipher = EVP_get_cipherbyname(cipher_type); - if (cipher == nullptr) - return THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env()); + auto cipher = Cipher::FromName(cipher_type); + if (!cipher) return THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env()); - const int expected_iv_len = EVP_CIPHER_iv_length(cipher); - const bool is_authenticated_mode = IsSupportedAuthenticatedMode(cipher); + const int expected_iv_len = cipher.getIvLength(); const bool has_iv = iv_buf.size() > 0; // Throw if no IV was passed and the cipher requires an IV @@ -484,13 +428,12 @@ void CipherBase::InitIv(const char* cipher_type, // Throw if an IV was passed which does not match the cipher's fixed IV length // static_cast<int> for the iv_buf.size() is safe because we've verified // prior that the value is not larger than INT_MAX. - if (!is_authenticated_mode && - has_iv && + if (!cipher.isSupportedAuthenticatedMode() && has_iv && static_cast<int>(iv_buf.size()) != expected_iv_len) { return THROW_ERR_CRYPTO_INVALID_IV(env()); } - if (EVP_CIPHER_nid(cipher) == NID_chacha20_poly1305) { + if (cipher.getNid() == NID_chacha20_poly1305) { CHECK(has_iv); // Check for invalid IV lengths, since OpenSSL does not under some // conditions: @@ -553,15 +496,12 @@ bool CipherBase::InitAuthenticated( CHECK(IsAuthenticatedMode()); MarkPopErrorOnReturn mark_pop_error_on_return; - if (!EVP_CIPHER_CTX_ctrl(ctx_.get(), - EVP_CTRL_AEAD_SET_IVLEN, - iv_len, - nullptr)) { + if (!ctx_.setIvLength(iv_len)) { THROW_ERR_CRYPTO_INVALID_IV(env()); return false; } - const int mode = EVP_CIPHER_CTX_mode(ctx_.get()); + const int mode = ctx_.getMode(); if (mode == EVP_CIPH_GCM_MODE) { if (auth_tag_len != kNoAuthTagLength) { if (!IsValidGCMTagLength(auth_tag_len)) { @@ -581,7 +521,7 @@ bool CipherBase::InitAuthenticated( // length defaults to 16 bytes when encrypting. Unlike GCM, the // authentication tag length also defaults to 16 bytes when decrypting, // whereas GCM would accept any valid authentication tag length. - if (EVP_CIPHER_CTX_nid(ctx_.get()) == NID_chacha20_poly1305) { + if (ctx_.getNid() == NID_chacha20_poly1305) { auth_tag_len = 16; } else { THROW_ERR_CRYPTO_INVALID_AUTH_TAG( @@ -604,8 +544,7 @@ bool CipherBase::InitAuthenticated( } // Tell OpenSSL about the desired length. - if (!EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_SET_TAG, auth_tag_len, - nullptr)) { + if (!ctx_.setAeadTagLength(auth_tag_len)) { THROW_ERR_CRYPTO_INVALID_AUTH_TAG( env(), "Invalid authentication tag length: %u", auth_tag_len); return false; @@ -628,7 +567,7 @@ bool CipherBase::InitAuthenticated( bool CipherBase::CheckCCMMessageLength(int message_len) { CHECK(ctx_); - CHECK(EVP_CIPHER_CTX_mode(ctx_.get()) == EVP_CIPH_CCM_MODE); + CHECK(ctx_.getMode() == EVP_CIPH_CCM_MODE); if (message_len > max_message_size_) { THROW_ERR_CRYPTO_INVALID_MESSAGELEN(env()); @@ -641,7 +580,7 @@ bool CipherBase::CheckCCMMessageLength(int message_len) { bool CipherBase::IsAuthenticatedMode() const { // Check if this cipher operates in an AEAD mode that we support. CHECK(ctx_); - return IsSupportedAuthenticatedMode(ctx_.get()); + return ncrypto::Cipher::FromCtx(ctx_).isSupportedAuthenticatedMode(); } void CipherBase::GetAuthTag(const FunctionCallbackInfo<Value>& args) { @@ -679,7 +618,7 @@ void CipherBase::SetAuthTag(const FunctionCallbackInfo<Value>& args) { } unsigned int tag_len = auth_tag.size(); - const int mode = EVP_CIPHER_CTX_mode(cipher->ctx_.get()); + const int mode = cipher->ctx_.getMode(); bool is_valid; if (mode == EVP_CIPH_GCM_MODE) { // Restrict GCM tag lengths according to NIST 800-38d, page 9. @@ -689,7 +628,7 @@ void CipherBase::SetAuthTag(const FunctionCallbackInfo<Value>& args) { } else { // At this point, the tag length is already known and must match the // length of the given authentication tag. - CHECK(IsSupportedAuthenticatedMode(cipher->ctx_.get())); + CHECK(Cipher::FromCtx(cipher->ctx_).isSupportedAuthenticatedMode()); CHECK_NE(cipher->auth_tag_len_, kNoAuthTagLength); is_valid = cipher->auth_tag_len_ == tag_len; } @@ -723,10 +662,11 @@ void CipherBase::SetAuthTag(const FunctionCallbackInfo<Value>& args) { bool CipherBase::MaybePassAuthTagToOpenSSL() { if (auth_tag_state_ == kAuthTagKnown) { - if (!EVP_CIPHER_CTX_ctrl(ctx_.get(), - EVP_CTRL_AEAD_SET_TAG, - auth_tag_len_, - reinterpret_cast<unsigned char*>(auth_tag_))) { + ncrypto::Buffer<const char> buffer{ + .data = auth_tag_, + .len = auth_tag_len_, + }; + if (!ctx_.setAeadTag(buffer)) { return false; } auth_tag_state_ = kAuthTagPassedToOpenSSL; @@ -742,7 +682,7 @@ bool CipherBase::SetAAD( MarkPopErrorOnReturn mark_pop_error_on_return; int outlen; - const int mode = EVP_CIPHER_CTX_mode(ctx_.get()); + const int mode = ctx_.getMode(); // When in CCM mode, we need to set the authentication tag and the plaintext // length in advance. @@ -761,16 +701,21 @@ bool CipherBase::SetAAD( return false; } + ncrypto::Buffer<const unsigned char> buffer{ + .data = nullptr, + .len = static_cast<size_t>(plaintext_len), + }; // Specify the plaintext length. - if (!EVP_CipherUpdate(ctx_.get(), nullptr, &outlen, nullptr, plaintext_len)) + if (!ctx_.update(buffer, nullptr, &outlen)) { return false; + } } - return 1 == EVP_CipherUpdate(ctx_.get(), - nullptr, - &outlen, - data.data(), - data.size()); + ncrypto::Buffer<const unsigned char> buffer{ + .data = data.data(), + .len = data.size(), + }; + return ctx_.update(buffer, nullptr, &outlen); } void CipherBase::SetAAD(const FunctionCallbackInfo<Value>& args) { @@ -797,7 +742,7 @@ CipherBase::UpdateResult CipherBase::Update( return kErrorState; MarkPopErrorOnReturn mark_pop_error_on_return; - const int mode = EVP_CIPHER_CTX_mode(ctx_.get()); + const int mode = ctx_.getMode(); if (mode == EVP_CIPH_CCM_MODE && !CheckCCMMessageLength(len)) return kErrorMessageSize; @@ -807,32 +752,32 @@ CipherBase::UpdateResult CipherBase::Update( if (kind_ == kDecipher && IsAuthenticatedMode()) CHECK(MaybePassAuthTagToOpenSSL()); - const int block_size = EVP_CIPHER_CTX_block_size(ctx_.get()); + const int block_size = ctx_.getBlockSize(); CHECK_GT(block_size, 0); if (len + block_size > INT_MAX) return kErrorState; int buf_len = len + block_size; - // For key wrapping algorithms, get output size by calling - // EVP_CipherUpdate() with null output. + ncrypto::Buffer<const unsigned char> buffer = { + .data = reinterpret_cast<const unsigned char*>(data), + .len = len, + }; if (kind_ == kCipher && mode == EVP_CIPH_WRAP_MODE && - EVP_CipherUpdate(ctx_.get(), - nullptr, - &buf_len, - reinterpret_cast<const unsigned char*>(data), - len) != 1) { + !ctx_.update(buffer, nullptr, &buf_len)) { return kErrorState; } - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env()->isolate_data()); - *out = ArrayBuffer::NewBackingStore(env()->isolate(), buf_len); - } + *out = ArrayBuffer::NewBackingStore( + env()->isolate(), + buf_len, + BackingStoreInitializationMode::kUninitialized); - int r = EVP_CipherUpdate(ctx_.get(), - static_cast<unsigned char*>((*out)->Data()), - &buf_len, - reinterpret_cast<const unsigned char*>(data), - len); + buffer = { + .data = reinterpret_cast<const unsigned char*>(data), + .len = len, + }; + + bool r = ctx_.update( + buffer, static_cast<unsigned char*>((*out)->Data()), &buf_len); CHECK_LE(static_cast<size_t>(buf_len), (*out)->ByteLength()); if (buf_len == 0) { @@ -884,7 +829,7 @@ bool CipherBase::SetAutoPadding(bool auto_padding) { if (!ctx_) return false; MarkPopErrorOnReturn mark_pop_error_on_return; - return EVP_CIPHER_CTX_set_padding(ctx_.get(), auto_padding); + return ctx_.setPadding(auto_padding); } void CipherBase::SetAutoPadding(const FunctionCallbackInfo<Value>& args) { @@ -899,21 +844,22 @@ bool CipherBase::Final(std::unique_ptr<BackingStore>* out) { if (!ctx_) return false; - const int mode = EVP_CIPHER_CTX_mode(ctx_.get()); + const int mode = ctx_.getMode(); - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env()->isolate_data()); - *out = ArrayBuffer::NewBackingStore(env()->isolate(), - static_cast<size_t>(EVP_CIPHER_CTX_block_size(ctx_.get()))); - } + *out = ArrayBuffer::NewBackingStore( + env()->isolate(), + static_cast<size_t>(ctx_.getBlockSize()), + BackingStoreInitializationMode::kUninitialized); - if (kind_ == kDecipher && IsSupportedAuthenticatedMode(ctx_.get())) + if (kind_ == kDecipher && + Cipher::FromCtx(ctx_).isSupportedAuthenticatedMode()) { MaybePassAuthTagToOpenSSL(); + } // OpenSSL v1.x doesn't verify the presence of the auth tag so do // it ourselves, see https://github.com/nodejs/node/issues/45874. if (OPENSSL_VERSION_NUMBER < 0x30000000L && kind_ == kDecipher && - NID_chacha20_poly1305 == EVP_CIPHER_CTX_nid(ctx_.get()) && + NID_chacha20_poly1305 == ctx_.getNid() && auth_tag_state_ != kAuthTagPassedToOpenSSL) { return false; } @@ -926,9 +872,8 @@ bool CipherBase::Final(std::unique_ptr<BackingStore>* out) { *out = ArrayBuffer::NewBackingStore(env()->isolate(), 0); } else { int out_len = (*out)->ByteLength(); - ok = EVP_CipherFinal_ex(ctx_.get(), - static_cast<unsigned char*>((*out)->Data()), - &out_len) == 1; + ok = ctx_.update( + {}, static_cast<unsigned char*>((*out)->Data()), &out_len, true); CHECK_LE(static_cast<size_t>(out_len), (*out)->ByteLength()); if (out_len == 0) { @@ -949,9 +894,8 @@ bool CipherBase::Final(std::unique_ptr<BackingStore>* out) { CHECK(mode == EVP_CIPH_GCM_MODE); auth_tag_len_ = sizeof(auth_tag_); } - ok = (1 == EVP_CIPHER_CTX_ctrl(ctx_.get(), EVP_CTRL_AEAD_GET_TAG, - auth_tag_len_, - reinterpret_cast<unsigned char*>(auth_tag_))); + ok = ctx_.getAeadTag(auth_tag_len_, + reinterpret_cast<unsigned char*>(auth_tag_)); } } @@ -987,9 +931,7 @@ void CipherBase::Final(const FunctionCallbackInfo<Value>& args) { Buffer::New(env, ab, 0, ab->ByteLength()).FromMaybe(Local<Value>())); } -template <PublicKeyCipher::Operation operation, - PublicKeyCipher::EVP_PKEY_cipher_init_t EVP_PKEY_cipher_init, - PublicKeyCipher::EVP_PKEY_cipher_t EVP_PKEY_cipher> +template <PublicKeyCipher::Cipher_t cipher> bool PublicKeyCipher::Cipher( Environment* env, const EVPKeyPointer& pkey, @@ -998,62 +940,32 @@ bool PublicKeyCipher::Cipher( const ArrayBufferOrViewContents<unsigned char>& oaep_label, const ArrayBufferOrViewContents<unsigned char>& data, std::unique_ptr<BackingStore>* out) { - EVPKeyCtxPointer ctx = pkey.newCtx(); - if (!ctx) - return false; - if (EVP_PKEY_cipher_init(ctx.get()) <= 0) - return false; - if (EVP_PKEY_CTX_set_rsa_padding(ctx.get(), padding) <= 0) - return false; - - if (digest != nullptr) { - if (EVP_PKEY_CTX_set_rsa_oaep_md(ctx.get(), digest) <= 0) - return false; - } - - if (!SetRsaOaepLabel(ctx, oaep_label.ToByteSource())) return false; - - size_t out_len = 0; - if (EVP_PKEY_cipher( - ctx.get(), - nullptr, - &out_len, - data.data(), - data.size()) <= 0) { - return false; - } + auto label = oaep_label.ToByteSource(); + auto in = data.ToByteSource(); - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - *out = ArrayBuffer::NewBackingStore(env->isolate(), out_len); - } + const ncrypto::Cipher::CipherParams params{ + .padding = padding, + .digest = digest, + .label = label, + }; - if (EVP_PKEY_cipher( - ctx.get(), - static_cast<unsigned char*>((*out)->Data()), - &out_len, - data.data(), - data.size()) <= 0) { - return false; - } + auto buf = cipher(pkey, params, in); + if (!buf) return false; - CHECK_LE(out_len, (*out)->ByteLength()); - if (out_len == 0) { + if (buf.size() == 0) { *out = ArrayBuffer::NewBackingStore(env->isolate(), 0); - } else if (out_len != (*out)->ByteLength()) { - std::unique_ptr<BackingStore> old_out = std::move(*out); - *out = ArrayBuffer::NewBackingStore(env->isolate(), out_len); + } else { + *out = ArrayBuffer::NewBackingStore(env->isolate(), buf.size()); memcpy(static_cast<char*>((*out)->Data()), - static_cast<char*>(old_out->Data()), - out_len); + static_cast<char*>(buf.get()), + buf.size()); } return true; } template <PublicKeyCipher::Operation operation, - PublicKeyCipher::EVP_PKEY_cipher_init_t EVP_PKEY_cipher_init, - PublicKeyCipher::EVP_PKEY_cipher_t EVP_PKEY_cipher> + PublicKeyCipher::Cipher_t cipher> void PublicKeyCipher::Cipher(const FunctionCallbackInfo<Value>& args) { MarkPopErrorOnReturn mark_pop_error_on_return; Environment* env = Environment::GetCurrent(args); @@ -1072,25 +984,16 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo<Value>& args) { uint32_t padding; if (!args[offset + 1]->Uint32Value(env->context()).To(&padding)) return; - if (EVP_PKEY_cipher == EVP_PKEY_decrypt && + if (cipher == ncrypto::Cipher::decrypt && operation == PublicKeyCipher::kPrivate && padding == RSA_PKCS1_PADDING) { EVPKeyCtxPointer ctx = pkey.newCtx(); CHECK(ctx); - if (EVP_PKEY_decrypt_init(ctx.get()) <= 0) { + if (!ctx.initForDecrypt()) { return ThrowCryptoError(env, ERR_get_error()); } - int rsa_pkcs1_implicit_rejection = - EVP_PKEY_CTX_ctrl_str(ctx.get(), "rsa_pkcs1_implicit_rejection", "1"); - // From the doc -2 means that the option is not supported. - // The default for the option is enabled and if it has been - // specifically disabled we want to respect that so we will - // not throw an error if the option is supported regardless - // of how it is set. The call to set the value - // will not affect what is used since a different context is - // used in the call if the option is supported - if (rsa_pkcs1_implicit_rejection <= 0) { + if (!ctx.setRsaImplicitRejection()) { return THROW_ERR_INVALID_ARG_VALUE( env, "RSA_PKCS1_PADDING is no longer supported for private decryption"); @@ -1100,7 +1003,7 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo<Value>& args) { const EVP_MD* digest = nullptr; if (args[offset + 2]->IsString()) { const Utf8Value oaep_str(env->isolate(), args[offset + 2]); - digest = EVP_get_digestbyname(*oaep_str); + digest = ncrypto::getDigestByName(oaep_str.ToStringView()); if (digest == nullptr) return THROW_ERR_OSSL_EVP_INVALID_DIGEST(env); } @@ -1111,8 +1014,7 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo<Value>& args) { return THROW_ERR_OUT_OF_RANGE(env, "oaepLabel is too big"); } std::unique_ptr<BackingStore> out; - if (!Cipher<operation, EVP_PKEY_cipher_init, EVP_PKEY_cipher>( - env, pkey, padding, digest, oaep_label, buf, &out)) { + if (!Cipher<cipher>(env, pkey, padding, digest, oaep_label, buf, &out)) { return ThrowCryptoError(env, ERR_get_error()); } diff --git a/src/crypto/crypto_cipher.h b/src/crypto/crypto_cipher.h index de436e2e9d2df8..950acfa2521ede 100644 --- a/src/crypto/crypto_cipher.h +++ b/src/crypto/crypto_cipher.h @@ -44,7 +44,7 @@ class CipherBase : public BaseObject { static const unsigned kNoAuthTagLength = static_cast<unsigned>(-1); void CommonInit(const char* cipher_type, - const EVP_CIPHER* cipher, + const ncrypto::Cipher& cipher, const unsigned char* key, int key_len, const unsigned char* iv, @@ -85,7 +85,7 @@ class CipherBase : public BaseObject { CipherBase(Environment* env, v8::Local<v8::Object> wrap, CipherKind kind); private: - DeleteFnPtr<EVP_CIPHER_CTX, EVP_CIPHER_CTX_free> ctx_; + ncrypto::CipherCtxPointer ctx_; const CipherKind kind_; AuthTagState auth_tag_state_; unsigned int auth_tag_len_; @@ -96,30 +96,26 @@ class CipherBase : public BaseObject { class PublicKeyCipher { public: - typedef int (*EVP_PKEY_cipher_init_t)(EVP_PKEY_CTX* ctx); - typedef int (*EVP_PKEY_cipher_t)(EVP_PKEY_CTX* ctx, - unsigned char* out, size_t* outlen, - const unsigned char* in, size_t inlen); + using Cipher_t = + ncrypto::DataPointer(const ncrypto::EVPKeyPointer&, + const ncrypto::Cipher::CipherParams& params, + const ncrypto::Buffer<const void>); enum Operation { kPublic, kPrivate }; - template <Operation operation, - EVP_PKEY_cipher_init_t EVP_PKEY_cipher_init, - EVP_PKEY_cipher_t EVP_PKEY_cipher> + template <Cipher_t cipher> static bool Cipher(Environment* env, - const EVPKeyPointer& pkey, + const ncrypto::EVPKeyPointer& pkey, int padding, const EVP_MD* digest, const ArrayBufferOrViewContents<unsigned char>& oaep_label, const ArrayBufferOrViewContents<unsigned char>& data, std::unique_ptr<v8::BackingStore>* out); - template <Operation operation, - EVP_PKEY_cipher_init_t EVP_PKEY_cipher_init, - EVP_PKEY_cipher_t EVP_PKEY_cipher> + template <Operation operation, Cipher_t cipher> static void Cipher(const v8::FunctionCallbackInfo<v8::Value>& args); }; diff --git a/src/crypto/crypto_common.cc b/src/crypto/crypto_common.cc index 43a126f863779d..591509e735b943 100644 --- a/src/crypto/crypto_common.cc +++ b/src/crypto/crypto_common.cc @@ -27,9 +27,16 @@ namespace node { -using v8::Array; +using ncrypto::ClearErrorOnReturn; +using ncrypto::ECKeyPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::SSLPointer; +using ncrypto::SSLSessionPointer; +using ncrypto::StackOfX509; +using ncrypto::X509Pointer; +using ncrypto::X509View; using v8::ArrayBuffer; -using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Context; using v8::EscapableHandleScope; using v8::Integer; @@ -41,54 +48,6 @@ using v8::Undefined; using v8::Value; namespace crypto { -void LogSecret( - const SSLPointer& ssl, - const char* name, - const unsigned char* secret, - size_t secretlen) { - auto keylog_cb = SSL_CTX_get_keylog_callback(SSL_get_SSL_CTX(ssl.get())); - // All supported versions of TLS/SSL fix the client random to the same size. - constexpr size_t kTlsClientRandomSize = SSL3_RANDOM_SIZE; - unsigned char crandom[kTlsClientRandomSize]; - - if (keylog_cb == nullptr || - SSL_get_client_random(ssl.get(), crandom, kTlsClientRandomSize) != - kTlsClientRandomSize) { - return; - } - - std::string line = name; - line += " " + nbytes::HexEncode(reinterpret_cast<const char*>(crandom), - kTlsClientRandomSize); - line += - " " + nbytes::HexEncode(reinterpret_cast<const char*>(secret), secretlen); - keylog_cb(ssl.get(), line.c_str()); -} - -MaybeLocal<Value> GetSSLOCSPResponse( - Environment* env, - SSL* ssl, - Local<Value> default_value) { - const unsigned char* resp; - int len = SSL_get_tlsext_status_ocsp_resp(ssl, &resp); - if (resp == nullptr) - return default_value; - - Local<Value> ret; - MaybeLocal<Object> maybe_buffer = - Buffer::Copy(env, reinterpret_cast<const char*>(resp), len); - - if (!maybe_buffer.ToLocal(&ret)) - return MaybeLocal<Value>(); - - return ret; -} - -bool SetTLSSession( - const SSLPointer& ssl, - const SSLSessionPointer& session) { - return session != nullptr && SSL_set_session(ssl.get(), session.get()) == 1; -} SSLSessionPointer GetTLSSession(const unsigned char* buf, size_t length) { return SSLSessionPointer(d2i_SSL_SESSION(nullptr, &buf, length)); @@ -97,153 +56,36 @@ SSLSessionPointer GetTLSSession(const unsigned char* buf, size_t length) { long VerifyPeerCertificate( // NOLINT(runtime/int) const SSLPointer& ssl, long def) { // NOLINT(runtime/int) - long err = def; // NOLINT(runtime/int) - if (X509Pointer::PeerFrom(ssl)) { - err = SSL_get_verify_result(ssl.get()); - } else { - const SSL_CIPHER* curr_cipher = SSL_get_current_cipher(ssl.get()); - const SSL_SESSION* sess = SSL_get_session(ssl.get()); - // Allow no-cert for PSK authentication in TLS1.2 and lower. - // In TLS1.3 check that session was reused because TLS1.3 PSK - // looks like session resumption. - if (SSL_CIPHER_get_auth_nid(curr_cipher) == NID_auth_psk || - (SSL_SESSION_get_protocol_version(sess) == TLS1_3_VERSION && - SSL_session_reused(ssl.get()))) { - return X509_V_OK; - } - } - return err; + return ssl.verifyPeerCertificate().value_or(def); } bool UseSNIContext( const SSLPointer& ssl, BaseObjectPtr<SecureContext> context) { - auto x509 = ncrypto::X509View::From(context->ctx()); - if (!x509) return false; - SSL_CTX* ctx = context->ctx().get(); - EVP_PKEY* pkey = SSL_CTX_get0_privatekey(ctx); - STACK_OF(X509)* chain; - - int err = SSL_CTX_get0_chain_certs(ctx, &chain); - if (err == 1) err = SSL_use_certificate(ssl.get(), x509.get()); - if (err == 1) err = SSL_use_PrivateKey(ssl.get(), pkey); - if (err == 1 && chain != nullptr) err = SSL_set1_chain(ssl.get(), chain); - return err == 1; -} - -const char* GetClientHelloALPN(const SSLPointer& ssl) { - const unsigned char* buf; - size_t len; - size_t rem; - - if (!SSL_client_hello_get0_ext( - ssl.get(), - TLSEXT_TYPE_application_layer_protocol_negotiation, - &buf, - &rem) || - rem < 2) { - return nullptr; - } - - len = (buf[0] << 8) | buf[1]; - if (len + 2 != rem) return nullptr; - return reinterpret_cast<const char*>(buf + 3); -} - -const char* GetClientHelloServerName(const SSLPointer& ssl) { - const unsigned char* buf; - size_t len; - size_t rem; - - if (!SSL_client_hello_get0_ext( - ssl.get(), - TLSEXT_TYPE_server_name, - &buf, - &rem) || rem <= 2) { - return nullptr; - } - - len = (*buf << 8) | *(buf + 1); - if (len + 2 != rem) - return nullptr; - rem = len; - - if (rem == 0 || *(buf + 2) != TLSEXT_NAMETYPE_host_name) return nullptr; - rem--; - if (rem <= 2) - return nullptr; - len = (*(buf + 3) << 8) | *(buf + 4); - if (len + 2 > rem) - return nullptr; - return reinterpret_cast<const char*>(buf + 5); -} - -const char* GetServerName(SSL* ssl) { - return SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name); + return ssl.setSniContext(context->ctx()); } bool SetGroups(SecureContext* sc, const char* groups) { - return SSL_CTX_set1_groups_list(sc->ctx().get(), groups) == 1; -} - -// When adding or removing errors below, please also update the list in the API -// documentation. See the "OpenSSL Error Codes" section of doc/api/errors.md -const char* X509ErrorCode(long err) { // NOLINT(runtime/int) - const char* code = "UNSPECIFIED"; -#define CASE_X509_ERR(CODE) case X509_V_ERR_##CODE: code = #CODE; break; - switch (err) { - // if you modify anything in here, *please* update the respective section in - // doc/api/tls.md as well - CASE_X509_ERR(UNABLE_TO_GET_ISSUER_CERT) - CASE_X509_ERR(UNABLE_TO_GET_CRL) - CASE_X509_ERR(UNABLE_TO_DECRYPT_CERT_SIGNATURE) - CASE_X509_ERR(UNABLE_TO_DECRYPT_CRL_SIGNATURE) - CASE_X509_ERR(UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY) - CASE_X509_ERR(CERT_SIGNATURE_FAILURE) - CASE_X509_ERR(CRL_SIGNATURE_FAILURE) - CASE_X509_ERR(CERT_NOT_YET_VALID) - CASE_X509_ERR(CERT_HAS_EXPIRED) - CASE_X509_ERR(CRL_NOT_YET_VALID) - CASE_X509_ERR(CRL_HAS_EXPIRED) - CASE_X509_ERR(ERROR_IN_CERT_NOT_BEFORE_FIELD) - CASE_X509_ERR(ERROR_IN_CERT_NOT_AFTER_FIELD) - CASE_X509_ERR(ERROR_IN_CRL_LAST_UPDATE_FIELD) - CASE_X509_ERR(ERROR_IN_CRL_NEXT_UPDATE_FIELD) - CASE_X509_ERR(OUT_OF_MEM) - CASE_X509_ERR(DEPTH_ZERO_SELF_SIGNED_CERT) - CASE_X509_ERR(SELF_SIGNED_CERT_IN_CHAIN) - CASE_X509_ERR(UNABLE_TO_GET_ISSUER_CERT_LOCALLY) - CASE_X509_ERR(UNABLE_TO_VERIFY_LEAF_SIGNATURE) - CASE_X509_ERR(CERT_CHAIN_TOO_LONG) - CASE_X509_ERR(CERT_REVOKED) - CASE_X509_ERR(INVALID_CA) - CASE_X509_ERR(PATH_LENGTH_EXCEEDED) - CASE_X509_ERR(INVALID_PURPOSE) - CASE_X509_ERR(CERT_UNTRUSTED) - CASE_X509_ERR(CERT_REJECTED) - CASE_X509_ERR(HOSTNAME_MISMATCH) - } -#undef CASE_X509_ERR - return code; + return sc->ctx().setGroups(groups); } MaybeLocal<Value> GetValidationErrorReason(Environment* env, int err) { - if (err == 0) - return Undefined(env->isolate()); - const char* reason = X509_verify_cert_error_string(err); - return OneByteString(env->isolate(), reason); + auto reason = X509Pointer::ErrorReason(err).value_or(""); + if (reason == "") return Undefined(env->isolate()); + return OneByteString(env->isolate(), reason.data(), reason.length()); } MaybeLocal<Value> GetValidationErrorCode(Environment* env, int err) { if (err == 0) return Undefined(env->isolate()); - return OneByteString(env->isolate(), X509ErrorCode(err)); + auto error = X509Pointer::ErrorCode(err); + return OneByteString(env->isolate(), error.data(), error.length()); } MaybeLocal<Value> GetCert(Environment* env, const SSLPointer& ssl) { - ClearErrorOnReturn clear_error_on_return; - ncrypto::X509View cert(SSL_get_certificate(ssl.get())); - if (!cert) return Undefined(env->isolate()); - return X509Certificate::toObject(env, cert); + if (auto cert = ssl.getCertificate()) { + return X509Certificate::toObject(env, cert); + } + return Undefined(env->isolate()); } namespace { @@ -300,7 +142,7 @@ MaybeLocal<Object> AddIssuerChainToObject(X509Pointer* cert, for (;;) { int i; for (i = 0; i < sk_X509_num(peer_certs.get()); i++) { - ncrypto::X509View ca(sk_X509_value(peer_certs.get(), i)); + X509View ca(sk_X509_value(peer_certs.get(), i)); if (!cert->view().isIssuedBy(ca)) continue; Local<Value> ca_info; @@ -366,57 +208,22 @@ MaybeLocal<Object> GetLastIssuedCert( MaybeLocal<Value> GetCurrentCipherName(Environment* env, const SSLPointer& ssl) { - return GetCipherName(env, SSL_get_current_cipher(ssl.get())); + return GetCipherName(env, ssl.getCipher()); } MaybeLocal<Value> GetCurrentCipherVersion(Environment* env, const SSLPointer& ssl) { - return GetCipherVersion(env, SSL_get_current_cipher(ssl.get())); + return GetCipherVersion(env, ssl.getCipher()); } template <MaybeLocal<Value> (*Get)(Environment* env, const SSL_CIPHER* cipher)> MaybeLocal<Value> GetCurrentCipherValue(Environment* env, const SSLPointer& ssl) { - return Get(env, SSL_get_current_cipher(ssl.get())); -} - -MaybeLocal<Array> GetClientHelloCiphers( - Environment* env, - const SSLPointer& ssl) { - EscapableHandleScope scope(env->isolate()); - const unsigned char* buf; - size_t len = SSL_client_hello_get0_ciphers(ssl.get(), &buf); - size_t count = len / 2; - MaybeStackBuffer<Local<Value>, 16> ciphers(count); - int j = 0; - for (size_t n = 0; n < len; n += 2) { - const SSL_CIPHER* cipher = SSL_CIPHER_find(ssl.get(), buf); - buf += 2; - Local<Object> obj = Object::New(env->isolate()); - if (!Set(env->context(), - obj, - env->name_string(), - GetCipherName(env, cipher)) || - !Set(env->context(), - obj, - env->standard_name_string(), - GetCipherStandardName(env, cipher)) || - !Set(env->context(), - obj, - env->version_string(), - GetCipherVersion(env, cipher))) { - return MaybeLocal<Array>(); - } - ciphers[j++] = obj; - } - Local<Array> ret = Array::New(env->isolate(), ciphers.out(), count); - return scope.Escape(ret); + return Get(env, ssl.getCipher()); } - MaybeLocal<Object> GetCipherInfo(Environment* env, const SSLPointer& ssl) { - if (SSL_get_current_cipher(ssl.get()) == nullptr) - return MaybeLocal<Object>(); + if (ssl.getCipher() == nullptr) return MaybeLocal<Object>(); EscapableHandleScope scope(env->isolate()); Local<Object> info = Object::New(env->isolate()); @@ -439,15 +246,14 @@ MaybeLocal<Object> GetCipherInfo(Environment* env, const SSLPointer& ssl) { } MaybeLocal<Object> GetEphemeralKey(Environment* env, const SSLPointer& ssl) { - CHECK_EQ(SSL_is_server(ssl.get()), 0); - EVP_PKEY* raw_key; + CHECK(!ssl.isServer()); EscapableHandleScope scope(env->isolate()); Local<Object> info = Object::New(env->isolate()); - if (!SSL_get_peer_tmp_key(ssl.get(), &raw_key)) return scope.Escape(info); + EVPKeyPointer key = ssl.getPeerTempKey(); + if (!key) return scope.Escape(info); Local<Context> context = env->context(); - crypto::EVPKeyPointer key(raw_key); int kid = key.id(); switch (kid) { @@ -466,8 +272,7 @@ MaybeLocal<Object> GetEphemeralKey(Environment* env, const SSLPointer& ssl) { { const char* curve_name; if (kid == EVP_PKEY_EC) { - OSSL3_CONST EC_KEY* ec = EVP_PKEY_get0_EC_KEY(key.get()); - int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec)); + int nid = ECKeyPointer::GetGroupName(key); curve_name = OBJ_nid2sn(nid); } else { curve_name = OBJ_nid2sn(kid); @@ -502,11 +307,8 @@ MaybeLocal<Object> ECPointToBuffer(Environment* env, return MaybeLocal<Object>(); } - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), len); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), len, BackingStoreInitializationMode::kUninitialized); len = EC_POINT_point2oct(group, point, @@ -542,8 +344,8 @@ MaybeLocal<Value> GetPeerCert( if (cert) { return X509Certificate::toObject(env, cert.view()); } - return X509Certificate::toObject( - env, ncrypto::X509View(sk_X509_value(ssl_certs, 0))); + return X509Certificate::toObject(env, + X509View(sk_X509_value(ssl_certs, 0))); } StackOfX509 peer_certs = CloneSSLCerts(std::move(cert), ssl_certs); @@ -552,7 +354,7 @@ MaybeLocal<Value> GetPeerCert( // First and main certificate. Local<Value> result; - ncrypto::X509View first_cert(sk_X509_value(peer_certs.get(), 0)); + X509View first_cert(sk_X509_value(peer_certs.get(), 0)); CHECK(first_cert); if (!X509Certificate::toObject(env, first_cert).ToLocal(&result)) return {}; CHECK(result->IsObject()); diff --git a/src/crypto/crypto_common.h b/src/crypto/crypto_common.h index 284aadd6cc2cc3..dba1cc14b1c486 100644 --- a/src/crypto/crypto_common.h +++ b/src/crypto/crypto_common.h @@ -11,78 +11,38 @@ #include <string> -// Some OpenSSL 1.1.1 functions unnecessarily operate on and return non-const -// pointers, whereas the same functions in OpenSSL 3 use const pointers. -#if OPENSSL_VERSION_MAJOR >= 3 -#define OSSL3_CONST const -#else -#define OSSL3_CONST -#endif - namespace node { namespace crypto { -struct StackOfX509Deleter { - void operator()(STACK_OF(X509)* p) const { sk_X509_pop_free(p, X509_free); } -}; -using StackOfX509 = std::unique_ptr<STACK_OF(X509), StackOfX509Deleter>; - -void LogSecret( - const SSLPointer& ssl, - const char* name, - const unsigned char* secret, - size_t secretlen); - -v8::MaybeLocal<v8::Value> GetSSLOCSPResponse( - Environment* env, - SSL* ssl, - v8::Local<v8::Value> default_value); - -bool SetTLSSession( - const SSLPointer& ssl, - const SSLSessionPointer& session); - -SSLSessionPointer GetTLSSession(const unsigned char* buf, size_t length); +ncrypto::SSLSessionPointer GetTLSSession(const unsigned char* buf, + size_t length); long VerifyPeerCertificate( // NOLINT(runtime/int) - const SSLPointer& ssl, + const ncrypto::SSLPointer& ssl, long def = X509_V_ERR_UNSPECIFIED); // NOLINT(runtime/int) -bool UseSNIContext(const SSLPointer& ssl, BaseObjectPtr<SecureContext> context); - -const char* GetClientHelloALPN(const SSLPointer& ssl); - -const char* GetClientHelloServerName(const SSLPointer& ssl); - -const char* GetServerName(SSL* ssl); - -v8::MaybeLocal<v8::Array> GetClientHelloCiphers( - Environment* env, - const SSLPointer& ssl); +bool UseSNIContext(const ncrypto::SSLPointer& ssl, + BaseObjectPtr<SecureContext> context); bool SetGroups(SecureContext* sc, const char* groups); -const char* X509ErrorCode(long err); // NOLINT(runtime/int) - v8::MaybeLocal<v8::Value> GetValidationErrorReason(Environment* env, int err); v8::MaybeLocal<v8::Value> GetValidationErrorCode(Environment* env, int err); -v8::MaybeLocal<v8::Value> GetCert(Environment* env, const SSLPointer& ssl); +v8::MaybeLocal<v8::Value> GetCert(Environment* env, + const ncrypto::SSLPointer& ssl); -v8::MaybeLocal<v8::Object> GetCipherInfo( - Environment* env, - const SSLPointer& ssl); +v8::MaybeLocal<v8::Object> GetCipherInfo(Environment* env, + const ncrypto::SSLPointer& ssl); -v8::MaybeLocal<v8::Object> GetEphemeralKey( - Environment* env, - const SSLPointer& ssl); +v8::MaybeLocal<v8::Object> GetEphemeralKey(Environment* env, + const ncrypto::SSLPointer& ssl); -v8::MaybeLocal<v8::Value> GetPeerCert( - Environment* env, - const SSLPointer& ssl, - bool abbreviated = false, - bool is_server = false); +v8::MaybeLocal<v8::Value> GetPeerCert(Environment* env, + const ncrypto::SSLPointer& ssl, + bool abbreviated = false, + bool is_server = false); v8::MaybeLocal<v8::Object> ECPointToBuffer( Environment* env, @@ -92,9 +52,9 @@ v8::MaybeLocal<v8::Object> ECPointToBuffer( const char** error); v8::MaybeLocal<v8::Value> GetCurrentCipherName(Environment* env, - const SSLPointer& ssl); -v8::MaybeLocal<v8::Value> GetCurrentCipherVersion(Environment* env, - const SSLPointer& ssl); + const ncrypto::SSLPointer& ssl); +v8::MaybeLocal<v8::Value> GetCurrentCipherVersion( + Environment* env, const ncrypto::SSLPointer& ssl); } // namespace crypto } // namespace node diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc index aa5fc61f19e435..af7ac2e5e8eba9 100644 --- a/src/crypto/crypto_context.cc +++ b/src/crypto/crypto_context.cc @@ -21,6 +21,17 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::BIOPointer; +using ncrypto::ClearErrorOnReturn; +using ncrypto::CryptoErrorList; +using ncrypto::DHPointer; +using ncrypto::EnginePointer; +using ncrypto::EVPKeyPointer; +using ncrypto::MarkPopErrorOnReturn; +using ncrypto::SSLPointer; +using ncrypto::StackOfX509; +using ncrypto::X509Pointer; using v8::Array; using v8::ArrayBufferView; using v8::Boolean; @@ -261,6 +272,7 @@ X509_STORE* NewRootCertStore() { } X509_STORE* store = X509_STORE_new(); + CHECK_NOT_NULL(store); if (*system_cert_path != '\0') { ERR_set_mark(); X509_STORE_load_locations(store, system_cert_path, nullptr); @@ -550,7 +562,7 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) { } } - sc->ctx_.reset(SSL_CTX_new(method)); + sc->ctx_.reset(method); if (!sc->ctx_) { return ThrowCryptoError(env, ERR_get_error(), "SSL_CTX_new"); } @@ -692,10 +704,10 @@ void SecureContext::SetEngineKey(const FunctionCallbackInfo<Value>& args) { "experimental permission model is enabled"); } - ncrypto::CryptoErrorList errors; + CryptoErrorList errors; Utf8Value engine_id(env->isolate(), args[1]); - auto engine = ncrypto::EnginePointer::getEngineByName( - engine_id.ToStringView(), &errors); + auto engine = + EnginePointer::getEngineByName(engine_id.ToStringView(), &errors); if (!engine) { Local<Value> exception; if (errors.empty()) { @@ -786,9 +798,8 @@ void SecureContext::SetCACert(const BIOPointer& bio) { while (X509Pointer x509 = X509Pointer(PEM_read_bio_X509_AUX( bio.get(), nullptr, NoPasswordCallback, nullptr))) { CHECK_EQ(1, - X509_STORE_add_cert(GetCertStoreOwnedByThisSecureContext(), - x509.get())); - CHECK_EQ(1, SSL_CTX_add_client_CA(ctx_.get(), x509.get())); + X509_STORE_add_cert(GetCertStoreOwnedByThisSecureContext(), x509)); + CHECK_EQ(1, SSL_CTX_add_client_CA(ctx_.get(), x509)); } } @@ -1154,7 +1165,7 @@ void SecureContext::LoadPKCS12(const FunctionCallbackInfo<Value>& args) { X509* ca = sk_X509_value(extra_certs.get(), i); X509_STORE_add_cert(sc->GetCertStoreOwnedByThisSecureContext(), ca); - SSL_CTX_add_client_CA(sc->ctx_.get(), ca); + CHECK_EQ(1, SSL_CTX_add_client_CA(sc->ctx_.get(), ca)); } ret = true; @@ -1205,10 +1216,10 @@ void SecureContext::SetClientCertEngine( "experimental permission model is enabled"); } - ncrypto::CryptoErrorList errors; + CryptoErrorList errors; const Utf8Value engine_id(env->isolate(), args[0]); - auto engine = ncrypto::EnginePointer::getEngineByName( - engine_id.ToStringView(), &errors); + auto engine = + EnginePointer::getEngineByName(engine_id.ToStringView(), &errors); if (!engine) { Local<Value> exception; if (errors.empty()) { @@ -1441,7 +1452,7 @@ void SecureContext::GetCertificate(const FunctionCallbackInfo<Value>& args) { } // UseExtraCaCerts is called only once at the start of the Node.js process. -void UseExtraCaCerts(const std::string& file) { +void UseExtraCaCerts(std::string_view file) { extra_root_certs_file = file; } diff --git a/src/crypto/crypto_context.h b/src/crypto/crypto_context.h index 7ba6a5441300fc..b6801fc0b40708 100644 --- a/src/crypto/crypto_context.h +++ b/src/crypto/crypto_context.h @@ -23,7 +23,7 @@ X509_STORE* NewRootCertStore(); X509_STORE* GetOrCreateRootCertStore(); -BIOPointer LoadBIO(Environment* env, v8::Local<v8::Value> v); +ncrypto::BIOPointer LoadBIO(Environment* env, v8::Local<v8::Value> v); class SecureContext final : public BaseObject { public: @@ -41,27 +41,27 @@ class SecureContext final : public BaseObject { static void RegisterExternalReferences(ExternalReferenceRegistry* registry); static SecureContext* Create(Environment* env); - const SSLCtxPointer& ctx() const { return ctx_; } + const ncrypto::SSLCtxPointer& ctx() const { return ctx_; } // Non-const ctx() that allows for non-default initialization of // the SecureContext. - SSLCtxPointer& ctx() { return ctx_; } + ncrypto::SSLCtxPointer& ctx() { return ctx_; } - SSLPointer CreateSSL(); + ncrypto::SSLPointer CreateSSL(); void SetGetSessionCallback(GetSessionCb cb); void SetKeylogCallback(KeylogCb cb); void SetNewSessionCallback(NewSessionCb cb); void SetSelectSNIContextCallback(SelectSNIContextCb cb); - inline const X509Pointer& issuer() const { return issuer_; } - inline const X509Pointer& cert() const { return cert_; } + inline const ncrypto::X509Pointer& issuer() const { return issuer_; } + inline const ncrypto::X509Pointer& cert() const { return cert_; } - v8::Maybe<void> AddCert(Environment* env, BIOPointer&& bio); - v8::Maybe<void> SetCRL(Environment* env, const BIOPointer& bio); + v8::Maybe<void> AddCert(Environment* env, ncrypto::BIOPointer&& bio); + v8::Maybe<void> SetCRL(Environment* env, const ncrypto::BIOPointer& bio); v8::Maybe<void> UseKey(Environment* env, const KeyObjectData& key); - void SetCACert(const BIOPointer& bio); + void SetCACert(const ncrypto::BIOPointer& bio); void SetRootCerts(); void SetX509StoreFlag(unsigned long flags); // NOLINT(runtime/int) @@ -144,9 +144,9 @@ class SecureContext final : public BaseObject { void Reset(); private: - SSLCtxPointer ctx_; - X509Pointer cert_; - X509Pointer issuer_; + ncrypto::SSLCtxPointer ctx_; + ncrypto::X509Pointer cert_; + ncrypto::X509Pointer issuer_; // Non-owning cache for SSL_CTX_get_cert_store(ctx_.get()) X509_STORE* own_cert_store_cache_ = nullptr; #ifndef OPENSSL_NO_ENGINE @@ -160,9 +160,9 @@ class SecureContext final : public BaseObject { }; int SSL_CTX_use_certificate_chain(SSL_CTX* ctx, - BIOPointer&& in, - X509Pointer* cert, - X509Pointer* issuer); + ncrypto::BIOPointer&& in, + ncrypto::X509Pointer* cert, + ncrypto::X509Pointer* issuer); } // namespace crypto } // namespace node diff --git a/src/crypto/crypto_dh.cc b/src/crypto/crypto_dh.cc index d760a0d3ea1d12..0e25a937e175fa 100644 --- a/src/crypto/crypto_dh.cc +++ b/src/crypto/crypto_dh.cc @@ -14,6 +14,11 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::DataPointer; +using ncrypto::DHPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; using v8::ArrayBuffer; using v8::ConstructorBehavior; using v8::Context; @@ -47,14 +52,11 @@ void DiffieHellman::MemoryInfo(MemoryTracker* tracker) const { } namespace { -MaybeLocal<Value> DataPointerToBuffer(Environment* env, - ncrypto::DataPointer&& data) { +MaybeLocal<Value> DataPointerToBuffer(Environment* env, DataPointer&& data) { auto backing = ArrayBuffer::NewBackingStore( data.get(), data.size(), - [](void* data, size_t len, void* ptr) { - ncrypto::DataPointer free_ne(data, len); - }, + [](void* data, size_t len, void* ptr) { DataPointer free_me(data, len); }, nullptr); data.release(); @@ -395,31 +397,23 @@ EVPKeyCtxPointer DhKeyGenTraits::Setup(DhKeyPairGenConfig* params) { auto dh = DHPointer::New(std::move(prime), std::move(bn_g)); if (!dh) return {}; - key_params = EVPKeyPointer::New(); - CHECK(key_params); - CHECK_EQ(EVP_PKEY_assign_DH(key_params.get(), dh.release()), 1); + key_params = EVPKeyPointer::NewDH(std::move(dh)); } else if (int* prime_size = std::get_if<int>(¶ms->params.prime)) { - EVPKeyCtxPointer param_ctx(EVP_PKEY_CTX_new_id(EVP_PKEY_DH, nullptr)); - EVP_PKEY* raw_params = nullptr; - if (!param_ctx || - EVP_PKEY_paramgen_init(param_ctx.get()) <= 0 || - EVP_PKEY_CTX_set_dh_paramgen_prime_len( - param_ctx.get(), - *prime_size) <= 0 || - EVP_PKEY_CTX_set_dh_paramgen_generator( - param_ctx.get(), - params->params.generator) <= 0 || - EVP_PKEY_paramgen(param_ctx.get(), &raw_params) <= 0) { + auto param_ctx = EVPKeyCtxPointer::NewFromID(EVP_PKEY_DH); + if (!param_ctx.initForParamgen() || + !param_ctx.setDhParameters(*prime_size, params->params.generator)) { return {}; } - key_params = EVPKeyPointer(raw_params); + key_params = param_ctx.paramgen(); } else { UNREACHABLE(); } + if (!key_params) return {}; + EVPKeyCtxPointer ctx = key_params.newCtx(); - if (!ctx || EVP_PKEY_keygen_init(ctx.get()) <= 0) return {}; + if (!ctx.initForKeygen()) return {}; return ctx; } diff --git a/src/crypto/crypto_dh.h b/src/crypto/crypto_dh.h index a84993ddd55f02..2af668035bbb0a 100644 --- a/src/crypto/crypto_dh.h +++ b/src/crypto/crypto_dh.h @@ -19,22 +19,24 @@ class DiffieHellman final : public BaseObject { static void Initialize(Environment* env, v8::Local<v8::Object> target); static void RegisterExternalReferences(ExternalReferenceRegistry* registry); - DiffieHellman(Environment* env, v8::Local<v8::Object> wrap, DHPointer dh); - operator DHPointer&() { return dh_; } + DiffieHellman(Environment* env, + v8::Local<v8::Object> wrap, + ncrypto::DHPointer dh); + operator ncrypto::DHPointer&() { return dh_; } void MemoryInfo(MemoryTracker* tracker) const override; SET_MEMORY_INFO_NAME(DiffieHellman) SET_SELF_SIZE(DiffieHellman) private: - DHPointer dh_; + ncrypto::DHPointer dh_; }; struct DhKeyPairParams final : public MemoryRetainer { // Diffie-Hellman can either generate keys using a fixed prime, or by first // generating a random prime of a given size (in bits). Only one of both // options may be specified. - std::variant<BignumPointer, int> prime; + std::variant<ncrypto::BignumPointer, int> prime; unsigned int generator; SET_NO_MEMORY_INFO() SET_MEMORY_INFO_NAME(DhKeyPairParams) @@ -47,7 +49,7 @@ struct DhKeyGenTraits final { using AdditionalParameters = DhKeyPairGenConfig; static constexpr const char* JobName = "DhKeyPairGenJob"; - static EVPKeyCtxPointer Setup(DhKeyPairGenConfig* params); + static ncrypto::EVPKeyCtxPointer Setup(DhKeyPairGenConfig* params); static v8::Maybe<void> AdditionalConfig( CryptoJobMode mode, diff --git a/src/crypto/crypto_dsa.cc b/src/crypto/crypto_dsa.cc index b557de774117e4..cac05aa55f8dd2 100644 --- a/src/crypto/crypto_dsa.cc +++ b/src/crypto/crypto_dsa.cc @@ -12,19 +12,10 @@ #include <cstdio> -// EVP_PKEY_CTX_set_dsa_paramgen_q_bits was added in OpenSSL 1.1.1e. -#if OPENSSL_VERSION_NUMBER < 0x1010105fL -#define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ - EVP_PKEY_CTX_ctrl((ctx), \ - EVP_PKEY_DSA, \ - EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, \ - (qbits), \ - nullptr) -#endif - namespace node { +using ncrypto::BignumPointer; +using ncrypto::EVPKeyCtxPointer; using v8::FunctionCallbackInfo; using v8::Int32; using v8::JustVoid; @@ -38,33 +29,22 @@ using v8::Value; namespace crypto { EVPKeyCtxPointer DsaKeyGenTraits::Setup(DsaKeyPairGenConfig* params) { - EVPKeyCtxPointer param_ctx(EVP_PKEY_CTX_new_id(EVP_PKEY_DSA, nullptr)); - EVP_PKEY* raw_params = nullptr; - - if (!param_ctx || - EVP_PKEY_paramgen_init(param_ctx.get()) <= 0 || - EVP_PKEY_CTX_set_dsa_paramgen_bits( - param_ctx.get(), - params->params.modulus_bits) <= 0) { - return EVPKeyCtxPointer(); - } - - if (params->params.divisor_bits != -1) { - if (EVP_PKEY_CTX_set_dsa_paramgen_q_bits( - param_ctx.get(), params->params.divisor_bits) <= 0) { - return EVPKeyCtxPointer(); - } + auto param_ctx = EVPKeyCtxPointer::NewFromID(EVP_PKEY_DSA); + + if (!param_ctx.initForParamgen() || + !param_ctx.setDsaParameters( + params->params.modulus_bits, + params->params.divisor_bits != -1 + ? std::optional<int>(params->params.divisor_bits) + : std::nullopt)) { + return {}; } - if (EVP_PKEY_paramgen(param_ctx.get(), &raw_params) <= 0) - return EVPKeyCtxPointer(); + auto key_params = param_ctx.paramgen(); + if (!key_params) return {}; - EVPKeyPointer key_params(raw_params); EVPKeyCtxPointer key_ctx = key_params.newCtx(); - - if (!key_ctx || EVP_PKEY_keygen_init(key_ctx.get()) <= 0) - return EVPKeyCtxPointer(); - + if (!key_ctx.initForKeygen()) return {}; return key_ctx; } diff --git a/src/crypto/crypto_dsa.h b/src/crypto/crypto_dsa.h index fab167038c8862..c31aa9786558c2 100644 --- a/src/crypto/crypto_dsa.h +++ b/src/crypto/crypto_dsa.h @@ -26,7 +26,7 @@ struct DsaKeyGenTraits final { using AdditionalParameters = DsaKeyPairGenConfig; static constexpr const char* JobName = "DsaKeyPairGenJob"; - static EVPKeyCtxPointer Setup(DsaKeyPairGenConfig* params); + static ncrypto::EVPKeyCtxPointer Setup(DsaKeyPairGenConfig* params); static v8::Maybe<void> AdditionalConfig( CryptoJobMode mode, diff --git a/src/crypto/crypto_ec.cc b/src/crypto/crypto_ec.cc index 78df3ae14407e3..98f1e1312769ca 100644 --- a/src/crypto/crypto_ec.cc +++ b/src/crypto/crypto_ec.cc @@ -18,9 +18,17 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::DataPointer; +using ncrypto::ECGroupPointer; +using ncrypto::ECKeyPointer; +using ncrypto::ECPointPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::MarkPopErrorOnReturn; using v8::Array; using v8::ArrayBuffer; -using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Context; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; @@ -104,9 +112,7 @@ void ECDH::GetCurves(const FunctionCallbackInfo<Value>& args) { } ECDH::ECDH(Environment* env, Local<Object> wrap, ECKeyPointer&& key) - : BaseObject(env, wrap), - key_(std::move(key)), - group_(EC_KEY_get0_group(key_.get())) { + : BaseObject(env, wrap), key_(std::move(key)), group_(key_.getGroup()) { MakeWeak(); CHECK_NOT_NULL(group_); } @@ -128,7 +134,7 @@ void ECDH::New(const FunctionCallbackInfo<Value>& args) { if (nid == NID_undef) return THROW_ERR_CRYPTO_INVALID_CURVE(env); - ECKeyPointer key(EC_KEY_new_by_curve_name(nid)); + auto key = ECKeyPointer::NewByCurveName(nid); if (!key) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to create key using named curve"); @@ -142,35 +148,34 @@ void ECDH::GenerateKeys(const FunctionCallbackInfo<Value>& args) { ECDH* ecdh; ASSIGN_OR_RETURN_UNWRAP(&ecdh, args.This()); - if (!EC_KEY_generate_key(ecdh->key_.get())) + if (!ecdh->key_.generate()) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to generate key"); + } } ECPointPointer ECDH::BufferToPoint(Environment* env, const EC_GROUP* group, Local<Value> buf) { - int r; + ArrayBufferOrViewContents<unsigned char> input(buf); + if (!input.CheckSizeInt32()) [[unlikely]] { + THROW_ERR_OUT_OF_RANGE(env, "buffer is too big"); + return {}; + } - ECPointPointer pub(EC_POINT_new(group)); + auto pub = ECPointPointer::New(group); if (!pub) { THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to allocate EC_POINT for a public key"); return pub; } - ArrayBufferOrViewContents<unsigned char> input(buf); - if (!input.CheckSizeInt32()) [[unlikely]] { - THROW_ERR_OUT_OF_RANGE(env, "buffer is too big"); - return ECPointPointer(); + ncrypto::Buffer<const unsigned char> buffer{ + .data = input.data(), + .len = input.size(), + }; + if (!pub.setFromBuffer(buffer, group)) { + return {}; } - r = EC_POINT_oct2point( - group, - pub.get(), - input.data(), - input.size(), - nullptr); - if (!r) - return ECPointPointer(); return pub; } @@ -188,10 +193,7 @@ void ECDH::ComputeSecret(const FunctionCallbackInfo<Value>& args) { if (!ecdh->IsKeyPairValid()) return THROW_ERR_CRYPTO_INVALID_KEYPAIR(env); - ECPointPointer pub( - ECDH::BufferToPoint(env, - ecdh->group_, - args[0])); + auto pub = ECDH::BufferToPoint(env, ecdh->group_, args[0]); if (!pub) { args.GetReturnValue().Set( FIXED_ONE_BYTE_STRING(env->isolate(), @@ -199,17 +201,13 @@ void ECDH::ComputeSecret(const FunctionCallbackInfo<Value>& args) { return; } - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - // NOTE: field_size is in bits - int field_size = EC_GROUP_get_degree(ecdh->group_); - size_t out_len = (field_size + 7) / 8; - bs = ArrayBuffer::NewBackingStore(env->isolate(), out_len); - } + int field_size = EC_GROUP_get_degree(ecdh->group_); + size_t out_len = (field_size + 7) / 8; + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), out_len, BackingStoreInitializationMode::kUninitialized); if (!ECDH_compute_key( - bs->Data(), bs->ByteLength(), pub.get(), ecdh->key_.get(), nullptr)) + bs->Data(), bs->ByteLength(), pub, ecdh->key_.get(), nullptr)) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to compute ECDH key"); Local<ArrayBuffer> ab = ArrayBuffer::New(env->isolate(), std::move(bs)); @@ -227,8 +225,8 @@ void ECDH::GetPublicKey(const FunctionCallbackInfo<Value>& args) { ECDH* ecdh; ASSIGN_OR_RETURN_UNWRAP(&ecdh, args.This()); - const EC_GROUP* group = EC_KEY_get0_group(ecdh->key_.get()); - const EC_POINT* pub = EC_KEY_get0_public_key(ecdh->key_.get()); + const auto group = ecdh->key_.getGroup(); + const auto pub = ecdh->key_.getPublicKey(); if (pub == nullptr) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to get ECDH public key"); @@ -250,17 +248,16 @@ void ECDH::GetPrivateKey(const FunctionCallbackInfo<Value>& args) { ECDH* ecdh; ASSIGN_OR_RETURN_UNWRAP(&ecdh, args.This()); - const BIGNUM* b = EC_KEY_get0_private_key(ecdh->key_.get()); + auto b = ecdh->key_.getPrivateKey(); if (b == nullptr) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to get ECDH private key"); - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), - BignumPointer::GetByteCount(b)); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), + BignumPointer::GetByteCount(b), + BackingStoreInitializationMode::kUninitialized); + CHECK_EQ(bs->ByteLength(), BignumPointer::EncodePaddedInto( b, static_cast<unsigned char*>(bs->Data()), bs->ByteLength())); @@ -292,10 +289,10 @@ void ECDH::SetPrivateKey(const FunctionCallbackInfo<Value>& args) { "Private key is not valid for specified curve."); } - ECKeyPointer new_key(EC_KEY_dup(ecdh->key_.get())); + auto new_key = ecdh->key_.clone(); CHECK(new_key); - int result = EC_KEY_set_private_key(new_key.get(), priv.get()); + bool result = new_key.setPrivateKey(priv); priv.reset(); if (!result) { @@ -306,24 +303,24 @@ void ECDH::SetPrivateKey(const FunctionCallbackInfo<Value>& args) { MarkPopErrorOnReturn mark_pop_error_on_return; USE(&mark_pop_error_on_return); - const BIGNUM* priv_key = EC_KEY_get0_private_key(new_key.get()); + auto priv_key = new_key.getPrivateKey(); CHECK_NOT_NULL(priv_key); - ECPointPointer pub(EC_POINT_new(ecdh->group_)); + auto pub = ECPointPointer::New(ecdh->group_); CHECK(pub); - if (!EC_POINT_mul(ecdh->group_, pub.get(), priv_key, - nullptr, nullptr, nullptr)) { + if (!pub.mul(ecdh->group_, priv_key)) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to generate ECDH public key"); } - if (!EC_KEY_set_public_key(new_key.get(), pub.get())) + if (!new_key.setPublicKey(pub)) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to set generated public key"); + } ecdh->key_ = std::move(new_key); - ecdh->group_ = EC_KEY_get0_group(ecdh->key_.get()); + ecdh->group_ = ecdh->key_.getGroup(); } void ECDH::SetPublicKey(const FunctionCallbackInfo<Value>& args) { @@ -336,17 +333,13 @@ void ECDH::SetPublicKey(const FunctionCallbackInfo<Value>& args) { MarkPopErrorOnReturn mark_pop_error_on_return; - ECPointPointer pub( - ECDH::BufferToPoint(env, - ecdh->group_, - args[0])); + auto pub = ECDH::BufferToPoint(env, ecdh->group_, args[0]); if (!pub) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to convert Buffer to EC_POINT"); } - int r = EC_KEY_set_public_key(ecdh->key_.get(), pub.get()); - if (!r) { + if (!ecdh->key_.setPublicKey(pub)) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to set EC_POINT as the public key"); } @@ -368,8 +361,7 @@ bool ECDH::IsKeyValidForCurve(const BignumPointer& private_key) { bool ECDH::IsKeyPairValid() { MarkPopErrorOnReturn mark_pop_error_on_return; - USE(&mark_pop_error_on_return); - return 1 == EC_KEY_check_key(key_.get()); + return key_.checkKey(); } // Convert the input public key to compressed, uncompressed, or hybrid formats. @@ -391,17 +383,12 @@ void ECDH::ConvertKey(const FunctionCallbackInfo<Value>& args) { if (nid == NID_undef) return THROW_ERR_CRYPTO_INVALID_CURVE(env); - ECGroupPointer group( - EC_GROUP_new_by_curve_name(nid)); - if (group == nullptr) + auto group = ECGroupPointer::NewByCurveName(nid); + if (!group) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to get EC_GROUP"); - ECPointPointer pub( - ECDH::BufferToPoint(env, - group.get(), - args[0])); - - if (pub == nullptr) { + auto pub = ECDH::BufferToPoint(env, group, args[0]); + if (!pub) { return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Failed to convert Buffer to EC_POINT"); } @@ -412,7 +399,7 @@ void ECDH::ConvertKey(const FunctionCallbackInfo<Value>& args) { const char* error; Local<Object> buf; - if (!ECPointToBuffer(env, group.get(), pub.get(), form, &error).ToLocal(&buf)) + if (!ECPointToBuffer(env, group, pub, form, &error).ToLocal(&buf)) return THROW_ERR_CRYPTO_OPERATION_FAILED(env, error); args.GetReturnValue().Set(buf); } @@ -467,43 +454,33 @@ bool ECDHBitsTraits::DeriveBits(Environment* env, case EVP_PKEY_X25519: // Fall through case EVP_PKEY_X448: { - EVPKeyCtxPointer ctx = m_privkey.newCtx(); Mutex::ScopedLock pub_lock(params.public_.mutex()); - if (EVP_PKEY_derive_init(ctx.get()) <= 0 || - EVP_PKEY_derive_set_peer( - ctx.get(), - m_pubkey.get()) <= 0 || - EVP_PKEY_derive(ctx.get(), nullptr, &len) <= 0) { - return false; - } - - ByteSource::Builder buf(len); - - if (EVP_PKEY_derive(ctx.get(), buf.data<unsigned char>(), &len) <= 0) { - return false; - } + EVPKeyCtxPointer ctx = m_privkey.newCtx(); + if (!ctx.initForDerive(m_pubkey)) return false; - *out = std::move(buf).release(len); + auto data = ctx.derive(); + if (!data) return false; + *out = ByteSource::Allocated(data.release()); break; } default: { const EC_KEY* private_key; { Mutex::ScopedLock priv_lock(params.private_.mutex()); - private_key = EVP_PKEY_get0_EC_KEY(m_privkey.get()); + private_key = m_privkey; } Mutex::ScopedLock pub_lock(params.public_.mutex()); - const EC_KEY* public_key = EVP_PKEY_get0_EC_KEY(m_pubkey.get()); + const EC_KEY* public_key = m_pubkey; - const EC_GROUP* group = EC_KEY_get0_group(private_key); + const auto group = ECKeyPointer::GetGroup(private_key); if (group == nullptr) return false; - CHECK_EQ(EC_KEY_check_key(private_key), 1); - CHECK_EQ(EC_KEY_check_key(public_key), 1); - const EC_POINT* pub = EC_KEY_get0_public_key(public_key); + CHECK(ECKeyPointer::Check(private_key)); + CHECK(ECKeyPointer::Check(public_key)); + const auto pub = ECKeyPointer::GetPublicKey(public_key); int field_size = EC_GROUP_get_degree(group); len = (field_size + 7) / 8; ByteSource::Builder buf(len); @@ -531,28 +508,24 @@ EVPKeyCtxPointer EcKeyGenTraits::Setup(EcKeyPairGenConfig* params) { case EVP_PKEY_X25519: // Fall through case EVP_PKEY_X448: - key_ctx.reset(EVP_PKEY_CTX_new_id(params->params.curve_nid, nullptr)); + key_ctx = EVPKeyCtxPointer::NewFromID(params->params.curve_nid); break; default: { - EVPKeyCtxPointer param_ctx(EVP_PKEY_CTX_new_id(EVP_PKEY_EC, nullptr)); - EVP_PKEY* raw_params = nullptr; - if (!param_ctx || - EVP_PKEY_paramgen_init(param_ctx.get()) <= 0 || - EVP_PKEY_CTX_set_ec_paramgen_curve_nid( - param_ctx.get(), params->params.curve_nid) <= 0 || - EVP_PKEY_CTX_set_ec_param_enc( - param_ctx.get(), params->params.param_encoding) <= 0 || - EVP_PKEY_paramgen(param_ctx.get(), &raw_params) <= 0) { - return EVPKeyCtxPointer(); + auto param_ctx = EVPKeyCtxPointer::NewFromID(EVP_PKEY_EC); + if (!param_ctx.initForParamgen() || + !param_ctx.setEcParameters(params->params.curve_nid, + params->params.param_encoding)) { + return {}; } - EVPKeyPointer key_params(raw_params); + + auto key_params = param_ctx.paramgen(); + if (!key_params) return {}; + key_ctx = key_params.newCtx(); } } - if (key_ctx && EVP_PKEY_keygen_init(key_ctx.get()) <= 0) - key_ctx.reset(); - + if (!key_ctx.initForKeygen()) return {}; return key_ctx; } @@ -602,7 +575,7 @@ WebCryptoKeyExportStatus EC_Raw_Export(const KeyObjectData& key_data, CHECK(m_pkey); Mutex::ScopedLock lock(key_data.mutex()); - const EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(m_pkey.get()); + const EC_KEY* ec_key = m_pkey; if (ec_key == nullptr) { switch (key_data.GetKeyType()) { @@ -624,8 +597,8 @@ WebCryptoKeyExportStatus EC_Raw_Export(const KeyObjectData& key_data, } else { if (key_data.GetKeyType() != kKeyTypePublic) return WebCryptoKeyExportStatus::INVALID_KEY_TYPE; - const EC_GROUP* group = EC_KEY_get0_group(ec_key); - const EC_POINT* point = EC_KEY_get0_public_key(ec_key); + const auto group = ECKeyPointer::GetGroup(ec_key); + const auto point = ECKeyPointer::GetPublicKey(ec_key); point_conversion_form_t form = POINT_CONVERSION_UNCOMPRESSED; // Get the allocated data size... @@ -681,9 +654,8 @@ WebCryptoKeyExportStatus ECKeyExportTraits::DoExport( // the header is for all practical purposes a static 26 byte sequence // where only the second byte changes. Mutex::ScopedLock lock(key_data.mutex()); - const EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(m_pkey.get()); - const EC_GROUP* group = EC_KEY_get0_group(ec_key); - const EC_POINT* point = EC_KEY_get0_public_key(ec_key); + const auto group = ECKeyPointer::GetGroup(m_pkey); + const auto point = ECKeyPointer::GetPublicKey(m_pkey); const point_conversion_form_t form = POINT_CONVERSION_UNCOMPRESSED; const size_t need = EC_POINT_point2oct(group, point, form, nullptr, 0, nullptr); @@ -692,18 +664,17 @@ WebCryptoKeyExportStatus ECKeyExportTraits::DoExport( const size_t have = EC_POINT_point2oct( group, point, form, data.data<unsigned char>(), need, nullptr); if (have == 0) return WebCryptoKeyExportStatus::FAILED; - ECKeyPointer ec(EC_KEY_new()); - CHECK_EQ(1, EC_KEY_set_group(ec.get(), group)); - ECPointPointer uncompressed(EC_POINT_new(group)); - CHECK_EQ(1, - EC_POINT_oct2point(group, - uncompressed.get(), - data.data<unsigned char>(), - data.size(), - nullptr)); - CHECK_EQ(1, EC_KEY_set_public_key(ec.get(), uncompressed.get())); + auto ec = ECKeyPointer::New(group); + CHECK(ec); + auto uncompressed = ECPointPointer::New(group); + ncrypto::Buffer<const unsigned char> buffer{ + .data = data.data<unsigned char>(), + .len = data.size(), + }; + CHECK(uncompressed.setFromBuffer(buffer, group)); + CHECK(ec.setPublicKey(uncompressed)); auto pkey = EVPKeyPointer::New(); - CHECK_EQ(1, EVP_PKEY_set1_EC_KEY(pkey.get(), ec.get())); + CHECK(pkey.set(ec)); auto bio = pkey.derPublicKey(); if (!bio) return WebCryptoKeyExportStatus::FAILED; *out = ByteSource::FromBIO(bio); @@ -722,11 +693,11 @@ Maybe<void> ExportJWKEcKey(Environment* env, const auto& m_pkey = key.GetAsymmetricKey(); CHECK_EQ(m_pkey.id(), EVP_PKEY_EC); - const EC_KEY* ec = EVP_PKEY_get0_EC_KEY(m_pkey.get()); + const EC_KEY* ec = m_pkey; CHECK_NOT_NULL(ec); - const EC_POINT* pub = EC_KEY_get0_public_key(ec); - const EC_GROUP* group = EC_KEY_get0_group(ec); + const auto pub = ECKeyPointer::GetPublicKey(ec); + const auto group = ECKeyPointer::GetGroup(ec); int degree_bits = EC_GROUP_get_degree(group); int degree_bytes = @@ -767,16 +738,16 @@ Maybe<void> ExportJWKEcKey(Environment* env, const int nid = EC_GROUP_get_curve_name(group); switch (nid) { case NID_X9_62_prime256v1: - crv_name = OneByteString(env->isolate(), "P-256"); + crv_name = FIXED_ONE_BYTE_STRING(env->isolate(), "P-256"); break; case NID_secp256k1: - crv_name = OneByteString(env->isolate(), "secp256k1"); + crv_name = FIXED_ONE_BYTE_STRING(env->isolate(), "secp256k1"); break; case NID_secp384r1: - crv_name = OneByteString(env->isolate(), "P-384"); + crv_name = FIXED_ONE_BYTE_STRING(env->isolate(), "P-384"); break; case NID_secp521r1: - crv_name = OneByteString(env->isolate(), "P-521"); + crv_name = FIXED_ONE_BYTE_STRING(env->isolate(), "P-521"); break; default: { THROW_ERR_CRYPTO_JWK_UNSUPPORTED_CURVE( @@ -792,7 +763,7 @@ Maybe<void> ExportJWKEcKey(Environment* env, } if (key.GetKeyType() == kKeyTypePrivate) { - const BIGNUM* pvt = EC_KEY_get0_private_key(ec); + auto pvt = ECKeyPointer::GetPrivateKey(ec); return SetEncodedValue(env, target, env->jwk_d_string(), pvt, degree_bytes); } @@ -821,7 +792,7 @@ Maybe<void> ExportJWKEdKey(Environment* env, })(); static constexpr auto trySetKey = [](Environment* env, - ncrypto::DataPointer data, + DataPointer data, Local<Object> target, Local<String> key) { Local<Value> encoded; @@ -886,7 +857,7 @@ KeyObjectData ImportJWKEcKey(Environment* env, KeyType type = d_value->IsString() ? kKeyTypePrivate : kKeyTypePublic; - ECKeyPointer ec(EC_KEY_new_by_curve_name(nid)); + auto ec = ECKeyPointer::NewByCurveName(nid); if (!ec) { THROW_ERR_CRYPTO_INVALID_JWK(env, "Invalid JWK EC key"); return {}; @@ -895,24 +866,22 @@ KeyObjectData ImportJWKEcKey(Environment* env, ByteSource x = ByteSource::FromEncodedString(env, x_value.As<String>()); ByteSource y = ByteSource::FromEncodedString(env, y_value.As<String>()); - if (!EC_KEY_set_public_key_affine_coordinates( - ec.get(), - x.ToBN().get(), - y.ToBN().get())) { + if (!ec.setPublicKeyRaw(x.ToBN(), y.ToBN())) { THROW_ERR_CRYPTO_INVALID_JWK(env, "Invalid JWK EC key"); return {}; } if (type == kKeyTypePrivate) { ByteSource d = ByteSource::FromEncodedString(env, d_value.As<String>()); - if (!EC_KEY_set_private_key(ec.get(), d.ToBN().get())) { + if (!ec.setPrivateKey(d.ToBN())) { THROW_ERR_CRYPTO_INVALID_JWK(env, "Invalid JWK EC key"); return {}; } } auto pkey = EVPKeyPointer::New(); - CHECK_EQ(EVP_PKEY_set1_EC_KEY(pkey.get(), ec.get()), 1); + if (!pkey) return {}; + CHECK(pkey.set(ec)); return KeyObjectData::CreateAsymmetric(type, std::move(pkey)); } @@ -924,10 +893,10 @@ Maybe<void> GetEcKeyDetail(Environment* env, const auto& m_pkey = key.GetAsymmetricKey(); CHECK_EQ(m_pkey.id(), EVP_PKEY_EC); - const EC_KEY* ec = EVP_PKEY_get0_EC_KEY(m_pkey.get()); + const EC_KEY* ec = m_pkey; CHECK_NOT_NULL(ec); - const EC_GROUP* group = EC_KEY_get0_group(ec); + const auto group = ECKeyPointer::GetGroup(ec); int nid = EC_GROUP_get_curve_name(group); if (target @@ -946,11 +915,10 @@ Maybe<void> GetEcKeyDetail(Environment* env, // https://github.com/chromium/chromium/blob/7af6cfd/components/webcrypto/algorithms/ecdsa.cc size_t GroupOrderSize(const EVPKeyPointer& key) { - const EC_KEY* ec = EVP_PKEY_get0_EC_KEY(key.get()); + const EC_KEY* ec = key; CHECK_NOT_NULL(ec); - const EC_GROUP* group = EC_KEY_get0_group(ec); auto order = BignumPointer::New(); - CHECK(EC_GROUP_get_order(group, order.get(), nullptr)); + CHECK(EC_GROUP_get_order(ECKeyPointer::GetGroup(ec), order.get(), nullptr)); return order.byteLength(); } } // namespace crypto diff --git a/src/crypto/crypto_ec.h b/src/crypto/crypto_ec.h index b5de681fbe1516..7aeeebbe303eda 100644 --- a/src/crypto/crypto_ec.h +++ b/src/crypto/crypto_ec.h @@ -24,9 +24,9 @@ class ECDH final : public BaseObject { static void Initialize(Environment* env, v8::Local<v8::Object> target); static void RegisterExternalReferences(ExternalReferenceRegistry* registry); - static ECPointPointer BufferToPoint(Environment* env, - const EC_GROUP* group, - v8::Local<v8::Value> buf); + static ncrypto::ECPointPointer BufferToPoint(Environment* env, + const EC_GROUP* group, + v8::Local<v8::Value> buf); void MemoryInfo(MemoryTracker* tracker) const override; SET_MEMORY_INFO_NAME(ECDH) @@ -37,7 +37,9 @@ class ECDH final : public BaseObject { static void GetCurves(const v8::FunctionCallbackInfo<v8::Value>& args); protected: - ECDH(Environment* env, v8::Local<v8::Object> wrap, ECKeyPointer&& key); + ECDH(Environment* env, + v8::Local<v8::Object> wrap, + ncrypto::ECKeyPointer&& key); static void New(const v8::FunctionCallbackInfo<v8::Value>& args); static void GenerateKeys(const v8::FunctionCallbackInfo<v8::Value>& args); @@ -48,9 +50,9 @@ class ECDH final : public BaseObject { static void SetPublicKey(const v8::FunctionCallbackInfo<v8::Value>& args); bool IsKeyPairValid(); - bool IsKeyValidForCurve(const BignumPointer& private_key); + bool IsKeyValidForCurve(const ncrypto::BignumPointer& private_key); - ECKeyPointer key_; + ncrypto::ECKeyPointer key_; const EC_GROUP* group_; }; @@ -102,7 +104,7 @@ struct EcKeyGenTraits final { using AdditionalParameters = EcKeyPairGenConfig; static constexpr const char* JobName = "EcKeyPairGenJob"; - static EVPKeyCtxPointer Setup(EcKeyPairGenConfig* params); + static ncrypto::EVPKeyCtxPointer Setup(EcKeyPairGenConfig* params); static v8::Maybe<void> AdditionalConfig( CryptoJobMode mode, diff --git a/src/crypto/crypto_hash.cc b/src/crypto/crypto_hash.cc index 5fd20c2fd3968f..851847483327c1 100644 --- a/src/crypto/crypto_hash.cc +++ b/src/crypto/crypto_hash.cc @@ -11,6 +11,9 @@ namespace node { +using ncrypto::DataPointer; +using ncrypto::EVPMDCtxPointer; +using ncrypto::MarkPopErrorOnReturn; using v8::Context; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; @@ -57,7 +60,7 @@ struct MaybeCachedMD { }; MaybeCachedMD FetchAndMaybeCacheMD(Environment* env, const char* search_name) { - const EVP_MD* implicit_md = EVP_get_digestbyname(search_name); + const EVP_MD* implicit_md = ncrypto::getDigestByName(search_name); if (!implicit_md) return {nullptr, nullptr, -1}; const char* real_name = EVP_MD_get0_name(implicit_md); @@ -152,7 +155,7 @@ void Hash::GetCachedAliases(const FunctionCallbackInfo<Value>& args) { names.reserve(size); values.reserve(size); for (auto& [alias, id] : env->alias_to_md_id_map) { - names.push_back(OneByteString(isolate, alias.c_str(), alias.size())); + names.push_back(OneByteString(isolate, alias)); values.push_back(v8::Uint32::New(isolate, id)); } #else @@ -200,7 +203,7 @@ const EVP_MD* GetDigestImplementation(Environment* env, return result.explicit_md ? result.explicit_md : result.implicit_md; #else Utf8Value utf8(env->isolate(), algorithm); - return EVP_get_digestbyname(*utf8); + return ncrypto::getDigestByName(utf8.ToStringView()); #endif } @@ -218,7 +221,7 @@ void Hash::OneShotDigest(const FunctionCallbackInfo<Value>& args) { CHECK(args[5]->IsUint32() || args[5]->IsUndefined()); // outputEncodingId const EVP_MD* md = GetDigestImplementation(env, args[0], args[1], args[2]); - if (md == nullptr) { + if (md == nullptr) [[unlikely]] { Utf8Value method(isolate, args[0]); std::string message = "Digest method " + method.ToString() + " is not supported"; @@ -227,41 +230,36 @@ void Hash::OneShotDigest(const FunctionCallbackInfo<Value>& args) { enum encoding output_enc = ParseEncoding(isolate, args[4], args[5], HEX); - int md_len = EVP_MD_size(md); - unsigned int result_size; - ByteSource::Builder output(md_len); - int success; - // On smaller inputs, EVP_Digest() can be slower than the - // deprecated helpers e.g SHA256_XXX. The speedup may not - // be worth using deprecated APIs, however, so we use - // EVP_Digest(), unless there's a better alternative - // in the future. - // https://github.com/openssl/openssl/issues/19612 - if (args[3]->IsString()) { - Utf8Value utf8(isolate, args[3]); - success = EVP_Digest(utf8.out(), - utf8.length(), - output.data<unsigned char>(), - &result_size, - md, - nullptr); - } else { + DataPointer output = ([&] { + if (args[3]->IsString()) { + Utf8Value utf8(isolate, args[3]); + ncrypto::Buffer<const unsigned char> buf{ + .data = reinterpret_cast<const unsigned char*>(utf8.out()), + .len = utf8.length(), + }; + return ncrypto::hashDigest(buf, md); + } + ArrayBufferViewContents<unsigned char> input(args[3]); - success = EVP_Digest(input.data(), - input.length(), - output.data<unsigned char>(), - &result_size, - md, - nullptr); - } - if (!success) { + ncrypto::Buffer<const unsigned char> buf{ + .data = reinterpret_cast<const unsigned char*>(input.data()), + .len = input.length(), + }; + return ncrypto::hashDigest(buf, md); + })(); + + if (!output) [[unlikely]] { return ThrowCryptoError(env, ERR_get_error()); } Local<Value> error; - MaybeLocal<Value> rc = StringBytes::Encode( - env->isolate(), output.data<char>(), md_len, output_enc, &error); - if (rc.IsEmpty()) { + MaybeLocal<Value> rc = + StringBytes::Encode(env->isolate(), + static_cast<const char*>(output.get()), + output.size(), + output_enc, + &error); + if (rc.IsEmpty()) [[unlikely]] { CHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; @@ -312,7 +310,8 @@ void Hash::New(const FunctionCallbackInfo<Value>& args) { const EVP_MD* md = nullptr; if (args[0]->IsObject()) { ASSIGN_OR_RETURN_UNWRAP(&orig, args[0].As<Object>()); - md = EVP_MD_CTX_md(orig->mdctx_.get()); + CHECK_NOT_NULL(orig); + md = orig->mdctx_.getDigest(); } else { md = GetDigestImplementation(env, args[0], args[2], args[3]); } @@ -329,25 +328,25 @@ void Hash::New(const FunctionCallbackInfo<Value>& args) { "Digest method not supported"); } - if (orig != nullptr && - 0 >= EVP_MD_CTX_copy(hash->mdctx_.get(), orig->mdctx_.get())) { + if (orig != nullptr && !orig->mdctx_.copyTo(hash->mdctx_)) { return ThrowCryptoError(env, ERR_get_error(), "Digest copy error"); } } bool Hash::HashInit(const EVP_MD* md, Maybe<unsigned int> xof_md_len) { - mdctx_.reset(EVP_MD_CTX_new()); - if (!mdctx_ || EVP_DigestInit_ex(mdctx_.get(), md, nullptr) <= 0) { + mdctx_ = EVPMDCtxPointer::New(); + if (!mdctx_.digestInit(md)) [[unlikely]] { mdctx_.reset(); return false; } - md_len_ = EVP_MD_size(md); + md_len_ = mdctx_.getDigestSize(); if (xof_md_len.IsJust() && xof_md_len.FromJust() != md_len_) { // This is a little hack to cause createHash to fail when an incorrect // hashSize option was passed for a non-XOF hash function. - if ((EVP_MD_flags(md) & EVP_MD_FLAG_XOF) == 0) { + if (!mdctx_.hasXofFlag()) [[unlikely]] { EVPerr(EVP_F_EVP_DIGESTFINALXOF, EVP_R_NOT_XOF_OR_INVALID_LENGTH); + mdctx_.reset(); return false; } md_len_ = xof_md_len.FromJust(); @@ -357,9 +356,11 @@ bool Hash::HashInit(const EVP_MD* md, Maybe<unsigned int> xof_md_len) { } bool Hash::HashUpdate(const char* data, size_t len) { - if (!mdctx_) - return false; - return EVP_DigestUpdate(mdctx_.get(), data, len) == 1; + if (!mdctx_) return false; + return mdctx_.digestUpdate(ncrypto::Buffer<const void>{ + .data = data, + .len = len, + }); } void Hash::HashUpdate(const FunctionCallbackInfo<Value>& args) { @@ -400,31 +401,18 @@ void Hash::HashDigest(const FunctionCallbackInfo<Value>& args) { // and Hash.digest can both be used to retrieve the digest, // so we need to cache it. // See https://github.com/nodejs/node/issues/28245. - - ByteSource::Builder digest(len); - - size_t default_len = EVP_MD_CTX_size(hash->mdctx_.get()); - int ret; - if (len == default_len) { - ret = EVP_DigestFinal_ex( - hash->mdctx_.get(), digest.data<unsigned char>(), &len); - // The output length should always equal hash->md_len_ - CHECK_EQ(len, hash->md_len_); - } else { - ret = EVP_DigestFinalXOF( - hash->mdctx_.get(), digest.data<unsigned char>(), len); - } - - if (ret != 1) + auto data = hash->mdctx_.digestFinal(len); + if (!data) [[unlikely]] { return ThrowCryptoError(env, ERR_get_error()); + } - hash->digest_ = std::move(digest).release(); + hash->digest_ = ByteSource::Allocated(data.release()); } Local<Value> error; MaybeLocal<Value> rc = StringBytes::Encode( env->isolate(), hash->digest_.data<char>(), len, encoding, &error); - if (rc.IsEmpty()) { + if (rc.IsEmpty()) [[unlikely]] { CHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; @@ -467,7 +455,7 @@ Maybe<void> HashTraits::AdditionalConfig( CHECK(args[offset]->IsString()); // Hash algorithm Utf8Value digest(env->isolate(), args[offset]); - params->digest = EVP_get_digestbyname(*digest); + params->digest = ncrypto::getDigestByName(digest.ToStringView()); if (params->digest == nullptr) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest); return Nothing<void>(); @@ -490,7 +478,7 @@ Maybe<void> HashTraits::AdditionalConfig( static_cast<uint32_t>(args[offset + 2] .As<Uint32>()->Value()) / CHAR_BIT; if (params->length != expected) { - if ((EVP_MD_flags(params->digest) & EVP_MD_FLAG_XOF) == 0) { + if ((EVP_MD_flags(params->digest) & EVP_MD_FLAG_XOF) == 0) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Digest method not supported"); return Nothing<void>(); } @@ -504,29 +492,19 @@ bool HashTraits::DeriveBits( Environment* env, const HashConfig& params, ByteSource* out) { - EVPMDCtxPointer ctx(EVP_MD_CTX_new()); + auto ctx = EVPMDCtxPointer::New(); - if (!ctx || EVP_DigestInit_ex(ctx.get(), params.digest, nullptr) <= 0 || - EVP_DigestUpdate(ctx.get(), params.in.data<char>(), params.in.size()) <= - 0) [[unlikely]] { + if (!ctx.digestInit(params.digest) || !ctx.digestUpdate(params.in)) + [[unlikely]] { return false; } if (params.length > 0) [[likely]] { - unsigned int length = params.length; - ByteSource::Builder buf(length); - - size_t expected = EVP_MD_CTX_size(ctx.get()); - - int ret = - (length == expected) - ? EVP_DigestFinal_ex(ctx.get(), buf.data<unsigned char>(), &length) - : EVP_DigestFinalXOF(ctx.get(), buf.data<unsigned char>(), length); - - if (ret != 1) [[unlikely]] + auto data = ctx.digestFinal(params.length); + if (!data) [[unlikely]] return false; - *out = std::move(buf).release(); + *out = ByteSource::Allocated(data.release()); } return true; @@ -546,7 +524,7 @@ void InternalVerifyIntegrity(const v8::FunctionCallbackInfo<v8::Value>& args) { CHECK(args[2]->IsArrayBufferView()); ArrayBufferOrViewContents<unsigned char> expected(args[2]); - const EVP_MD* md_type = EVP_get_digestbyname(*algorithm); + const EVP_MD* md_type = ncrypto::getDigestByName(algorithm.ToStringView()); unsigned char digest[EVP_MAX_MD_SIZE]; unsigned int digest_size; if (md_type == nullptr || EVP_Digest(content.data(), @@ -554,7 +532,7 @@ void InternalVerifyIntegrity(const v8::FunctionCallbackInfo<v8::Value>& args) { digest, &digest_size, md_type, - nullptr) != 1) { + nullptr) != 1) [[unlikely]] { return ThrowCryptoError( env, ERR_get_error(), "Digest method not supported"); } @@ -568,7 +546,7 @@ void InternalVerifyIntegrity(const v8::FunctionCallbackInfo<v8::Value>& args) { digest_size, BASE64, &error); - if (rc.IsEmpty()) { + if (rc.IsEmpty()) [[unlikely]] { CHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; diff --git a/src/crypto/crypto_hash.h b/src/crypto/crypto_hash.h index 4289c352a7cdae..85da86dba98d5a 100644 --- a/src/crypto/crypto_hash.h +++ b/src/crypto/crypto_hash.h @@ -36,7 +36,7 @@ class Hash final : public BaseObject { Hash(Environment* env, v8::Local<v8::Object> wrap); private: - EVPMDCtxPointer mdctx_{}; + ncrypto::EVPMDCtxPointer mdctx_{}; unsigned int md_len_ = 0; ByteSource digest_; }; diff --git a/src/crypto/crypto_hkdf.cc b/src/crypto/crypto_hkdf.cc index 2a465c849def44..10bb8e4258bf63 100644 --- a/src/crypto/crypto_hkdf.cc +++ b/src/crypto/crypto_hkdf.cc @@ -55,7 +55,7 @@ Maybe<void> HKDFTraits::AdditionalConfig( Utf8Value hash(env->isolate(), args[offset]); params->digest = ncrypto::getDigestByName(hash.ToStringView()); - if (params->digest == nullptr) { + if (params->digest == nullptr) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *hash); return Nothing<void>(); } @@ -88,7 +88,7 @@ Maybe<void> HKDFTraits::AdditionalConfig( // HKDF-Expand computes up to 255 HMAC blocks, each having as many bits as the // output of the hash function. 255 is a hard limit because HKDF appends an // 8-bit counter to each HMAC'd message, starting at 1. - if (!ncrypto::checkHkdfLength(params->digest, params->length)) { + if (!ncrypto::checkHkdfLength(params->digest, params->length)) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_KEYLEN(env); return Nothing<void>(); } diff --git a/src/crypto/crypto_hmac.cc b/src/crypto/crypto_hmac.cc index ecc4f3fd8ae7df..56a09e1a2d9b0f 100644 --- a/src/crypto/crypto_hmac.cc +++ b/src/crypto/crypto_hmac.cc @@ -13,6 +13,7 @@ namespace node { +using ncrypto::HMACCtxPointer; using v8::Boolean; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; @@ -69,15 +70,21 @@ void Hmac::New(const FunctionCallbackInfo<Value>& args) { void Hmac::HmacInit(const char* hash_type, const char* key, int key_len) { HandleScope scope(env()->isolate()); - const EVP_MD* md = EVP_get_digestbyname(hash_type); - if (md == nullptr) + const EVP_MD* md = ncrypto::getDigestByName(hash_type); + if (md == nullptr) [[unlikely]] { return THROW_ERR_CRYPTO_INVALID_DIGEST( env(), "Invalid digest: %s", hash_type); + } if (key_len == 0) { key = ""; } - ctx_.reset(HMAC_CTX_new()); - if (!ctx_ || !HMAC_Init_ex(ctx_.get(), key, key_len, md, nullptr)) { + + ctx_ = HMACCtxPointer::New(); + ncrypto::Buffer<const void> key_buf{ + .data = key, + .len = static_cast<size_t>(key_len), + }; + if (!ctx_.init(key_buf, md)) [[unlikely]] { ctx_.reset(); return ThrowCryptoError(env(), ERR_get_error()); } @@ -94,9 +101,11 @@ void Hmac::HmacInit(const FunctionCallbackInfo<Value>& args) { } bool Hmac::HmacUpdate(const char* data, size_t len) { - return ctx_ && HMAC_Update(ctx_.get(), - reinterpret_cast<const unsigned char*>(data), - len) == 1; + ncrypto::Buffer<const void> buf{ + .data = data, + .len = len, + }; + return ctx_.update(buf); } void Hmac::HmacUpdate(const FunctionCallbackInfo<Value>& args) { @@ -122,24 +131,27 @@ void Hmac::HmacDigest(const FunctionCallbackInfo<Value>& args) { } unsigned char md_value[EVP_MAX_MD_SIZE]; - unsigned int md_len = 0; + ncrypto::Buffer<void> buf{ + .data = md_value, + .len = sizeof(md_value), + }; if (hmac->ctx_) { - bool ok = HMAC_Final(hmac->ctx_.get(), md_value, &md_len); - hmac->ctx_.reset(); - if (!ok) { + if (!hmac->ctx_.digestInto(&buf)) [[unlikely]] { + hmac->ctx_.reset(); return ThrowCryptoError(env, ERR_get_error(), "Failed to finalize HMAC"); } + hmac->ctx_.reset(); } Local<Value> error; MaybeLocal<Value> rc = StringBytes::Encode(env->isolate(), reinterpret_cast<const char*>(md_value), - md_len, + buf.len, encoding, &error); - if (rc.IsEmpty()) { + if (rc.IsEmpty()) [[unlikely]] { CHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; @@ -187,8 +199,8 @@ Maybe<void> HmacTraits::AdditionalConfig( CHECK(args[offset + 2]->IsObject()); // Key Utf8Value digest(env->isolate(), args[offset + 1]); - params->digest = EVP_get_digestbyname(*digest); - if (params->digest == nullptr) { + params->digest = ncrypto::getDigestByName(digest.ToStringView()); + if (params->digest == nullptr) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest); return Nothing<void>(); } @@ -224,31 +236,29 @@ bool HmacTraits::DeriveBits( Environment* env, const HmacConfig& params, ByteSource* out) { - HMACCtxPointer ctx(HMAC_CTX_new()); + auto ctx = HMACCtxPointer::New(); - if (!ctx || !HMAC_Init_ex(ctx.get(), - params.key.GetSymmetricKey(), - params.key.GetSymmetricKeySize(), - params.digest, - nullptr)) { + ncrypto::Buffer<const void> key_buf{ + .data = params.key.GetSymmetricKey(), + .len = params.key.GetSymmetricKeySize(), + }; + if (!ctx.init(key_buf, params.digest)) [[unlikely]] { return false; } - if (!HMAC_Update( - ctx.get(), - params.data.data<unsigned char>(), - params.data.size())) { + ncrypto::Buffer<const void> buffer{ + .data = params.data.data(), + .len = params.data.size(), + }; + if (!ctx.update(buffer)) [[unlikely]] { return false; } - ByteSource::Builder buf(EVP_MAX_MD_SIZE); - unsigned int len; - - if (!HMAC_Final(ctx.get(), buf.data<unsigned char>(), &len)) { + auto buf = ctx.digest(); + if (!buf) [[unlikely]] return false; - } - *out = std::move(buf).release(len); + *out = ByteSource::Allocated(buf.release()); return true; } @@ -257,9 +267,9 @@ MaybeLocal<Value> HmacTraits::EncodeOutput(Environment* env, const HmacConfig& params, ByteSource* out) { switch (params.mode) { - case SignConfiguration::kSign: + case SignConfiguration::Mode::Sign: return out->ToArrayBuffer(env); - case SignConfiguration::kVerify: + case SignConfiguration::Mode::Verify: return Boolean::New( env->isolate(), out->size() > 0 && out->size() == params.signature.size() && diff --git a/src/crypto/crypto_hmac.h b/src/crypto/crypto_hmac.h index 2f54b1c8a14af6..e29ec231a1b7d4 100644 --- a/src/crypto/crypto_hmac.h +++ b/src/crypto/crypto_hmac.h @@ -36,7 +36,7 @@ class Hmac : public BaseObject { static void Sign(const v8::FunctionCallbackInfo<v8::Value>& args); private: - HMACCtxPointer ctx_; + ncrypto::HMACCtxPointer ctx_; }; struct HmacConfig final : public MemoryRetainer { diff --git a/src/crypto/crypto_keygen.cc b/src/crypto/crypto_keygen.cc index c13acd63886673..7c3a85e9f8a24d 100644 --- a/src/crypto/crypto_keygen.cc +++ b/src/crypto/crypto_keygen.cc @@ -12,6 +12,7 @@ namespace node { +using ncrypto::EVPKeyCtxPointer; using v8::FunctionCallbackInfo; using v8::Int32; using v8::JustVoid; @@ -46,10 +47,8 @@ Maybe<void> NidKeyPairGenTraits::AdditionalConfig( } EVPKeyCtxPointer NidKeyPairGenTraits::Setup(NidKeyPairGenConfig* params) { - EVPKeyCtxPointer ctx = - EVPKeyCtxPointer(EVP_PKEY_CTX_new_id(params->params.id, nullptr)); - if (!ctx || EVP_PKEY_keygen_init(ctx.get()) <= 0) return {}; - + auto ctx = EVPKeyCtxPointer::NewFromID(params->params.id); + if (!ctx || !ctx.initForKeygen()) return {}; return ctx; } diff --git a/src/crypto/crypto_keygen.h b/src/crypto/crypto_keygen.h index f1e92c69cb4065..6fdac8333b6ac6 100644 --- a/src/crypto/crypto_keygen.h +++ b/src/crypto/crypto_keygen.h @@ -163,7 +163,7 @@ struct KeyPairGenTraits final { static KeyGenJobStatus DoKeyGen( Environment* env, AdditionalParameters* params) { - EVPKeyCtxPointer ctx = KeyPairAlgorithmTraits::Setup(params); + ncrypto::EVPKeyCtxPointer ctx = KeyPairAlgorithmTraits::Setup(params); if (!ctx) return KeyGenJobStatus::FAILED; @@ -174,7 +174,7 @@ struct KeyPairGenTraits final { return KeyGenJobStatus::FAILED; auto data = KeyObjectData::CreateAsymmetric(KeyType::kKeyTypePrivate, - EVPKeyPointer(pkey)); + ncrypto::EVPKeyPointer(pkey)); if (!data) [[unlikely]] return KeyGenJobStatus::FAILED; params->key = std::move(data); @@ -280,7 +280,7 @@ struct NidKeyPairGenTraits final { using AdditionalParameters = NidKeyPairGenConfig; static constexpr const char* JobName = "NidKeyPairGenJob"; - static EVPKeyCtxPointer Setup(NidKeyPairGenConfig* params); + static ncrypto::EVPKeyCtxPointer Setup(NidKeyPairGenConfig* params); static v8::Maybe<void> AdditionalConfig( CryptoJobMode mode, diff --git a/src/crypto/crypto_keys.cc b/src/crypto/crypto_keys.cc index 4a686a77b2a0ac..2c55828facc35b 100644 --- a/src/crypto/crypto_keys.cc +++ b/src/crypto/crypto_keys.cc @@ -18,6 +18,12 @@ namespace node { +using ncrypto::BIOPointer; +using ncrypto::ECKeyPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::MarkPopErrorOnReturn; +using ncrypto::PKCS8Pointer; using v8::Array; using v8::Context; using v8::Function; @@ -41,11 +47,11 @@ using v8::Value; namespace crypto { namespace { -Maybe<ncrypto::EVPKeyPointer::AsymmetricKeyEncodingConfig> -GetKeyFormatAndTypeFromJs(const FunctionCallbackInfo<Value>& args, - unsigned int* offset, - KeyEncodingContext context) { - ncrypto::EVPKeyPointer::AsymmetricKeyEncodingConfig config; +Maybe<EVPKeyPointer::AsymmetricKeyEncodingConfig> GetKeyFormatAndTypeFromJs( + const FunctionCallbackInfo<Value>& args, + unsigned int* offset, + KeyEncodingContext context) { + EVPKeyPointer::AsymmetricKeyEncodingConfig config; // During key pair generation, it is possible not to specify a key encoding, // which will lead to a key object being returned. if (args[*offset]->IsUndefined()) { @@ -56,19 +62,19 @@ GetKeyFormatAndTypeFromJs(const FunctionCallbackInfo<Value>& args, config.output_key_object = false; CHECK(args[*offset]->IsInt32()); - config.format = static_cast<ncrypto::EVPKeyPointer::PKFormatType>( + config.format = static_cast<EVPKeyPointer::PKFormatType>( args[*offset].As<Int32>()->Value()); if (args[*offset + 1]->IsInt32()) { - config.type = static_cast<ncrypto::EVPKeyPointer::PKEncodingType>( + config.type = static_cast<EVPKeyPointer::PKEncodingType>( args[*offset + 1].As<Int32>()->Value()); } else { CHECK((context == kKeyContextInput && - config.format == ncrypto::EVPKeyPointer::PKFormatType::PEM) || + config.format == EVPKeyPointer::PKFormatType::PEM) || (context == kKeyContextGenerate && - config.format == ncrypto::EVPKeyPointer::PKFormatType::JWK)); + config.format == EVPKeyPointer::PKFormatType::JWK)); CHECK(args[*offset + 1]->IsNullOrUndefined()); - config.type = ncrypto::EVPKeyPointer::PKEncodingType::PKCS1; + config.type = EVPKeyPointer::PKEncodingType::PKCS1; } } @@ -79,16 +85,16 @@ GetKeyFormatAndTypeFromJs(const FunctionCallbackInfo<Value>& args, MaybeLocal<Value> BIOToStringOrBuffer( Environment* env, const BIOPointer& bio, - const ncrypto::EVPKeyPointer::AsymmetricKeyEncodingConfig& config) { + const EVPKeyPointer::AsymmetricKeyEncodingConfig& config) { BUF_MEM* bptr = bio; - if (config.format == ncrypto::EVPKeyPointer::PKFormatType::PEM) { + if (config.format == EVPKeyPointer::PKFormatType::PEM) { // PEM is an ASCII format, so we will return it as a string. return String::NewFromUtf8( env->isolate(), bptr->data, NewStringType::kNormal, bptr->length) .FromMaybe(Local<Value>()); } - CHECK_EQ(config.format, ncrypto::EVPKeyPointer::PKFormatType::DER); + CHECK_EQ(config.format, EVPKeyPointer::PKFormatType::DER); // DER is binary, return it as a buffer. return Buffer::Copy(env, bptr->data, bptr->length).FromMaybe(Local<Value>()); } @@ -96,7 +102,7 @@ MaybeLocal<Value> BIOToStringOrBuffer( MaybeLocal<Value> WritePrivateKey( Environment* env, const EVPKeyPointer& pkey, - const ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig& config) { + const EVPKeyPointer::PrivateKeyEncodingConfig& config) { CHECK(pkey); auto res = pkey.writePrivateKey(config); if (res) { @@ -111,7 +117,7 @@ MaybeLocal<Value> WritePrivateKey( MaybeLocal<Value> WritePublicKey( Environment* env, const EVPKeyPointer& pkey, - const ncrypto::EVPKeyPointer::PublicKeyEncodingConfig& config) { + const EVPKeyPointer::PublicKeyEncodingConfig& config) { CHECK(pkey); auto res = pkey.writePublicKey(config); if (res) { @@ -243,7 +249,7 @@ Maybe<void> GetAsymmetricKeyDetail(Environment* env, KeyObjectData TryParsePrivateKey( Environment* env, - const ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig& config, + const EVPKeyPointer::PrivateKeyEncodingConfig& config, const ncrypto::Buffer<const unsigned char>& buffer) { auto res = EVPKeyPointer::TryParsePrivateKey(config, buffer); if (res) { @@ -285,7 +291,7 @@ Maybe<void> ExportJWKInner(Environment* env, Maybe<void> KeyObjectData::ToEncodedPublicKey( Environment* env, - const ncrypto::EVPKeyPointer::PublicKeyEncodingConfig& config, + const EVPKeyPointer::PublicKeyEncodingConfig& config, Local<Value>* out) { CHECK(key_type_ != KeyType::kKeyTypeSecret); if (config.output_key_object) { @@ -294,7 +300,7 @@ Maybe<void> KeyObjectData::ToEncodedPublicKey( return NothingIfFalse( KeyObjectHandle::Create(env, addRefWithType(KeyType::kKeyTypePublic)) .ToLocal(out)); - } else if (config.format == ncrypto::EVPKeyPointer::PKFormatType::JWK) { + } else if (config.format == EVPKeyPointer::PKFormatType::JWK) { *out = Object::New(env->isolate()); return ExportJWKInner( env, addRefWithType(KeyType::kKeyTypePublic), *out, false); @@ -306,14 +312,14 @@ Maybe<void> KeyObjectData::ToEncodedPublicKey( Maybe<void> KeyObjectData::ToEncodedPrivateKey( Environment* env, - const ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig& config, + const EVPKeyPointer::PrivateKeyEncodingConfig& config, Local<Value>* out) { CHECK(key_type_ != KeyType::kKeyTypeSecret); if (config.output_key_object) { return NothingIfFalse( KeyObjectHandle::Create(env, addRefWithType(KeyType::kKeyTypePrivate)) .ToLocal(out)); - } else if (config.format == ncrypto::EVPKeyPointer::PKFormatType::JWK) { + } else if (config.format == EVPKeyPointer::PKFormatType::JWK) { *out = Object::New(env->isolate()); return ExportJWKInner( env, addRefWithType(KeyType::kKeyTypePrivate), *out, false); @@ -323,16 +329,16 @@ Maybe<void> KeyObjectData::ToEncodedPrivateKey( WritePrivateKey(env, GetAsymmetricKey(), config).ToLocal(out)); } -Maybe<ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig> +Maybe<EVPKeyPointer::PrivateKeyEncodingConfig> KeyObjectData::GetPrivateKeyEncodingFromJs( const FunctionCallbackInfo<Value>& args, unsigned int* offset, KeyEncodingContext context) { Environment* env = Environment::GetCurrent(args); - ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig config; + EVPKeyPointer::PrivateKeyEncodingConfig config; if (!GetKeyFormatAndTypeFromJs(args, offset, context).To(&config)) { - return Nothing<ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig>(); + return Nothing<EVPKeyPointer::PrivateKeyEncodingConfig>(); } if (config.output_key_object) { @@ -343,10 +349,10 @@ KeyObjectData::GetPrivateKeyEncodingFromJs( if (context != kKeyContextInput) { if (args[*offset]->IsString()) { Utf8Value cipher_name(env->isolate(), args[*offset]); - config.cipher = EVP_get_cipherbyname(*cipher_name); + config.cipher = ncrypto::getCipherByName(cipher_name.ToStringView()); if (config.cipher == nullptr) { THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env); - return Nothing<ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig>(); + return Nothing<EVPKeyPointer::PrivateKeyEncodingConfig>(); } needs_passphrase = true; } else { @@ -361,7 +367,7 @@ KeyObjectData::GetPrivateKeyEncodingFromJs( ArrayBufferOrViewContents<char> passphrase(args[*offset]); if (!passphrase.CheckSizeInt32()) [[unlikely]] { THROW_ERR_OUT_OF_RANGE(env, "passphrase is too big"); - return Nothing<ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig>(); + return Nothing<EVPKeyPointer::PrivateKeyEncodingConfig>(); } config.passphrase = passphrase.ToDataPointer(); } else { @@ -370,11 +376,10 @@ KeyObjectData::GetPrivateKeyEncodingFromJs( } (*offset)++; - return Just<ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig>( - std::move(config)); + return Just<EVPKeyPointer::PrivateKeyEncodingConfig>(std::move(config)); } -Maybe<ncrypto::EVPKeyPointer::PublicKeyEncodingConfig> +Maybe<EVPKeyPointer::PublicKeyEncodingConfig> KeyObjectData::GetPublicKeyEncodingFromJs( const FunctionCallbackInfo<Value>& args, unsigned int* offset, @@ -390,7 +395,7 @@ KeyObjectData KeyObjectData::GetPrivateKeyFromJs( Environment* env = Environment::GetCurrent(args); auto key = ByteSource::FromStringOrBuffer(env, args[(*offset)++]); - ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig config; + EVPKeyPointer::PrivateKeyEncodingConfig config; if (!GetPrivateKeyEncodingFromJs(args, offset, kKeyContextInput) .To(&config)) { return {}; @@ -423,7 +428,7 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKeyFromJs( return {}; } - ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig config; + EVPKeyPointer::PrivateKeyEncodingConfig config; if (!KeyObjectData::GetPrivateKeyEncodingFromJs( args, offset, kKeyContextInput) .To(&config)) { @@ -435,7 +440,7 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKeyFromJs( .len = data.size(), }; - if (config.format == ncrypto::EVPKeyPointer::PKFormatType::PEM) { + if (config.format == EVPKeyPointer::PKFormatType::PEM) { // For PEM, we can easily determine whether it is a public or private key // by looking for the respective PEM tags. auto res = EVPKeyPointer::TryParsePublicKeyPEM(buffer); @@ -456,13 +461,13 @@ KeyObjectData KeyObjectData::GetPublicOrPrivateKeyFromJs( static const auto is_public = [](const auto& config, const auto& buffer) -> bool { switch (config.type) { - case ncrypto::EVPKeyPointer::PKEncodingType::PKCS1: + case EVPKeyPointer::PKEncodingType::PKCS1: return !EVPKeyPointer::IsRSAPrivateKey(buffer); - case ncrypto::EVPKeyPointer::PKEncodingType::SPKI: + case EVPKeyPointer::PKEncodingType::SPKI: return true; - case ncrypto::EVPKeyPointer::PKEncodingType::PKCS8: + case EVPKeyPointer::PKEncodingType::PKCS8: return false; - case ncrypto::EVPKeyPointer::PKEncodingType::SEC1: + case EVPKeyPointer::PKEncodingType::SEC1: return false; default: UNREACHABLE("Invalid key encoding type"); @@ -592,7 +597,7 @@ bool KeyObjectHandle::HasInstance(Environment* env, Local<Value> value) { return !t.IsEmpty() && t->HasInstance(value); } -v8::Local<v8::Function> KeyObjectHandle::Initialize(Environment* env) { +Local<Function> KeyObjectHandle::Initialize(Environment* env) { Local<FunctionTemplate> templ = env->crypto_key_object_handle_constructor(); if (templ.IsEmpty()) { Isolate* isolate = env->isolate(); @@ -755,22 +760,21 @@ void KeyObjectHandle::InitECRaw(const FunctionCallbackInfo<Value>& args) { MarkPopErrorOnReturn mark_pop_error_on_return; int id = OBJ_txt2nid(*name); - ECKeyPointer eckey(EC_KEY_new_by_curve_name(id)); + auto eckey = ECKeyPointer::NewByCurveName(id); if (!eckey) return args.GetReturnValue().Set(false); - const EC_GROUP* group = EC_KEY_get0_group(eckey.get()); - ECPointPointer pub(ECDH::BufferToPoint(env, group, args[1])); + const auto group = eckey.getGroup(); + auto pub = ECDH::BufferToPoint(env, group, args[1]); - if (!pub || - !eckey || - !EC_KEY_set_public_key(eckey.get(), pub.get())) { + if (!pub || !eckey || !eckey.setPublicKey(pub)) { return args.GetReturnValue().Set(false); } auto pkey = EVPKeyPointer::New(); - if (!EVP_PKEY_assign_EC_KEY(pkey.get(), eckey.get())) + if (!pkey.assign(eckey)) { args.GetReturnValue().Set(false); + } eckey.release(); // Release ownership of the key @@ -954,14 +958,10 @@ bool KeyObjectHandle::CheckEcKeyData() const { CHECK_EQ(key.id(), EVP_PKEY_EC); if (data_.GetKeyType() == kKeyTypePrivate) { - return EVP_PKEY_check(ctx.get()) == 1; + return ctx.privateCheck(); } -#if OPENSSL_VERSION_MAJOR >= 3 - return EVP_PKEY_public_check_quick(ctx.get()) == 1; -#else - return EVP_PKEY_public_check(ctx.get()) == 1; -#endif + return ctx.publicCheck(); } void KeyObjectHandle::CheckEcKeyData(const FunctionCallbackInfo<Value>& args) { @@ -990,7 +990,7 @@ void KeyObjectHandle::Export(const FunctionCallbackInfo<Value>& args) { result = key->ExportSecretKey(); } else if (type == kKeyTypePublic) { unsigned int offset = 0; - ncrypto::EVPKeyPointer::PublicKeyEncodingConfig config; + EVPKeyPointer::PublicKeyEncodingConfig config; if (!KeyObjectData::GetPublicKeyEncodingFromJs( args, &offset, kKeyContextExport) .To(&config)) { @@ -1001,7 +1001,7 @@ void KeyObjectHandle::Export(const FunctionCallbackInfo<Value>& args) { } else { CHECK_EQ(type, kKeyTypePrivate); unsigned int offset = 0; - ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig config; + EVPKeyPointer::PrivateKeyEncodingConfig config; if (!KeyObjectData::GetPrivateKeyEncodingFromJs( args, &offset, kKeyContextExport) .To(&config)) { @@ -1022,12 +1022,12 @@ MaybeLocal<Value> KeyObjectHandle::ExportSecretKey() const { } MaybeLocal<Value> KeyObjectHandle::ExportPublicKey( - const ncrypto::EVPKeyPointer::PublicKeyEncodingConfig& config) const { + const EVPKeyPointer::PublicKeyEncodingConfig& config) const { return WritePublicKey(env(), data_.GetAsymmetricKey(), config); } MaybeLocal<Value> KeyObjectHandle::ExportPrivateKey( - const ncrypto::EVPKeyPointer::PrivateKeyEncodingConfig& config) const { + const EVPKeyPointer::PrivateKeyEncodingConfig& config) const { return WritePrivateKey(env(), data_.GetAsymmetricKey(), config); } @@ -1184,19 +1184,22 @@ void Initialize(Environment* env, Local<Object> target) { KeyObjectHandle::Initialize(env)).Check(); constexpr int kKeyEncodingPKCS1 = - static_cast<int>(ncrypto::EVPKeyPointer::PKEncodingType::PKCS1); + static_cast<int>(EVPKeyPointer::PKEncodingType::PKCS1); constexpr int kKeyEncodingPKCS8 = - static_cast<int>(ncrypto::EVPKeyPointer::PKEncodingType::PKCS8); + static_cast<int>(EVPKeyPointer::PKEncodingType::PKCS8); constexpr int kKeyEncodingSPKI = - static_cast<int>(ncrypto::EVPKeyPointer::PKEncodingType::SPKI); + static_cast<int>(EVPKeyPointer::PKEncodingType::SPKI); constexpr int kKeyEncodingSEC1 = - static_cast<int>(ncrypto::EVPKeyPointer::PKEncodingType::SEC1); + static_cast<int>(EVPKeyPointer::PKEncodingType::SEC1); constexpr int kKeyFormatDER = - static_cast<int>(ncrypto::EVPKeyPointer::PKFormatType::DER); + static_cast<int>(EVPKeyPointer::PKFormatType::DER); constexpr int kKeyFormatPEM = - static_cast<int>(ncrypto::EVPKeyPointer::PKFormatType::PEM); + static_cast<int>(EVPKeyPointer::PKFormatType::PEM); constexpr int kKeyFormatJWK = - static_cast<int>(ncrypto::EVPKeyPointer::PKFormatType::JWK); + static_cast<int>(EVPKeyPointer::PKFormatType::JWK); + + constexpr auto kSigEncDER = DSASigEnc::DER; + constexpr auto kSigEncP1363 = DSASigEnc::P1363; NODE_DEFINE_CONSTANT(target, kWebCryptoKeyFormatRaw); NODE_DEFINE_CONSTANT(target, kWebCryptoKeyFormatPKCS8); diff --git a/src/crypto/crypto_keys.h b/src/crypto/crypto_keys.h index 32832e87798372..e4f3e03e59bf48 100644 --- a/src/crypto/crypto_keys.h +++ b/src/crypto/crypto_keys.h @@ -33,10 +33,11 @@ enum KeyEncodingContext { enum class ParseKeyResult { kParseKeyNotRecognized = - static_cast<int>(EVPKeyPointer::PKParseError::NOT_RECOGNIZED), + static_cast<int>(ncrypto::EVPKeyPointer::PKParseError::NOT_RECOGNIZED), kParseKeyNeedPassphrase = - static_cast<int>(EVPKeyPointer::PKParseError::NEED_PASSPHRASE), - kParseKeyFailed = static_cast<int>(EVPKeyPointer::PKParseError::FAILED), + static_cast<int>(ncrypto::EVPKeyPointer::PKParseError::NEED_PASSPHRASE), + kParseKeyFailed = + static_cast<int>(ncrypto::EVPKeyPointer::PKParseError::FAILED), kParseKeyOk, }; @@ -45,7 +46,8 @@ class KeyObjectData final : public MemoryRetainer { public: static KeyObjectData CreateSecret(ByteSource key); - static KeyObjectData CreateAsymmetric(KeyType type, EVPKeyPointer&& pkey); + static KeyObjectData CreateAsymmetric(KeyType type, + ncrypto::EVPKeyPointer&& pkey); KeyObjectData(std::nullptr_t = nullptr); @@ -55,7 +57,7 @@ class KeyObjectData final : public MemoryRetainer { // These functions allow unprotected access to the raw key material and should // only be used to implement cryptographic operations requiring the key. - const EVPKeyPointer& GetAsymmetricKey() const; + const ncrypto::EVPKeyPointer& GetAsymmetricKey() const; const char* GetSymmetricKey() const; size_t GetSymmetricKeySize() const; @@ -103,11 +105,11 @@ class KeyObjectData final : public MemoryRetainer { private: explicit KeyObjectData(ByteSource symmetric_key); - explicit KeyObjectData(KeyType type, EVPKeyPointer&& pkey); + explicit KeyObjectData(KeyType type, ncrypto::EVPKeyPointer&& pkey); static KeyObjectData GetParsedKey(KeyType type, Environment* env, - EVPKeyPointer&& pkey, + ncrypto::EVPKeyPointer&& pkey, ParseKeyResult ret, const char* default_msg); @@ -116,10 +118,10 @@ class KeyObjectData final : public MemoryRetainer { struct Data { const ByteSource symmetric_key; - const EVPKeyPointer asymmetric_key; + const ncrypto::EVPKeyPointer asymmetric_key; explicit Data(ByteSource symmetric_key) : symmetric_key(std::move(symmetric_key)) {} - explicit Data(EVPKeyPointer asymmetric_key) + explicit Data(ncrypto::EVPKeyPointer asymmetric_key) : asymmetric_key(std::move(asymmetric_key)) {} }; std::shared_ptr<Data> data_; diff --git a/src/crypto/crypto_pbkdf2.cc b/src/crypto/crypto_pbkdf2.cc index dcaa430aacd3d7..1a0dff8238d938 100644 --- a/src/crypto/crypto_pbkdf2.cc +++ b/src/crypto/crypto_pbkdf2.cc @@ -88,20 +88,20 @@ Maybe<void> PBKDF2Traits::AdditionalConfig( CHECK(args[offset + 4]->IsString()); // digest_name params->iterations = args[offset + 2].As<Int32>()->Value(); - if (params->iterations < 0) { + if (params->iterations < 0) [[unlikely]] { THROW_ERR_OUT_OF_RANGE(env, "iterations must be <= %d", INT_MAX); return Nothing<void>(); } params->length = args[offset + 3].As<Int32>()->Value(); - if (params->length < 0) { + if (params->length < 0) [[unlikely]] { THROW_ERR_OUT_OF_RANGE(env, "length must be <= %d", INT_MAX); return Nothing<void>(); } Utf8Value name(args.GetIsolate(), args[offset + 4]); params->digest = ncrypto::getDigestByName(name.ToStringView()); - if (params->digest == nullptr) { + if (params->digest == nullptr) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *name); return Nothing<void>(); } diff --git a/src/crypto/crypto_random.cc b/src/crypto/crypto_random.cc index b59e394d9a7e2c..4e9ff906c06571 100644 --- a/src/crypto/crypto_random.cc +++ b/src/crypto/crypto_random.cc @@ -7,14 +7,13 @@ #include "threadpoolwork-inl.h" #include "v8.h" -#include <openssl/bn.h> -#include <openssl/rand.h> #include <compare> namespace node { +using ncrypto::BignumPointer; +using ncrypto::ClearErrorOnReturn; using v8::ArrayBuffer; -using v8::BackingStore; using v8::Boolean; using v8::FunctionCallbackInfo; using v8::Int32; @@ -25,12 +24,22 @@ using v8::MaybeLocal; using v8::Nothing; using v8::Object; using v8::Uint32; +using v8::Undefined; using v8::Value; namespace crypto { +namespace { +BignumPointer::PrimeCheckCallback getPrimeCheckCallback(Environment* env) { + // The callback is used to check if the operation should be stopped. + // Currently, the only check we perform is if env->is_stopping() + // is true. + return [env](int a, int b) -> bool { return !env->is_stopping(); }; +} + +} // namespace MaybeLocal<Value> RandomBytesTraits::EncodeOutput( Environment* env, const RandomBytesConfig& params, ByteSource* unused) { - return v8::Undefined(env->isolate()); + return Undefined(env->isolate()); } Maybe<void> RandomBytesTraits::AdditionalConfig( @@ -69,14 +78,13 @@ void RandomPrimeConfig::MemoryInfo(MemoryTracker* tracker) const { MaybeLocal<Value> RandomPrimeTraits::EncodeOutput( Environment* env, const RandomPrimeConfig& params, ByteSource* unused) { size_t size = params.prime.byteLength(); - std::shared_ptr<BackingStore> store = - ArrayBuffer::NewBackingStore(env->isolate(), size); + auto store = ArrayBuffer::NewBackingStore(env->isolate(), size); CHECK_EQ(size, BignumPointer::EncodePaddedInto( params.prime.get(), reinterpret_cast<unsigned char*>(store->Data()), size)); - return ArrayBuffer::New(env->isolate(), store); + return ArrayBuffer::New(env->isolate(), std::move(store)); } Maybe<void> RandomPrimeTraits::AdditionalConfig( @@ -95,7 +103,7 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( if (!args[offset + 2]->IsUndefined()) { ArrayBufferOrViewContents<unsigned char> add(args[offset + 2]); params->add.reset(add.data(), add.size()); - if (!params->add) { + if (!params->add) [[unlikely]] { THROW_ERR_CRYPTO_OPERATION_FAILED(env, "could not generate prime"); return Nothing<void>(); } @@ -104,7 +112,7 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( if (!args[offset + 3]->IsUndefined()) { ArrayBufferOrViewContents<unsigned char> rem(args[offset + 3]); params->rem.reset(rem.data(), rem.size()); - if (!params->rem) { + if (!params->rem) [[unlikely]] { THROW_ERR_CRYPTO_OPERATION_FAILED(env, "could not generate prime"); return Nothing<void>(); } @@ -115,7 +123,7 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( CHECK_GT(bits, 0); if (params->add) { - if (BignumPointer::GetBitCount(params->add.get()) > bits) { + if (BignumPointer::GetBitCount(params->add.get()) > bits) [[unlikely]] { // If we allowed this, the best case would be returning a static prime // that wasn't generated randomly. The worst case would be an infinite // loop within OpenSSL, blocking the main thread or one of the threads @@ -124,7 +132,7 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( return Nothing<void>(); } - if (params->rem && params->add <= params->rem) { + if (params->rem && params->add <= params->rem) [[unlikely]] { // This would definitely lead to an infinite loop if allowed since // OpenSSL does not check this condition. THROW_ERR_OUT_OF_RANGE(env, "invalid options.rem"); @@ -135,7 +143,7 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( params->bits = bits; params->safe = safe; params->prime = BignumPointer::NewSecure(); - if (!params->prime) { + if (!params->prime) [[unlikely]] { THROW_ERR_CRYPTO_OPERATION_FAILED(env, "could not generate prime"); return Nothing<void>(); } @@ -146,21 +154,14 @@ Maybe<void> RandomPrimeTraits::AdditionalConfig( bool RandomPrimeTraits::DeriveBits(Environment* env, const RandomPrimeConfig& params, ByteSource* unused) { - // BN_generate_prime_ex() calls RAND_bytes_ex() internally. - // Make sure the CSPRNG is properly seeded. - CHECK(ncrypto::CSPRNG(nullptr, 0)); - - if (BN_generate_prime_ex( - params.prime.get(), - params.bits, - params.safe ? 1 : 0, - params.add.get(), - params.rem.get(), - nullptr) == 0) { - return false; - } - - return true; + return params.prime.generate( + BignumPointer::PrimeConfig{ + .bits = params.bits, + .safe = params.safe, + .add = params.add, + .rem = params.rem, + }, + getPrimeCheckCallback(env)); } void CheckPrimeConfig::MemoryInfo(MemoryTracker* tracker) const { @@ -175,6 +176,11 @@ Maybe<void> CheckPrimeTraits::AdditionalConfig( ArrayBufferOrViewContents<unsigned char> candidate(args[offset]); params->candidate = BignumPointer(candidate.data(), candidate.size()); + if (!params->candidate) { + ThrowCryptoError( + Environment::GetCurrent(args), ERR_get_error(), "BignumPointer"); + return Nothing<void>(); + } CHECK(args[offset + 1]->IsInt32()); // Checks params->checks = args[offset + 1].As<Int32>()->Value(); @@ -187,15 +193,9 @@ bool CheckPrimeTraits::DeriveBits( Environment* env, const CheckPrimeConfig& params, ByteSource* out) { - - BignumCtxPointer ctx(BN_CTX_new()); - - int ret = BN_is_prime_ex( - params.candidate.get(), - params.checks, - ctx.get(), - nullptr); - if (ret < 0) return false; + int ret = params.candidate.isPrime(params.checks, getPrimeCheckCallback(env)); + if (ret < 0) [[unlikely]] + return false; ByteSource::Builder buf(1); buf.data<char>()[0] = ret; *out = std::move(buf).release(); diff --git a/src/crypto/crypto_random.h b/src/crypto/crypto_random.h index 01cfc38f45e2f9..8b3193c24f6aa1 100644 --- a/src/crypto/crypto_random.h +++ b/src/crypto/crypto_random.h @@ -45,9 +45,9 @@ struct RandomBytesTraits final { using RandomBytesJob = DeriveBitsJob<RandomBytesTraits>; struct RandomPrimeConfig final : public MemoryRetainer { - BignumPointer prime; - BignumPointer rem; - BignumPointer add; + ncrypto::BignumPointer prime; + ncrypto::BignumPointer rem; + ncrypto::BignumPointer add; int bits; bool safe; void MemoryInfo(MemoryTracker* tracker) const override; @@ -80,7 +80,7 @@ struct RandomPrimeTraits final { using RandomPrimeJob = DeriveBitsJob<RandomPrimeTraits>; struct CheckPrimeConfig final : public MemoryRetainer { - BignumPointer candidate; + ncrypto::BignumPointer candidate; int checks = 1; void MemoryInfo(MemoryTracker* tracker) const override; diff --git a/src/crypto/crypto_rsa.cc b/src/crypto/crypto_rsa.cc index 6d360554b31d53..f0e0f9fd5f94a1 100644 --- a/src/crypto/crypto_rsa.cc +++ b/src/crypto/crypto_rsa.cc @@ -14,10 +14,16 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::DataPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::RSAPointer; using v8::ArrayBuffer; -using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::FunctionCallbackInfo; using v8::Int32; +using v8::Integer; using v8::JustVoid; using v8::Local; using v8::Maybe; @@ -30,37 +36,28 @@ using v8::Value; namespace crypto { EVPKeyCtxPointer RsaKeyGenTraits::Setup(RsaKeyPairGenConfig* params) { - EVPKeyCtxPointer ctx( - EVP_PKEY_CTX_new_id( - params->params.variant == kKeyVariantRSA_PSS - ? EVP_PKEY_RSA_PSS - : EVP_PKEY_RSA, - nullptr)); - - if (EVP_PKEY_keygen_init(ctx.get()) <= 0) - return EVPKeyCtxPointer(); - - if (EVP_PKEY_CTX_set_rsa_keygen_bits( - ctx.get(), - params->params.modulus_bits) <= 0) { - return EVPKeyCtxPointer(); + auto ctx = EVPKeyCtxPointer::NewFromID( + params->params.variant == kKeyVariantRSA_PSS ? EVP_PKEY_RSA_PSS + : EVP_PKEY_RSA); + + if (!ctx.initForKeygen() || + !ctx.setRsaKeygenBits(params->params.modulus_bits)) { + return {}; } // 0x10001 is the default RSA exponent. - if (params->params.exponent != 0x10001) { + if (params->params.exponent != EVPKeyCtxPointer::kDefaultRsaExponent) { auto bn = BignumPointer::New(); - CHECK(bn.setWord(params->params.exponent)); - // EVP_CTX accepts ownership of bn on success. - if (EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx.get(), bn.get()) <= 0) - return EVPKeyCtxPointer(); - - bn.release(); + if (!bn.setWord(params->params.exponent) || + !ctx.setRsaKeygenPubExp(std::move(bn))) { + return {}; + } } if (params->params.variant == kKeyVariantRSA_PSS) { if (params->params.md != nullptr && - EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx.get(), params->params.md) <= 0) { - return EVPKeyCtxPointer(); + !ctx.setRsaPssKeygenMd(params->params.md)) { + return {}; } // TODO(tniessen): This appears to only be necessary in OpenSSL 3, while @@ -72,11 +69,8 @@ EVPKeyCtxPointer RsaKeyGenTraits::Setup(RsaKeyPairGenConfig* params) { mgf1_md = params->params.md; } - if (mgf1_md != nullptr && - EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md( - ctx.get(), - mgf1_md) <= 0) { - return EVPKeyCtxPointer(); + if (mgf1_md != nullptr && !ctx.setRsaPssKeygenMgf1Md(mgf1_md)) { + return {}; } int saltlen = params->params.saltlen; @@ -84,11 +78,8 @@ EVPKeyCtxPointer RsaKeyGenTraits::Setup(RsaKeyPairGenConfig* params) { saltlen = EVP_MD_size(params->params.md); } - if (saltlen >= 0 && - EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen( - ctx.get(), - saltlen) <= 0) { - return EVPKeyCtxPointer(); + if (saltlen >= 0 && !ctx.setRsaPssSaltlen(saltlen)) { + return {}; } } @@ -150,7 +141,7 @@ Maybe<void> RsaKeyGenTraits::AdditionalConfig( if (!args[*offset]->IsUndefined()) { CHECK(args[*offset]->IsString()); Utf8Value digest(env->isolate(), args[*offset]); - params->params.md = EVP_get_digestbyname(*digest); + params->params.md = ncrypto::getDigestByName(digest.ToStringView()); if (params->params.md == nullptr) { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest); return Nothing<void>(); @@ -160,7 +151,7 @@ Maybe<void> RsaKeyGenTraits::AdditionalConfig( if (!args[*offset + 1]->IsUndefined()) { CHECK(args[*offset + 1]->IsString()); Utf8Value digest(env->isolate(), args[*offset + 1]); - params->params.mgf1_md = EVP_get_digestbyname(*digest); + params->params.mgf1_md = ncrypto::getDigestByName(digest.ToStringView()); if (params->params.mgf1_md == nullptr) { THROW_ERR_CRYPTO_INVALID_DIGEST( env, "Invalid MGF1 digest: %s", *digest); @@ -192,8 +183,11 @@ WebCryptoKeyExportStatus RSA_JWK_Export(const KeyObjectData& key_data, return WebCryptoKeyExportStatus::FAILED; } -template <PublicKeyCipher::EVP_PKEY_cipher_init_t init, - PublicKeyCipher::EVP_PKEY_cipher_t cipher> +using Cipher_t = DataPointer(const EVPKeyPointer& key, + const ncrypto::Rsa::CipherParams& params, + const ncrypto::Buffer<const void> in); + +template <Cipher_t cipher> WebCryptoCipherStatus RSA_Cipher(Environment* env, const KeyObjectData& key_data, const RSACipherConfig& params, @@ -202,45 +196,16 @@ WebCryptoCipherStatus RSA_Cipher(Environment* env, CHECK_NE(key_data.GetKeyType(), kKeyTypeSecret); Mutex::ScopedLock lock(key_data.mutex()); const auto& m_pkey = key_data.GetAsymmetricKey(); + const ncrypto::Rsa::CipherParams nparams{ + .padding = params.padding, + .digest = params.digest, + .label = params.label, + }; - EVPKeyCtxPointer ctx = m_pkey.newCtx(); - - if (!ctx || init(ctx.get()) <= 0) - return WebCryptoCipherStatus::FAILED; - - if (EVP_PKEY_CTX_set_rsa_padding(ctx.get(), params.padding) <= 0) { - return WebCryptoCipherStatus::FAILED; - } - - if (params.digest != nullptr && - (EVP_PKEY_CTX_set_rsa_oaep_md(ctx.get(), params.digest) <= 0 || - EVP_PKEY_CTX_set_rsa_mgf1_md(ctx.get(), params.digest) <= 0)) { - return WebCryptoCipherStatus::FAILED; - } - - if (!SetRsaOaepLabel(ctx, params.label)) return WebCryptoCipherStatus::FAILED; - - size_t out_len = 0; - if (cipher( - ctx.get(), - nullptr, - &out_len, - in.data<unsigned char>(), - in.size()) <= 0) { - return WebCryptoCipherStatus::FAILED; - } - - ByteSource::Builder buf(out_len); - - if (cipher(ctx.get(), - buf.data<unsigned char>(), - &out_len, - in.data<unsigned char>(), - in.size()) <= 0) { - return WebCryptoCipherStatus::FAILED; - } + auto data = cipher(m_pkey, nparams, in); + if (!data) return WebCryptoCipherStatus::FAILED; - *out = std::move(buf).release(out_len); + *out = ByteSource::Allocated(data.release()); return WebCryptoCipherStatus::OK; } } // namespace @@ -312,7 +277,7 @@ Maybe<void> RSACipherTraits::AdditionalConfig( CHECK(args[offset + 1]->IsString()); // digest Utf8Value digest(env->isolate(), args[offset + 1]); - params->digest = EVP_get_digestbyname(*digest); + params->digest = ncrypto::getDigestByName(digest.ToStringView()); if (params->digest == nullptr) { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest); return Nothing<void>(); @@ -345,12 +310,10 @@ WebCryptoCipherStatus RSACipherTraits::DoCipher(Environment* env, switch (cipher_mode) { case kWebCryptoCipherEncrypt: CHECK_EQ(key_data.GetKeyType(), kKeyTypePublic); - return RSA_Cipher<EVP_PKEY_encrypt_init, EVP_PKEY_encrypt>( - env, key_data, params, in, out); + return RSA_Cipher<ncrypto::Rsa::encrypt>(env, key_data, params, in, out); case kWebCryptoCipherDecrypt: CHECK_EQ(key_data.GetKeyType(), kKeyTypePrivate); - return RSA_Cipher<EVP_PKEY_decrypt_init, EVP_PKEY_decrypt>( - env, key_data, params, in, out); + return RSA_Cipher<ncrypto::Rsa::decrypt>(env, key_data, params, in, out); } return WebCryptoCipherStatus::FAILED; } @@ -360,50 +323,37 @@ Maybe<void> ExportJWKRsaKey(Environment* env, Local<Object> target) { Mutex::ScopedLock lock(key.mutex()); const auto& m_pkey = key.GetAsymmetricKey(); - int type = m_pkey.id(); - CHECK(type == EVP_PKEY_RSA || type == EVP_PKEY_RSA_PSS); - // TODO(tniessen): Remove the "else" branch once we drop support for OpenSSL - // versions older than 1.1.1e via FIPS / dynamic linking. - const RSA* rsa; - if (OpenSSL_version_num() >= 0x1010105fL) { - rsa = EVP_PKEY_get0_RSA(m_pkey.get()); - } else { - rsa = static_cast<const RSA*>(EVP_PKEY_get0(m_pkey.get())); - } - CHECK_NOT_NULL(rsa); - - const BIGNUM* n; - const BIGNUM* e; - const BIGNUM* d; - const BIGNUM* p; - const BIGNUM* q; - const BIGNUM* dp; - const BIGNUM* dq; - const BIGNUM* qi; - RSA_get0_key(rsa, &n, &e, &d); - - if (target->Set( - env->context(), - env->jwk_kty_string(), - env->jwk_rsa_string()).IsNothing()) { + const ncrypto::Rsa rsa = m_pkey; + if (!rsa || + target->Set(env->context(), env->jwk_kty_string(), env->jwk_rsa_string()) + .IsNothing()) { return Nothing<void>(); } - if (SetEncodedValue(env, target, env->jwk_n_string(), n).IsNothing() || - SetEncodedValue(env, target, env->jwk_e_string(), e).IsNothing()) { + auto pub_key = rsa.getPublicKey(); + + if (SetEncodedValue(env, target, env->jwk_n_string(), pub_key.n) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_e_string(), pub_key.e) + .IsNothing()) { return Nothing<void>(); } if (key.GetKeyType() == kKeyTypePrivate) { - RSA_get0_factors(rsa, &p, &q); - RSA_get0_crt_params(rsa, &dp, &dq, &qi); - if (SetEncodedValue(env, target, env->jwk_d_string(), d).IsNothing() || - SetEncodedValue(env, target, env->jwk_p_string(), p).IsNothing() || - SetEncodedValue(env, target, env->jwk_q_string(), q).IsNothing() || - SetEncodedValue(env, target, env->jwk_dp_string(), dp).IsNothing() || - SetEncodedValue(env, target, env->jwk_dq_string(), dq).IsNothing() || - SetEncodedValue(env, target, env->jwk_qi_string(), qi).IsNothing()) { + auto pvt_key = rsa.getPrivateKey(); + if (SetEncodedValue(env, target, env->jwk_d_string(), pub_key.d) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_p_string(), pvt_key.p) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_q_string(), pvt_key.q) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_dp_string(), pvt_key.dp) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_dq_string(), pvt_key.dq) + .IsNothing() || + SetEncodedValue(env, target, env->jwk_qi_string(), pvt_key.qi) + .IsNothing()) { return Nothing<void>(); } } @@ -436,15 +386,12 @@ KeyObjectData ImportJWKRsaKey(Environment* env, KeyType type = d_value->IsString() ? kKeyTypePrivate : kKeyTypePublic; RSAPointer rsa(RSA_new()); + ncrypto::Rsa rsa_view(rsa.get()); ByteSource n = ByteSource::FromEncodedString(env, n_value.As<String>()); ByteSource e = ByteSource::FromEncodedString(env, e_value.As<String>()); - if (!RSA_set0_key( - rsa.get(), - n.ToBN().release(), - e.ToBN().release(), - nullptr)) { + if (!rsa_view.setPublicKey(n.ToBN(), e.ToBN())) { THROW_ERR_CRYPTO_INVALID_JWK(env, "Invalid JWK RSA key"); return {}; } @@ -481,20 +428,15 @@ KeyObjectData ImportJWKRsaKey(Environment* env, ByteSource dq = ByteSource::FromEncodedString(env, dq_value.As<String>()); ByteSource qi = ByteSource::FromEncodedString(env, qi_value.As<String>()); - if (!RSA_set0_key(rsa.get(), nullptr, nullptr, d.ToBN().release()) || - !RSA_set0_factors(rsa.get(), p.ToBN().release(), q.ToBN().release()) || - !RSA_set0_crt_params( - rsa.get(), - dp.ToBN().release(), - dq.ToBN().release(), - qi.ToBN().release())) { + if (!rsa_view.setPrivateKey( + d.ToBN(), q.ToBN(), p.ToBN(), dp.ToBN(), dq.ToBN(), qi.ToBN())) { THROW_ERR_CRYPTO_INVALID_JWK(env, "Invalid JWK RSA key"); return {}; } } - auto pkey = EVPKeyPointer::New(); - CHECK_EQ(EVP_PKEY_set1_RSA(pkey.get(), rsa.get()), 1); + auto pkey = EVPKeyPointer::NewRSA(std::move(rsa)); + if (!pkey) return {}; return KeyObjectData::CreateAsymmetric(type, std::move(pkey)); } @@ -502,43 +444,32 @@ KeyObjectData ImportJWKRsaKey(Environment* env, Maybe<void> GetRsaKeyDetail(Environment* env, const KeyObjectData& key, Local<Object> target) { - const BIGNUM* e; // Public Exponent - const BIGNUM* n; // Modulus - Mutex::ScopedLock lock(key.mutex()); const auto& m_pkey = key.GetAsymmetricKey(); - int type = m_pkey.id(); - CHECK(type == EVP_PKEY_RSA || type == EVP_PKEY_RSA_PSS); // TODO(tniessen): Remove the "else" branch once we drop support for OpenSSL // versions older than 1.1.1e via FIPS / dynamic linking. - const RSA* rsa; - if (OpenSSL_version_num() >= 0x1010105fL) { - rsa = EVP_PKEY_get0_RSA(m_pkey.get()); - } else { - rsa = static_cast<const RSA*>(EVP_PKEY_get0(m_pkey.get())); - } - CHECK_NOT_NULL(rsa); + const ncrypto::Rsa rsa = m_pkey; + if (!rsa) return Nothing<void>(); - RSA_get0_key(rsa, &n, &e, nullptr); + auto pub_key = rsa.getPublicKey(); if (target ->Set(env->context(), env->modulus_length_string(), - Number::New(env->isolate(), - static_cast<double>(BignumPointer::GetBitCount(n)))) + Number::New( + env->isolate(), + static_cast<double>(BignumPointer::GetBitCount(pub_key.n)))) .IsNothing()) { return Nothing<void>(); } - std::unique_ptr<BackingStore> public_exponent; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - public_exponent = ArrayBuffer::NewBackingStore( - env->isolate(), BignumPointer::GetByteCount(e)); - } + auto public_exponent = ArrayBuffer::NewBackingStore( + env->isolate(), + BignumPointer::GetByteCount(pub_key.e), + BackingStoreInitializationMode::kUninitialized); CHECK_EQ(BignumPointer::EncodePaddedInto( - e, + pub_key.e, static_cast<unsigned char*>(public_exponent->Data()), public_exponent->ByteLength()), public_exponent->ByteLength()); @@ -551,7 +482,7 @@ Maybe<void> GetRsaKeyDetail(Environment* env, return Nothing<void>(); } - if (type == EVP_PKEY_RSA_PSS) { + if (m_pkey.id() == EVP_PKEY_RSA_PSS) { // Due to the way ASN.1 encoding works, default values are omitted when // encoding the data structure. However, there are also RSA-PSS keys for // which no parameters are set. In that case, the ASN.1 RSASSA-PSS-params @@ -561,64 +492,34 @@ Maybe<void> GetRsaKeyDetail(Environment* env, // In that case, RSA_get0_pss_params does not return nullptr but all fields // of the returned RSA_PSS_PARAMS will be set to nullptr. - const RSA_PSS_PARAMS* params = RSA_get0_pss_params(rsa); - if (params != nullptr) { - int hash_nid = NID_sha1; - int mgf_nid = NID_mgf1; - int mgf1_hash_nid = NID_sha1; - int64_t salt_length = 20; - - if (params->hashAlgorithm != nullptr) { - const ASN1_OBJECT* hash_obj; - X509_ALGOR_get0(&hash_obj, nullptr, nullptr, params->hashAlgorithm); - hash_nid = OBJ_obj2nid(hash_obj); - } - + auto maybe_params = rsa.getPssParams(); + if (maybe_params.has_value()) { + auto& params = maybe_params.value(); if (target - ->Set( - env->context(), - env->hash_algorithm_string(), - OneByteString(env->isolate(), OBJ_nid2ln(hash_nid))) + ->Set(env->context(), + env->hash_algorithm_string(), + OneByteString(env->isolate(), params.digest)) .IsNothing()) { return Nothing<void>(); } - if (params->maskGenAlgorithm != nullptr) { - const ASN1_OBJECT* mgf_obj; - X509_ALGOR_get0(&mgf_obj, nullptr, nullptr, params->maskGenAlgorithm); - mgf_nid = OBJ_obj2nid(mgf_obj); - if (mgf_nid == NID_mgf1) { - const ASN1_OBJECT* mgf1_hash_obj; - X509_ALGOR_get0(&mgf1_hash_obj, nullptr, nullptr, params->maskHash); - mgf1_hash_nid = OBJ_obj2nid(mgf1_hash_obj); - } - } - // If, for some reason, the MGF is not MGF1, then the MGF1 hash function // is intentionally not added to the object. - if (mgf_nid == NID_mgf1) { + if (params.mgf1_digest.has_value()) { + auto digest = params.mgf1_digest.value(); if (target - ->Set( - env->context(), - env->mgf1_hash_algorithm_string(), - OneByteString(env->isolate(), OBJ_nid2ln(mgf1_hash_nid))) + ->Set(env->context(), + env->mgf1_hash_algorithm_string(), + OneByteString(env->isolate(), digest)) .IsNothing()) { return Nothing<void>(); } } - if (params->saltLength != nullptr) { - if (ASN1_INTEGER_get_int64(&salt_length, params->saltLength) != 1) { - ThrowCryptoError(env, ERR_get_error(), "ASN1_INTEGER_get_in64 error"); - return Nothing<void>(); - } - } - if (target - ->Set( - env->context(), - env->salt_length_string(), - Number::New(env->isolate(), static_cast<double>(salt_length))) + ->Set(env->context(), + env->salt_length_string(), + Integer::New(env->isolate(), params.salt_length)) .IsNothing()) { return Nothing<void>(); } diff --git a/src/crypto/crypto_rsa.h b/src/crypto/crypto_rsa.h index cbab0ef15acdf7..6fc48da1aea2cd 100644 --- a/src/crypto/crypto_rsa.h +++ b/src/crypto/crypto_rsa.h @@ -41,7 +41,7 @@ struct RsaKeyGenTraits final { using AdditionalParameters = RsaKeyPairGenConfig; static constexpr const char* JobName = "RsaKeyPairGenJob"; - static EVPKeyCtxPointer Setup(RsaKeyPairGenConfig* params); + static ncrypto::EVPKeyCtxPointer Setup(RsaKeyPairGenConfig* params); static v8::Maybe<void> AdditionalConfig( CryptoJobMode mode, @@ -77,7 +77,7 @@ struct RSAKeyExportTraits final { using RSAKeyExportJob = KeyExportJob<RSAKeyExportTraits>; struct RSACipherConfig final : public MemoryRetainer { - CryptoJobMode mode; + CryptoJobMode mode = kCryptoJobAsync; ByteSource label; int padding = 0; const EVP_MD* digest = nullptr; diff --git a/src/crypto/crypto_sig.cc b/src/crypto/crypto_sig.cc index 0e808013a31f9d..175a8e92ef437f 100644 --- a/src/crypto/crypto_sig.cc +++ b/src/crypto/crypto_sig.cc @@ -12,15 +12,22 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::ClearErrorOnReturn; +using ncrypto::DataPointer; +using ncrypto::ECDSASigPointer; +using ncrypto::EVPKeyCtxPointer; +using ncrypto::EVPKeyPointer; +using ncrypto::EVPMDCtxPointer; using v8::ArrayBuffer; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Boolean; using v8::FunctionCallbackInfo; using v8::FunctionTemplate; using v8::HandleScope; using v8::Int32; using v8::Isolate; -using v8::Just; using v8::JustVoid; using v8::Local; using v8::Maybe; @@ -32,44 +39,40 @@ using v8::Value; namespace crypto { namespace { -bool ValidateDSAParameters(EVP_PKEY* key) { - /* Validate DSA2 parameters from FIPS 186-4 */ - auto id = EVPKeyPointer::base_id(key); -#if OPENSSL_VERSION_MAJOR >= 3 - if (EVP_default_properties_is_fips_enabled(nullptr) && EVP_PKEY_DSA == id) { -#else - if (FIPS_mode() && EVP_PKEY_DSA == id) { -#endif - const DSA* dsa = EVP_PKEY_get0_DSA(key); - const BIGNUM* p; - const BIGNUM* q; - DSA_get0_pqg(dsa, &p, &q, nullptr); - int L = BignumPointer::GetBitCount(p); - int N = BignumPointer::GetBitCount(q); - - return (L == 1024 && N == 160) || - (L == 2048 && N == 224) || - (L == 2048 && N == 256) || - (L == 3072 && N == 256); +int GetPaddingFromJS(const EVPKeyPointer& key, Local<Value> val) { + int padding = key.getDefaultSignPadding(); + if (!val->IsUndefined()) [[likely]] { + CHECK(val->IsInt32()); + padding = val.As<Int32>()->Value(); } + return padding; +} - return true; +std::optional<int> GetSaltLenFromJS(Local<Value> val) { + std::optional<int> salt_len; + if (!val->IsUndefined()) [[likely]] { + CHECK(val->IsInt32()); + salt_len = val.As<Int32>()->Value(); + } + return salt_len; +} + +DSASigEnc GetDSASigEncFromJS(Local<Value> val) { + CHECK(val->IsInt32()); + int i = val.As<Int32>()->Value(); + if (i < 0 || i >= static_cast<int>(DSASigEnc::Invalid)) [[unlikely]] { + return DSASigEnc::Invalid; + } + return static_cast<DSASigEnc>(val.As<Int32>()->Value()); } bool ApplyRSAOptions(const EVPKeyPointer& pkey, EVP_PKEY_CTX* pkctx, int padding, - const Maybe<int>& salt_len) { - int id = pkey.id(); - if (id == EVP_PKEY_RSA || id == EVP_PKEY_RSA2 || id == EVP_PKEY_RSA_PSS) { - if (EVP_PKEY_CTX_set_rsa_padding(pkctx, padding) <= 0) - return false; - if (padding == RSA_PKCS1_PSS_PADDING && salt_len.IsJust()) { - if (EVP_PKEY_CTX_set_rsa_pss_saltlen(pkctx, salt_len.FromJust()) <= 0) - return false; - } + std::optional<int> salt_len) { + if (pkey.isRsaVariant()) { + return EVPKeyCtxPointer::setRsaPadding(pkctx, padding, salt_len); } - return true; } @@ -77,38 +80,31 @@ std::unique_ptr<BackingStore> Node_SignFinal(Environment* env, EVPMDCtxPointer&& mdctx, const EVPKeyPointer& pkey, int padding, - Maybe<int> pss_salt_len) { - unsigned char m[EVP_MAX_MD_SIZE]; - unsigned int m_len; - - if (!EVP_DigestFinal_ex(mdctx.get(), m, &m_len)) + std::optional<int> pss_salt_len) { + auto data = mdctx.digestFinal(mdctx.getExpectedSize()); + if (!data) [[unlikely]] return nullptr; - size_t sig_len = pkey.size(); - std::unique_ptr<BackingStore> sig; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - sig = ArrayBuffer::NewBackingStore(env->isolate(), sig_len); - } + auto sig = ArrayBuffer::NewBackingStore(env->isolate(), pkey.size()); + ncrypto::Buffer<unsigned char> sig_buf{ + .data = static_cast<unsigned char*>(sig->Data()), + .len = pkey.size(), + }; + EVPKeyCtxPointer pkctx = pkey.newCtx(); - if (pkctx && EVP_PKEY_sign_init(pkctx.get()) > 0 && + if (pkctx.initForSign() > 0 && ApplyRSAOptions(pkey, pkctx.get(), padding, pss_salt_len) && - EVP_PKEY_CTX_set_signature_md(pkctx.get(), EVP_MD_CTX_md(mdctx.get())) > - 0 && - EVP_PKEY_sign(pkctx.get(), - static_cast<unsigned char*>(sig->Data()), - &sig_len, - m, - m_len) > 0) { - CHECK_LE(sig_len, sig->ByteLength()); - if (sig_len == 0) { - sig = ArrayBuffer::NewBackingStore(env->isolate(), 0); - } else if (sig_len != sig->ByteLength()) { - std::unique_ptr<BackingStore> old_sig = std::move(sig); - sig = ArrayBuffer::NewBackingStore(env->isolate(), sig_len); - memcpy(static_cast<char*>(sig->Data()), - static_cast<char*>(old_sig->Data()), - sig_len); + pkctx.setSignatureMd(mdctx) && pkctx.signInto(data, &sig_buf)) + [[likely]] { + CHECK_LE(sig_buf.len, sig->ByteLength()); + if (sig_buf.len < sig->ByteLength()) { + auto new_sig = ArrayBuffer::NewBackingStore(env->isolate(), sig_buf.len); + if (sig_buf.len > 0) [[likely]] { + memcpy(static_cast<char*>(new_sig->Data()), + static_cast<char*>(sig->Data()), + sig_buf.len); + } + sig = std::move(new_sig); } return sig; } @@ -116,64 +112,26 @@ std::unique_ptr<BackingStore> Node_SignFinal(Environment* env, return nullptr; } -int GetDefaultSignPadding(const EVPKeyPointer& m_pkey) { - return m_pkey.id() == EVP_PKEY_RSA_PSS ? RSA_PKCS1_PSS_PADDING - : RSA_PKCS1_PADDING; -} - -unsigned int GetBytesOfRS(const EVPKeyPointer& pkey) { - int bits, base_id = pkey.base_id(); - - if (base_id == EVP_PKEY_DSA) { - const DSA* dsa_key = EVP_PKEY_get0_DSA(pkey.get()); - // Both r and s are computed mod q, so their width is limited by that of q. - bits = BignumPointer::GetBitCount(DSA_get0_q(dsa_key)); - } else if (base_id == EVP_PKEY_EC) { - const EC_KEY* ec_key = EVP_PKEY_get0_EC_KEY(pkey.get()); - const EC_GROUP* ec_group = EC_KEY_get0_group(ec_key); - bits = EC_GROUP_order_bits(ec_group); - } else { - return kNoDsaSignature; - } - - return (bits + 7) / 8; -} - -bool ExtractP1363( - const unsigned char* sig_data, - unsigned char* out, - size_t len, - size_t n) { - ECDSASigPointer asn1_sig(d2i_ECDSA_SIG(nullptr, &sig_data, len)); - if (!asn1_sig) - return false; - - const BIGNUM* pr; - const BIGNUM* ps; - ECDSA_SIG_get0(asn1_sig.get(), &pr, &ps); - - return BignumPointer::EncodePaddedInto(pr, out, n) > 0 && - BignumPointer::EncodePaddedInto(ps, out + n, n) > 0; -} - // Returns the maximum size of each of the integers (r, s) of the DSA signature. std::unique_ptr<BackingStore> ConvertSignatureToP1363( Environment* env, const EVPKeyPointer& pkey, std::unique_ptr<BackingStore>&& signature) { - unsigned int n = GetBytesOfRS(pkey); - if (n == kNoDsaSignature) - return std::move(signature); + uint32_t n = pkey.getBytesOfRS().value_or(kNoDsaSignature); + if (n == kNoDsaSignature) return std::move(signature); - std::unique_ptr<BackingStore> buf; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - buf = ArrayBuffer::NewBackingStore(env->isolate(), 2 * n); - } - if (!ExtractP1363(static_cast<unsigned char*>(signature->Data()), - static_cast<unsigned char*>(buf->Data()), - signature->ByteLength(), n)) + auto buf = ArrayBuffer::NewBackingStore( + env->isolate(), 2 * n, BackingStoreInitializationMode::kUninitialized); + + ncrypto::Buffer<const unsigned char> sig_buffer{ + .data = static_cast<const unsigned char*>(signature->Data()), + .len = signature->ByteLength(), + }; + + if (!ncrypto::extractP1363( + sig_buffer, static_cast<unsigned char*>(buf->Data()), n)) { return std::move(signature); + } return buf; } @@ -182,143 +140,135 @@ std::unique_ptr<BackingStore> ConvertSignatureToP1363( ByteSource ConvertSignatureToP1363(Environment* env, const EVPKeyPointer& pkey, const ByteSource& signature) { - unsigned int n = GetBytesOfRS(pkey); - if (n == kNoDsaSignature) - return ByteSource(); + unsigned int n = pkey.getBytesOfRS().value_or(kNoDsaSignature); + if (n == kNoDsaSignature) [[unlikely]] + return {}; - const unsigned char* sig_data = signature.data<unsigned char>(); + auto data = DataPointer::Alloc(n * 2); + if (!data) [[unlikely]] + return {}; + unsigned char* out = static_cast<unsigned char*>(data.get()); - ByteSource::Builder out(n * 2); - memset(out.data<void>(), 0, n * 2); + // Extracting the signature may not actually use all of the allocated space. + // We need to ensure that the buffer is zeroed out before use. + data.zero(); - if (!ExtractP1363(sig_data, out.data<unsigned char>(), signature.size(), n)) - return ByteSource(); + if (!ncrypto::extractP1363(signature, out, n)) [[unlikely]] { + return {}; + } - return std::move(out).release(); + return ByteSource::Allocated(data.release()); } ByteSource ConvertSignatureToDER(const EVPKeyPointer& pkey, ByteSource&& out) { - unsigned int n = GetBytesOfRS(pkey); - if (n == kNoDsaSignature) - return std::move(out); + unsigned int n = pkey.getBytesOfRS().value_or(kNoDsaSignature); + if (n == kNoDsaSignature) return std::move(out); const unsigned char* sig_data = out.data<unsigned char>(); - if (out.size() != 2 * n) - return ByteSource(); + if (out.size() != 2 * n) return {}; - ECDSASigPointer asn1_sig(ECDSA_SIG_new()); + auto asn1_sig = ECDSASigPointer::New(); CHECK(asn1_sig); BignumPointer r(sig_data, n); CHECK(r); BignumPointer s(sig_data + n, n); CHECK(s); - CHECK_EQ(1, ECDSA_SIG_set0(asn1_sig.get(), r.release(), s.release())); - - unsigned char* data = nullptr; - int len = i2d_ECDSA_SIG(asn1_sig.get(), &data); + CHECK(asn1_sig.setParams(std::move(r), std::move(s))); - if (len <= 0) - return ByteSource(); + auto buf = asn1_sig.encode(); + if (buf.len <= 0) [[unlikely]] + return {}; - CHECK_NOT_NULL(data); - - return ByteSource::Allocated(data, len); + CHECK_NOT_NULL(buf.data); + return ByteSource::Allocated(buf); } void CheckThrow(Environment* env, SignBase::Error error) { HandleScope scope(env->isolate()); switch (error) { - case SignBase::Error::kSignUnknownDigest: + case SignBase::Error::UnknownDigest: return THROW_ERR_CRYPTO_INVALID_DIGEST(env); - case SignBase::Error::kSignNotInitialised: + case SignBase::Error::NotInitialised: return THROW_ERR_CRYPTO_INVALID_STATE(env, "Not initialised"); - case SignBase::Error::kSignMalformedSignature: + case SignBase::Error::MalformedSignature: return THROW_ERR_CRYPTO_OPERATION_FAILED(env, "Malformed signature"); - case SignBase::Error::kSignInit: - case SignBase::Error::kSignUpdate: - case SignBase::Error::kSignPrivateKey: - case SignBase::Error::kSignPublicKey: - { - unsigned long err = ERR_get_error(); // NOLINT(runtime/int) - if (err) - return ThrowCryptoError(env, err); - switch (error) { - case SignBase::Error::kSignInit: - return THROW_ERR_CRYPTO_OPERATION_FAILED(env, - "EVP_SignInit_ex failed"); - case SignBase::Error::kSignUpdate: - return THROW_ERR_CRYPTO_OPERATION_FAILED(env, - "EVP_SignUpdate failed"); - case SignBase::Error::kSignPrivateKey: - return THROW_ERR_CRYPTO_OPERATION_FAILED(env, - "PEM_read_bio_PrivateKey failed"); - case SignBase::Error::kSignPublicKey: - return THROW_ERR_CRYPTO_OPERATION_FAILED(env, - "PEM_read_bio_PUBKEY failed"); - default: - ABORT(); - } + case SignBase::Error::Init: + case SignBase::Error::Update: + case SignBase::Error::PrivateKey: + case SignBase::Error::PublicKey: { + unsigned long err = ERR_get_error(); // NOLINT(runtime/int) + if (err) return ThrowCryptoError(env, err); + switch (error) { + case SignBase::Error::Init: + return THROW_ERR_CRYPTO_OPERATION_FAILED(env, + "EVP_SignInit_ex failed"); + case SignBase::Error::Update: + return THROW_ERR_CRYPTO_OPERATION_FAILED(env, + "EVP_SignUpdate failed"); + case SignBase::Error::PrivateKey: + return THROW_ERR_CRYPTO_OPERATION_FAILED( + env, "PEM_read_bio_PrivateKey failed"); + case SignBase::Error::PublicKey: + return THROW_ERR_CRYPTO_OPERATION_FAILED( + env, "PEM_read_bio_PUBKEY failed"); + default: + ABORT(); } + } - case SignBase::Error::kSignOk: + case SignBase::Error::Ok: return; } } -bool IsOneShot(const EVPKeyPointer& key) { - return key.id() == EVP_PKEY_ED25519 || key.id() == EVP_PKEY_ED448; -} - -bool UseP1363Encoding(const EVPKeyPointer& key, const DSASigEnc& dsa_encoding) { - return (key.id() == EVP_PKEY_EC || key.id() == EVP_PKEY_DSA) && - dsa_encoding == kSigEncP1363; +bool UseP1363Encoding(const EVPKeyPointer& key, const DSASigEnc dsa_encoding) { + return key.isSigVariant() && dsa_encoding == DSASigEnc::P1363; } } // namespace -SignBase::Error SignBase::Init(const char* sign_type) { +SignBase::Error SignBase::Init(std::string_view digest) { CHECK_NULL(mdctx_); - // Historically, "dss1" and "DSS1" were DSA aliases for SHA-1 - // exposed through the public API. - if (strcmp(sign_type, "dss1") == 0 || - strcmp(sign_type, "DSS1") == 0) { - sign_type = "SHA1"; - } - const EVP_MD* md = EVP_get_digestbyname(sign_type); - if (md == nullptr) - return kSignUnknownDigest; - - mdctx_.reset(EVP_MD_CTX_new()); - if (!mdctx_ || !EVP_DigestInit_ex(mdctx_.get(), md, nullptr)) { + auto md = ncrypto::getDigestByName(digest); + if (md == nullptr) [[unlikely]] + return Error::UnknownDigest; + + mdctx_ = EVPMDCtxPointer::New(); + + if (!mdctx_.digestInit(md)) [[unlikely]] { mdctx_.reset(); - return kSignInit; + return Error::Init; } - return kSignOk; + return Error::Ok; } SignBase::Error SignBase::Update(const char* data, size_t len) { - if (mdctx_ == nullptr) - return kSignNotInitialised; - if (!EVP_DigestUpdate(mdctx_.get(), data, len)) - return kSignUpdate; - return kSignOk; + if (mdctx_ == nullptr) [[unlikely]] + return Error::NotInitialised; + + ncrypto::Buffer<const void> buf{ + .data = data, + .len = len, + }; + + return mdctx_.digestUpdate(buf) ? Error::Ok : Error::Update; } SignBase::SignBase(Environment* env, Local<Object> wrap) - : BaseObject(env, wrap) {} + : BaseObject(env, wrap) { + MakeWeak(); +} void SignBase::MemoryInfo(MemoryTracker* tracker) const { tracker->TrackFieldWithSize("mdctx", mdctx_ ? kSizeOf_EVP_MD_CTX : 0); } -Sign::Sign(Environment* env, Local<Object> wrap) : SignBase(env, wrap) { - MakeWeak(); -} +Sign::Sign(Environment* env, Local<Object> wrap) : SignBase(env, wrap) {} void Sign::Initialize(Environment* env, Local<Object> target) { Isolate* isolate = env->isolate(); @@ -334,8 +284,13 @@ void Sign::Initialize(Environment* env, Local<Object> target) { SignJob::Initialize(env, target); - constexpr int kSignJobModeSign = SignConfiguration::kSign; - constexpr int kSignJobModeVerify = SignConfiguration::kVerify; + constexpr int kSignJobModeSign = + static_cast<int>(SignConfiguration::Mode::Sign); + constexpr int kSignJobModeVerify = + static_cast<int>(SignConfiguration::Mode::Verify); + + constexpr auto kSigEncDER = DSASigEnc::DER; + constexpr auto kSigEncP1363 = DSASigEnc::P1363; NODE_DEFINE_CONSTANT(target, kSignJobModeSign); NODE_DEFINE_CONSTANT(target, kSignJobModeVerify); @@ -362,8 +317,8 @@ void Sign::SignInit(const FunctionCallbackInfo<Value>& args) { Sign* sign; ASSIGN_OR_RETURN_UNWRAP(&sign, args.This()); - const node::Utf8Value sign_type(args.GetIsolate(), args[0]); - crypto::CheckThrow(env, sign->Init(*sign_type)); + const node::Utf8Value sign_type(env->isolate(), args[0]); + crypto::CheckThrow(env, sign->Init(sign_type.ToStringView())); } void Sign::SignUpdate(const FunctionCallbackInfo<Value>& args) { @@ -379,20 +334,22 @@ void Sign::SignUpdate(const FunctionCallbackInfo<Value>& args) { Sign::SignResult Sign::SignFinal(const EVPKeyPointer& pkey, int padding, - const Maybe<int>& salt_len, + std::optional<int> salt_len, DSASigEnc dsa_sig_enc) { - if (!mdctx_) - return SignResult(kSignNotInitialised); + if (!mdctx_) [[unlikely]] { + return SignResult(Error::NotInitialised); + } EVPMDCtxPointer mdctx = std::move(mdctx_); - if (!ValidateDSAParameters(pkey.get())) - return SignResult(kSignPrivateKey); + if (!pkey.validateDsaParameters()) { + return SignResult(Error::PrivateKey); + } - std::unique_ptr<BackingStore> buffer = + auto buffer = Node_SignFinal(env(), std::move(mdctx), pkey, padding, salt_len); - Error error = buffer ? kSignOk : kSignPrivateKey; - if (error == kSignOk && dsa_sig_enc == kSigEncP1363) { + Error error = buffer ? Error::Ok : Error::PrivateKey; + if (error == Error::Ok && dsa_sig_enc == DSASigEnc::P1363) { buffer = ConvertSignatureToP1363(env(), pkey, std::move(buffer)); CHECK_NOT_NULL(buffer->Data()); } @@ -411,49 +368,34 @@ void Sign::SignFinal(const FunctionCallbackInfo<Value>& args) { if (!data) [[unlikely]] return; const auto& key = data.GetAsymmetricKey(); - if (!key) + if (!key) [[unlikely]] return; - if (IsOneShot(key)) { + if (key.isOneShotVariant()) [[unlikely]] { THROW_ERR_CRYPTO_UNSUPPORTED_OPERATION(env); return; } - int padding = GetDefaultSignPadding(key); - if (!args[offset]->IsUndefined()) { - CHECK(args[offset]->IsInt32()); - padding = args[offset].As<Int32>()->Value(); - } - - Maybe<int> salt_len = Nothing<int>(); - if (!args[offset + 1]->IsUndefined()) { - CHECK(args[offset + 1]->IsInt32()); - salt_len = Just<int>(args[offset + 1].As<Int32>()->Value()); + int padding = GetPaddingFromJS(key, args[offset]); + std::optional<int> salt_len = GetSaltLenFromJS(args[offset + 1]); + DSASigEnc dsa_sig_enc = GetDSASigEncFromJS(args[offset + 2]); + if (dsa_sig_enc == DSASigEnc::Invalid) [[unlikely]] { + THROW_ERR_OUT_OF_RANGE(env, "invalid signature encoding"); + return; } - CHECK(args[offset + 2]->IsInt32()); - DSASigEnc dsa_sig_enc = - static_cast<DSASigEnc>(args[offset + 2].As<Int32>()->Value()); - - SignResult ret = sign->SignFinal( - key, - padding, - salt_len, - dsa_sig_enc); + SignResult ret = sign->SignFinal(key, padding, salt_len, dsa_sig_enc); - if (ret.error != kSignOk) + if (ret.error != Error::Ok) [[unlikely]] { return crypto::CheckThrow(env, ret.error); + } - Local<ArrayBuffer> ab = - ArrayBuffer::New(env->isolate(), std::move(ret.signature)); + auto ab = ArrayBuffer::New(env->isolate(), std::move(ret.signature)); args.GetReturnValue().Set( Buffer::New(env, ab, 0, ab->ByteLength()).FromMaybe(Local<Value>())); } -Verify::Verify(Environment* env, Local<Object> wrap) - : SignBase(env, wrap) { - MakeWeak(); -} +Verify::Verify(Environment* env, Local<Object> wrap) : SignBase(env, wrap) {} void Verify::Initialize(Environment* env, Local<Object> target) { Isolate* isolate = env->isolate(); @@ -485,8 +427,8 @@ void Verify::VerifyInit(const FunctionCallbackInfo<Value>& args) { Verify* verify; ASSIGN_OR_RETURN_UNWRAP(&verify, args.This()); - const node::Utf8Value verify_type(args.GetIsolate(), args[0]); - crypto::CheckThrow(env, verify->Init(*verify_type)); + const node::Utf8Value verify_type(env->isolate(), args[0]); + crypto::CheckThrow(env, verify->Init(verify_type.ToStringView())); } void Verify::VerifyUpdate(const FunctionCallbackInfo<Value>& args) { @@ -494,8 +436,9 @@ void Verify::VerifyUpdate(const FunctionCallbackInfo<Value>& args) { const FunctionCallbackInfo<Value>& args, const char* data, size_t size) { Environment* env = Environment::GetCurrent(args); - if (size > INT_MAX) [[unlikely]] + if (size > INT_MAX) [[unlikely]] { return THROW_ERR_OUT_OF_RANGE(env, "data is too long"); + } Error err = verify->Update(data, size); crypto::CheckThrow(verify->env(), err); }); @@ -504,35 +447,30 @@ void Verify::VerifyUpdate(const FunctionCallbackInfo<Value>& args) { SignBase::Error Verify::VerifyFinal(const EVPKeyPointer& pkey, const ByteSource& sig, int padding, - const Maybe<int>& saltlen, + std::optional<int> saltlen, bool* verify_result) { - if (!mdctx_) - return kSignNotInitialised; + if (!mdctx_) [[unlikely]] + return Error::NotInitialised; - unsigned char m[EVP_MAX_MD_SIZE]; - unsigned int m_len; *verify_result = false; EVPMDCtxPointer mdctx = std::move(mdctx_); - if (!EVP_DigestFinal_ex(mdctx.get(), m, &m_len)) - return kSignPublicKey; + auto data = mdctx.digestFinal(mdctx.getExpectedSize()); + if (!data) [[unlikely]] + return Error::PublicKey; EVPKeyCtxPointer pkctx = pkey.newCtx(); - if (pkctx) { - const int init_ret = EVP_PKEY_verify_init(pkctx.get()); - if (init_ret == -2) { - return kSignPublicKey; - } + if (pkctx) [[likely]] { + const int init_ret = pkctx.initForVerify(); + if (init_ret == -2) [[unlikely]] + return Error::PublicKey; if (init_ret > 0 && ApplyRSAOptions(pkey, pkctx.get(), padding, saltlen) && - EVP_PKEY_CTX_set_signature_md(pkctx.get(), EVP_MD_CTX_md(mdctx.get())) > - 0) { - const unsigned char* s = sig.data<unsigned char>(); - const int r = EVP_PKEY_verify(pkctx.get(), s, sig.size(), m, m_len); - *verify_result = r == 1; + pkctx.setSignatureMd(mdctx)) { + *verify_result = pkctx.verify(sig, data); } } - return kSignOk; + return Error::Ok; } void Verify::VerifyFinal(const FunctionCallbackInfo<Value>& args) { @@ -544,47 +482,42 @@ void Verify::VerifyFinal(const FunctionCallbackInfo<Value>& args) { unsigned int offset = 0; auto data = KeyObjectData::GetPublicOrPrivateKeyFromJs(args, &offset); - if (!data) return; - const auto& pkey = data.GetAsymmetricKey(); - if (!pkey) + if (!data) [[unlikely]] + return; + const auto& key = data.GetAsymmetricKey(); + if (!key) [[unlikely]] return; - if (IsOneShot(pkey)) { + if (key.isOneShotVariant()) [[unlikely]] { THROW_ERR_CRYPTO_UNSUPPORTED_OPERATION(env); return; } ArrayBufferOrViewContents<char> hbuf(args[offset]); - if (!hbuf.CheckSizeInt32()) [[unlikely]] + if (!hbuf.CheckSizeInt32()) [[unlikely]] { return THROW_ERR_OUT_OF_RANGE(env, "buffer is too big"); - - int padding = GetDefaultSignPadding(pkey); - if (!args[offset + 1]->IsUndefined()) { - CHECK(args[offset + 1]->IsInt32()); - padding = args[offset + 1].As<Int32>()->Value(); } - Maybe<int> salt_len = Nothing<int>(); - if (!args[offset + 2]->IsUndefined()) { - CHECK(args[offset + 2]->IsInt32()); - salt_len = Just<int>(args[offset + 2].As<Int32>()->Value()); + int padding = GetPaddingFromJS(key, args[offset + 1]); + std::optional<int> salt_len = GetSaltLenFromJS(args[offset + 2]); + DSASigEnc dsa_sig_enc = GetDSASigEncFromJS(args[offset + 3]); + if (dsa_sig_enc == DSASigEnc::Invalid) [[unlikely]] { + THROW_ERR_OUT_OF_RANGE(env, "invalid signature encoding"); + return; } - CHECK(args[offset + 3]->IsInt32()); - DSASigEnc dsa_sig_enc = - static_cast<DSASigEnc>(args[offset + 3].As<Int32>()->Value()); - ByteSource signature = hbuf.ToByteSource(); - if (dsa_sig_enc == kSigEncP1363) { - signature = ConvertSignatureToDER(pkey, hbuf.ToByteSource()); - if (signature.data() == nullptr) - return crypto::CheckThrow(env, Error::kSignMalformedSignature); + if (dsa_sig_enc == DSASigEnc::P1363) { + signature = ConvertSignatureToDER(key, hbuf.ToByteSource()); + if (signature.data() == nullptr) [[unlikely]] { + return crypto::CheckThrow(env, Error::MalformedSignature); + } } bool verify_result; - Error err = verify->VerifyFinal(pkey, signature, padding, - salt_len, &verify_result); - if (err != kSignOk) + Error err = + verify->VerifyFinal(key, signature, padding, salt_len, &verify_result); + if (err != Error::Ok) [[unlikely]] return crypto::CheckThrow(env, err); args.GetReturnValue().Set(verify_result); } @@ -632,7 +565,7 @@ Maybe<void> SignTraits::AdditionalConfig( static_cast<SignConfiguration::Mode>(args[offset].As<Uint32>()->Value()); unsigned int keyParamOffset = offset + 1; - if (params->mode == SignConfiguration::kVerify) { + if (params->mode == SignConfiguration::Mode::Verify) { auto data = KeyObjectData::GetPublicOrPrivateKeyFromJs(args, &keyParamOffset); if (!data) return Nothing<void>(); @@ -654,8 +587,8 @@ Maybe<void> SignTraits::AdditionalConfig( if (args[offset + 6]->IsString()) { Utf8Value digest(env->isolate(), args[offset + 6]); - params->digest = EVP_get_digestbyname(*digest); - if (params->digest == nullptr) { + params->digest = ncrypto::getDigestByName(digest.ToStringView()); + if (params->digest == nullptr) [[unlikely]] { THROW_ERR_CRYPTO_INVALID_DIGEST(env, "Invalid digest: %s", *digest); return Nothing<void>(); } @@ -663,24 +596,24 @@ Maybe<void> SignTraits::AdditionalConfig( if (args[offset + 7]->IsInt32()) { // Salt length params->flags |= SignConfiguration::kHasSaltLength; - params->salt_length = args[offset + 7].As<Int32>()->Value(); + params->salt_length = + GetSaltLenFromJS(args[offset + 7]).value_or(params->salt_length); } if (args[offset + 8]->IsUint32()) { // Padding params->flags |= SignConfiguration::kHasPadding; - params->padding = args[offset + 8].As<Uint32>()->Value(); + params->padding = + GetPaddingFromJS(params->key.GetAsymmetricKey(), args[offset + 8]); } if (args[offset + 9]->IsUint32()) { // DSA Encoding - params->dsa_encoding = - static_cast<DSASigEnc>(args[offset + 9].As<Uint32>()->Value()); - if (params->dsa_encoding != kSigEncDER && - params->dsa_encoding != kSigEncP1363) { + params->dsa_encoding = GetDSASigEncFromJS(args[offset + 9]); + if (params->dsa_encoding == DSASigEnc::Invalid) [[unlikely]] { THROW_ERR_OUT_OF_RANGE(env, "invalid signature encoding"); return Nothing<void>(); } } - if (params->mode == SignConfiguration::kVerify) { + if (params->mode == SignConfiguration::Mode::Verify) { ArrayBufferOrViewContents<char> signature(args[offset + 10]); if (!signature.CheckSizeInt32()) [[unlikely]] { THROW_ERR_OUT_OF_RANGE(env, "signature is too big"); @@ -707,97 +640,69 @@ bool SignTraits::DeriveBits( const SignConfiguration& params, ByteSource* out) { ClearErrorOnReturn clear_error_on_return; - EVPMDCtxPointer context(EVP_MD_CTX_new()); - EVP_PKEY_CTX* ctx = nullptr; - + auto context = EVPMDCtxPointer::New(); + if (!context) [[unlikely]] + return false; const auto& key = params.key.GetAsymmetricKey(); - switch (params.mode) { - case SignConfiguration::kSign: - if (!EVP_DigestSignInit( - context.get(), &ctx, params.digest, nullptr, key.get())) { - crypto::CheckThrow(env, SignBase::Error::kSignInit); - return false; - } - break; - case SignConfiguration::kVerify: - if (!EVP_DigestVerifyInit( - context.get(), &ctx, params.digest, nullptr, key.get())) { - crypto::CheckThrow(env, SignBase::Error::kSignInit); - return false; - } - break; + auto ctx = ([&] { + switch (params.mode) { + case SignConfiguration::Mode::Sign: + return context.signInit(key, params.digest); + case SignConfiguration::Mode::Verify: + return context.verifyInit(key, params.digest); + } + UNREACHABLE(); + })(); + + if (!ctx.has_value()) [[unlikely]] { + crypto::CheckThrow(env, SignBase::Error::Init); + return false; } int padding = params.flags & SignConfiguration::kHasPadding ? params.padding - : GetDefaultSignPadding(key); + : key.getDefaultSignPadding(); - Maybe<int> salt_length = params.flags & SignConfiguration::kHasSaltLength - ? Just<int>(params.salt_length) : Nothing<int>(); + std::optional<int> salt_length = + params.flags & SignConfiguration::kHasSaltLength + ? std::optional<int>(params.salt_length) + : std::nullopt; - if (!ApplyRSAOptions(key, ctx, padding, salt_length)) { - crypto::CheckThrow(env, SignBase::Error::kSignPrivateKey); + if (!ApplyRSAOptions(key, *ctx, padding, salt_length)) { + crypto::CheckThrow(env, SignBase::Error::PrivateKey); return false; } switch (params.mode) { - case SignConfiguration::kSign: { - if (IsOneShot(key)) { - size_t len; - if (!EVP_DigestSign( - context.get(), - nullptr, - &len, - params.data.data<unsigned char>(), - params.data.size())) { - crypto::CheckThrow(env, SignBase::Error::kSignPrivateKey); - return false; - } - ByteSource::Builder buf(len); - if (!EVP_DigestSign(context.get(), - buf.data<unsigned char>(), - &len, - params.data.data<unsigned char>(), - params.data.size())) { - crypto::CheckThrow(env, SignBase::Error::kSignPrivateKey); + case SignConfiguration::Mode::Sign: { + if (key.isOneShotVariant()) { + auto data = context.signOneShot(params.data); + if (!data) [[unlikely]] { + crypto::CheckThrow(env, SignBase::Error::PrivateKey); return false; } - *out = std::move(buf).release(len); + *out = ByteSource::Allocated(data.release()); } else { - size_t len; - if (!EVP_DigestSignUpdate( - context.get(), - params.data.data<unsigned char>(), - params.data.size()) || - !EVP_DigestSignFinal(context.get(), nullptr, &len)) { - crypto::CheckThrow(env, SignBase::Error::kSignPrivateKey); - return false; - } - ByteSource::Builder buf(len); - if (!EVP_DigestSignFinal( - context.get(), buf.data<unsigned char>(), &len)) { - crypto::CheckThrow(env, SignBase::Error::kSignPrivateKey); + auto data = context.sign(params.data); + if (!data) [[unlikely]] { + crypto::CheckThrow(env, SignBase::Error::PrivateKey); return false; } + auto bs = ByteSource::Allocated(data.release()); if (UseP1363Encoding(key, params.dsa_encoding)) { - *out = ConvertSignatureToP1363(env, key, std::move(buf).release()); + *out = ConvertSignatureToP1363(env, key, std::move(bs)); } else { - *out = std::move(buf).release(len); + *out = std::move(bs); } } break; } - case SignConfiguration::kVerify: { + case SignConfiguration::Mode::Verify: { ByteSource::Builder buf(1); buf.data<char>()[0] = 0; - if (EVP_DigestVerify( - context.get(), - params.signature.data<unsigned char>(), - params.signature.size(), - params.data.data<unsigned char>(), - params.data.size()) == 1) { + if (context.verify(params.data, params.signature)) { buf.data<char>()[0] = 1; } *out = std::move(buf).release(); @@ -811,9 +716,9 @@ MaybeLocal<Value> SignTraits::EncodeOutput(Environment* env, const SignConfiguration& params, ByteSource* out) { switch (params.mode) { - case SignConfiguration::kSign: + case SignConfiguration::Mode::Sign: return out->ToArrayBuffer(env); - case SignConfiguration::kVerify: + case SignConfiguration::Mode::Verify: return Boolean::New(env->isolate(), out->data<char>()[0] == 1); } UNREACHABLE(); diff --git a/src/crypto/crypto_sig.h b/src/crypto/crypto_sig.h index 14c553fe3fca66..36c51b07bb5692 100644 --- a/src/crypto/crypto_sig.h +++ b/src/crypto/crypto_sig.h @@ -13,27 +13,24 @@ namespace node { namespace crypto { static const unsigned int kNoDsaSignature = static_cast<unsigned int>(-1); -enum DSASigEnc { - kSigEncDER, - kSigEncP1363 -}; +enum class DSASigEnc { DER, P1363, Invalid }; class SignBase : public BaseObject { public: - enum Error { - kSignOk, - kSignUnknownDigest, - kSignInit, - kSignNotInitialised, - kSignUpdate, - kSignPrivateKey, - kSignPublicKey, - kSignMalformedSignature + enum class Error { + Ok, + UnknownDigest, + Init, + NotInitialised, + Update, + PrivateKey, + PublicKey, + MalformedSignature }; SignBase(Environment* env, v8::Local<v8::Object> wrap); - Error Init(const char* sign_type); + Error Init(std::string_view digest); Error Update(const char* data, size_t len); // TODO(joyeecheung): track the memory used by OpenSSL types @@ -42,10 +39,10 @@ class SignBase : public BaseObject { SET_SELF_SIZE(SignBase) protected: - EVPMDCtxPointer mdctx_; + ncrypto::EVPMDCtxPointer mdctx_; }; -class Sign : public SignBase { +class Sign final : public SignBase { public: static void Initialize(Environment* env, v8::Local<v8::Object> target); static void RegisterExternalReferences(ExternalReferenceRegistry* registry); @@ -54,15 +51,14 @@ class Sign : public SignBase { Error error; std::unique_ptr<v8::BackingStore> signature; - explicit SignResult( - Error err, - std::unique_ptr<v8::BackingStore>&& sig = nullptr) - : error(err), signature(std::move(sig)) {} + inline explicit SignResult( + Error err, std::unique_ptr<v8::BackingStore>&& sig = nullptr) + : error(err), signature(std::move(sig)) {} }; - SignResult SignFinal(const EVPKeyPointer& pkey, + SignResult SignFinal(const ncrypto::EVPKeyPointer& pkey, int padding, - const v8::Maybe<int>& saltlen, + std::optional<int> saltlen, DSASigEnc dsa_sig_enc); static void SignSync(const v8::FunctionCallbackInfo<v8::Value>& args); @@ -76,15 +72,15 @@ class Sign : public SignBase { Sign(Environment* env, v8::Local<v8::Object> wrap); }; -class Verify : public SignBase { +class Verify final : public SignBase { public: static void Initialize(Environment* env, v8::Local<v8::Object> target); static void RegisterExternalReferences(ExternalReferenceRegistry* registry); - Error VerifyFinal(const EVPKeyPointer& key, + Error VerifyFinal(const ncrypto::EVPKeyPointer& key, const ByteSource& sig, int padding, - const v8::Maybe<int>& saltlen, + std::optional<int> saltlen, bool* verify_result); static void VerifySync(const v8::FunctionCallbackInfo<v8::Value>& args); @@ -99,10 +95,7 @@ class Verify : public SignBase { }; struct SignConfiguration final : public MemoryRetainer { - enum Mode { - kSign, - kVerify - }; + enum class Mode { Sign, Verify }; enum Flags { kHasNone = 0, kHasSaltLength = 1, @@ -118,7 +111,7 @@ struct SignConfiguration final : public MemoryRetainer { int flags = SignConfiguration::kHasNone; int padding = 0; int salt_length = 0; - DSASigEnc dsa_encoding = kSigEncDER; + DSASigEnc dsa_encoding = DSASigEnc::DER; SignConfiguration() = default; @@ -135,8 +128,6 @@ struct SignTraits final { using AdditionalParameters = SignConfiguration; static constexpr const char* JobName = "SignJob"; -// TODO(@jasnell): Sign request vs. Verify request - static constexpr AsyncWrap::ProviderType Provider = AsyncWrap::PROVIDER_SIGNREQUEST; diff --git a/src/crypto/crypto_spkac.cc b/src/crypto/crypto_spkac.cc index d0dcb1d7be5581..ba085226984767 100644 --- a/src/crypto/crypto_spkac.cc +++ b/src/crypto/crypto_spkac.cc @@ -9,6 +9,7 @@ namespace node { +using ncrypto::BIOPointer; using v8::Context; using v8::FunctionCallbackInfo; using v8::Local; diff --git a/src/crypto/crypto_tls.cc b/src/crypto/crypto_tls.cc index 9c7ce849521499..7104ee19a6dd79 100644 --- a/src/crypto/crypto_tls.cc +++ b/src/crypto/crypto_tls.cc @@ -36,10 +36,17 @@ namespace node { +using ncrypto::BIOPointer; +using ncrypto::ClearErrorOnReturn; +using ncrypto::MarkPopErrorOnReturn; +using ncrypto::SSLPointer; +using ncrypto::SSLSessionPointer; +using ncrypto::X509Pointer; using v8::Array; using v8::ArrayBuffer; using v8::ArrayBufferView; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Boolean; using v8::Context; using v8::DontDelete; @@ -54,6 +61,7 @@ using v8::Isolate; using v8::Local; using v8::MaybeLocal; using v8::Null; +using v8::Number; using v8::Object; using v8::PropertyAttribute; using v8::ReadOnly; @@ -155,7 +163,7 @@ int NewSessionCallback(SSL* s, SSL_SESSION* sess) { HandleScope handle_scope(env->isolate()); Context::Scope context_scope(env->context()); - if (!w->has_session_callbacks()) + if (!w->has_session_callbacks()) [[unlikely]] return 0; // Check if session is small enough to be stored @@ -217,10 +225,11 @@ int SSLCertCallback(SSL* s, void* arg) { Local<Object> info = Object::New(env->isolate()); - const char* servername = GetServerName(s); - Local<String> servername_str = (servername == nullptr) - ? String::Empty(env->isolate()) - : OneByteString(env->isolate(), servername, strlen(servername)); + auto servername = SSLPointer::GetServerName(s); + Local<String> servername_str = + !servername.has_value() + ? String::Empty(env->isolate()) + : OneByteString(env->isolate(), servername.value()); Local<Value> ocsp = Boolean::New( env->isolate(), SSL_get_tlsext_status_type(s) == TLSEXT_STATUSTYPE_ocsp); @@ -249,30 +258,27 @@ int SelectALPNCallback( Environment* env = w->env(); HandleScope handle_scope(env->isolate()); - Local<Value> callback_arg = - Buffer::Copy(env, reinterpret_cast<const char*>(in), inlen) - .ToLocalChecked(); - - MaybeLocal<Value> maybe_callback_result = - w->MakeCallback(env->alpn_callback_string(), 1, &callback_arg); + Local<Value> callback_arg; + Local<Value> callback_result; - if (maybe_callback_result.IsEmpty()) [[unlikely]] { - // Implies the callback didn't return, because some exception was thrown - // during processing, e.g. if callback returned an invalid ALPN value. + if (!Buffer::Copy(env, reinterpret_cast<const char*>(in), inlen) + .ToLocal(&callback_arg)) { return SSL_TLSEXT_ERR_ALERT_FATAL; } - Local<Value> callback_result = maybe_callback_result.ToLocalChecked(); + if (!w->MakeCallback(env->alpn_callback_string(), 1, &callback_arg) + .ToLocal(&callback_result)) { + return SSL_TLSEXT_ERR_ALERT_FATAL; + } - if (callback_result->IsUndefined()) { + if (callback_result->IsUndefined() && !callback_result->IsNumber()) { // If you set an ALPN callback, but you return undefined for an ALPN // request, you're rejecting all proposed ALPN protocols, and so we send // a fatal alert: return SSL_TLSEXT_ERR_ALERT_FATAL; } - CHECK(callback_result->IsNumber()); - unsigned int result_int = callback_result.As<v8::Number>()->Value(); + unsigned int result_int = callback_result.As<Number>()->Value(); // The callback returns an offset into the given buffer, for the selected // protocol that should be returned. We then set outlen & out to point @@ -303,6 +309,20 @@ int SelectALPNCallback( : SSL_TLSEXT_ERR_ALERT_FATAL; } +MaybeLocal<Value> GetSSLOCSPResponse(Environment* env, SSL* ssl) { + const unsigned char* resp; + int len = SSL_get_tlsext_status_ocsp_resp(ssl, &resp); + if (resp == nullptr) return Null(env->isolate()); + + Local<Value> ret; + MaybeLocal<Object> maybe_buffer = + Buffer::Copy(env, reinterpret_cast<const char*>(resp), len); + + if (!maybe_buffer.ToLocal(&ret)) return MaybeLocal<Value>(); + + return ret; +} + int TLSExtStatusCallback(SSL* s, void* arg) { TLSWrap* w = static_cast<TLSWrap*>(SSL_get_app_data(s)); Environment* env = w->env(); @@ -311,7 +331,7 @@ int TLSExtStatusCallback(SSL* s, void* arg) { if (w->is_client()) { // Incoming response Local<Value> arg; - if (GetSSLOCSPResponse(env, s, Null(env->isolate())).ToLocal(&arg)) + if (GetSSLOCSPResponse(env, s).ToLocal(&arg)) w->MakeCallback(env->onocspresponse_string(), 1, &arg); // No async acceptance is possible, so always return 1 to accept the @@ -343,8 +363,7 @@ int TLSExtStatusCallback(SSL* s, void* arg) { void ConfigureSecureContext(SecureContext* sc) { // OCSP stapling - SSL_CTX_set_tlsext_status_cb(sc->ctx().get(), TLSExtStatusCallback); - SSL_CTX_set_tlsext_status_arg(sc->ctx().get(), nullptr); + sc->ctx().setStatusCallback(TLSExtStatusCallback); } inline bool Set( @@ -362,6 +381,19 @@ inline bool Set( .IsNothing(); } +inline bool Set(Environment* env, + Local<Object> target, + Local<String> name, + const std::string_view& value, + bool ignore_null = true) { + if (value.empty()) return ignore_null; + return !target + ->Set(env->context(), + name, + OneByteString(env->isolate(), value.data(), value.length())) + .IsNothing(); +} + std::string GetBIOError() { std::string ret; ERR_print_errors_cb( @@ -372,6 +404,7 @@ std::string GetBIOError() { static_cast<void*>(&ret)); return ret; } + } // namespace TLSWrap::TLSWrap(Environment* env, @@ -830,8 +863,7 @@ void TLSWrap::ClearOut() { if (context.IsEmpty()) [[unlikely]] return; const std::string error_str = GetBIOError(); - Local<String> message = OneByteString( - env()->isolate(), error_str.c_str(), error_str.size()); + Local<String> message = OneByteString(env()->isolate(), error_str); if (message.IsEmpty()) [[unlikely]] return; error = Exception::Error(message); @@ -1053,10 +1085,10 @@ int TLSWrap::DoWrite(WriteWrap* w, // and copying it when it could just be used. if (nonempty_count != 1) { - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env()->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env()->isolate(), length); - } + bs = ArrayBuffer::NewBackingStore( + env()->isolate(), + length, + BackingStoreInitializationMode::kUninitialized); size_t offset = 0; for (i = 0; i < count; i++) { memcpy(static_cast<char*>(bs->Data()) + offset, @@ -1073,8 +1105,10 @@ int TLSWrap::DoWrite(WriteWrap* w, written = SSL_write(ssl_.get(), buf->base, buf->len); if (written == -1) { - NoArrayBufferZeroFillScope no_zero_fill_scope(env()->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env()->isolate(), length); + bs = ArrayBuffer::NewBackingStore( + env()->isolate(), + length, + BackingStoreInitializationMode::kUninitialized); memcpy(bs->Data(), buf->base, buf->len); } } @@ -1330,9 +1364,11 @@ void TLSWrap::GetServername(const FunctionCallbackInfo<Value>& args) { CHECK_NOT_NULL(wrap->ssl_); - const char* servername = GetServerName(wrap->ssl_.get()); - if (servername != nullptr) { - args.GetReturnValue().Set(OneByteString(env->isolate(), servername)); + auto servername = wrap->ssl_.getServerName(); + if (servername.has_value()) { + auto& sn = servername.value(); + args.GetReturnValue().Set( + OneByteString(env->isolate(), sn.data(), sn.length())); } else { args.GetReturnValue().Set(false); } @@ -1361,8 +1397,9 @@ int TLSWrap::SelectSNIContextCallback(SSL* s, int* ad, void* arg) { HandleScope handle_scope(env->isolate()); Context::Scope context_scope(env->context()); - const char* servername = GetServerName(s); - if (!Set(env, p->GetOwner(), env->servername_string(), servername)) + auto servername = SSLPointer::GetServerName(s); + if (!servername.has_value() || + !Set(env, p->GetOwner(), env->servername_string(), servername.value())) return SSL_TLSEXT_ERR_NOACK; Local<Value> ctx = p->object()->Get(env->context(), env->sni_context_string()) @@ -1713,11 +1750,8 @@ void TLSWrap::GetFinished(const FunctionCallbackInfo<Value>& args) { if (len == 0) return; - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), len); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), len, BackingStoreInitializationMode::kUninitialized); CHECK_EQ(bs->ByteLength(), SSL_get_finished(w->ssl_.get(), bs->Data(), bs->ByteLength())); @@ -1744,11 +1778,8 @@ void TLSWrap::GetPeerFinished(const FunctionCallbackInfo<Value>& args) { if (len == 0) return; - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), len); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), len, BackingStoreInitializationMode::kUninitialized); CHECK_EQ(bs->ByteLength(), SSL_get_peer_finished(w->ssl_.get(), bs->Data(), bs->ByteLength())); @@ -1773,11 +1804,8 @@ void TLSWrap::GetSession(const FunctionCallbackInfo<Value>& args) { if (slen <= 0) return; // Invalid or malformed session. - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), slen); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), slen, BackingStoreInitializationMode::kUninitialized); unsigned char* p = static_cast<unsigned char*>(bs->Data()); CHECK_LT(0, i2d_SSL_SESSION(sess, &p)); @@ -1803,7 +1831,7 @@ void TLSWrap::SetSession(const FunctionCallbackInfo<Value>& args) { if (sess == nullptr) return; // TODO(tniessen): figure out error handling - if (!SetTLSSession(w->ssl_, sess)) + if (!w->ssl_.setSession(sess)) return env->ThrowError("SSL_set_session error"); } @@ -1830,15 +1858,19 @@ void TLSWrap::VerifyError(const FunctionCallbackInfo<Value>& args) { if (x509_verify_error == X509_V_OK) return args.GetReturnValue().SetNull(); - const char* reason = X509_verify_cert_error_string(x509_verify_error); - const char* code = X509ErrorCode(x509_verify_error); + Local<Value> reason; + if (!GetValidationErrorReason(env, x509_verify_error).ToLocal(&reason)) { + return; + } + if (reason->IsUndefined()) [[unlikely]] + return; - Local<Object> error = - Exception::Error(OneByteString(env->isolate(), reason)) - ->ToObject(env->isolate()->GetCurrentContext()) - .FromMaybe(Local<Object>()); + Local<Object> error = Exception::Error(reason.As<v8::String>()) + ->ToObject(env->isolate()->GetCurrentContext()) + .FromMaybe(Local<Object>()); - if (Set(env, error, env->code_string(), code)) + auto code = X509Pointer::ErrorCode(x509_verify_error); + if (Set(env, error, env->code_string(), code.data())) args.GetReturnValue().Set(error); } @@ -1938,7 +1970,7 @@ void TLSWrap::GetSharedSigalgs(const FunctionCallbackInfo<Value>& args) { } else { sig_with_md += "UNDEF"; } - ret_arr[i] = OneByteString(env->isolate(), sig_with_md.c_str()); + ret_arr[i] = OneByteString(env->isolate(), sig_with_md); } args.GetReturnValue().Set( @@ -1956,11 +1988,8 @@ void TLSWrap::ExportKeyingMaterial(const FunctionCallbackInfo<Value>& args) { uint32_t olen = args[0].As<Uint32>()->Value(); Utf8Value label(env->isolate(), args[1]); - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), olen); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), olen, BackingStoreInitializationMode::kUninitialized); ByteSource context; bool use_context = !args[2]->IsUndefined(); diff --git a/src/crypto/crypto_tls.h b/src/crypto/crypto_tls.h index 1faad67a4a2886..f02c37182ff189 100644 --- a/src/crypto/crypto_tls.h +++ b/src/crypto/crypto_tls.h @@ -58,15 +58,17 @@ class TLSWrap : public AsyncWrap, ~TLSWrap() override; - bool is_cert_cb_running() const { return cert_cb_running_; } - bool is_waiting_cert_cb() const { return cert_cb_ != nullptr; } - bool has_session_callbacks() const { return session_callbacks_; } - void set_cert_cb_running(bool on = true) { cert_cb_running_ = on; } - void set_awaiting_new_session(bool on = true) { awaiting_new_session_ = on; } - void enable_session_callbacks() { session_callbacks_ = true; } - bool is_server() const { return kind_ == Kind::kServer; } - bool is_client() const { return kind_ == Kind::kClient; } - bool is_awaiting_new_session() const { return awaiting_new_session_; } + inline bool is_cert_cb_running() const { return cert_cb_running_; } + inline bool is_waiting_cert_cb() const { return cert_cb_ != nullptr; } + inline bool has_session_callbacks() const { return session_callbacks_; } + inline void set_cert_cb_running(bool on = true) { cert_cb_running_ = on; } + inline void set_awaiting_new_session(bool on = true) { + awaiting_new_session_ = on; + } + inline void enable_session_callbacks() { session_callbacks_ = true; } + inline bool is_server() const { return kind_ == Kind::kServer; } + inline bool is_client() const { return kind_ == Kind::kClient; } + inline bool is_awaiting_new_session() const { return awaiting_new_session_; } // Implement StreamBase: bool IsAlive() override; @@ -128,7 +130,7 @@ class TLSWrap : public AsyncWrap, // Alternative to StreamListener::stream(), that returns a StreamBase instead // of a StreamResource. - StreamBase* underlying_stream() const { + inline StreamBase* underlying_stream() const { return static_cast<StreamBase*>(stream()); } @@ -248,8 +250,8 @@ class TLSWrap : public AsyncWrap, Environment* const env_; Kind kind_; - SSLSessionPointer next_sess_; - SSLPointer ssl_; + ncrypto::SSLSessionPointer next_sess_; + ncrypto::SSLPointer ssl_; ClientHelloParser hello_parser_; v8::Global<v8::ArrayBufferView> ocsp_response_; BaseObjectPtr<SecureContext> sni_context_; @@ -288,7 +290,7 @@ class TLSWrap : public AsyncWrap, CertCb cert_cb_ = nullptr; void* cert_cb_arg_ = nullptr; - BIOPointer bio_trace_; + ncrypto::BIOPointer bio_trace_; bool has_active_write_issued_by_prev_listener_ = false; diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc index 9f5f8e6f03e4ab..61f8cbf6703b50 100644 --- a/src/crypto/crypto_util.cc +++ b/src/crypto/crypto_util.cc @@ -26,6 +26,11 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::BIOPointer; +using ncrypto::CryptoErrorList; +using ncrypto::EnginePointer; +using ncrypto::EVPKeyCtxPointer; using v8::ArrayBuffer; using v8::BackingStore; using v8::BigInt; @@ -162,7 +167,7 @@ void InitCryptoOnce() { sk_SSL_COMP_zero(SSL_COMP_get_compression_methods()); #ifndef OPENSSL_NO_ENGINE - ncrypto::EnginePointer::initEnginesOnce(); + EnginePointer::initEnginesOnce(); #endif // !OPENSSL_NO_ENGINE } @@ -181,7 +186,7 @@ void SetFipsCrypto(const FunctionCallbackInfo<Value>& args) { CHECK(env->owns_process_state()); bool enable = args[0]->BooleanValue(env->isolate()); - ncrypto::CryptoErrorList errors; + CryptoErrorList errors; if (!ncrypto::setFipsEnabled(enable, &errors)) { Local<Value> exception; if (cryptoErrorListToException(env, errors).ToLocal(&exception)) { @@ -210,8 +215,8 @@ bool CryptoErrorStore::Empty() const { return errors_.empty(); } -MaybeLocal<Value> cryptoErrorListToException( - Environment* env, const ncrypto::CryptoErrorList& errors) { +MaybeLocal<Value> cryptoErrorListToException(Environment* env, + const CryptoErrorList& errors) { // The CryptoErrorList contains a listing of zero or more errors. // If there are no errors, it is likely a bug but we will return // an error anyway. @@ -237,7 +242,8 @@ MaybeLocal<Value> cryptoErrorListToException( if (errors.size() > 1) { CHECK(exception->IsObject()); Local<Object> exception_obj = exception.As<Object>(); - LocalVector<Value> stack(env->isolate(), errors.size() - 1); + LocalVector<Value> stack(env->isolate()); + stack.reserve(errors.size() - 1); // Iterate over all but the last error in the list. auto current = errors.begin(); @@ -255,9 +261,9 @@ MaybeLocal<Value> cryptoErrorListToException( Local<v8::Array> stackArray = v8::Array::New(env->isolate(), stack.data(), stack.size()); - if (!exception_obj - ->Set(env->context(), env->openssl_error_stack(), stackArray) - .IsNothing()) { + if (exception_obj + ->Set(env->context(), env->openssl_error_stack(), stackArray) + .IsNothing()) { return {}; } } @@ -587,7 +593,7 @@ void SetEngine(const FunctionCallbackInfo<Value>& args) { // If the engine name is not known, calling setAsDefault on the // empty engine pointer will be non-op that always returns false. args.GetReturnValue().Set( - ncrypto::EnginePointer::getEngineByName(engine_id.ToStringView()) + EnginePointer::getEngineByName(engine_id.ToStringView()) .setAsDefault(flags)); } #endif // !OPENSSL_NO_ENGINE @@ -597,7 +603,7 @@ MaybeLocal<Value> EncodeBignum( const BIGNUM* bn, int size, Local<Value>* error) { - auto buf = ncrypto::BignumPointer::EncodePadded(bn, size); + auto buf = BignumPointer::EncodePadded(bn, size); CHECK_EQ(buf.size(), static_cast<size_t>(size)); return StringBytes::Encode(env->isolate(), reinterpret_cast<const char*>(buf.get()), @@ -624,17 +630,12 @@ Maybe<void> SetEncodedValue(Environment* env, : Nothing<void>(); } -bool SetRsaOaepLabel(const EVPKeyCtxPointer& ctx, const ByteSource& label) { +bool SetRsaOaepLabel(EVPKeyCtxPointer* ctx, const ByteSource& label) { if (label.size() != 0) { // OpenSSL takes ownership of the label, so we need to create a copy. - void* label_copy = OPENSSL_memdup(label.data(), label.size()); - CHECK_NOT_NULL(label_copy); - int ret = EVP_PKEY_CTX_set0_rsa_oaep_label( - ctx.get(), static_cast<unsigned char*>(label_copy), label.size()); - if (ret <= 0) { - OPENSSL_free(label_copy); - return false; - } + auto dup = ncrypto::DataPointer::Copy(label); + if (!dup) return false; + return ctx->setRsaOaepLabel(std::move(dup)); } return true; } diff --git a/src/crypto/crypto_util.h b/src/crypto/crypto_util.h index 5c717c6fdb0fc4..e3c9a82c17b382 100644 --- a/src/crypto/crypto_util.h +++ b/src/crypto/crypto_util.h @@ -38,6 +38,7 @@ #include <vector> namespace node { + namespace crypto { // Currently known sizes of commonly used OpenSSL struct sizes. // OpenSSL considers it's various structs to be opaque and the @@ -53,34 +54,6 @@ constexpr size_t kSizeOf_EVP_PKEY = 72; constexpr size_t kSizeOf_EVP_PKEY_CTX = 80; constexpr size_t kSizeOf_HMAC_CTX = 32; -// Define smart pointers for the most commonly used OpenSSL types: -using X509Pointer = ncrypto::X509Pointer; -using BIOPointer = ncrypto::BIOPointer; -using SSLCtxPointer = ncrypto::SSLCtxPointer; -using SSLSessionPointer = ncrypto::SSLSessionPointer; -using SSLPointer = ncrypto::SSLPointer; -using PKCS8Pointer = ncrypto::PKCS8Pointer; -using EVPKeyPointer = ncrypto::EVPKeyPointer; -using EVPKeyCtxPointer = ncrypto::EVPKeyCtxPointer; -using EVPMDCtxPointer = ncrypto::EVPMDCtxPointer; -using RSAPointer = ncrypto::RSAPointer; -using ECPointer = ncrypto::ECPointer; -using BignumPointer = ncrypto::BignumPointer; -using BignumCtxPointer = ncrypto::BignumCtxPointer; -using NetscapeSPKIPointer = ncrypto::NetscapeSPKIPointer; -using ECGroupPointer = ncrypto::ECGroupPointer; -using ECPointPointer = ncrypto::ECPointPointer; -using ECKeyPointer = ncrypto::ECKeyPointer; -using DHPointer = ncrypto::DHPointer; -using ECDSASigPointer = ncrypto::ECDSASigPointer; -using HMACCtxPointer = ncrypto::HMACCtxPointer; -using CipherCtxPointer = ncrypto::CipherCtxPointer; -using DsaPointer = ncrypto::DSAPointer; -using DsaSigPointer = ncrypto::DSASigPointer; - -using ClearErrorOnReturn = ncrypto::ClearErrorOnReturn; -using MarkPopErrorOnReturn = ncrypto::MarkPopErrorOnReturn; - bool ProcessFipsOptions(); bool InitCryptoOnce(v8::Isolate* isolate); @@ -88,10 +61,9 @@ void InitCryptoOnce(); void InitCrypto(v8::Local<v8::Object> target); -extern void UseExtraCaCerts(const std::string& file); +extern void UseExtraCaCerts(std::string_view file); int PasswordCallback(char* buf, int size, int rwflag, void* u); - int NoPasswordCallback(char* buf, int size, int rwflag, void* u); // Decode is used by the various stream-based crypto utilities to decode @@ -192,7 +164,7 @@ T* MallocOpenSSL(size_t count) { // A helper class representing a read-only byte array. When deallocated, its // contents are zeroed. -class ByteSource { +class ByteSource final { public: class Builder { public: @@ -251,18 +223,26 @@ class ByteSource { ByteSource& operator=(const ByteSource&) = delete; template <typename T = void> - const T* data() const { + inline const T* data() const { return reinterpret_cast<const T*>(data_); } - size_t size() const { return size_; } + template <typename T = void> + operator ncrypto::Buffer<const T>() const { + return ncrypto::Buffer<const T>{ + .data = data<T>(), + .len = size(), + }; + } + + inline size_t size() const { return size_; } - bool empty() const { return size_ == 0; } + inline bool empty() const { return size_ == 0; } - operator bool() const { return data_ != nullptr; } + inline operator bool() const { return data_ != nullptr; } - BignumPointer ToBN() const { - return BignumPointer(data<unsigned char>(), size()); + inline ncrypto::BignumPointer ToBN() const { + return ncrypto::BignumPointer(data<unsigned char>(), size()); } // Creates a v8::BackingStore that takes over responsibility for @@ -297,7 +277,7 @@ class ByteSource { static ByteSource FromBuffer(v8::Local<v8::Value> buffer, bool ntc = false); - static ByteSource FromBIO(const BIOPointer& bio); + static ByteSource FromBIO(const ncrypto::BIOPointer& bio); static ByteSource NullTerminatedCopy(Environment* env, v8::Local<v8::Value> value); @@ -545,9 +525,10 @@ void ThrowCryptoError(Environment* env, unsigned long err, // NOLINT(runtime/int) const char* message = nullptr); -class CipherPushContext { +class CipherPushContext final { public: - inline explicit CipherPushContext(Environment* env) : env_(env) {} + inline explicit CipherPushContext(Environment* env) + : list_(env->isolate()), env_(env) {} inline void push_back(const char* str) { list_.emplace_back(OneByteString(env_->isolate(), str)); @@ -558,7 +539,7 @@ class CipherPushContext { } private: - std::vector<v8::Local<v8::Value>> list_; + v8::LocalVector<v8::Value> list_; Environment* env_; }; @@ -572,16 +553,13 @@ void array_push_back(const TypeName* evp_ref, const char* from, const char* to, void* arg) { - if (!from) - return; + if (!from) return; const TypeName* real_instance = getbyname(from); - if (!real_instance) - return; + if (!real_instance) return; const char* real_name = getname(real_instance); - if (!real_name) - return; + if (!real_name) return; // EVP_*_fetch() does not support alias names, so we need to pass it the // real/original algorithm name. @@ -590,8 +568,7 @@ void array_push_back(const TypeName* evp_ref, // algorithms are used internally by OpenSSL and are also passed to this // callback). TypeName* fetched = fetch_type(nullptr, real_name, nullptr); - if (!fetched) - return; + if (!fetched) return; free_type(fetched); static_cast<CipherPushContext*>(arg)->push_back(from); @@ -602,8 +579,7 @@ void array_push_back(const TypeName* evp_ref, const char* from, const char* to, void* arg) { - if (!from) - return; + if (!from) return; static_cast<CipherPushContext*>(arg)->push_back(from); } #endif @@ -616,7 +592,7 @@ inline bool IsAnyBufferSource(v8::Local<v8::Value> arg) { } template <typename T> -class ArrayBufferOrViewContents { +class ArrayBufferOrViewContents final { public: ArrayBufferOrViewContents() = default; ArrayBufferOrViewContents(const ArrayBufferOrViewContents&) = delete; @@ -733,7 +709,7 @@ v8::Maybe<void> SetEncodedValue(Environment* env, const BIGNUM* bn, int size = 0); -bool SetRsaOaepLabel(const EVPKeyCtxPointer& rsa, const ByteSource& label); +bool SetRsaOaepLabel(ncrypto::EVPKeyCtxPointer* rsa, const ByteSource& label); namespace Util { void Initialize(Environment* env, v8::Local<v8::Object> target); diff --git a/src/crypto/crypto_x509.cc b/src/crypto/crypto_x509.cc index 9b9bb7be9a8dac..782eced277518d 100644 --- a/src/crypto/crypto_x509.cc +++ b/src/crypto/crypto_x509.cc @@ -15,10 +15,18 @@ namespace node { +using ncrypto::BignumPointer; +using ncrypto::BIOPointer; +using ncrypto::ClearErrorOnReturn; +using ncrypto::DataPointer; +using ncrypto::ECKeyPointer; +using ncrypto::SSLPointer; +using ncrypto::X509Pointer; +using ncrypto::X509View; using v8::Array; using v8::ArrayBuffer; using v8::ArrayBufferView; -using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Boolean; using v8::Context; using v8::Date; @@ -29,6 +37,7 @@ using v8::FunctionTemplate; using v8::Integer; using v8::Isolate; using v8::Local; +using v8::LocalVector; using v8::MaybeLocal; using v8::NewStringType; using v8::Object; @@ -46,48 +55,30 @@ ManagedX509::ManagedX509(const ManagedX509& that) { ManagedX509& ManagedX509::operator=(const ManagedX509& that) { cert_.reset(that.get()); - - if (cert_) + if (cert_) [[likely]] X509_up_ref(cert_.get()); - return *this; } void ManagedX509::MemoryInfo(MemoryTracker* tracker) const { + if (!cert_) return; // This is an approximation based on the der encoding size. int size = i2d_X509(cert_.get(), nullptr); tracker->TrackFieldWithSize("cert", size); } namespace { -void AddFingerprintDigest(const unsigned char* md, - unsigned int md_size, - char fingerprint[3 * EVP_MAX_MD_SIZE]) { - unsigned int i; - static constexpr char hex[] = "0123456789ABCDEF"; - - for (i = 0; i < md_size; i++) { - fingerprint[3 * i] = hex[(md[i] & 0xf0) >> 4]; - fingerprint[(3 * i) + 1] = hex[(md[i] & 0x0f)]; - fingerprint[(3 * i) + 2] = ':'; - } - - DCHECK_GT(md_size, 0); - fingerprint[(3 * (md_size - 1)) + 2] = '\0'; -} - MaybeLocal<Value> GetFingerprintDigest(Environment* env, const EVP_MD* method, - const ncrypto::X509View& cert) { - unsigned char md[EVP_MAX_MD_SIZE]; - unsigned int md_size; - char fingerprint[EVP_MAX_MD_SIZE * 3]; - - if (X509_digest(cert.get(), method, md, &md_size)) { - AddFingerprintDigest(md, md_size, fingerprint); - return OneByteString(env->isolate(), fingerprint); + const X509View& cert) { + auto fingerprint = cert.getFingerprint(method); + // Returning an empty string indicates that the digest failed for + // some reason. + if (!fingerprint.has_value()) [[unlikely]] { + return Undefined(env->isolate()); } - return Undefined(env->isolate()); + auto& fp = fingerprint.value(); + return OneByteString(env->isolate(), fp.data(), fp.length()); } template <const EVP_MD* (*algo)()> @@ -102,7 +93,8 @@ void Fingerprint(const FunctionCallbackInfo<Value>& args) { } MaybeLocal<Value> ToV8Value(Local<Context> context, BIOPointer&& bio) { - if (!bio) return {}; + if (!bio) [[unlikely]] + return {}; BUF_MEM* mem = bio; Local<Value> ret; if (!String::NewFromUtf8(context->GetIsolate(), @@ -143,10 +135,10 @@ MaybeLocal<Value> ToV8Value(Local<Context> context, const ASN1_STRING* str) { // not escape anything. unsigned char* value_str; int value_str_size = ASN1_STRING_to_UTF8(&value_str, str); - if (value_str_size < 0) { + if (value_str_size < 0) [[unlikely]] { return Undefined(context->GetIsolate()); } - ncrypto::DataPointer free_value_str(value_str, value_str_size); + DataPointer free_value_str(value_str, value_str_size); Local<Value> result; if (!String::NewFromUtf8(context->GetIsolate(), @@ -160,7 +152,8 @@ MaybeLocal<Value> ToV8Value(Local<Context> context, const ASN1_STRING* str) { } MaybeLocal<Value> ToV8Value(Local<Context> context, const BIOPointer& bio) { - if (!bio) return {}; + if (!bio) [[unlikely]] + return {}; BUF_MEM* mem = bio; Local<Value> ret; if (!String::NewFromUtf8(context->GetIsolate(), @@ -173,7 +166,8 @@ MaybeLocal<Value> ToV8Value(Local<Context> context, const BIOPointer& bio) { } MaybeLocal<Value> ToBuffer(Environment* env, BIOPointer* bio) { - if (bio == nullptr || !*bio) return {}; + if (bio == nullptr || !*bio) [[unlikely]] + return {}; BUF_MEM* mem = *bio; auto backing = ArrayBuffer::NewBackingStore( mem->data, @@ -188,10 +182,11 @@ MaybeLocal<Value> ToBuffer(Environment* env, BIOPointer* bio) { return ret; } -MaybeLocal<Value> GetDer(Environment* env, const ncrypto::X509View& view) { +MaybeLocal<Value> GetDer(Environment* env, const X509View& view) { Local<Value> ret; auto bio = view.toDER(); - if (!bio) return Undefined(env->isolate()); + if (!bio) [[unlikely]] + return Undefined(env->isolate()); if (!ToBuffer(env, &bio).ToLocal(&ret)) { return {}; } @@ -199,60 +194,59 @@ MaybeLocal<Value> GetDer(Environment* env, const ncrypto::X509View& view) { } MaybeLocal<Value> GetSubjectAltNameString(Environment* env, - const ncrypto::X509View& view) { + const X509View& view) { Local<Value> ret; auto bio = view.getSubjectAltName(); - if (!bio) return Undefined(env->isolate()); + if (!bio) [[unlikely]] + return Undefined(env->isolate()); if (!ToV8Value(env->context(), bio).ToLocal(&ret)) return {}; return ret; } -MaybeLocal<Value> GetInfoAccessString(Environment* env, - const ncrypto::X509View& view) { +MaybeLocal<Value> GetInfoAccessString(Environment* env, const X509View& view) { Local<Value> ret; auto bio = view.getInfoAccess(); - if (!bio) return Undefined(env->isolate()); + if (!bio) [[unlikely]] + return Undefined(env->isolate()); if (!ToV8Value(env->context(), bio).ToLocal(&ret)) { return {}; } return ret; } -MaybeLocal<Value> GetValidFrom(Environment* env, - const ncrypto::X509View& view) { +MaybeLocal<Value> GetValidFrom(Environment* env, const X509View& view) { Local<Value> ret; auto bio = view.getValidFrom(); - if (!bio) return Undefined(env->isolate()); + if (!bio) [[unlikely]] + return Undefined(env->isolate()); if (!ToV8Value(env->context(), bio).ToLocal(&ret)) { return {}; } return ret; } -MaybeLocal<Value> GetValidTo(Environment* env, const ncrypto::X509View& view) { +MaybeLocal<Value> GetValidTo(Environment* env, const X509View& view) { Local<Value> ret; auto bio = view.getValidTo(); - if (!bio) return Undefined(env->isolate()); + if (!bio) [[unlikely]] + return Undefined(env->isolate()); if (!ToV8Value(env->context(), bio).ToLocal(&ret)) { return {}; } return ret; } -MaybeLocal<Value> GetValidFromDate(Environment* env, - const ncrypto::X509View& view) { +MaybeLocal<Value> GetValidFromDate(Environment* env, const X509View& view) { int64_t validFromTime = view.getValidFromTime(); return Date::New(env->context(), validFromTime * 1000.); } -MaybeLocal<Value> GetValidToDate(Environment* env, - const ncrypto::X509View& view) { +MaybeLocal<Value> GetValidToDate(Environment* env, const X509View& view) { int64_t validToTime = view.getValidToTime(); return Date::New(env->context(), validToTime * 1000.); } -MaybeLocal<Value> GetSerialNumber(Environment* env, - const ncrypto::X509View& view) { +MaybeLocal<Value> GetSerialNumber(Environment* env, const X509View& view) { if (auto serial = view.getSerialNumber()) { return OneByteString(env->isolate(), static_cast<unsigned char*>(serial.get())); @@ -260,26 +254,13 @@ MaybeLocal<Value> GetSerialNumber(Environment* env, return Undefined(env->isolate()); } -MaybeLocal<Value> GetKeyUsage(Environment* env, const ncrypto::X509View& cert) { - ncrypto::StackOfASN1 eku(static_cast<STACK_OF(ASN1_OBJECT)*>( - X509_get_ext_d2i(cert.get(), NID_ext_key_usage, nullptr, nullptr))); - if (eku) { - const int count = sk_ASN1_OBJECT_num(eku.get()); - MaybeStackBuffer<Local<Value>, 16> ext_key_usage(count); - char buf[256]; - - int j = 0; - for (int i = 0; i < count; i++) { - if (OBJ_obj2txt( - buf, sizeof(buf), sk_ASN1_OBJECT_value(eku.get(), i), 1) >= 0) { - ext_key_usage[j++] = OneByteString(env->isolate(), buf); - } - } - - return Array::New(env->isolate(), ext_key_usage.out(), count); - } - - return Undefined(env->isolate()); +MaybeLocal<Value> GetKeyUsage(Environment* env, const X509View& cert) { + LocalVector<Value> vec(env->isolate()); + bool res = cert.enumUsages([&](std::string_view view) { + vec.push_back(OneByteString(env->isolate(), view)); + }); + if (!res) return Undefined(env->isolate()); + return Array::New(env->isolate(), vec.data(), vec.size()); } void Pem(const FunctionCallbackInfo<Value>& args) { @@ -400,7 +381,7 @@ void PublicKey(const FunctionCallbackInfo<Value>& args) { // TODO(tniessen): consider checking X509_get_pubkey() when the // X509Certificate object is being created. auto result = cert->view().getPublicKey(); - if (!result.value) { + if (!result.value) [[unlikely]] { ThrowCryptoError(env, result.error.value_or(0)); return; } @@ -475,10 +456,10 @@ void CheckHost(const FunctionCallbackInfo<Value>& args) { Utf8Value name(env->isolate(), args[0]); uint32_t flags = args[1].As<Uint32>()->Value(); - ncrypto::DataPointer peername; + DataPointer peername; switch (cert->view().checkHost(name.ToStringView(), flags, &peername)) { - case ncrypto::X509View::CheckMatch::MATCH: { // Match! + case X509View::CheckMatch::MATCH: { // Match! Local<Value> ret = args[0]; if (peername) { ret = OneByteString(env->isolate(), @@ -487,9 +468,9 @@ void CheckHost(const FunctionCallbackInfo<Value>& args) { } return args.GetReturnValue().Set(ret); } - case ncrypto::X509View::CheckMatch::NO_MATCH: // No Match! + case X509View::CheckMatch::NO_MATCH: // No Match! return; // No return value is set - case ncrypto::X509View::CheckMatch::INVALID_NAME: // Error! + case X509View::CheckMatch::INVALID_NAME: // Error! return THROW_ERR_INVALID_ARG_VALUE(env, "Invalid name"); default: // Error! return THROW_ERR_CRYPTO_OPERATION_FAILED(env); @@ -508,11 +489,11 @@ void CheckEmail(const FunctionCallbackInfo<Value>& args) { uint32_t flags = args[1].As<Uint32>()->Value(); switch (cert->view().checkEmail(name.ToStringView(), flags)) { - case ncrypto::X509View::CheckMatch::MATCH: // Match! + case X509View::CheckMatch::MATCH: // Match! return args.GetReturnValue().Set(args[0]); - case ncrypto::X509View::CheckMatch::NO_MATCH: // No Match! + case X509View::CheckMatch::NO_MATCH: // No Match! return; // No return value is set - case ncrypto::X509View::CheckMatch::INVALID_NAME: // Error! + case X509View::CheckMatch::INVALID_NAME: // Error! return THROW_ERR_INVALID_ARG_VALUE(env, "Invalid name"); default: // Error! return THROW_ERR_CRYPTO_OPERATION_FAILED(env); @@ -531,11 +512,11 @@ void CheckIP(const FunctionCallbackInfo<Value>& args) { uint32_t flags = args[1].As<Uint32>()->Value(); switch (cert->view().checkIp(name.ToStringView(), flags)) { - case ncrypto::X509View::CheckMatch::MATCH: // Match! + case X509View::CheckMatch::MATCH: // Match! return args.GetReturnValue().Set(args[0]); - case ncrypto::X509View::CheckMatch::NO_MATCH: // No Match! + case X509View::CheckMatch::NO_MATCH: // No Match! return; // No return value is set - case ncrypto::X509View::CheckMatch::INVALID_NAME: // Error! + case X509View::CheckMatch::INVALID_NAME: // Error! return THROW_ERR_INVALID_ARG_VALUE(env, "Invalid IP"); default: // Error! return THROW_ERR_CRYPTO_OPERATION_FAILED(env); @@ -560,7 +541,9 @@ void Parse(const FunctionCallbackInfo<Value>& args) { .len = buf.length(), }); - if (!result.value) return ThrowCryptoError(env, result.error.value_or(0)); + if (!result.value) [[unlikely]] { + return ThrowCryptoError(env, result.error.value_or(0)); + } if (X509Certificate::New(env, std::move(result.value)).ToLocal(&cert)) { args.GetReturnValue().Set(cert); @@ -584,7 +567,8 @@ bool Set(Environment* env, Local<Value> name, MaybeLocal<T> maybe_value) { Local<Value> value; - if (!maybe_value.ToLocal(&value)) return false; + if (!maybe_value.ToLocal(&value)) [[unlikely]] + return false; // Undefined is ignored, but still considered successful if (value->IsUndefined()) return true; @@ -598,7 +582,8 @@ bool Set(Environment* env, uint32_t index, MaybeLocal<T> maybe_value) { Local<Value> value; - if (!maybe_value.ToLocal(&value)) return false; + if (!maybe_value.ToLocal(&value)) [[unlikely]] + return false; // Undefined is ignored, but still considered successful if (value->IsUndefined()) return true; @@ -611,7 +596,7 @@ bool Set(Environment* env, // The property value may be a single string or an array of strings. template <X509_NAME* get_name(const X509*)> static MaybeLocal<Value> GetX509NameObject(Environment* env, - const ncrypto::X509View& cert) { + const X509View& cert) { X509_NAME* name = get_name(cert.get()); CHECK_NOT_NULL(name); @@ -677,34 +662,32 @@ static MaybeLocal<Value> GetX509NameObject(Environment* env, return result; } -MaybeLocal<Object> GetPubKey(Environment* env, OSSL3_CONST RSA* rsa) { +MaybeLocal<Object> GetPubKey(Environment* env, const ncrypto::Rsa& rsa) { int size = i2d_RSA_PUBKEY(rsa, nullptr); CHECK_GE(size, 0); - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), size); - } + auto bs = ArrayBuffer::NewBackingStore( + env->isolate(), size, BackingStoreInitializationMode::kUninitialized); - unsigned char* serialized = reinterpret_cast<unsigned char*>(bs->Data()); + auto serialized = reinterpret_cast<unsigned char*>(bs->Data()); CHECK_GE(i2d_RSA_PUBKEY(rsa, &serialized), 0); - Local<ArrayBuffer> ab = ArrayBuffer::New(env->isolate(), std::move(bs)); + auto ab = ArrayBuffer::New(env->isolate(), std::move(bs)); return Buffer::New(env, ab, 0, ab->ByteLength()).FromMaybe(Local<Object>()); } MaybeLocal<Value> GetModulusString(Environment* env, const BIGNUM* n) { - auto bio = BIOPointer::NewMem(); - if (!bio) return {}; - BN_print(bio.get(), n); + auto bio = BIOPointer::New(n); + if (!bio) [[unlikely]] + return {}; return ToV8Value(env->context(), bio); } MaybeLocal<Value> GetExponentString(Environment* env, const BIGNUM* e) { uint64_t exponent_word = static_cast<uint64_t>(BignumPointer::GetWord(e)); auto bio = BIOPointer::NewMem(); - if (!bio) return {}; + if (!bio) [[unlikely]] + return {}; BIO_printf(bio.get(), "0x%" PRIx64, exponent_word); return ToV8Value(env->context(), bio); } @@ -712,15 +695,17 @@ MaybeLocal<Value> GetExponentString(Environment* env, const BIGNUM* e) { MaybeLocal<Value> GetECPubKey(Environment* env, const EC_GROUP* group, OSSL3_CONST EC_KEY* ec) { - const EC_POINT* pubkey = EC_KEY_get0_public_key(ec); - if (pubkey == nullptr) return Undefined(env->isolate()); + const auto pubkey = ECKeyPointer::GetPublicKey(ec); + if (pubkey == nullptr) [[unlikely]] + return Undefined(env->isolate()); return ECPointToBuffer(env, group, pubkey, EC_KEY_get_conv_form(ec), nullptr) .FromMaybe(Local<Object>()); } MaybeLocal<Value> GetECGroupBits(Environment* env, const EC_GROUP* group) { - if (group == nullptr) return Undefined(env->isolate()); + if (group == nullptr) [[unlikely]] + return Undefined(env->isolate()); int bits = EC_GROUP_order_bits(group); if (bits <= 0) return Undefined(env->isolate()); @@ -730,14 +715,12 @@ MaybeLocal<Value> GetECGroupBits(Environment* env, const EC_GROUP* group) { template <const char* (*nid2string)(int nid)> MaybeLocal<Value> GetCurveName(Environment* env, const int nid) { - const char* name = nid2string(nid); - return name != nullptr - ? MaybeLocal<Value>(OneByteString(env->isolate(), name)) - : MaybeLocal<Value>(Undefined(env->isolate())); + std::string_view name = nid2string(nid); + return name.size() ? MaybeLocal<Value>(OneByteString(env->isolate(), name)) + : MaybeLocal<Value>(Undefined(env->isolate())); } -MaybeLocal<Object> X509ToObject(Environment* env, - const ncrypto::X509View& cert) { +MaybeLocal<Object> X509ToObject(Environment* env, const X509View& cert) { EscapableHandleScope scope(env->isolate()); Local<Object> info = Object::New(env->isolate()); @@ -760,68 +743,68 @@ MaybeLocal<Object> X509ToObject(Environment* env, !Set<Boolean>(env, info, env->ca_string(), - Boolean::New(env->isolate(), cert.isCA()))) { + Boolean::New(env->isolate(), cert.isCA()))) [[unlikely]] { return {}; } - OSSL3_CONST EVP_PKEY* pkey = X509_get0_pubkey(cert.get()); - OSSL3_CONST RSA* rsa = nullptr; - OSSL3_CONST EC_KEY* ec = nullptr; - if (pkey != nullptr) { - switch (EVP_PKEY_id(pkey)) { - case EVP_PKEY_RSA: - rsa = EVP_PKEY_get0_RSA(pkey); - break; - case EVP_PKEY_EC: - ec = EVP_PKEY_get0_EC_KEY(pkey); - break; - } + if (!cert.ifRsa([&](const ncrypto::Rsa& rsa) { + auto pub_key = rsa.getPublicKey(); + if (!Set<Value>(env, + info, + env->modulus_string(), + GetModulusString(env, pub_key.n)) || + !Set<Value>(env, + info, + env->bits_string(), + Integer::New(env->isolate(), + BignumPointer::GetBitCount(pub_key.n))) || + !Set<Value>(env, + info, + env->exponent_string(), + GetExponentString(env, pub_key.e)) || + !Set<Object>(env, info, env->pubkey_string(), GetPubKey(env, rsa))) + [[unlikely]] { + return false; + } + return true; + })) [[unlikely]] { + return {}; } - if (rsa) { - const BIGNUM* n; - const BIGNUM* e; - RSA_get0_key(rsa, &n, &e, nullptr); - if (!Set<Value>( - env, info, env->modulus_string(), GetModulusString(env, n)) || - !Set<Value>( - env, - info, - env->bits_string(), - Integer::New(env->isolate(), BignumPointer::GetBitCount(n))) || - !Set<Value>( - env, info, env->exponent_string(), GetExponentString(env, e)) || - !Set<Object>(env, info, env->pubkey_string(), GetPubKey(env, rsa))) { - return {}; - } - } else if (ec) { - const EC_GROUP* group = EC_KEY_get0_group(ec); + if (!cert.ifEc([&](const ncrypto::Ec& ec) { + const auto group = ec.getGroup(); - if (!Set<Value>( - env, info, env->bits_string(), GetECGroupBits(env, group)) || - !Set<Value>( - env, info, env->pubkey_string(), GetECPubKey(env, group, ec))) { - return {}; - } + if (!Set<Value>( + env, info, env->bits_string(), GetECGroupBits(env, group)) || + !Set<Value>( + env, info, env->pubkey_string(), GetECPubKey(env, group, ec))) + [[unlikely]] { + return false; + } - const int nid = EC_GROUP_get_curve_name(group); - if (nid != 0) { - // Curve is well-known, get its OID and NIST nick-name (if it has one). - - if (!Set<Value>(env, - info, - env->asn1curve_string(), - GetCurveName<OBJ_nid2sn>(env, nid)) || - !Set<Value>(env, - info, - env->nistcurve_string(), - GetCurveName<EC_curve_nid2nist>(env, nid))) { - return {}; - } - } else { - // Unnamed curves can be described by their mathematical properties, - // but aren't used much (at all?) with X.509/TLS. Support later if needed. - } + const int nid = ec.getCurve(); + if (nid != 0) [[likely]] { + // Curve is well-known, get its OID and NIST nick-name (if it has + // one). + + if (!Set<Value>(env, + info, + env->asn1curve_string(), + GetCurveName<OBJ_nid2sn>(env, nid)) || + !Set<Value>(env, + info, + env->nistcurve_string(), + GetCurveName<EC_curve_nid2nist>(env, nid))) + [[unlikely]] { + return false; + } + } + // Unnamed curves can be described by their mathematical properties, + // but aren't used much (at all?) with X.509/TLS. Support later if + // needed. + return true; + })) [[unlikely]] { + return {}; } if (!Set<Value>( @@ -843,7 +826,8 @@ MaybeLocal<Object> X509ToObject(Environment* env, env, info, env->ext_key_usage_string(), GetKeyUsage(env, cert)) || !Set<Value>( env, info, env->serial_number_string(), GetSerialNumber(env, cert)) || - !Set<Value>(env, info, env->raw_string(), GetDer(env, cert))) { + !Set<Value>(env, info, env->raw_string(), GetDer(env, cert))) + [[unlikely]] { return {}; } @@ -924,8 +908,9 @@ MaybeLocal<Object> X509Certificate::New(Environment* env, MaybeLocal<Object> X509Certificate::GetCert(Environment* env, const SSLPointer& ssl) { - auto cert = ncrypto::X509View::From(ssl); - if (!cert) return {}; + auto cert = X509View::From(ssl); + if (!cert) [[unlikely]] + return {}; return New(env, cert.clone()); } @@ -945,7 +930,7 @@ MaybeLocal<Object> X509Certificate::GetPeerCert(Environment* env, if (!cert && (ssl_certs == nullptr || sk_X509_num(ssl_certs) == 0)) return MaybeLocal<Object>(); - if (!cert) { + if (!cert) [[unlikely]] { cert.reset(sk_X509_value(ssl_certs, 0)); sk_X509_delete(ssl_certs, 0); } @@ -958,9 +943,10 @@ v8::MaybeLocal<v8::Value> X509Certificate::toObject(Environment* env) { return toObject(env, view()); } -v8::MaybeLocal<v8::Value> X509Certificate::toObject( - Environment* env, const ncrypto::X509View& cert) { - if (!cert) return {}; +v8::MaybeLocal<v8::Value> X509Certificate::toObject(Environment* env, + const X509View& cert) { + if (!cert) [[unlikely]] + return {}; return X509ToObject(env, cert).FromMaybe(Local<Value>()); } @@ -994,7 +980,7 @@ X509Certificate::X509CertificateTransferData::Deserialize( Environment* env, Local<Context> context, std::unique_ptr<worker::TransferData> self) { - if (context != env->context()) { + if (context != env->context()) [[unlikely]] { THROW_ERR_MESSAGE_TARGET_CONTEXT_UNAVAILABLE(env); return {}; } diff --git a/src/crypto/crypto_x509.h b/src/crypto/crypto_x509.h index 595a2344641030..39f1878be1925f 100644 --- a/src/crypto/crypto_x509.h +++ b/src/crypto/crypto_x509.h @@ -21,21 +21,21 @@ namespace crypto { class ManagedX509 final : public MemoryRetainer { public: ManagedX509() = default; - explicit ManagedX509(X509Pointer&& cert); + explicit ManagedX509(ncrypto::X509Pointer&& cert); ManagedX509(const ManagedX509& that); ManagedX509& operator=(const ManagedX509& that); - operator bool() const { return !!cert_; } - X509* get() const { return cert_.get(); } - ncrypto::X509View view() const { return cert_; } - operator ncrypto::X509View() const { return cert_; } + inline operator bool() const { return !!cert_; } + inline X509* get() const { return cert_.get(); } + inline ncrypto::X509View view() const { return cert_; } + inline operator ncrypto::X509View() const { return cert_; } void MemoryInfo(MemoryTracker* tracker) const override; SET_MEMORY_INFO_NAME(ManagedX509) SET_SELF_SIZE(ManagedX509) private: - X509Pointer cert_; + ncrypto::X509Pointer cert_; }; class X509Certificate final : public BaseObject { @@ -53,34 +53,31 @@ class X509Certificate final : public BaseObject { static v8::MaybeLocal<v8::Object> New( Environment* env, - X509Pointer cert, - STACK_OF(X509)* issuer_chain = nullptr); + ncrypto::X509Pointer cert, + STACK_OF(X509) * issuer_chain = nullptr); static v8::MaybeLocal<v8::Object> New( Environment* env, std::shared_ptr<ManagedX509> cert, STACK_OF(X509)* issuer_chain = nullptr); - static v8::MaybeLocal<v8::Object> GetCert( - Environment* env, - const SSLPointer& ssl); + static v8::MaybeLocal<v8::Object> GetCert(Environment* env, + const ncrypto::SSLPointer& ssl); - static v8::MaybeLocal<v8::Object> GetPeerCert( - Environment* env, - const SSLPointer& ssl, - GetPeerCertificateFlag flag); + static v8::MaybeLocal<v8::Object> GetPeerCert(Environment* env, + const ncrypto::SSLPointer& ssl, + GetPeerCertificateFlag flag); - static v8::Local<v8::Object> Wrap( - Environment* env, - v8::Local<v8::Object> object, - X509Pointer cert); + static v8::Local<v8::Object> Wrap(Environment* env, + v8::Local<v8::Object> object, + ncrypto::X509Pointer cert); inline BaseObjectPtr<X509Certificate> getIssuerCert() const { return issuer_cert_; } inline ncrypto::X509View view() const { return *cert_; } - X509* get() { return cert_->get(); } + inline X509* get() { return cert_->get(); } v8::MaybeLocal<v8::Value> toObject(Environment* env); static v8::MaybeLocal<v8::Value> toObject(Environment* env, diff --git a/src/encoding_binding.cc b/src/encoding_binding.cc index 885a0d072312e9..0438afe6efd8b6 100644 --- a/src/encoding_binding.cc +++ b/src/encoding_binding.cc @@ -15,6 +15,7 @@ namespace encoding_binding { using v8::ArrayBuffer; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Context; using v8::FunctionCallbackInfo; using v8::Isolate; @@ -124,9 +125,8 @@ void BindingData::EncodeUtf8String(const FunctionCallbackInfo<Value>& args) { Local<ArrayBuffer> ab; { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - std::unique_ptr<BackingStore> bs = - ArrayBuffer::NewBackingStore(isolate, length); + std::unique_ptr<BackingStore> bs = ArrayBuffer::NewBackingStore( + isolate, length, BackingStoreInitializationMode::kUninitialized); CHECK(bs); diff --git a/src/env-inl.h b/src/env-inl.h index d266eca6fc3300..9a8216354e646e 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -666,7 +666,8 @@ inline bool Environment::no_global_search_paths() const { } inline bool Environment::should_start_debug_signal_handler() const { - return (flags_ & EnvironmentFlags::kNoStartDebugSignalHandler) == 0; + return ((flags_ & EnvironmentFlags::kNoStartDebugSignalHandler) == 0) && + !options_->disable_sigusr1; } inline bool Environment::no_browser_globals() const { diff --git a/src/env.cc b/src/env.cc index d4426432d67ba6..cd7203ffda6e7c 100644 --- a/src/env.cc +++ b/src/env.cc @@ -39,6 +39,9 @@ namespace node { using errors::TryCatchScope; using v8::Array; +using v8::ArrayBuffer; +using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Boolean; using v8::Context; using v8::CppHeap; @@ -176,11 +179,7 @@ bool AsyncHooks::pop_async_context(double async_id) { } #endif native_execution_async_resources_.resize(offset); - if (native_execution_async_resources_.size() < - native_execution_async_resources_.capacity() / 2 && - native_execution_async_resources_.size() > 16) { - native_execution_async_resources_.shrink_to_fit(); - } + native_execution_async_resources_.shrink_to_fit(); } if (js_execution_async_resources()->Length() > offset) [[unlikely]] { @@ -227,7 +226,12 @@ void AsyncHooks::InstallPromiseHooks(Local<Context> ctx) { : PersistentToLocal::Strong(js_promise_hooks_[3])); } +void Environment::PurgeTrackedEmptyContexts() { + std::erase_if(contexts_, [&](auto&& el) { return el.IsEmpty(); }); +} + void Environment::TrackContext(Local<Context> context) { + PurgeTrackedEmptyContexts(); size_t id = contexts_.size(); contexts_.resize(id + 1); contexts_[id].Reset(isolate_, context); @@ -236,7 +240,7 @@ void Environment::TrackContext(Local<Context> context) { void Environment::UntrackContext(Local<Context> context) { HandleScope handle_scope(isolate_); - std::erase_if(contexts_, [&](auto&& el) { return el.IsEmpty(); }); + PurgeTrackedEmptyContexts(); for (auto it = contexts_.begin(); it != contexts_.end(); it++) { if (Local<Context> saved_context = PersistentToLocal::Weak(isolate_, *it); saved_context == context) { @@ -741,17 +745,18 @@ void Environment::add_refs(int64_t diff) { } uv_buf_t Environment::allocate_managed_buffer(const size_t suggested_size) { - NoArrayBufferZeroFillScope no_zero_fill_scope(isolate_data()); - std::unique_ptr<v8::BackingStore> bs = - v8::ArrayBuffer::NewBackingStore(isolate(), suggested_size); + std::unique_ptr<BackingStore> bs = ArrayBuffer::NewBackingStore( + isolate(), + suggested_size, + BackingStoreInitializationMode::kUninitialized); uv_buf_t buf = uv_buf_init(static_cast<char*>(bs->Data()), bs->ByteLength()); released_allocated_buffers_.emplace(buf.base, std::move(bs)); return buf; } -std::unique_ptr<v8::BackingStore> Environment::release_managed_buffer( +std::unique_ptr<BackingStore> Environment::release_managed_buffer( const uv_buf_t& buf) { - std::unique_ptr<v8::BackingStore> bs; + std::unique_ptr<BackingStore> bs; if (buf.base != nullptr) { auto it = released_allocated_buffers_.find(buf.base); CHECK_NE(it, released_allocated_buffers_.end()); @@ -1694,6 +1699,7 @@ AsyncHooks::AsyncHooks(Isolate* isolate, const SerializeInfo* info) fields_(isolate, kFieldsCount, MAYBE_FIELD_PTR(info, fields)), async_id_fields_( isolate, kUidFieldsCount, MAYBE_FIELD_PTR(info, async_id_fields)), + native_execution_async_resources_(isolate), info_(info) { HandleScope handle_scope(isolate); if (info == nullptr) { diff --git a/src/env.h b/src/env.h index e67c34d31a8ce4..5cd34759585eb2 100644 --- a/src/env.h +++ b/src/env.h @@ -401,7 +401,16 @@ class AsyncHooks : public MemoryRetainer { void grow_async_ids_stack(); v8::Global<v8::Array> js_execution_async_resources_; - std::vector<v8::Local<v8::Object>> native_execution_async_resources_; + + // TODO(@jasnell): Note that this is technically illegal use of + // v8::Locals which should be kept on the stack. Here, the entries + // in this object grows and shrinks with the C stack, and entries + // will be in the right handle scopes, but v8::Locals are supposed + // to remain on the stack and not the heap. For general purposes + // this *should* be ok but may need to be looked at further should + // v8 become stricter in the future about v8::Locals being held in + // the stack. + v8::LocalVector<v8::Object> native_execution_async_resources_; // Non-empty during deserialization const SerializeInfo* info_ = nullptr; @@ -1084,6 +1093,7 @@ class Environment final : public MemoryRetainer { const char* errmsg); void TrackContext(v8::Local<v8::Context> context); void UntrackContext(v8::Local<v8::Context> context); + void PurgeTrackedEmptyContexts(); std::list<binding::DLib> loaded_addons_; v8::Isolate* const isolate_; diff --git a/src/env_properties.h b/src/env_properties.h index d9e18cbc4515ac..9f898231707822 100644 --- a/src/env_properties.h +++ b/src/env_properties.h @@ -99,6 +99,7 @@ "transferList") \ V(clone_untransferable_str, "Found invalid value in transferList.") \ V(code_string, "code") \ + V(column_number_string, "columnNumber") \ V(column_string, "column") \ V(commonjs_string, "commonjs") \ V(config_string, "config") \ @@ -320,6 +321,7 @@ V(salt_length_string, "saltLength") \ V(scheme_string, "scheme") \ V(scopeid_string, "scopeid") \ + V(script_id_string, "scriptId") \ V(script_name_string, "scriptName") \ V(serial_number_string, "serialNumber") \ V(serial_string, "serial") \ diff --git a/src/histogram.cc b/src/histogram.cc index d111f8b5768261..22300a65a2378c 100644 --- a/src/histogram.cc +++ b/src/histogram.cc @@ -341,7 +341,7 @@ Local<FunctionTemplate> IntervalHistogram::GetConstructorTemplate( Isolate* isolate = env->isolate(); tmpl = NewFunctionTemplate(isolate, nullptr); tmpl->Inherit(HandleWrap::GetConstructorTemplate(env)); - tmpl->SetClassName(OneByteString(isolate, "Histogram")); + tmpl->SetClassName(FIXED_ONE_BYTE_STRING(isolate, "Histogram")); auto instance = tmpl->InstanceTemplate(); instance->SetInternalFieldCount(HistogramImpl::kInternalFieldCount); HistogramImpl::AddMethods(isolate, tmpl); diff --git a/src/inspector/network_agent.cc b/src/inspector/network_agent.cc index f8b42b29158572..68a1bd4198fde4 100644 --- a/src/inspector/network_agent.cc +++ b/src/inspector/network_agent.cc @@ -53,12 +53,12 @@ void NetworkAgent::Wire(UberDispatcher* dispatcher) { DispatchResponse NetworkAgent::enable() { inspector_->Enable(); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse NetworkAgent::disable() { inspector_->Disable(); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } void NetworkAgent::requestWillBeSent( @@ -76,9 +76,11 @@ void NetworkAgent::requestWillBeSent( request->getString("method", &method); ErrorSupport errors; + errors.Push(); + errors.SetName("headers"); auto headers = Network::Headers::fromValue(request->getObject("headers"), &errors); - if (errors.hasErrors()) { + if (!errors.Errors().empty()) { headers = std::make_unique<Network::Headers>(DictionaryValue::create()); } @@ -105,9 +107,11 @@ void NetworkAgent::responseReceived( response->getString("statusText", &statusText); ErrorSupport errors; + errors.Push(); + errors.SetName("headers"); auto headers = Network::Headers::fromValue(response->getObject("headers"), &errors); - if (errors.hasErrors()) { + if (!errors.Errors().empty()) { headers = std::make_unique<Network::Headers>(DictionaryValue::create()); } diff --git a/src/inspector/node_inspector.gypi b/src/inspector/node_inspector.gypi index d559004be80944..3ae714b51407a4 100644 --- a/src/inspector/node_inspector.gypi +++ b/src/inspector/node_inspector.gypi @@ -1,6 +1,7 @@ { 'variables': { - 'protocol_tool_path': '../../tools/inspector_protocol', + 'protocol_tool_path': '../../deps/inspector_protocol', + 'jinja_dir': '../../tools/inspector_protocol', 'node_inspector_sources': [ 'src/inspector_agent.cc', 'src/inspector_io.cc', @@ -15,6 +16,8 @@ 'src/inspector_socket_server.h', 'src/inspector/main_thread_interface.cc', 'src/inspector/main_thread_interface.h', + 'src/inspector/node_json.cc', + 'src/inspector/node_json.h', 'src/inspector/node_string.cc', 'src/inspector/node_string.h', 'src/inspector/runtime_agent.cc', @@ -44,23 +47,11 @@ '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Network.h', ], 'node_protocol_files': [ - '<(protocol_tool_path)/lib/Allocator_h.template', - '<(protocol_tool_path)/lib/base_string_adapter_cc.template', - '<(protocol_tool_path)/lib/base_string_adapter_h.template', - '<(protocol_tool_path)/lib/DispatcherBase_cpp.template', - '<(protocol_tool_path)/lib/DispatcherBase_h.template', - '<(protocol_tool_path)/lib/encoding_cpp.template', - '<(protocol_tool_path)/lib/encoding_h.template', - '<(protocol_tool_path)/lib/ErrorSupport_cpp.template', - '<(protocol_tool_path)/lib/ErrorSupport_h.template', '<(protocol_tool_path)/lib/Forward_h.template', - '<(protocol_tool_path)/lib/FrontendChannel_h.template', - '<(protocol_tool_path)/lib/Maybe_h.template', '<(protocol_tool_path)/lib/Object_cpp.template', '<(protocol_tool_path)/lib/Object_h.template', - '<(protocol_tool_path)/lib/Parser_cpp.template', - '<(protocol_tool_path)/lib/Parser_h.template', '<(protocol_tool_path)/lib/Protocol_cpp.template', + '<(protocol_tool_path)/lib/ValueConversions_cpp.template', '<(protocol_tool_path)/lib/ValueConversions_h.template', '<(protocol_tool_path)/lib/Values_cpp.template', '<(protocol_tool_path)/lib/Values_h.template', @@ -81,6 +72,9 @@ '<(SHARED_INTERMEDIATE_DIR)', '<(SHARED_INTERMEDIATE_DIR)/src', # for inspector ], + 'dependencies': [ + '<(protocol_tool_path)/inspector_protocol.gyp:crdtp', + ], 'actions': [ { 'action_name': 'convert_node_protocol_to_json', @@ -92,7 +86,7 @@ ], 'action': [ '<(python)', - 'tools/inspector_protocol/convert_protocol_to_json.py', + '<(protocol_tool_path)/convert_protocol_to_json.py', '<@(_inputs)', '<@(_outputs)', ], @@ -111,8 +105,9 @@ 'process_outputs_as_sources': 1, 'action': [ '<(python)', - 'tools/inspector_protocol/code_generator.py', - '--jinja_dir', '<@(protocol_tool_path)', + '<(protocol_tool_path)/code_generator.py', + '--inspector_protocol_dir', '<(protocol_tool_path)', + '--jinja_dir', '<(jinja_dir)', '--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/', '--config', 'src/inspector/node_protocol_config.json', ], @@ -129,7 +124,7 @@ ], 'action': [ '<(python)', - 'tools/inspector_protocol/concatenate_protocols.py', + '<(protocol_tool_path)/concatenate_protocols.py', '<@(_inputs)', '<@(_outputs)', ], diff --git a/src/inspector/node_json.cc b/src/inspector/node_json.cc new file mode 100644 index 00000000000000..d8aacbdf1a8fc8 --- /dev/null +++ b/src/inspector/node_json.cc @@ -0,0 +1,190 @@ +#include "node_json.h" + +#include "crdtp/json.h" + +namespace node { +namespace inspector { + +using crdtp::ParserHandler; +using crdtp::span; +using crdtp::Status; +using protocol::Binary; +using protocol::BinaryValue; +using protocol::DictionaryValue; +using protocol::FundamentalValue; +using protocol::ListValue; +using protocol::String; +using protocol::StringUtil; +using protocol::StringValue; +using protocol::Value; + +namespace { + +// Uses the parsing events received from driver of `ParserHandler` +// (e.g. crdtp::json::ParseJSON) into a protocol::Value instance. +class ValueParserHandler : public ParserHandler { + public: + // Provides the parsed protocol::Value. + std::unique_ptr<Value> ReleaseRoot() { return std::move(root_); } + + // The first parsing error encountered; `status().ok()` is the default. + Status status() const { return status_; } + + private: + // Implementation of `ParserHandler`. + void HandleMapBegin() override { + if (!status_.ok()) return; + std::unique_ptr<DictionaryValue> dict = DictionaryValue::create(); + DictionaryValue* dict_ptr = dict.get(); + AddValueToParent(std::move(dict)); + stack_.emplace_back(dict_ptr); + } + + void HandleMapEnd() override { + if (!status_.ok()) return; + DCHECK(!stack_.empty()); + DCHECK(stack_.back().is_dict); + stack_.pop_back(); + } + + void HandleArrayBegin() override { + if (!status_.ok()) return; + std::unique_ptr<ListValue> list = ListValue::create(); + ListValue* list_ptr = list.get(); + AddValueToParent(std::move(list)); + stack_.emplace_back(list_ptr); + } + + void HandleArrayEnd() override { + if (!status_.ok()) return; + DCHECK(!stack_.empty()); + DCHECK(!stack_.back().is_dict); + stack_.pop_back(); + } + + void HandleString8(span<uint8_t> chars) override { + AddStringToParent(StringUtil::fromUTF8(chars.data(), chars.size())); + } + + void HandleString16(span<uint16_t> chars) override { + AddStringToParent(StringUtil::fromUTF16(chars.data(), chars.size())); + } + + void HandleBinary(span<uint8_t> bytes) override { + AddValueToParent( + BinaryValue::create(Binary::fromSpan(bytes.data(), bytes.size()))); + } + + void HandleDouble(double value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleInt32(int32_t value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleBool(bool value) override { + AddValueToParent(FundamentalValue::create(value)); + } + + void HandleNull() override { AddValueToParent(Value::null()); } + + void HandleError(Status error) override { status_ = error; } + + // Adding strings and values to the parent value. + // Strings are handled separately because they can be keys for + // dictionary values. + void AddStringToParent(String str) { + if (!status_.ok()) return; + if (!root_) { + DCHECK(!key_is_pending_); + root_ = StringValue::create(str); + } else if (stack_.back().is_dict) { + // If we already have a pending key, then this is the value of the + // key/value pair. Otherwise, it's the new pending key. + if (key_is_pending_) { + stack_.back().dict->setString(pending_key_, str); + key_is_pending_ = false; + } else { + pending_key_ = std::move(str); + key_is_pending_ = true; + } + } else { // Top of the stack is a list. + DCHECK(!key_is_pending_); + stack_.back().list->pushValue(StringValue::create(str)); + } + } + + void AddValueToParent(std::unique_ptr<Value> value) { + if (!status_.ok()) return; + if (!root_) { + DCHECK(!key_is_pending_); + root_ = std::move(value); + } else if (stack_.back().is_dict) { + DCHECK(key_is_pending_); + stack_.back().dict->setValue(pending_key_, std::move(value)); + key_is_pending_ = false; + } else { // Top of the stack is a list. + DCHECK(!key_is_pending_); + stack_.back().list->pushValue(std::move(value)); + } + } + + // `status_.ok()` is the default; if we receive an error event + // we keep the first one and stop modifying any other state. + Status status_; + + // The root of the parsed protocol::Value tree. + std::unique_ptr<Value> root_; + + // If root_ is a list or a dictionary, this stack keeps track of + // the container we're currently parsing as well as its ancestors. + struct ContainerState { + explicit ContainerState(DictionaryValue* dict) + : is_dict(true), dict(dict) {} + explicit ContainerState(ListValue* list) : is_dict(false), list(list) {} + + bool is_dict; + union { + DictionaryValue* dict; + ListValue* list; + }; + }; + std::vector<ContainerState> stack_; + + // For maps, keys and values are alternating events, so we keep the + // key around and process it when the value arrives. + bool key_is_pending_ = false; + String pending_key_; +}; +} // anonymous namespace + +std::unique_ptr<Value> JsonUtil::ParseJSON(const uint8_t* chars, size_t size) { + ValueParserHandler handler; + crdtp::json::ParseJSON(span<uint8_t>(chars, size), &handler); + if (handler.status().ok()) return handler.ReleaseRoot(); + return nullptr; +} + +std::unique_ptr<Value> JsonUtil::ParseJSON(const uint16_t* chars, size_t size) { + ValueParserHandler handler; + crdtp::json::ParseJSON(span<uint16_t>(chars, size), &handler); + if (handler.status().ok()) return handler.ReleaseRoot(); + return nullptr; +} + +std::unique_ptr<Value> JsonUtil::parseJSON(const std::string_view string) { + if (string.empty()) return nullptr; + + return ParseJSON(reinterpret_cast<const uint8_t*>(string.data()), + string.size()); +} + +std::unique_ptr<Value> JsonUtil::parseJSON(v8_inspector::StringView string) { + if (string.length() == 0) return nullptr; + if (string.is8Bit()) return ParseJSON(string.characters8(), string.length()); + return ParseJSON(string.characters16(), string.length()); +} + +} // namespace inspector +} // namespace node diff --git a/src/inspector/node_json.h b/src/inspector/node_json.h new file mode 100644 index 00000000000000..88bc705fa288d2 --- /dev/null +++ b/src/inspector/node_json.h @@ -0,0 +1,24 @@ +#ifndef SRC_INSPECTOR_NODE_JSON_H_ +#define SRC_INSPECTOR_NODE_JSON_H_ + +#include "node/inspector/protocol/Protocol.h" + +namespace node { +namespace inspector { + +struct JsonUtil { + // Parse s JSON string into protocol::Value. + static std::unique_ptr<protocol::Value> ParseJSON(const uint8_t* chars, + size_t size); + static std::unique_ptr<protocol::Value> ParseJSON(const uint16_t* chars, + size_t size); + + static std::unique_ptr<protocol::Value> parseJSON(const std::string_view); + static std::unique_ptr<protocol::Value> parseJSON( + v8_inspector::StringView view); +}; + +} // namespace inspector +} // namespace node + +#endif // SRC_INSPECTOR_NODE_JSON_H_ diff --git a/src/inspector/node_protocol_config.json b/src/inspector/node_protocol_config.json index 4ef37856068093..959a1f4eb1b67a 100644 --- a/src/inspector/node_protocol_config.json +++ b/src/inspector/node_protocol_config.json @@ -1,6 +1,6 @@ { "protocol": { - "path": "node_protocol.json", + "path": "node_protocol.pdl", "package": "src/node/inspector/protocol", "output": "node/inspector/protocol", "namespace": ["node", "inspector", "protocol"] @@ -18,5 +18,8 @@ "package": "src/node/inspector/protocol", "output": "node/inspector/protocol", "string_header": "inspector/node_string.h" + }, + "crdtp": { + "dir": "crdtp" } } diff --git a/src/inspector/node_string.cc b/src/inspector/node_string.cc index c62e7ed30c4e19..d83c53c81ca774 100644 --- a/src/inspector/node_string.cc +++ b/src/inspector/node_string.cc @@ -1,78 +1,57 @@ #include "node_string.h" +#include "crdtp/json.h" #include "node/inspector/protocol/Protocol.h" #include "simdutf.h" #include "util-inl.h" -namespace node { -namespace inspector { -namespace protocol { -namespace StringUtil { - -size_t kNotFound = std::string::npos; +namespace crdtp { -// NOLINTNEXTLINE(runtime/references) V8 API requirement -void builderAppendQuotedString(StringBuilder& builder, - const std::string_view string) { - builder.put('"'); - if (!string.empty()) { - size_t expected_utf16_length = - simdutf::utf16_length_from_utf8(string.data(), string.length()); - MaybeStackBuffer<char16_t> buffer(expected_utf16_length); - // simdutf::convert_utf8_to_utf16 returns zero in case of error. - size_t utf16_length = simdutf::convert_utf8_to_utf16( - string.data(), string.length(), buffer.out()); - // We have that utf16_length == expected_utf16_length if and only - // if the input was a valid UTF-8 string. - if (utf16_length != 0) { - CHECK_EQ(expected_utf16_length, utf16_length); - escapeWideStringForJSON(reinterpret_cast<const uint16_t*>(buffer.out()), - utf16_length, - &builder); - } // Otherwise, we had an invalid UTF-8 input. +bool ProtocolTypeTraits<std::string>::Deserialize(DeserializerState* state, + std::string* value) { + if (state->tokenizer()->TokenTag() == cbor::CBORTokenTag::STRING8) { + span<uint8_t> cbor_span = state->tokenizer()->GetString8(); + value->assign(reinterpret_cast<const char*>(cbor_span.data()), + cbor_span.size()); + return true; } - builder.put('"'); -} + CHECK(state->tokenizer()->TokenTag() == cbor::CBORTokenTag::STRING16); + span<uint8_t> utf16le = state->tokenizer()->GetString16WireRep(); -std::unique_ptr<Value> parseJSON(const std::string_view string) { - if (string.empty()) - return nullptr; - size_t expected_utf16_length = - simdutf::utf16_length_from_utf8(string.data(), string.length()); - MaybeStackBuffer<char16_t> buffer(expected_utf16_length); - // simdutf::convert_utf8_to_utf16 returns zero in case of error. - size_t utf16_length = simdutf::convert_utf8_to_utf16( - string.data(), string.length(), buffer.out()); - // We have that utf16_length == expected_utf16_length if and only - // if the input was a valid UTF-8 string. - if (utf16_length == 0) return nullptr; // We had an invalid UTF-8 input. - CHECK_EQ(expected_utf16_length, utf16_length); - return parseJSONCharacters(reinterpret_cast<const uint16_t*>(buffer.out()), - utf16_length); + value->assign(node::inspector::protocol::StringUtil::fromUTF16LE( + reinterpret_cast<const uint16_t*>(utf16le.data()), + utf16le.size() / sizeof(uint16_t))); + return true; } -std::unique_ptr<Value> parseJSON(v8_inspector::StringView string) { - if (string.length() == 0) - return nullptr; - if (string.is8Bit()) - return parseJSONCharacters(string.characters8(), string.length()); - return parseJSONCharacters(string.characters16(), string.length()); +void ProtocolTypeTraits<std::string>::Serialize(const std::string& value, + std::vector<uint8_t>* bytes) { + cbor::EncodeString8(SpanFrom(value), bytes); } -String StringViewToUtf8(v8_inspector::StringView view) { +} // namespace crdtp + +namespace node { +namespace inspector { +namespace protocol { + +String StringUtil::StringViewToUtf8(v8_inspector::StringView view) { if (view.length() == 0) return ""; if (view.is8Bit()) { return std::string(reinterpret_cast<const char*>(view.characters8()), view.length()); } - const char16_t* source = - reinterpret_cast<const char16_t*>(view.characters16()); + return fromUTF16(view.characters16(), view.length()); +} + +String StringUtil::fromUTF16(const uint16_t* data, size_t length) { + auto casted_data = reinterpret_cast<const char16_t*>(data); size_t expected_utf8_length = - simdutf::utf8_length_from_utf16(source, view.length()); + simdutf::utf8_length_from_utf16(casted_data, length); MaybeStackBuffer<char> buffer(expected_utf8_length); - // convert_utf16_to_utf8 returns zero in case of error. + // simdutf::convert_utf16_to_utf8 returns zero in case of error. size_t utf8_length = - simdutf::convert_utf16_to_utf8(source, view.length(), buffer.out()); + simdutf::convert_utf16_to_utf8(casted_data, length, buffer.out()); // We have that utf8_length == expected_utf8_length if and only // if the input was a valid UTF-16 string. Otherwise, utf8_length // must be zero. @@ -81,43 +60,18 @@ String StringViewToUtf8(v8_inspector::StringView view) { return String(buffer.out(), utf8_length); } -String fromDouble(double d) { - std::ostringstream stream; - stream.imbue(std::locale::classic()); // Ignore current locale - stream << std::fixed << d; - return stream.str(); -} - -double toDouble(const char* buffer, size_t length, bool* ok) { - std::istringstream stream(std::string(buffer, length)); - stream.imbue(std::locale::classic()); // Ignore current locale - double d; - stream >> d; - *ok = !stream.fail(); - return d; -} - -ProtocolMessage jsonToMessage(String message) { - return message; -} - -ProtocolMessage binaryToMessage(std::vector<uint8_t> message) { - return std::string(reinterpret_cast<const char*>(message.data()), - message.size()); -} - -String fromUTF8(const uint8_t* data, size_t length) { +String StringUtil::fromUTF8(const uint8_t* data, size_t length) { return std::string(reinterpret_cast<const char*>(data), length); } -String fromUTF16(const uint16_t* data, size_t length) { +String StringUtil::fromUTF16LE(const uint16_t* data, size_t length) { auto casted_data = reinterpret_cast<const char16_t*>(data); size_t expected_utf8_length = - simdutf::utf8_length_from_utf16(casted_data, length); + simdutf::utf8_length_from_utf16le(casted_data, length); MaybeStackBuffer<char> buffer(expected_utf8_length); - // simdutf::convert_utf16_to_utf8 returns zero in case of error. + // simdutf::convert_utf16le_to_utf8 returns zero in case of error. size_t utf8_length = - simdutf::convert_utf16_to_utf8(casted_data, length, buffer.out()); + simdutf::convert_utf16le_to_utf8(casted_data, length, buffer.out()); // We have that utf8_length == expected_utf8_length if and only // if the input was a valid UTF-16 string. Otherwise, utf8_length // must be zero. @@ -126,11 +80,11 @@ String fromUTF16(const uint16_t* data, size_t length) { return String(buffer.out(), utf8_length); } -const uint8_t* CharactersUTF8(const std::string_view s) { +const uint8_t* StringUtil::CharactersUTF8(const std::string_view s) { return reinterpret_cast<const uint8_t*>(s.data()); } -size_t CharacterCount(const std::string_view s) { +size_t StringUtil::CharacterCount(const std::string_view s) { // The utf32_length_from_utf8 function calls count_utf8. // The count_utf8 function counts the number of code points // (characters) in the string, assuming that the string is valid Unicode. @@ -138,8 +92,6 @@ size_t CharacterCount(const std::string_view s) { return simdutf::utf32_length_from_utf8(s.data(), s.length()); } -} // namespace StringUtil } // namespace protocol } // namespace inspector } // namespace node - diff --git a/src/inspector/node_string.h b/src/inspector/node_string.h index 369041841ef96d..d529d1337be0e2 100644 --- a/src/inspector/node_string.h +++ b/src/inspector/node_string.h @@ -3,6 +3,7 @@ #ifndef SRC_INSPECTOR_NODE_STRING_H_ #define SRC_INSPECTOR_NODE_STRING_H_ +#include "crdtp/protocol_core.h" #include "util.h" #include "v8-inspector.h" @@ -10,6 +11,16 @@ #include <sstream> #include <string> +namespace crdtp { + +template <> +struct ProtocolTypeTraits<std::string> { + static bool Deserialize(DeserializerState* state, std::string* value); + static void Serialize(const std::string& value, std::vector<uint8_t>* bytes); +}; + +} // namespace crdtp + namespace node { namespace inspector { namespace protocol { @@ -20,71 +31,25 @@ using String = std::string; using StringBuilder = std::ostringstream; using ProtocolMessage = std::string; -namespace StringUtil { -// NOLINTNEXTLINE(runtime/references) This is V8 API... -inline void builderAppend(StringBuilder& builder, char c) { - builder.put(c); -} - -// NOLINTNEXTLINE(runtime/references) -inline void builderAppend(StringBuilder& builder, const char* value, - size_t length) { - builder.write(value, length); -} - -// NOLINTNEXTLINE(runtime/references) -inline void builderAppend(StringBuilder& builder, const char* value) { - builderAppend(builder, value, std::strlen(value)); -} - -// NOLINTNEXTLINE(runtime/references) -inline void builderAppend(StringBuilder& builder, const String& string) { - builder << string; -} +// Implements StringUtil methods used in `inspector_protocol/lib/`. +struct StringUtil { + // Convert Utf16 in local endianness to Utf8 if needed. + static String StringViewToUtf8(v8_inspector::StringView view); + static String fromUTF16(const uint16_t* data, size_t length); -// NOLINTNEXTLINE(runtime/references) -inline void builderReserve(StringBuilder& builder, size_t) { - // ostringstream does not have a counterpart -} -inline String substring(const String& string, size_t start, size_t count) { - return string.substr(start, count); -} -inline String fromInteger(int n) { - return std::to_string(n); -} -inline String builderToString(const StringBuilder& builder) { - return builder.str(); -} -inline size_t find(const String& string, const char* substring) { - return string.find(substring); -} -String fromDouble(double d); -double toDouble(const char* buffer, size_t length, bool* ok); + static String fromUTF8(const uint8_t* data, size_t length); + static String fromUTF16LE(const uint16_t* data, size_t length); + static const uint8_t* CharactersUTF8(const std::string_view s); + static size_t CharacterCount(const std::string_view s); -String StringViewToUtf8(v8_inspector::StringView view); - -// NOLINTNEXTLINE(runtime/references) -void builderAppendQuotedString(StringBuilder& builder, const std::string_view); -std::unique_ptr<Value> parseJSON(const std::string_view); -std::unique_ptr<Value> parseJSON(v8_inspector::StringView view); - -ProtocolMessage jsonToMessage(String message); -ProtocolMessage binaryToMessage(std::vector<uint8_t> message); -String fromUTF8(const uint8_t* data, size_t length); -String fromUTF16(const uint16_t* data, size_t length); -const uint8_t* CharactersUTF8(const std::string_view s); -size_t CharacterCount(const std::string_view s); - -// Unimplemented. The generated code will fall back to CharactersUTF8(). -inline uint8_t* CharactersLatin1(const std::string_view s) { - return nullptr; -} -inline const uint16_t* CharactersUTF16(const std::string_view s) { - return nullptr; -} - -extern size_t kNotFound; -} // namespace StringUtil + // Unimplemented. The generated code will fall back to CharactersUTF8(). + inline static uint8_t* CharactersLatin1(const std::string_view s) { + return nullptr; + } + inline static const uint16_t* CharactersUTF16(const std::string_view s) { + return nullptr; + } +}; // A read-only sequence of uninterpreted bytes with reference-counted storage. // Though the templates for generating the protocol bindings reference diff --git a/src/inspector/runtime_agent.cc b/src/inspector/runtime_agent.cc index 94aa8bef405b66..d3bc60741d9256 100644 --- a/src/inspector/runtime_agent.cc +++ b/src/inspector/runtime_agent.cc @@ -19,7 +19,7 @@ void RuntimeAgent::Wire(UberDispatcher* dispatcher) { DispatchResponse RuntimeAgent::notifyWhenWaitingForDisconnect(bool enabled) { notify_when_waiting_for_disconnect_ = enabled; - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse RuntimeAgent::enable() { @@ -27,12 +27,12 @@ DispatchResponse RuntimeAgent::enable() { if (is_waiting_for_debugger_) { frontend_->waitingForDebugger(); } - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse RuntimeAgent::disable() { enabled_ = false; - return DispatchResponse::OK(); + return DispatchResponse::Success(); } void RuntimeAgent::setWaitingForDebugger() { diff --git a/src/inspector/tracing_agent.cc b/src/inspector/tracing_agent.cc index e7b6d3b3ea63bd..40c8aea35c931c 100644 --- a/src/inspector/tracing_agent.cc +++ b/src/inspector/tracing_agent.cc @@ -1,4 +1,5 @@ #include "tracing_agent.h" +#include "crdtp/json.h" #include "main_thread_interface.h" #include "node_internals.h" #include "node_v8_platform-inl.h" @@ -69,9 +70,16 @@ class SendMessageRequest : public Request { thread->GetObjectIfExists(object_id_)); if (frontend_wrapper == nullptr) return; auto frontend = frontend_wrapper->get(); - if (frontend != nullptr) { - frontend->sendRawJSONNotification(message_); + if (frontend == nullptr) { + return; } + std::vector<uint8_t> cbor; + crdtp::Status status = + crdtp::json::ConvertJSONToCBOR(crdtp::SpanFrom(message_), &cbor); + DCHECK(status.ok()); + USE(status); + + frontend->sendRawNotification(Serializable::From(cbor)); } private: @@ -136,11 +144,11 @@ void TracingAgent::Wire(UberDispatcher* dispatcher) { DispatchResponse TracingAgent::start( std::unique_ptr<protocol::NodeTracing::TraceConfig> traceConfig) { if (!trace_writer_.empty()) { - return DispatchResponse::Error( + return DispatchResponse::InvalidRequest( "Call NodeTracing::end to stop tracing before updating the config"); } if (!env_->owns_process_state()) { - return DispatchResponse::Error( + return DispatchResponse::InvalidRequest( "Tracing properties can only be changed through main thread sessions"); } @@ -151,7 +159,8 @@ DispatchResponse TracingAgent::start( categories_set.insert((*categories)[i]); if (categories_set.empty()) - return DispatchResponse::Error("At least one category should be enabled"); + return DispatchResponse::InvalidRequest( + "At least one category should be enabled"); tracing::AgentWriterHandle* writer = GetTracingAgentWriter(); if (writer != nullptr) { @@ -161,13 +170,13 @@ DispatchResponse TracingAgent::start( frontend_object_id_, main_thread_), tracing::Agent::kIgnoreDefaultCategories); } - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse TracingAgent::stop() { trace_writer_.reset(); frontend_->tracingComplete(); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse TracingAgent::getCategories( @@ -195,7 +204,7 @@ DispatchResponse TracingAgent::getCategories( categories_list->emplace_back("node.threadpoolwork.sync"); categories_list->emplace_back("node.vm.script"); categories_list->emplace_back("v8"); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } } // namespace protocol diff --git a/src/inspector/worker_agent.cc b/src/inspector/worker_agent.cc index 81706572e646ea..87da164ee9e9b9 100644 --- a/src/inspector/worker_agent.cc +++ b/src/inspector/worker_agent.cc @@ -93,13 +93,13 @@ void WorkerAgent::Wire(UberDispatcher* dispatcher) { DispatchResponse WorkerAgent::sendMessageToWorker(const String& message, const String& sessionId) { workers_->Receive(sessionId, message); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse WorkerAgent::enable(bool waitForDebuggerOnStart) { auto manager = manager_.lock(); if (!manager) { - return DispatchResponse::OK(); + return DispatchResponse::Success(); } if (!event_handle_) { std::unique_ptr<AgentWorkerInspectorDelegate> delegate( @@ -107,17 +107,17 @@ DispatchResponse WorkerAgent::enable(bool waitForDebuggerOnStart) { event_handle_ = manager->SetAutoAttach(std::move(delegate)); } event_handle_->SetWaitOnStart(waitForDebuggerOnStart); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse WorkerAgent::disable() { event_handle_.reset(); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } DispatchResponse WorkerAgent::detach(const String& sessionId) { workers_->Detached(sessionId); - return DispatchResponse::OK(); + return DispatchResponse::Success(); } void NodeWorkers::WorkerCreated(const std::string& title, diff --git a/src/inspector/worker_inspector.h b/src/inspector/worker_inspector.h index d3254d5aa0ebe4..24403bb1704c40 100644 --- a/src/inspector/worker_inspector.h +++ b/src/inspector/worker_inspector.h @@ -5,6 +5,7 @@ #error("This header can only be used when inspector is enabled") #endif +#include <cstdint> #include <memory> #include <string> #include <unordered_map> diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc index bb39a0cb42a7be..be767c1825d64f 100644 --- a/src/inspector_agent.cc +++ b/src/inspector_agent.cc @@ -1,8 +1,10 @@ #include "inspector_agent.h" +#include "crdtp/json.h" #include "env-inl.h" #include "inspector/main_thread_interface.h" #include "inspector/network_inspector.h" +#include "inspector/node_json.h" #include "inspector/node_string.h" #include "inspector/runtime_agent.h" #include "inspector/tracing_agent.h" @@ -37,6 +39,12 @@ namespace node { namespace inspector { namespace { + +using crdtp::Dispatchable; +using crdtp::Serializable; +using crdtp::UberDispatcher; +using crdtp::json::ConvertCBORToJSON; +using crdtp::json::ConvertJSONToCBOR; using v8::Context; using v8::Function; using v8::HandleScope; @@ -45,7 +53,6 @@ using v8::Local; using v8::Message; using v8::Object; using v8::Value; - using v8_inspector::StringBuffer; using v8_inspector::StringView; using v8_inspector::V8Inspector; @@ -222,7 +229,7 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, this, StringView(), V8Inspector::ClientTrustLevel::kFullyTrusted); - node_dispatcher_ = std::make_unique<protocol::UberDispatcher>(this); + node_dispatcher_ = std::make_unique<UberDispatcher>(this); tracing_agent_ = std::make_unique<protocol::TracingAgent>(env, main_thread_); tracing_agent_->Wire(node_dispatcher_.get()); @@ -252,8 +259,7 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, void emitNotificationFromBackend(const StringView& event, const StringView& params) { std::unique_ptr<protocol::DictionaryValue> value = - protocol::DictionaryValue::cast( - protocol::StringUtil::parseJSON(params)); + protocol::DictionaryValue::cast(JsonUtil::parseJSON(params)); std::string raw_event = protocol::StringUtil::StringViewToUtf8(event); std::string domain_name = raw_event.substr(0, raw_event.find('.')); std::string event_name = raw_event.substr(raw_event.find('.') + 1); @@ -270,19 +276,24 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, per_process::Debug(DebugCategory::INSPECTOR_SERVER, "[inspector received] %s\n", raw_message); - std::unique_ptr<protocol::DictionaryValue> value = - protocol::DictionaryValue::cast( - protocol::StringUtil::parseJSON(message)); - int call_id; - std::string method; - node_dispatcher_->parseCommand(value.get(), &call_id, &method); + + std::vector<uint8_t> cbor_buffer; + ConvertJSONToCBOR(crdtp::SpanFrom(raw_message), &cbor_buffer); + Dispatchable dispatchable(crdtp::SpanFrom(cbor_buffer)); + crdtp::span<uint8_t> method = dispatchable.Method(); if (v8_inspector::V8InspectorSession::canDispatchMethod( - Utf8ToStringView(method)->string())) { + StringView(method.data(), method.size()))) { session_->dispatchProtocolMessage(message); - } else { - node_dispatcher_->dispatch( - call_id, method, std::move(value), raw_message); + return; } + UberDispatcher::DispatchResult result = + node_dispatcher_->Dispatch(dispatchable); + if (!result.MethodFound()) { + per_process::Debug(DebugCategory::INSPECTOR_SERVER, + "[inspector] method not found\n"); + // Fall through to send a method not found error. + } + result.Run(); } void schedulePauseOnNextStatement(const std::string& reason) { @@ -308,18 +319,23 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, } private: + // v8_inspector::V8Inspector::Channel void sendResponse( int callId, std::unique_ptr<v8_inspector::StringBuffer> message) override { sendMessageToFrontend(message->string()); } + // v8_inspector::V8Inspector::Channel void sendNotification( std::unique_ptr<v8_inspector::StringBuffer> message) override { sendMessageToFrontend(message->string()); } + // v8_inspector::V8Inspector::Channel void flushProtocolNotifications() override { } + // crdtp::FrontendChannel + void FlushProtocolNotifications() override {} void sendMessageToFrontend(const StringView& message) { if (per_process::enabled_debug_list.enabled( @@ -336,20 +352,34 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, sendMessageToFrontend(Utf8ToStringView(message)->string()); } - using Serializable = protocol::Serializable; - - void sendProtocolResponse(int callId, + // crdtp::FrontendChannel + void SendProtocolResponse(int callId, std::unique_ptr<Serializable> message) override { - sendMessageToFrontend(message->serializeToJSON()); + std::vector<uint8_t> cbor = message->Serialize(); + std::string json; + crdtp::Status status = ConvertCBORToJSON(crdtp::SpanFrom(cbor), &json); + DCHECK(status.ok()); + USE(status); + + sendMessageToFrontend(json); } - void sendProtocolNotification( + + // crdtp::FrontendChannel + void SendProtocolNotification( std::unique_ptr<Serializable> message) override { - sendMessageToFrontend(message->serializeToJSON()); + std::vector<uint8_t> cbor = message->Serialize(); + std::string json; + crdtp::Status status = ConvertCBORToJSON(crdtp::SpanFrom(cbor), &json); + DCHECK(status.ok()); + USE(status); + + sendMessageToFrontend(json); } - void fallThrough(int callId, - const std::string& method, - const std::string& message) override { + // crdtp::FrontendChannel + void FallThrough(int call_id, + crdtp::span<uint8_t> method, + crdtp::span<uint8_t> message) override { DCHECK(false); } @@ -359,7 +389,7 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, std::unique_ptr<NetworkInspector> network_inspector_; std::unique_ptr<InspectorSessionDelegate> delegate_; std::unique_ptr<v8_inspector::V8InspectorSession> session_; - std::unique_ptr<protocol::UberDispatcher> node_dispatcher_; + std::unique_ptr<UberDispatcher> node_dispatcher_; bool prevent_shutdown_; bool retaining_context_; }; diff --git a/src/inspector_js_api.cc b/src/inspector_js_api.cc index 282575601545d1..63ceaccdf2406b 100644 --- a/src/inspector_js_api.cc +++ b/src/inspector_js_api.cc @@ -333,7 +333,7 @@ void Url(const FunctionCallbackInfo<Value>& args) { if (url.empty()) { return; } - args.GetReturnValue().Set(OneByteString(env->isolate(), url.c_str())); + args.GetReturnValue().Set(OneByteString(env->isolate(), url)); } void Initialize(Local<Object> target, Local<Value> unused, diff --git a/src/node_buffer.cc b/src/node_buffer.cc index 2e0e8d4746fb61..e8eae4eff51144 100644 --- a/src/node_buffer.cc +++ b/src/node_buffer.cc @@ -58,6 +58,7 @@ namespace Buffer { using v8::ArrayBuffer; using v8::ArrayBufferView; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Context; using v8::EscapableHandleScope; using v8::FastApiTypedArray; @@ -372,9 +373,8 @@ MaybeLocal<Object> New(Environment* env, size_t length) { Local<ArrayBuffer> ab; { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - std::unique_ptr<BackingStore> bs = - ArrayBuffer::NewBackingStore(isolate, length); + std::unique_ptr<BackingStore> bs = ArrayBuffer::NewBackingStore( + isolate, length, BackingStoreInitializationMode::kUninitialized); CHECK(bs); @@ -413,18 +413,14 @@ MaybeLocal<Object> Copy(Environment* env, const char* data, size_t length) { return Local<Object>(); } - Local<ArrayBuffer> ab; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - std::unique_ptr<BackingStore> bs = - ArrayBuffer::NewBackingStore(isolate, length); + std::unique_ptr<BackingStore> bs = ArrayBuffer::NewBackingStore( + isolate, length, BackingStoreInitializationMode::kUninitialized); - CHECK(bs); + CHECK(bs); - memcpy(bs->Data(), data, length); + memcpy(bs->Data(), data, length); - ab = ArrayBuffer::New(isolate, std::move(bs)); - } + Local<ArrayBuffer> ab = ArrayBuffer::New(isolate, std::move(bs)); MaybeLocal<Object> obj = New(env, ab, 0, ab->ByteLength()) diff --git a/src/node_builtins.cc b/src/node_builtins.cc index e5955903261397..894fd515202cc3 100644 --- a/src/node_builtins.cc +++ b/src/node_builtins.cc @@ -78,7 +78,7 @@ void BuiltinLoader::GetNatives(Local<Name> property, Local<Object> out = Object::New(isolate); auto source = env->builtin_loader()->source_.read(); for (auto const& x : *source) { - Local<String> key = OneByteString(isolate, x.first.c_str(), x.first.size()); + Local<String> key = OneByteString(isolate, x.first); out->Set(context, key, x.second.ToStringChecked(isolate)).FromJust(); } info.GetReturnValue().Set(out); @@ -119,6 +119,9 @@ BuiltinLoader::BuiltinCategories BuiltinLoader::GetBuiltinCategories() const { builtin_categories.cannot_be_required = std::set<std::string> { #if !HAVE_INSPECTOR "inspector", "inspector/promises", "internal/util/inspector", + "internal/inspector/network", "internal/inspector/network_http", + "internal/inspector/network_undici", "internal/inspector_async_hook", + "internal/inspector_network_tracking", #endif // !HAVE_INSPECTOR #if !NODE_USE_V8_PLATFORM || !defined(NODE_HAVE_I18N_SUPPORT) @@ -204,7 +207,7 @@ MaybeLocal<String> BuiltinLoader::LoadBuiltinSource(Isolate* isolate, uv_err_name(r), uv_strerror(r), filename); - Local<String> message = OneByteString(isolate, buf.c_str()); + Local<String> message = OneByteString(isolate, buf); isolate->ThrowException(v8::Exception::Error(message)); return MaybeLocal<String>(); } @@ -274,8 +277,7 @@ MaybeLocal<Function> BuiltinLoader::LookupAndCompileInternal( } std::string filename_s = std::string("node:") + id; - Local<String> filename = - OneByteString(isolate, filename_s.c_str(), filename_s.size()); + Local<String> filename = OneByteString(isolate, filename_s); ScriptOrigin origin(filename, 0, 0, true); BuiltinCodeCacheData cached_data{}; @@ -592,7 +594,7 @@ void BuiltinLoader::GetBuiltinCategories( return; if (result ->Set(context, - OneByteString(isolate, "cannotBeRequired"), + FIXED_ONE_BYTE_STRING(isolate, "cannotBeRequired"), cannot_be_required_js) .IsNothing()) return; @@ -601,7 +603,7 @@ void BuiltinLoader::GetBuiltinCategories( return; if (result ->Set(context, - OneByteString(isolate, "canBeRequired"), + FIXED_ONE_BYTE_STRING(isolate, "canBeRequired"), can_be_required_js) .IsNothing()) { return; @@ -624,7 +626,7 @@ void BuiltinLoader::GetCacheUsage(const FunctionCallbackInfo<Value>& args) { } if (result ->Set(context, - OneByteString(isolate, "compiledWithCache"), + FIXED_ONE_BYTE_STRING(isolate, "compiledWithCache"), builtins_with_cache_js) .IsNothing()) { return; @@ -636,7 +638,7 @@ void BuiltinLoader::GetCacheUsage(const FunctionCallbackInfo<Value>& args) { } if (result ->Set(context, - OneByteString(isolate, "compiledWithoutCache"), + FIXED_ONE_BYTE_STRING(isolate, "compiledWithoutCache"), builtins_without_cache_js) .IsNothing()) { return; @@ -648,7 +650,7 @@ void BuiltinLoader::GetCacheUsage(const FunctionCallbackInfo<Value>& args) { } if (result ->Set(context, - OneByteString(isolate, "compiledInSnapshot"), + FIXED_ONE_BYTE_STRING(isolate, "compiledInSnapshot"), builtins_in_snapshot_js) .IsNothing()) { return; diff --git a/src/node_constants.cc b/src/node_constants.cc index 41465f627118cd..a390bc8616afc1 100644 --- a/src/node_constants.cc +++ b/src/node_constants.cc @@ -1337,33 +1337,47 @@ void CreatePerContextProperties(Local<Object> target, // Define libuv constants. NODE_DEFINE_CONSTANT(os_constants, UV_UDP_REUSEADDR); - os_constants->Set(env->context(), - OneByteString(isolate, "dlopen"), - dlopen_constants).Check(); - os_constants->Set(env->context(), - OneByteString(isolate, "errno"), - err_constants).Check(); - os_constants->Set(env->context(), - OneByteString(isolate, "signals"), - sig_constants).Check(); - os_constants->Set(env->context(), - OneByteString(isolate, "priority"), - priority_constants).Check(); - target->Set(env->context(), - OneByteString(isolate, "os"), - os_constants).Check(); - target->Set(env->context(), - OneByteString(isolate, "fs"), - fs_constants).Check(); - target->Set(env->context(), - OneByteString(isolate, "crypto"), - crypto_constants).Check(); - target->Set(env->context(), - OneByteString(isolate, "zlib"), - zlib_constants).Check(); - target->Set(env->context(), - OneByteString(isolate, "trace"), - trace_constants).Check(); + os_constants + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "dlopen"), + dlopen_constants) + .Check(); + os_constants + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "errno"), + err_constants) + .Check(); + os_constants + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "signals"), + sig_constants) + .Check(); + os_constants + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "priority"), + priority_constants) + .Check(); + target + ->Set(env->context(), FIXED_ONE_BYTE_STRING(isolate, "os"), os_constants) + .Check(); + target + ->Set(env->context(), FIXED_ONE_BYTE_STRING(isolate, "fs"), fs_constants) + .Check(); + target + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "crypto"), + crypto_constants) + .Check(); + target + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "zlib"), + zlib_constants) + .Check(); + target + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "trace"), + trace_constants) + .Check(); } } // namespace constants diff --git a/src/node_contextify.cc b/src/node_contextify.cc index 77d35675827c67..ab6659d8cdccc6 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -118,8 +118,9 @@ Local<Name> Uint32ToName(Local<Context> context, uint32_t index) { } // anonymous namespace -BaseObjectPtr<ContextifyContext> ContextifyContext::New( - Environment* env, Local<Object> sandbox_obj, ContextOptions* options) { +ContextifyContext* ContextifyContext::New(Environment* env, + Local<Object> sandbox_obj, + ContextOptions* options) { Local<ObjectTemplate> object_template; HandleScope scope(env->isolate()); CHECK_IMPLIES(sandbox_obj.IsEmpty(), options->vanilla); @@ -140,21 +141,25 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( if (!(CreateV8Context(env->isolate(), object_template, snapshot_data, queue) .ToLocal(&v8_context))) { // Allocation failure, maximum call stack size reached, termination, etc. - return BaseObjectPtr<ContextifyContext>(); + return {}; } return New(v8_context, env, sandbox_obj, options); } -void ContextifyContext::MemoryInfo(MemoryTracker* tracker) const {} +void ContextifyContext::Trace(cppgc::Visitor* visitor) const { + CppgcMixin::Trace(visitor); + visitor->Trace(context_); +} ContextifyContext::ContextifyContext(Environment* env, Local<Object> wrapper, Local<Context> v8_context, ContextOptions* options) - : BaseObject(env, wrapper), - microtask_queue_(options->own_microtask_queue + : microtask_queue_(options->own_microtask_queue ? options->own_microtask_queue.release() : nullptr) { + CppgcMixin::Wrap(this, env, wrapper); + context_.Reset(env->isolate(), v8_context); // This should only be done after the initial initializations of the context // global object is finished. @@ -162,19 +167,6 @@ ContextifyContext::ContextifyContext(Environment* env, ContextEmbedderIndex::kContextifyContext)); v8_context->SetAlignedPointerInEmbedderData( ContextEmbedderIndex::kContextifyContext, this); - // It's okay to make this reference weak - V8 would create an internal - // reference to this context via the constructor of the wrapper. - // As long as the wrapper is alive, it's constructor is alive, and so - // is the context. - context_.SetWeak(); -} - -ContextifyContext::~ContextifyContext() { - Isolate* isolate = env()->isolate(); - HandleScope scope(isolate); - - env()->UnassignFromContext(PersistentToLocal::Weak(isolate, context_)); - context_.Reset(); } void ContextifyContext::InitializeGlobalTemplates(IsolateData* isolate_data) { @@ -251,11 +243,10 @@ MaybeLocal<Context> ContextifyContext::CreateV8Context( return scope.Escape(ctx); } -BaseObjectPtr<ContextifyContext> ContextifyContext::New( - Local<Context> v8_context, - Environment* env, - Local<Object> sandbox_obj, - ContextOptions* options) { +ContextifyContext* ContextifyContext::New(Local<Context> v8_context, + Environment* env, + Local<Object> sandbox_obj, + ContextOptions* options) { HandleScope scope(env->isolate()); CHECK_IMPLIES(sandbox_obj.IsEmpty(), options->vanilla); // This only initializes part of the context. The primordials are @@ -263,7 +254,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( // things down significantly and they are only needed in rare occasions // in the vm contexts. if (InitializeContextRuntime(v8_context).IsNothing()) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } Local<Context> main_context = env->context(); @@ -300,7 +291,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( info.origin = *origin_val; } - BaseObjectPtr<ContextifyContext> result; + ContextifyContext* result; Local<Object> wrapper; { Context::Scope context_scope(v8_context); @@ -315,7 +306,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( ctor_name, static_cast<v8::PropertyAttribute>(v8::DontEnum)) .IsNothing()) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } } @@ -328,7 +319,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( env->host_defined_option_symbol(), options->host_defined_options_id) .IsNothing()) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } env->AssignToContext(v8_context, nullptr, info); @@ -336,13 +327,15 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( if (!env->contextify_wrapper_template() ->NewInstance(v8_context) .ToLocal(&wrapper)) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } - result = - MakeBaseObject<ContextifyContext>(env, wrapper, v8_context, options); - // The only strong reference to the wrapper will come from the sandbox. - result->MakeWeak(); + result = cppgc::MakeGarbageCollected<ContextifyContext>( + env->isolate()->GetCppHeap()->GetAllocationHandle(), + env, + wrapper, + v8_context, + options); } Local<Object> wrapper_holder = @@ -352,7 +345,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( ->SetPrivate( v8_context, env->contextify_context_private_symbol(), wrapper) .IsNothing()) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } // Assign host_defined_options_id to the sandbox object or the global object @@ -364,7 +357,7 @@ BaseObjectPtr<ContextifyContext> ContextifyContext::New( env->host_defined_option_symbol(), options->host_defined_options_id) .IsNothing()) { - return BaseObjectPtr<ContextifyContext>(); + return {}; } return result; } @@ -438,7 +431,7 @@ void ContextifyContext::MakeContext(const FunctionCallbackInfo<Value>& args) { options.host_defined_options_id = args[6].As<Symbol>(); TryCatchScope try_catch(env); - BaseObjectPtr<ContextifyContext> context_ptr = + ContextifyContext* context_ptr = ContextifyContext::New(env, sandbox, &options); if (try_catch.HasCaught()) { @@ -469,6 +462,10 @@ ContextifyContext* ContextifyContext::ContextFromContextifiedSandbox( template <typename T> ContextifyContext* ContextifyContext::Get(const PropertyCallbackInfo<T>& args) { + // TODO(joyeecheung): it should be fine to simply use + // args.GetIsolate()->GetCurrentContext() and take the pointer at + // ContextEmbedderIndex::kContextifyContext, as V8 is supposed to + // push the creation context before invoking these callbacks. return Get(args.This()); } diff --git a/src/node_contextify.h b/src/node_contextify.h index d67968406d7b74..de69c22b0ebaed 100644 --- a/src/node_contextify.h +++ b/src/node_contextify.h @@ -23,17 +23,73 @@ struct ContextOptions { bool vanilla = false; }; -class ContextifyContext : public BaseObject { +/** + * The memory management of a vm context is as follows: + * + * user code + * │ + * As global proxy or ▼ + * ┌──────────────┐ kSandboxObject embedder data ┌────────────────┐ + * ┌─► │ V8 Context │────────────────────────────────►│ Wrapper holder │ + * │ └──────────────┘ └───────┬────────┘ + * │ ▲ Object constructor/creation context │ + * │ │ │ + * │ ┌──────┴────────────┐ contextify_context_private_symbol │ + * │ │ ContextifyContext │◄────────────────────────────────────┘ + * │ │ JS Wrapper │◄──────────► ┌─────────────────────────┐ + * │ └───────────────────┘ cppgc │ node::ContextifyContext │ + * │ │ C++ Object │ + * └──────────────────────────────────► └─────────────────────────┘ + * v8::TracedReference / ContextEmbedderIndex::kContextifyContext + * + * There are two possibilities for the "wrapper holder": + * + * 1. When vm.constants.DONT_CONTEXTIFY is used, the wrapper holder is the V8 + * context's global proxy object + * 2. Otherwise it's the arbitrary "sandbox object" that users pass into + * vm.createContext() or a new empty object created internally if they pass + * undefined. + * + * In 2, the global object of the new V8 context is created using + * global_object_template with interceptors that perform any requested + * operations on the global object in the context first on the sandbox object + * living outside of the new context, then fall back to the global proxy of the + * new context. + * + * It's critical for the user-accessible wrapper holder to keep the + * ContextifyContext wrapper alive via contextify_context_private_symbol + * so that the V8 context is always available to the user while they still + * hold the vm "context" object alive. + * + * It's also critical for the V8 context to keep the wrapper holder + * (specifically, the "sandbox object" if users pass one) as well as the + * node::ContextifyContext C++ object alive, so that when the code + * runs inside the object and accesses the global object, the interceptors + * can still access the "sandbox object" and perform operations + * on them, even if users already relinquish access to the outer + * "sandbox object". + * + * The v8::TracedReference and the ContextEmbedderIndex::kContextifyContext + * slot in the context only act as shortcuts between + * the node::ContextifyContext C++ object and the V8 context. + */ +class ContextifyContext final : CPPGC_MIXIN(ContextifyContext) { public: + SET_CPPGC_NAME(ContextifyContext) + void Trace(cppgc::Visitor* visitor) const final; + ContextifyContext(Environment* env, v8::Local<v8::Object> wrapper, v8::Local<v8::Context> v8_context, ContextOptions* options); - ~ContextifyContext(); - void MemoryInfo(MemoryTracker* tracker) const override; - SET_MEMORY_INFO_NAME(ContextifyContext) - SET_SELF_SIZE(ContextifyContext) + // The destructors don't need to do anything because when the wrapper is + // going away, the context is already going away or otherwise it would've + // been holding the wrapper alive, so there's no need to reset the pointers + // in the context. Also, any global handles to the context would've been + // empty at this point, and the per-Environment context tracking code is + // capable of dealing with empty handles from contexts purged elsewhere. + ~ContextifyContext() = default; static v8::MaybeLocal<v8::Context> CreateV8Context( v8::Isolate* isolate, @@ -48,7 +104,7 @@ class ContextifyContext : public BaseObject { Environment* env, const v8::Local<v8::Object>& wrapper_holder); inline v8::Local<v8::Context> context() const { - return PersistentToLocal::Default(env()->isolate(), context_); + return context_.Get(env()->isolate()); } inline v8::Local<v8::Object> global_proxy() const { @@ -75,14 +131,14 @@ class ContextifyContext : public BaseObject { static void InitializeGlobalTemplates(IsolateData* isolate_data); private: - static BaseObjectPtr<ContextifyContext> New(Environment* env, - v8::Local<v8::Object> sandbox_obj, - ContextOptions* options); + static ContextifyContext* New(Environment* env, + v8::Local<v8::Object> sandbox_obj, + ContextOptions* options); // Initialize a context created from CreateV8Context() - static BaseObjectPtr<ContextifyContext> New(v8::Local<v8::Context> ctx, - Environment* env, - v8::Local<v8::Object> sandbox_obj, - ContextOptions* options); + static ContextifyContext* New(v8::Local<v8::Context> ctx, + Environment* env, + v8::Local<v8::Object> sandbox_obj, + ContextOptions* options); static bool IsStillInitializing(const ContextifyContext* ctx); static void MakeContext(const v8::FunctionCallbackInfo<v8::Value>& args); @@ -140,7 +196,7 @@ class ContextifyContext : public BaseObject { static void IndexedPropertyEnumeratorCallback( const v8::PropertyCallbackInfo<v8::Array>& args); - v8::Global<v8::Context> context_; + v8::TracedReference<v8::Context> context_; std::unique_ptr<v8::MicrotaskQueue> microtask_queue_; }; diff --git a/src/node_credentials.cc b/src/node_credentials.cc index 0152f6269c83ef..de6e48a90552c7 100644 --- a/src/node_credentials.cc +++ b/src/node_credentials.cc @@ -99,15 +99,7 @@ bool SafeGetenv(const char* key, std::string* text, Environment* env) { *text = value.value(); } - auto options = - (env != nullptr ? env->options() - : per_process::cli_options->per_isolate->per_env); - - if (options->trace_env) { - fprintf(stderr, "[--trace-env] get environment variable \"%s\"\n", key); - - PrintTraceEnvStack(options); - } + TraceEnvVar(env, "get", key); return has_env; } diff --git a/src/node_env_var.cc b/src/node_env_var.cc index 93dff5f1a9c649..70ff9da2537e93 100644 --- a/src/node_env_var.cc +++ b/src/node_env_var.cc @@ -338,19 +338,73 @@ Maybe<void> KVStore::AssignToObject(v8::Isolate* isolate, return JustVoid(); } -void PrintTraceEnvStack(Environment* env) { - PrintTraceEnvStack(env->options()); -} +struct TraceEnvVarOptions { + bool print_message : 1 = 0; + bool print_js_stack : 1 = 0; + bool print_native_stack : 1 = 0; +}; -void PrintTraceEnvStack(std::shared_ptr<EnvironmentOptions> options) { - if (options->trace_env_native_stack) { +template <typename... Args> +inline void TraceEnvVarImpl(Environment* env, + TraceEnvVarOptions options, + const char* format, + Args&&... args) { + if (options.print_message) { + fprintf(stderr, format, std::forward<Args>(args)...); + } + if (options.print_native_stack) { DumpNativeBacktrace(stderr); } - if (options->trace_env_js_stack) { + if (options.print_js_stack) { DumpJavaScriptBacktrace(stderr); } } +TraceEnvVarOptions GetTraceEnvVarOptions(Environment* env) { + TraceEnvVarOptions options; + auto cli_options = env != nullptr + ? env->options() + : per_process::cli_options->per_isolate->per_env; + if (cli_options->trace_env) { + options.print_message = 1; + }; + if (cli_options->trace_env_js_stack) { + options.print_js_stack = 1; + }; + if (cli_options->trace_env_native_stack) { + options.print_native_stack = 1; + }; + return options; +} + +void TraceEnvVar(Environment* env, const char* message) { + TraceEnvVarImpl( + env, GetTraceEnvVarOptions(env), "[--trace-env] %s\n", message); +} + +void TraceEnvVar(Environment* env, const char* message, const char* key) { + TraceEnvVarImpl(env, + GetTraceEnvVarOptions(env), + "[--trace-env] %s \"%s\"\n", + message, + key); +} + +void TraceEnvVar(Environment* env, + const char* message, + v8::Local<v8::String> key) { + TraceEnvVarOptions options = GetTraceEnvVarOptions(env); + if (options.print_message) { + Utf8Value key_utf8(env->isolate(), key); + TraceEnvVarImpl(env, + options, + "[--trace-env] %s \"%.*s\"\n", + message, + static_cast<int>(key_utf8.length()), + key_utf8.out()); + } +} + static Intercepted EnvGetter(Local<Name> property, const PropertyCallbackInfo<Value>& info) { Environment* env = Environment::GetCurrent(info); @@ -364,14 +418,7 @@ static Intercepted EnvGetter(Local<Name> property, env->env_vars()->Get(env->isolate(), property.As<String>()); bool has_env = !value_string.IsEmpty(); - if (env->options()->trace_env) { - Utf8Value key(env->isolate(), property.As<String>()); - fprintf(stderr, - "[--trace-env] get environment variable \"%.*s\"\n", - static_cast<int>(key.length()), - key.out()); - PrintTraceEnvStack(env); - } + TraceEnvVar(env, "get", property.As<String>()); if (has_env) { info.GetReturnValue().Set(value_string.ToLocalChecked()); @@ -411,14 +458,7 @@ static Intercepted EnvSetter(Local<Name> property, } env->env_vars()->Set(env->isolate(), key, value_string); - if (env->options()->trace_env) { - Utf8Value key_utf8(env->isolate(), key); - fprintf(stderr, - "[--trace-env] set environment variable \"%.*s\"\n", - static_cast<int>(key_utf8.length()), - key_utf8.out()); - PrintTraceEnvStack(env); - } + TraceEnvVar(env, "set", key); return Intercepted::kYes; } @@ -430,16 +470,7 @@ static Intercepted EnvQuery(Local<Name> property, if (property->IsString()) { int32_t rc = env->env_vars()->Query(env->isolate(), property.As<String>()); bool has_env = (rc != -1); - - if (env->options()->trace_env) { - Utf8Value key_utf8(env->isolate(), property.As<String>()); - fprintf(stderr, - "[--trace-env] query environment variable \"%.*s\": %s\n", - static_cast<int>(key_utf8.length()), - key_utf8.out(), - has_env ? "is set" : "is not set"); - PrintTraceEnvStack(env); - } + TraceEnvVar(env, "query", property.As<String>()); if (has_env) { // Return attributes for the property. info.GetReturnValue().Set(v8::None); @@ -456,14 +487,7 @@ static Intercepted EnvDeleter(Local<Name> property, if (property->IsString()) { env->env_vars()->Delete(env->isolate(), property.As<String>()); - if (env->options()->trace_env) { - Utf8Value key_utf8(env->isolate(), property.As<String>()); - fprintf(stderr, - "[--trace-env] delete environment variable \"%.*s\"\n", - static_cast<int>(key_utf8.length()), - key_utf8.out()); - PrintTraceEnvStack(env); - } + TraceEnvVar(env, "delete", property.As<String>()); } // process.env never has non-configurable properties, so always @@ -476,11 +500,7 @@ static void EnvEnumerator(const PropertyCallbackInfo<Array>& info) { Environment* env = Environment::GetCurrent(info); CHECK(env->has_run_bootstrapping_code()); - if (env->options()->trace_env) { - fprintf(stderr, "[--trace-env] enumerate environment variables\n"); - - PrintTraceEnvStack(env); - } + TraceEnvVar(env, "enumerate environment variables"); info.GetReturnValue().Set( env->env_vars()->Enumerate(env->isolate())); diff --git a/src/node_errors.cc b/src/node_errors.cc index 65f95c3157add2..609601328f7f5f 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -136,8 +136,13 @@ static std::string GetErrorSource(Isolate* isolate, // Print (filename):(line number): (message). ScriptOrigin origin = message->GetScriptOrigin(); - node::Utf8Value filename(isolate, message->GetScriptResourceName()); - const char* filename_string = *filename; + std::string filename_string; + if (message->GetScriptResourceName()->IsUndefined()) { + filename_string = "<anonymous_script>"; + } else { + node::Utf8Value filename(isolate, message->GetScriptResourceName()); + filename_string = filename.ToString(); + } int linenum = message->GetLineNumber(context).FromJust(); int script_start = (linenum - origin.LineOffset()) == 1 diff --git a/src/node_errors.h b/src/node_errors.h index a33177a5d8e7e6..41e00114cb469a 100644 --- a/src/node_errors.h +++ b/src/node_errors.h @@ -118,7 +118,7 @@ void OOMErrorHandler(const char* location, const v8::OOMDetails& details); inline v8::Local<v8::Object> code( \ v8::Isolate* isolate, const char* format, Args&&... args) { \ std::string message = SPrintF(format, std::forward<Args>(args)...); \ - v8::Local<v8::String> js_code = OneByteString(isolate, #code); \ + v8::Local<v8::String> js_code = FIXED_ONE_BYTE_STRING(isolate, #code); \ v8::Local<v8::String> js_msg = \ v8::String::NewFromUtf8(isolate, \ message.c_str(), \ @@ -129,7 +129,7 @@ void OOMErrorHandler(const char* location, const v8::OOMDetails& details); ->ToObject(isolate->GetCurrentContext()) \ .ToLocalChecked(); \ e->Set(isolate->GetCurrentContext(), \ - OneByteString(isolate, "code"), \ + FIXED_ONE_BYTE_STRING(isolate, "code"), \ js_code) \ .Check(); \ return e; \ diff --git a/src/node_file.cc b/src/node_file.cc index 6d097904f67b89..8e29bb39887625 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -1406,16 +1406,15 @@ static void ReadLink(const FunctionCallbackInfo<Value>& args) { const char* link_path = static_cast<const char*>(req_wrap_sync.req.ptr); Local<Value> error; - MaybeLocal<Value> rc = StringBytes::Encode(isolate, - link_path, - encoding, - &error); - if (rc.IsEmpty()) { + Local<Value> ret; + if (!StringBytes::Encode(isolate, link_path, encoding, &error) + .ToLocal(&ret)) { + DCHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; } - args.GetReturnValue().Set(rc.ToLocalChecked()); + args.GetReturnValue().Set(ret); } } @@ -1916,15 +1915,16 @@ static void MKDir(const FunctionCallbackInfo<Value>& args) { } if (!req_wrap_sync.continuation_data()->first_path().empty()) { Local<Value> error; + Local<Value> ret; std::string first_path(req_wrap_sync.continuation_data()->first_path()); - MaybeLocal<Value> path = StringBytes::Encode(env->isolate(), - first_path.c_str(), - UTF8, &error); - if (path.IsEmpty()) { + if (!StringBytes::Encode( + env->isolate(), first_path.c_str(), UTF8, &error) + .ToLocal(&ret)) { + DCHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; } - args.GetReturnValue().Set(path.ToLocalChecked()); + args.GetReturnValue().Set(ret); } } else { SyncCallAndThrowOnError(env, &req_wrap_sync, uv_fs_mkdir, *path, mode); @@ -1965,16 +1965,15 @@ static void RealPath(const FunctionCallbackInfo<Value>& args) { const char* link_path = static_cast<const char*>(req_wrap_sync.req.ptr); Local<Value> error; - MaybeLocal<Value> rc = StringBytes::Encode(isolate, - link_path, - encoding, - &error); - if (rc.IsEmpty()) { + Local<Value> ret; + if (!StringBytes::Encode(isolate, link_path, encoding, &error) + .ToLocal(&ret)) { + DCHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; } - args.GetReturnValue().Set(rc.ToLocalChecked()); + args.GetReturnValue().Set(ret); } } @@ -2061,17 +2060,15 @@ static void ReadDir(const FunctionCallbackInfo<Value>& args) { } Local<Value> error; - MaybeLocal<Value> filename = StringBytes::Encode(isolate, - ent.name, - encoding, - &error); - - if (filename.IsEmpty()) { + Local<Value> fn; + if (!StringBytes::Encode(isolate, ent.name, encoding, &error) + .ToLocal(&fn)) { + DCHECK(!error.IsEmpty()); isolate->ThrowException(error); return; } - name_v.push_back(filename.ToLocalChecked()); + name_v.push_back(fn); if (with_types) { type_v.emplace_back(Integer::New(isolate, ent.type)); @@ -2485,7 +2482,6 @@ static void WriteString(const FunctionCallbackInfo<Value>& args) { } } else { // write(fd, string, pos, enc, undefined, ctx) CHECK_EQ(argc, 6); - FSReqWrapSync req_wrap_sync; FSReqBase::FSReqBuffer stack_buffer; if (buf == nullptr) { if (!StringBytes::StorageSize(isolate, value, enc).To(&len)) @@ -2499,6 +2495,7 @@ static void WriteString(const FunctionCallbackInfo<Value>& args) { buf = *stack_buffer; } uv_buf_t uvbuf = uv_buf_init(buf, len); + FSReqWrapSync req_wrap_sync("write"); FS_SYNC_TRACE_BEGIN(write); int bytesWritten = SyncCall(env, args[5], &req_wrap_sync, "write", uv_fs_write, fd, &uvbuf, 1, pos); @@ -3092,13 +3089,14 @@ static void Mkdtemp(const FunctionCallbackInfo<Value>& args) { return; } Local<Value> error; - MaybeLocal<Value> rc = - StringBytes::Encode(isolate, req_wrap_sync.req.path, encoding, &error); - if (rc.IsEmpty()) { + Local<Value> ret; + if (!StringBytes::Encode(isolate, req_wrap_sync.req.path, encoding, &error) + .ToLocal(&ret)) { + DCHECK(!error.IsEmpty()); env->isolate()->ThrowException(error); return; } - args.GetReturnValue().Set(rc.ToLocalChecked()); + args.GetReturnValue().Set(ret); } } @@ -3148,21 +3146,8 @@ static void GetFormatOfExtensionlessFile( } #ifdef _WIN32 -std::wstring ConvertToWideString(const std::string& str) { - int size_needed = MultiByteToWideChar( - CP_UTF8, 0, &str[0], static_cast<int>(str.size()), nullptr, 0); - std::wstring wstrTo(size_needed, 0); - MultiByteToWideChar(CP_UTF8, - 0, - &str[0], - static_cast<int>(str.size()), - &wstrTo[0], - size_needed); - return wstrTo; -} - #define BufferValueToPath(str) \ - std::filesystem::path(ConvertToWideString(str.ToString())) + std::filesystem::path(ConvertToWideString(str.ToString(), CP_UTF8)) std::string ConvertWideToUTF8(const std::wstring& wstr) { if (wstr.empty()) return std::string(); @@ -3410,9 +3395,11 @@ void BindingData::LegacyMainResolve(const FunctionCallbackInfo<Value>& args) { for (int i = 0; i < legacy_main_extensions_with_main_end; i++) { file_path = *initial_file_path + std::string(legacy_main_extensions[i]); // TODO(anonrig): Remove this when ToNamespacedPath supports std::string - Local<Value> local_file_path = - Buffer::Copy(env->isolate(), file_path.c_str(), file_path.size()) - .ToLocalChecked(); + Local<Value> local_file_path; + if (!Buffer::Copy(env->isolate(), file_path.c_str(), file_path.size()) + .ToLocal(&local_file_path)) { + return; + } BufferValue buff_file_path(isolate, local_file_path); ToNamespacedPath(env, &buff_file_path); @@ -3445,9 +3432,11 @@ void BindingData::LegacyMainResolve(const FunctionCallbackInfo<Value>& args) { i++) { file_path = *initial_file_path + std::string(legacy_main_extensions[i]); // TODO(anonrig): Remove this when ToNamespacedPath supports std::string - Local<Value> local_file_path = - Buffer::Copy(env->isolate(), file_path.c_str(), file_path.size()) - .ToLocalChecked(); + Local<Value> local_file_path; + if (!Buffer::Copy(env->isolate(), file_path.c_str(), file_path.size()) + .ToLocal(&local_file_path)) { + return; + } BufferValue buff_file_path(isolate, local_file_path); ToNamespacedPath(env, &buff_file_path); diff --git a/src/node_http2.cc b/src/node_http2.cc index 29140148eec627..38b3046861e805 100644 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -27,6 +27,7 @@ using v8::Array; using v8::ArrayBuffer; using v8::ArrayBufferView; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::Boolean; using v8::Context; using v8::EscapableHandleScope; @@ -292,11 +293,10 @@ Local<Value> Http2Settings::Pack( size_t count, const nghttp2_settings_entry* entries) { EscapableHandleScope scope(env->isolate()); - std::unique_ptr<BackingStore> bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(env->isolate(), count * 6); - } + std::unique_ptr<BackingStore> bs = ArrayBuffer::NewBackingStore( + env->isolate(), + count * 6, + BackingStoreInitializationMode::kUninitialized); if (nghttp2_pack_settings_payload(static_cast<uint8_t*>(bs->Data()), bs->ByteLength(), entries, @@ -457,13 +457,11 @@ Origins::Origins( return; } - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs_ = ArrayBuffer::NewBackingStore(env->isolate(), - alignof(nghttp2_origin_entry) - 1 + - count_ * sizeof(nghttp2_origin_entry) + - origin_string_len); - } + bs_ = ArrayBuffer::NewBackingStore( + env->isolate(), + alignof(nghttp2_origin_entry) - 1 + + count_ * sizeof(nghttp2_origin_entry) + origin_string_len, + BackingStoreInitializationMode::kUninitialized); // Make sure the start address is aligned appropriately for an nghttp2_nv*. char* start = nbytes::AlignUp(static_cast<char*>(bs_->Data()), @@ -725,13 +723,14 @@ MaybeLocal<Object> Http2SessionPerformanceEntryTraits::GetDetails( SET(stream_average_duration_string, stream_average_duration) SET(stream_count_string, stream_count) - if (!obj->Set( - env->context(), - env->type_string(), - OneByteString( - env->isolate(), - (entry.details.session_type == NGHTTP2_SESSION_SERVER) - ? "server" : "client")).IsJust()) { + if (!obj->Set(env->context(), + env->type_string(), + FIXED_ONE_BYTE_STRING( + env->isolate(), + (entry.details.session_type == NGHTTP2_SESSION_SERVER) + ? "server" + : "client")) + .IsJust()) { return MaybeLocal<Object>(); } @@ -2089,12 +2088,10 @@ void Http2Session::OnStreamRead(ssize_t nread, const uv_buf_t& buf_) { // happen, we concatenate the data we received with the already-stored // pending input data, slicing off the already processed part. size_t pending_len = stream_buf_.len - stream_buf_offset_; - std::unique_ptr<BackingStore> new_bs; - { - NoArrayBufferZeroFillScope no_zero_fill_scope(env()->isolate_data()); - new_bs = ArrayBuffer::NewBackingStore(env()->isolate(), - pending_len + nread); - } + std::unique_ptr<BackingStore> new_bs = ArrayBuffer::NewBackingStore( + env()->isolate(), + pending_len + nread, + BackingStoreInitializationMode::kUninitialized); memcpy(static_cast<char*>(new_bs->Data()), stream_buf_.base + stream_buf_offset_, pending_len); diff --git a/src/node_internals.h b/src/node_internals.h index 000ba16303740d..382df89a2312f7 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -324,8 +324,11 @@ namespace credentials { bool SafeGetenv(const char* key, std::string* text, Environment* env = nullptr); } // namespace credentials -void PrintTraceEnvStack(Environment* env); -void PrintTraceEnvStack(std::shared_ptr<EnvironmentOptions> options); +void TraceEnvVar(Environment* env, const char* message); +void TraceEnvVar(Environment* env, const char* message, const char* key); +void TraceEnvVar(Environment* env, + const char* message, + v8::Local<v8::String> key); void DefineZlibConstants(v8::Local<v8::Object> target); v8::Isolate* NewIsolate(v8::Isolate::CreateParams* params, diff --git a/src/node_messaging.cc b/src/node_messaging.cc index a1c22cf5005121..73c0c38dc7bf45 100644 --- a/src/node_messaging.cc +++ b/src/node_messaging.cc @@ -1660,7 +1660,7 @@ static void CreatePerIsolateProperties(IsolateData* isolate_data, Local<FunctionTemplate> t = FunctionTemplate::New(isolate); t->InstanceTemplate()->SetInternalFieldCount( JSTransferable::kInternalFieldCount); - t->SetClassName(OneByteString(isolate, "JSTransferable")); + t->SetClassName(FIXED_ONE_BYTE_STRING(isolate, "JSTransferable")); isolate_data->set_js_transferable_constructor_template(t); } diff --git a/src/node_modules.cc b/src/node_modules.cc index 4b522a91323c9f..38d2c65c7f3282 100644 --- a/src/node_modules.cc +++ b/src/node_modules.cc @@ -1,6 +1,7 @@ #include "node_modules.h" #include <cstdio> #include "base_object-inl.h" +#include "compile_cache.h" #include "node_errors.h" #include "node_external_reference.h" #include "node_url.h" @@ -21,12 +22,16 @@ namespace modules { using v8::Array; using v8::Context; +using v8::External; using v8::FunctionCallbackInfo; using v8::HandleScope; +using v8::Integer; using v8::Isolate; using v8::Local; using v8::LocalVector; +using v8::Name; using v8::NewStringType; +using v8::Null; using v8::Object; using v8::ObjectTemplate; using v8::Primitive; @@ -344,8 +349,16 @@ void BindingData::GetNearestParentPackageJSON( path_value_str.push_back(kPathSeparator); } - auto package_json = - TraverseParent(realm, std::filesystem::path(path_value_str)); + std::filesystem::path path; + +#ifdef _WIN32 + std::wstring wide_path = ConvertToWideString(path_value_str, GetACP()); + path = std::filesystem::path(wide_path); +#else + path = std::filesystem::path(path_value_str); +#endif + + auto package_json = TraverseParent(realm, path); if (package_json != nullptr) { args.GetReturnValue().Set(package_json->Serialize(realm)); @@ -370,8 +383,16 @@ void BindingData::GetNearestParentPackageJSONType( path_value_str.push_back(kPathSeparator); } - auto package_json = - TraverseParent(realm, std::filesystem::path(path_value_str)); + std::filesystem::path path; + +#ifdef _WIN32 + std::wstring wide_path = ConvertToWideString(path_value_str, GetACP()); + path = std::filesystem::path(wide_path); +#else + path = std::filesystem::path(path_value_str); +#endif + + auto package_json = TraverseParent(realm, path); if (package_json == nullptr) { return; @@ -498,6 +519,74 @@ void GetCompileCacheDir(const FunctionCallbackInfo<Value>& args) { .ToLocalChecked()); } +void GetCompileCacheEntry(const FunctionCallbackInfo<Value>& args) { + Isolate* isolate = args.GetIsolate(); + CHECK(args[0]->IsString()); // TODO(joyeecheung): accept buffer. + CHECK(args[1]->IsString()); + CHECK(args[2]->IsUint32()); + Local<Context> context = isolate->GetCurrentContext(); + Environment* env = Environment::GetCurrent(context); + if (!env->use_compile_cache()) { + return; + } + Local<String> source = args[0].As<String>(); + Local<String> filename = args[1].As<String>(); + CachedCodeType type = + static_cast<CachedCodeType>(args[2].As<v8::Uint32>()->Value()); + auto* cache_entry = + env->compile_cache_handler()->GetOrInsert(source, filename, type); + if (cache_entry == nullptr) { + return; + } + + v8::LocalVector<v8::Name> names(isolate, + {FIXED_ONE_BYTE_STRING(isolate, "external")}); + v8::LocalVector<v8::Value> values(isolate, + {v8::External::New(isolate, cache_entry)}); + if (cache_entry->cache != nullptr) { + Debug(env, + DebugCategory::COMPILE_CACHE, + "[compile cache] retrieving transpile cache for %s %s...", + cache_entry->type_name(), + cache_entry->source_filename); + + std::string_view cache( + reinterpret_cast<const char*>(cache_entry->cache->data), + cache_entry->cache->length); + Local<Value> transpiled; + // TODO(joyeecheung): convert with simdutf and into external strings + if (!ToV8Value(context, cache).ToLocal(&transpiled)) { + Debug(env, DebugCategory::COMPILE_CACHE, "failed\n"); + return; + } else { + Debug(env, DebugCategory::COMPILE_CACHE, "success\n"); + } + names.push_back(FIXED_ONE_BYTE_STRING(isolate, "transpiled")); + values.push_back(transpiled); + } else { + Debug(env, + DebugCategory::COMPILE_CACHE, + "[compile cache] no transpile cache for %s %s\n", + cache_entry->type_name(), + cache_entry->source_filename); + } + args.GetReturnValue().Set(Object::New( + isolate, v8::Null(isolate), names.data(), values.data(), names.size())); +} + +void SaveCompileCacheEntry(const FunctionCallbackInfo<Value>& args) { + Isolate* isolate = args.GetIsolate(); + Local<Context> context = isolate->GetCurrentContext(); + Environment* env = Environment::GetCurrent(context); + DCHECK(env->use_compile_cache()); + CHECK(args[0]->IsExternal()); + CHECK(args[1]->IsString()); // TODO(joyeecheung): accept buffer. + auto* cache_entry = + static_cast<CompileCacheEntry*>(args[0].As<External>()->Value()); + Utf8Value utf8(isolate, args[1].As<String>()); + env->compile_cache_handler()->MaybeSave(cache_entry, utf8.ToStringView()); +} + void BindingData::CreatePerIsolateProperties(IsolateData* isolate_data, Local<ObjectTemplate> target) { Isolate* isolate = isolate_data->isolate(); @@ -514,6 +603,8 @@ void BindingData::CreatePerIsolateProperties(IsolateData* isolate_data, SetMethod(isolate, target, "enableCompileCache", EnableCompileCache); SetMethod(isolate, target, "getCompileCacheDir", GetCompileCacheDir); SetMethod(isolate, target, "flushCompileCache", FlushCompileCache); + SetMethod(isolate, target, "getCompileCacheEntry", GetCompileCacheEntry); + SetMethod(isolate, target, "saveCompileCacheEntry", SaveCompileCacheEntry); } void BindingData::CreatePerContextProperties(Local<Object> target, @@ -530,12 +621,31 @@ void BindingData::CreatePerContextProperties(Local<Object> target, compile_cache_status_values.push_back( \ FIXED_ONE_BYTE_STRING(isolate, #status)); COMPILE_CACHE_STATUS(V) +#undef V USE(target->Set(context, FIXED_ONE_BYTE_STRING(isolate, "compileCacheStatus"), Array::New(isolate, compile_cache_status_values.data(), compile_cache_status_values.size()))); + + LocalVector<Name> cached_code_type_keys(isolate); + LocalVector<Value> cached_code_type_values(isolate); + +#define V(type, value) \ + cached_code_type_keys.push_back(FIXED_ONE_BYTE_STRING(isolate, #type)); \ + cached_code_type_values.push_back(Integer::New(isolate, value)); \ + DCHECK_EQ(value, cached_code_type_values.size() - 1); + CACHED_CODE_TYPES(V) +#undef V + + USE(target->Set(context, + FIXED_ONE_BYTE_STRING(isolate, "cachedCodeTypes"), + Object::New(isolate, + Null(isolate), + cached_code_type_keys.data(), + cached_code_type_values.data(), + cached_code_type_keys.size()))); } void BindingData::RegisterExternalReferences( @@ -547,6 +657,8 @@ void BindingData::RegisterExternalReferences( registry->Register(EnableCompileCache); registry->Register(GetCompileCacheDir); registry->Register(FlushCompileCache); + registry->Register(GetCompileCacheEntry); + registry->Register(SaveCompileCacheEntry); } } // namespace modules diff --git a/src/node_options.cc b/src/node_options.cc index d21ddb6a45d43c..cd0bfc8ca5d69e 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -386,6 +386,11 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() { " (default: current working directory)", &EnvironmentOptions::diagnostic_dir, kAllowedInEnvvar); + AddOption("--disable-sigusr1", + "Disable inspector thread to be listening for SIGUSR1 signal", + &EnvironmentOptions::disable_sigusr1, + kAllowedInEnvvar, + false); AddOption("--dns-result-order", "set default value of verbatim in dns.lookup. Options are " "'ipv4first' (IPv4 addresses are placed before IPv6 addresses) " diff --git a/src/node_options.h b/src/node_options.h index 8b9f8a825e61c4..04dbe965a57010 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -116,6 +116,7 @@ class EnvironmentOptions : public Options { bool abort_on_uncaught_exception = false; std::vector<std::string> conditions; bool detect_module = true; + bool disable_sigusr1 = false; bool print_required_tla = false; bool require_module = true; std::string dns_result_order; diff --git a/src/node_perf.h b/src/node_perf.h index 3e994ce5a63b7d..79b3aaf8bb7f5f 100644 --- a/src/node_perf.h +++ b/src/node_perf.h @@ -124,12 +124,12 @@ struct PerformanceEntry { } v8::Local<v8::Value> argv[] = { - OneByteString(env->isolate(), name.c_str()), - OneByteString(env->isolate(), GetPerformanceEntryTypeName(Traits::kType)), - v8::Number::New(env->isolate(), start_time), - v8::Number::New(env->isolate(), duration), - detail - }; + OneByteString(env->isolate(), name), + OneByteString(env->isolate(), + GetPerformanceEntryTypeName(Traits::kType)), + v8::Number::New(env->isolate(), start_time), + v8::Number::New(env->isolate(), duration), + detail}; node::MakeSyncCallback( env->isolate(), diff --git a/src/node_process_events.cc b/src/node_process_events.cc index 128ad9fbb1f257..8aac953b3e0db5 100644 --- a/src/node_process_events.cc +++ b/src/node_process_events.cc @@ -21,8 +21,7 @@ using v8::Value; Maybe<bool> ProcessEmitWarningSync(Environment* env, std::string_view message) { Isolate* isolate = env->isolate(); Local<Context> context = env->context(); - Local<String> message_string = - OneByteString(isolate, message.data(), message.size()); + Local<String> message_string = OneByteString(isolate, message); Local<Value> argv[] = {message_string}; Local<Function> emit_function = env->process_emit_warning_sync(); diff --git a/src/node_process_methods.cc b/src/node_process_methods.cc index 127ef63210b962..c67d1ac00a972b 100644 --- a/src/node_process_methods.cc +++ b/src/node_process_methods.cc @@ -312,12 +312,12 @@ static void GetActiveResourcesInfo(const FunctionCallbackInfo<Value>& args) { // Active timeouts resources_info.insert(resources_info.end(), env->timeout_info()[0], - OneByteString(env->isolate(), "Timeout")); + FIXED_ONE_BYTE_STRING(env->isolate(), "Timeout")); // Active immediates resources_info.insert(resources_info.end(), env->immediate_info()->ref_count(), - OneByteString(env->isolate(), "Immediate")); + FIXED_ONE_BYTE_STRING(env->isolate(), "Immediate")); args.GetReturnValue().Set( Array::New(env->isolate(), resources_info.data(), resources_info.size())); diff --git a/src/node_process_object.cc b/src/node_process_object.cc index b1717912ec2d4c..bbbc2403b6fa6d 100644 --- a/src/node_process_object.cc +++ b/src/node_process_object.cc @@ -104,12 +104,10 @@ static void SetVersions(Isolate* isolate, Local<Object> versions) { for (const auto& version : versions_array) { versions - ->DefineOwnProperty( - context, - OneByteString(isolate, version.first.data(), version.first.size()), - OneByteString( - isolate, version.second.data(), version.second.size()), - v8::ReadOnly) + ->DefineOwnProperty(context, + OneByteString(isolate, version.first), + OneByteString(isolate, version.second), + v8::ReadOnly) .Check(); } } diff --git a/src/node_root_certs.h b/src/node_root_certs.h index 2c8670be39e586..ee229fc7740627 100644 --- a/src/node_root_certs.h +++ b/src/node_root_certs.h @@ -569,27 +569,6 @@ "dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=\n" "-----END CERTIFICATE-----", -/* SecureSign RootCA11 */ -"-----BEGIN CERTIFICATE-----\n" -"MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UE\n" -"ChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJl\n" -"U2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNV\n" -"BAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRww\n" -"GgYDVQQDExNTZWN1cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\n" -"CgKCAQEA/XeqpRyQBTvLTJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1y\n" -"fIw/XwFndBWW4wI8h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyK\n" -"yiyhFTOVMdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9\n" -"UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V\n" -"1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsCh8U+iQIDAQABo0Iw\n" -"QDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud\n" -"EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKChOBZmLqdWHyGcBvod7bkixTgm2E5P\n" -"7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI\n" -"6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAY\n" -"ga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR\n" -"7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN\n" -"QSdJQO7e5iNEOdyhIta6A/I=\n" -"-----END CERTIFICATE-----", - /* Microsec e-Szigno Root CA 2009 */ "-----BEGIN CERTIFICATE-----\n" "MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJI\n" @@ -2310,40 +2289,6 @@ "UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEGmpv0\n" "-----END CERTIFICATE-----", -/* Entrust Root Certification Authority - G4 */ -"-----BEGIN CERTIFICATE-----\n" -"MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJ\n" -"BgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVu\n" -"dHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMu\n" -"IC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0\n" -"aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDEx\n" -"Nlowgb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9T\n" -"ZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRy\n" -"dXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg\n" -"Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOC\n" -"Ag8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJT\n" -"meH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3ET+iq4qA7ec2/a0My3dl0ELn3\n" -"9GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1\n" -"NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc\n" -"0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh64\n" -"3IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmO\n" -"eX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm\n" -"nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8dWbrAuMI\n" -"NClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mWHv0l\n" -"iqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T\n" -"AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6\n" -"sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ\n" -"9POrYs4QjbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5\n" -"ZDIBf9PD3Vht7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0g\n" -"kLpHZPt/B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI\n" -"AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS\n" -"02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m\n" -"9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLl\n" -"YsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuI\n" -"jnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh\n" -"7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw==\n" -"-----END CERTIFICATE-----", - /* Microsoft ECC Root Certificate Authority 2017 */ "-----BEGIN CERTIFICATE-----\n" "MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQG\n" @@ -3161,37 +3106,6 @@ "Nzf43TNRnXCve1XYAS59BWQOhriR\n" "-----END CERTIFICATE-----", -/* Security Communication RootCA3 */ -"-----BEGIN CERTIFICATE-----\n" -"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\n" -"16/9M51NZg==\n" -"-----END CERTIFICATE-----", - /* Security Communication ECC RootCA1 */ "-----BEGIN CERTIFICATE-----\n" "MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYTAkpQMSUw\n" diff --git a/src/node_snapshotable.cc b/src/node_snapshotable.cc index fe04a8ee8d708b..f9acb7b1d1618e 100644 --- a/src/node_snapshotable.cc +++ b/src/node_snapshotable.cc @@ -962,6 +962,8 @@ ExitCode BuildSnapshotWithoutCodeCache( } Isolate* isolate = setup->isolate(); + v8::Locker locker(isolate); + { HandleScope scope(isolate); TryCatch bootstrapCatch(isolate); @@ -973,25 +975,29 @@ ExitCode BuildSnapshotWithoutCodeCache( } }); + Context::Scope context_scope(setup->context()); + Environment* env = setup->env(); + // Run the custom main script for fully customized snapshots. if (snapshot_type == SnapshotMetadata::Type::kFullyCustomized) { - Context::Scope context_scope(setup->context()); - Environment* env = setup->env(); #if HAVE_INSPECTOR env->InitializeInspector({}); #endif if (LoadEnvironment(env, builder_script_content.value()).IsEmpty()) { return ExitCode::kGenericUserError; } + } - // FIXME(joyeecheung): right now running the loop in the snapshot - // builder might introduce inconsistencies in JS land that need to - // be synchronized again after snapshot restoration. - ExitCode exit_code = - SpinEventLoopInternal(env).FromMaybe(ExitCode::kGenericUserError); - if (exit_code != ExitCode::kNoFailure) { - return exit_code; - } + // Drain the loop and platform tasks before creating a snapshot. This is + // necessary to ensure that the no roots are held by the the platform + // tasks, which may reference objects associated with a context. For + // example, a WeakRef may schedule an per-isolate platform task as a GC + // root, and referencing an object in a context, causing an assertion in + // the snapshot creator. + ExitCode exit_code = + SpinEventLoopInternal(env).FromMaybe(ExitCode::kGenericUserError); + if (exit_code != ExitCode::kNoFailure) { + return exit_code; } } diff --git a/src/node_sqlite.cc b/src/node_sqlite.cc index abd85a98c5aebb..0b8f7ef2a21763 100644 --- a/src/node_sqlite.cc +++ b/src/node_sqlite.cc @@ -960,7 +960,7 @@ bool StatementSync::BindParams(const FunctionCallbackInfo<Value>& args) { int anon_idx = 1; int anon_start = 0; - if (args[0]->IsObject() && !args[0]->IsUint8Array()) { + if (args[0]->IsObject() && !args[0]->IsArrayBufferView()) { Local<Object> obj = args[0].As<Object>(); Local<Context> context = obj->GetIsolate()->GetCurrentContext(); Local<Array> keys; @@ -1065,7 +1065,7 @@ bool StatementSync::BindValue(const Local<Value>& value, const int index) { statement_, index, *val, val.length(), SQLITE_TRANSIENT); } else if (value->IsNull()) { r = sqlite3_bind_null(statement_, index); - } else if (value->IsUint8Array()) { + } else if (value->IsArrayBufferView()) { ArrayBufferViewContents<uint8_t> buf(value); r = sqlite3_bind_blob( statement_, index, buf.data(), buf.length(), SQLITE_TRANSIENT); @@ -1735,7 +1735,7 @@ static void Initialize(Local<Object> target, "StatementSync", StatementSync::GetConstructorTemplate(env)); - target->Set(context, OneByteString(isolate, "constants"), constants).Check(); + target->Set(context, env->constants_string(), constants).Check(); } } // namespace sqlite diff --git a/src/node_util.cc b/src/node_util.cc index 9bf5418bf61dfa..c855201d8938fd 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -275,17 +275,25 @@ static void GetCallSites(const FunctionCallbackInfo<Value>& args) { script_name = v8::String::Empty(isolate); } + std::string script_id = std::to_string(stack_frame->GetScriptId()); + Local<Name> names[] = { env->function_name_string(), + env->script_id_string(), env->script_name_string(), env->line_number_string(), + env->column_number_string(), + // TODO(legendecas): deprecate CallSite.column. env->column_string(), }; Local<Value> values[] = { function_name, + OneByteString(isolate, script_id), script_name, Integer::NewFromUnsigned(isolate, stack_frame->GetLineNumber()), Integer::NewFromUnsigned(isolate, stack_frame->GetColumn()), + // TODO(legendecas): deprecate CallSite.column. + Integer::NewFromUnsigned(isolate, stack_frame->GetColumn()), }; Local<Object> obj = Object::New( isolate, v8::Null(isolate), names, values, arraysize(names)); diff --git a/src/node_version.h b/src/node_version.h index 7b699b6f6ed735..2fe7ee72884f23 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -23,13 +23,13 @@ #define SRC_NODE_VERSION_H_ #define NODE_MAJOR_VERSION 23 -#define NODE_MINOR_VERSION 6 -#define NODE_PATCH_VERSION 2 +#define NODE_MINOR_VERSION 7 +#define NODE_PATCH_VERSION 0 #define NODE_VERSION_IS_LTS 0 #define NODE_VERSION_LTS_CODENAME "" -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) diff --git a/src/node_worker.cc b/src/node_worker.cc index bae606861eb1c6..1fc3774948dae3 100644 --- a/src/node_worker.cc +++ b/src/node_worker.cc @@ -54,7 +54,8 @@ Worker::Worker(Environment* env, std::shared_ptr<PerIsolateOptions> per_isolate_opts, std::vector<std::string>&& exec_argv, std::shared_ptr<KVStore> env_vars, - const SnapshotData* snapshot_data) + const SnapshotData* snapshot_data, + const bool is_internal) : AsyncWrap(env, wrap, AsyncWrap::PROVIDER_WORKER), per_isolate_opts_(per_isolate_opts), exec_argv_(exec_argv), @@ -63,7 +64,8 @@ Worker::Worker(Environment* env, name_(name), env_vars_(env_vars), embedder_preload_(env->embedder_preload()), - snapshot_data_(snapshot_data) { + snapshot_data_(snapshot_data), + is_internal_(is_internal) { Debug(this, "Creating new worker instance with thread id %llu", thread_id_.id); @@ -685,7 +687,8 @@ void Worker::New(const FunctionCallbackInfo<Value>& args) { per_isolate_opts, std::move(exec_argv_out), env_vars, - snapshot_data); + snapshot_data, + is_internal); CHECK(args[3]->IsFloat64Array()); Local<Float64Array> limit_info = args[3].As<Float64Array>(); @@ -1028,6 +1031,16 @@ void CreateWorkerPerContextProperties(Local<Object> target, Boolean::New(isolate, env->is_main_thread())) .Check(); + Worker* worker = env->isolate_data()->worker_context(); + bool is_internal = worker != nullptr && worker->is_internal(); + + // Set the is_internal property + target + ->Set(env->context(), + FIXED_ONE_BYTE_STRING(isolate, "isInternalThread"), + Boolean::New(isolate, is_internal)) + .Check(); + target ->Set(env->context(), FIXED_ONE_BYTE_STRING(isolate, "ownsProcessState"), diff --git a/src/node_worker.h b/src/node_worker.h index 07fd7b460654e1..c1d8619d28a908 100644 --- a/src/node_worker.h +++ b/src/node_worker.h @@ -34,7 +34,8 @@ class Worker : public AsyncWrap { std::shared_ptr<PerIsolateOptions> per_isolate_opts, std::vector<std::string>&& exec_argv, std::shared_ptr<KVStore> env_vars, - const SnapshotData* snapshot_data); + const SnapshotData* snapshot_data, + const bool is_internal); ~Worker() override; // Run the worker. This is only called from the worker thread. @@ -60,6 +61,7 @@ class Worker : public AsyncWrap { bool is_stopped() const; const SnapshotData* snapshot_data() const { return snapshot_data_; } + bool is_internal() const { return is_internal_; } static void New(const v8::FunctionCallbackInfo<v8::Value>& args); static void CloneParentEnvVars( @@ -132,6 +134,7 @@ class Worker : public AsyncWrap { Environment* env_ = nullptr; const SnapshotData* snapshot_data_ = nullptr; + const bool is_internal_; friend class WorkerThreadData; }; diff --git a/src/permission/fs_permission.cc b/src/permission/fs_permission.cc index b4d6ee58efc7d6..6d11e06e46ebe8 100644 --- a/src/permission/fs_permission.cc +++ b/src/permission/fs_permission.cc @@ -143,10 +143,12 @@ void FSPermission::Apply(Environment* env, void FSPermission::GrantAccess(PermissionScope perm, const std::string& res) { const std::string path = WildcardIfDir(res); - if (perm == PermissionScope::kFileSystemRead) { + if (perm == PermissionScope::kFileSystemRead && + !granted_in_fs_.Lookup(path)) { granted_in_fs_.Insert(path); deny_all_in_ = false; - } else if (perm == PermissionScope::kFileSystemWrite) { + } else if (perm == PermissionScope::kFileSystemWrite && + !granted_out_fs_.Lookup(path)) { granted_out_fs_.Insert(path); deny_all_out_ = false; } diff --git a/src/quic/tlscontext.cc b/src/quic/tlscontext.cc index 358bad2ee3697f..378f956ab0c192 100644 --- a/src/quic/tlscontext.cc +++ b/src/quic/tlscontext.cc @@ -20,6 +20,13 @@ namespace node { +using ncrypto::BIOPointer; +using ncrypto::ClearErrorOnReturn; +using ncrypto::MarkPopErrorOnReturn; +using ncrypto::SSLCtxPointer; +using ncrypto::SSLPointer; +using ncrypto::SSLSessionPointer; +using ncrypto::X509Pointer; using v8::ArrayBuffer; using v8::Just; using v8::Local; @@ -43,7 +50,7 @@ namespace { // return 0; // }(); -void EnableTrace(Environment* env, crypto::BIOPointer* bio, SSL* ssl) { +void EnableTrace(Environment* env, BIOPointer* bio, SSL* ssl) { #if HAVE_SSL_TRACE static bool warn_trace_tls = true; if (warn_trace_tls) { @@ -63,7 +70,7 @@ void EnableTrace(Environment* env, crypto::BIOPointer* bio, SSL* ssl) { size_t len, SSL* ssl, void* arg) -> void { - crypto::MarkPopErrorOnReturn mark_pop_error_on_return; + MarkPopErrorOnReturn mark_pop_error_on_return; SSL_trace(write_p, version, content_type, buf, len, ssl, arg); }); SSL_set_msg_callback_arg(ssl, bio->get()); @@ -240,12 +247,12 @@ std::unique_ptr<TLSSession> TLSContext::NewSession( session, shared_from_this(), maybeSessionTicket); } -crypto::SSLCtxPointer TLSContext::Initialize() { - crypto::SSLCtxPointer ctx; +SSLCtxPointer TLSContext::Initialize() { + SSLCtxPointer ctx; switch (side_) { case Side::SERVER: { static constexpr unsigned char kSidCtx[] = "Node.js QUIC Server"; - ctx.reset(SSL_CTX_new(TLS_server_method())); + ctx = SSLCtxPointer::NewServer(); CHECK_EQ(ngtcp2_crypto_quictls_configure_server_context(ctx.get()), 0); CHECK_EQ(SSL_CTX_set_max_early_data(ctx.get(), UINT32_MAX), 1); SSL_CTX_set_options(ctx.get(), @@ -274,7 +281,7 @@ crypto::SSLCtxPointer TLSContext::Initialize() { break; } case Side::CLIENT: { - ctx.reset(SSL_CTX_new(TLS_client_method())); + ctx = SSLCtxPointer::NewClient(); CHECK_EQ(ngtcp2_crypto_quictls_configure_client_context(ctx.get()), 0); SSL_CTX_set_session_cache_mode( @@ -289,16 +296,16 @@ crypto::SSLCtxPointer TLSContext::Initialize() { if (SSL_CTX_set_ciphersuites(ctx.get(), options_.ciphers.c_str()) != 1) { validation_error_ = "Invalid cipher suite"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } if (SSL_CTX_set1_groups_list(ctx.get(), options_.groups.c_str()) != 1) { validation_error_ = "Invalid cipher groups"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } { - crypto::ClearErrorOnReturn clear_error_on_return; + ClearErrorOnReturn clear_error_on_return; if (options_.ca.empty()) { auto store = crypto::GetOrCreateRootCertStore(); X509_STORE_up_ref(store); @@ -311,14 +318,12 @@ crypto::SSLCtxPointer TLSContext::Initialize() { X509_STORE_up_ref(store); SSL_CTX_set_cert_store(ctx.get(), store); } else { - crypto::BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); + BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); CHECK(bio); X509_STORE* cert_store = SSL_CTX_get_cert_store(ctx.get()); - while (crypto::X509Pointer x509 = crypto::X509Pointer( - PEM_read_bio_X509_AUX(bio.get(), - nullptr, - crypto::NoPasswordCallback, - nullptr))) { + while ( + auto x509 = X509Pointer(PEM_read_bio_X509_AUX( + bio.get(), nullptr, crypto::NoPasswordCallback, nullptr))) { if (cert_store == crypto::GetOrCreateRootCertStore()) { cert_store = crypto::NewRootCertStore(); SSL_CTX_set_cert_store(ctx.get(), cert_store); @@ -332,48 +337,48 @@ crypto::SSLCtxPointer TLSContext::Initialize() { } { - crypto::ClearErrorOnReturn clear_error_on_return; + ClearErrorOnReturn clear_error_on_return; for (const auto& cert : options_.certs) { uv_buf_t buf = cert; if (buf.len > 0) { - crypto::BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); + BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); CHECK(bio); cert_.reset(); issuer_.reset(); if (crypto::SSL_CTX_use_certificate_chain( ctx.get(), std::move(bio), &cert_, &issuer_) == 0) { validation_error_ = "Invalid certificate"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } } } } { - crypto::ClearErrorOnReturn clear_error_on_return; + ClearErrorOnReturn clear_error_on_return; for (const auto& key : options_.keys) { if (key.GetKeyType() != crypto::KeyType::kKeyTypePrivate) { validation_error_ = "Invalid key"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } if (!SSL_CTX_use_PrivateKey(ctx.get(), key.GetAsymmetricKey().get())) { validation_error_ = "Invalid key"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } } } { - crypto::ClearErrorOnReturn clear_error_on_return; + ClearErrorOnReturn clear_error_on_return; for (const auto& crl : options_.crl) { uv_buf_t buf = crl; - crypto::BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); + BIOPointer bio = crypto::NodeBIO::NewFixed(buf.base, buf.len); DeleteFnPtr<X509_CRL, X509_CRL_free> crlptr(PEM_read_bio_X509_CRL( bio.get(), nullptr, crypto::NoPasswordCallback, nullptr)); if (!crlptr) { validation_error_ = "Invalid CRL"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } X509_STORE* cert_store = SSL_CTX_get_cert_store(ctx.get()); @@ -391,11 +396,11 @@ crypto::SSLCtxPointer TLSContext::Initialize() { } { - crypto::ClearErrorOnReturn clear_error_on_return; + ClearErrorOnReturn clear_error_on_return; if (options_.verify_private_key && SSL_CTX_check_private_key(ctx.get()) != 1) { validation_error_ = "Invalid private key"; - return crypto::SSLCtxPointer(); + return SSLCtxPointer(); } } @@ -506,11 +511,11 @@ bool TLSSession::early_data_was_accepted() const { return SSL_get_early_data_status(*this) == SSL_EARLY_DATA_ACCEPTED; } -crypto::SSLPointer TLSSession::Initialize( +SSLPointer TLSSession::Initialize( const std::optional<SessionTicket>& maybeSessionTicket) { auto& ctx = context(); auto& options = ctx.options(); - crypto::SSLPointer ssl(SSL_new(ctx)); + SSLPointer ssl(SSL_new(ctx)); SSL_set_app_data(ssl.get(), &ref_); ngtcp2_conn_set_tls_native_handle(*session_, ssl.get()); @@ -533,7 +538,7 @@ crypto::SSLPointer TLSSession::Initialize( reinterpret_cast<const unsigned char*>(options.alpn.data()), options.alpn.size()) != 0) { validation_error_ = "Invalid ALPN"; - return crypto::SSLPointer(); + return SSLPointer(); } if (!options.sni.empty()) { @@ -545,11 +550,11 @@ crypto::SSLPointer TLSSession::Initialize( if (maybeSessionTicket.has_value()) { auto sessionTicket = maybeSessionTicket.value(); uv_buf_t buf = sessionTicket.ticket(); - crypto::SSLSessionPointer ticket = crypto::GetTLSSession( + SSLSessionPointer ticket = crypto::GetTLSSession( reinterpret_cast<unsigned char*>(buf.base), buf.len); // The early data will just be ignored if it's invalid. - if (crypto::SetTLSSession(ssl, ticket) && + if (ssl.setSession(ticket) && SSL_SESSION_get_max_early_data(ticket.get()) != 0) { ngtcp2_vec rtp = sessionTicket.transport_params(); if (ngtcp2_conn_decode_and_set_0rtt_transport_params( @@ -614,9 +619,7 @@ MaybeLocal<Value> TLSSession::cipher_version(Environment* env) const { } const std::string_view TLSSession::servername() const { - const char* servername = crypto::GetServerName(ssl_.get()); - return servername != nullptr ? std::string_view(servername) - : std::string_view(); + return ssl_.getServerName().value_or(std::string_view()); } const std::string_view TLSSession::alpn() const { diff --git a/src/quic/tlscontext.h b/src/quic/tlscontext.h index 3f2f8aff42a8a5..30bd146b669adb 100644 --- a/src/quic/tlscontext.h +++ b/src/quic/tlscontext.h @@ -7,6 +7,7 @@ #include <crypto/crypto_context.h> #include <crypto/crypto_keys.h> #include <memory_tracker.h> +#include <ncrypto.h> #include <ngtcp2/ngtcp2_crypto.h> #include "bindingdata.h" #include "data.h" @@ -83,7 +84,7 @@ class TLSSession final : public MemoryRetainer { private: operator SSL*() const; - crypto::SSLPointer Initialize( + ncrypto::SSLPointer Initialize( const std::optional<SessionTicket>& maybeSessionTicket); static ngtcp2_conn* connection(ngtcp2_crypto_conn_ref* ref); @@ -91,8 +92,8 @@ class TLSSession final : public MemoryRetainer { ngtcp2_crypto_conn_ref ref_; std::shared_ptr<TLSContext> context_; Session* session_; - crypto::SSLPointer ssl_; - crypto::BIOPointer bio_trace_; + ncrypto::SSLPointer ssl_; + ncrypto::BIOPointer bio_trace_; std::string validation_error_ = ""; bool in_key_update_ = false; }; @@ -197,7 +198,7 @@ class TLSContext final : public MemoryRetainer, SET_SELF_SIZE(TLSContext) private: - crypto::SSLCtxPointer Initialize(); + ncrypto::SSLCtxPointer Initialize(); operator SSL_CTX*() const; static void OnKeylog(const SSL* ssl, const char* line); @@ -212,9 +213,9 @@ class TLSContext final : public MemoryRetainer, Side side_; Options options_; - crypto::X509Pointer cert_; - crypto::X509Pointer issuer_; - crypto::SSLCtxPointer ctx_; + ncrypto::X509Pointer cert_; + ncrypto::X509Pointer issuer_; + ncrypto::SSLCtxPointer ctx_; std::string validation_error_ = ""; friend class TLSSession; diff --git a/src/stream_base.cc b/src/stream_base.cc index 9d855c2992492d..518e723272dcbc 100644 --- a/src/stream_base.cc +++ b/src/stream_base.cc @@ -19,6 +19,7 @@ namespace node { using v8::Array; using v8::ArrayBuffer; using v8::BackingStore; +using v8::BackingStoreInitializationMode; using v8::ConstructorBehavior; using v8::Context; using v8::DontDelete; @@ -243,8 +244,8 @@ int StreamBase::Writev(const FunctionCallbackInfo<Value>& args) { std::unique_ptr<BackingStore> bs; if (storage_size > 0) { - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(isolate, storage_size); + bs = ArrayBuffer::NewBackingStore( + isolate, storage_size, BackingStoreInitializationMode::kUninitialized); } offset = 0; @@ -398,14 +399,14 @@ int StreamBase::WriteString(const FunctionCallbackInfo<Value>& args) { if (try_write) { // Copy partial data - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(isolate, buf.len); + bs = ArrayBuffer::NewBackingStore( + isolate, buf.len, BackingStoreInitializationMode::kUninitialized); memcpy(static_cast<char*>(bs->Data()), buf.base, buf.len); data_size = buf.len; } else { // Write it - NoArrayBufferZeroFillScope no_zero_fill_scope(env->isolate_data()); - bs = ArrayBuffer::NewBackingStore(isolate, storage_size); + bs = ArrayBuffer::NewBackingStore( + isolate, storage_size, BackingStoreInitializationMode::kUninitialized); data_size = StringBytes::Write(isolate, static_cast<char*>(bs->Data()), storage_size, diff --git a/src/util-inl.h b/src/util-inl.h index e078c9a11b2fac..b5ae5950b62767 100644 --- a/src/util-inl.h +++ b/src/util-inl.h @@ -180,6 +180,11 @@ inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate, .ToLocalChecked(); } +inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate, + std::string_view str) { + return OneByteString(isolate, str.data(), str.size()); +} + char ToLower(char c) { return std::tolower(c, std::locale::classic()); } @@ -557,6 +562,22 @@ bool IsWindowsBatchFile(const char* filename) { #endif // _WIN32 } +#ifdef _WIN32 +inline std::wstring ConvertToWideString(const std::string& str, + UINT code_page) { + int size_needed = MultiByteToWideChar( + code_page, 0, &str[0], static_cast<int>(str.size()), nullptr, 0); + std::wstring wstrTo(size_needed, 0); + MultiByteToWideChar(code_page, + 0, + &str[0], + static_cast<int>(str.size()), + &wstrTo[0], + size_needed); + return wstrTo; +} +#endif // _WIN32 + } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/util.h b/src/util.h index b1f316eebc7199..0d4676ddade8d9 100644 --- a/src/util.h +++ b/src/util.h @@ -340,6 +340,9 @@ inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate, const unsigned char* data, int length = -1); +inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate, + std::string_view str); + // Used to be a macro, hence the uppercase name. template <int N> inline v8::Local<v8::String> FIXED_ONE_BYTE_STRING( diff --git a/src/uv.cc b/src/uv.cc index e6623bc7e162f5..168e7be408ce34 100644 --- a/src/uv.cc +++ b/src/uv.cc @@ -130,7 +130,7 @@ void Initialize(Local<Object> target, for (size_t i = 0; i < errors_len; ++i) { const auto& error = per_process::uv_errors_map[i]; const std::string prefixed_name = prefix + error.name; - Local<String> name = OneByteString(isolate, prefixed_name.c_str()); + Local<String> name = OneByteString(isolate, prefixed_name); Local<Integer> value = Integer::New(isolate, error.value); target->DefineOwnProperty(context, name, value, attributes).Check(); } diff --git a/test/abort/test-abort-backtrace.js b/test/abort/test-abort-backtrace.js index ce9ed39196eb1f..455bbf2361cf51 100644 --- a/test/abort/test-abort-backtrace.js +++ b/test/abort/test-abort-backtrace.js @@ -1,8 +1,47 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const cp = require('child_process'); +function getPrintedStackTrace(stderr) { + const lines = stderr.split('\n'); + + let state = 'initial'; + const result = { + message: [], + nativeStack: [], + jsStack: [], + }; + for (let i = 0; i < lines.length; ++i) { + const line = lines[i].trim(); + if (line.length === 0) { + continue; // Skip empty lines. + } + + switch (state) { + case 'initial': + result.message.push(line); + if (line.includes('Native stack trace')) { + state = 'native-stack'; + } else { + result.message.push(line); + } + break; + case 'native-stack': + if (line.includes('JavaScript stack trace')) { + state = 'js-stack'; + } else { + result.nativeStack.push(line); + } + break; + case 'js-stack': + result.jsStack.push(line); + break; + } + } + return result; +} + if (process.argv[2] === 'child') { process.abort(); } else { @@ -10,7 +49,7 @@ if (process.argv[2] === 'child') { const stderr = child.stderr.toString(); assert.strictEqual(child.stdout.toString(), ''); - const { nativeStack, jsStack } = common.getPrintedStackTrace(stderr); + const { nativeStack, jsStack } = getPrintedStackTrace(stderr); if (!nativeStack.every((frame, index) => frame.startsWith(`${index + 1}:`))) { assert.fail(`Each frame should start with a frame number:\n${stderr}`); @@ -18,7 +57,7 @@ if (process.argv[2] === 'child') { // For systems that don't support backtraces, the native stack is // going to be empty. - if (!common.isWindows && nativeStack.length > 0) { + if (process.platform !== 'win32' && nativeStack.length > 0) { const { getBinaryPath } = require('../common/shared-lib-util'); if (!nativeStack.some((frame) => frame.includes(`[${getBinaryPath()}]`))) { assert.fail(`Some native stack frame include the binary name:\n${stderr}`); diff --git a/test/addons/openssl-providers/providers.cjs b/test/addons/openssl-providers/providers.cjs index 2dabbf020e2a41..efa1019c62d99c 100644 --- a/test/addons/openssl-providers/providers.cjs +++ b/test/addons/openssl-providers/providers.cjs @@ -1,11 +1,14 @@ 'use strict'; const common = require('../../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} +const { hasOpenSSL3 } = require('../../common/crypto'); -if (!common.hasOpenSSL3) +if (!hasOpenSSL3) { common.skip('this test requires OpenSSL 3.x'); +} const assert = require('node:assert'); const { createHash, getCiphers, getHashes } = require('node:crypto'); const { debuglog } = require('node:util'); diff --git a/test/async-hooks/init-hooks.js b/test/async-hooks/init-hooks.js index 2206ab31eba75f..8fc44994fbc497 100644 --- a/test/async-hooks/init-hooks.js +++ b/test/async-hooks/init-hooks.js @@ -1,9 +1,10 @@ 'use strict'; // Flags: --expose-gc -const common = require('../common'); +require('../common'); const assert = require('assert'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); const util = require('util'); const print = process._rawDebug; @@ -161,7 +162,7 @@ class ActivityCollector { const stub = { uid, type: 'Unknown', handleIsObject: true, handle: {} }; this._activities.set(uid, stub); return stub; - } else if (!common.isMainThread) { + } else if (!isMainThread) { // Worker threads start main script execution inside of an AsyncWrap // callback, so we don't yield errors for these. return null; diff --git a/test/async-hooks/test-crypto-pbkdf2.js b/test/async-hooks/test-crypto-pbkdf2.js index 4788ce4a580656..c607adf7258760 100644 --- a/test/async-hooks/test-crypto-pbkdf2.js +++ b/test/async-hooks/test-crypto-pbkdf2.js @@ -1,10 +1,13 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); -if (!common.isMainThread) +} +const { isMainThread } = require('worker_threads'); +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const assert = require('assert'); const tick = require('../common/tick'); diff --git a/test/async-hooks/test-crypto-randomBytes.js b/test/async-hooks/test-crypto-randomBytes.js index 88cd4643ab6638..8ecc1c45a9a524 100644 --- a/test/async-hooks/test-crypto-randomBytes.js +++ b/test/async-hooks/test-crypto-randomBytes.js @@ -1,10 +1,13 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); -if (!common.isMainThread) +} +const { isMainThread } = require('worker_threads'); +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const assert = require('assert'); const tick = require('../common/tick'); diff --git a/test/async-hooks/test-enable-disable.js b/test/async-hooks/test-enable-disable.js index 64139408a48209..d408338e892c32 100644 --- a/test/async-hooks/test-enable-disable.js +++ b/test/async-hooks/test-enable-disable.js @@ -87,8 +87,9 @@ const assert = require('assert'); const tick = require('../common/tick'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) common.skip('Worker bootstrapping works differently -> different timing'); // Include "Unknown"s because hook2 will not be able to identify diff --git a/test/async-hooks/test-fseventwrap.js b/test/async-hooks/test-fseventwrap.js index 12a439f8033cbc..a5e1a3b9d2f232 100644 --- a/test/async-hooks/test-fseventwrap.js +++ b/test/async-hooks/test-fseventwrap.js @@ -6,12 +6,15 @@ const initHooks = require('./init-hooks'); const tick = require('../common/tick'); const { checkInvocations } = require('./hook-checks'); const fs = require('fs'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} -if (common.isIBMi) +if (common.isIBMi) { common.skip('IBMi does not support fs.watch()'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-fsreqcallback-readFile.js b/test/async-hooks/test-fsreqcallback-readFile.js index 01ccce9b4cc694..65f3652f12f988 100644 --- a/test/async-hooks/test-fsreqcallback-readFile.js +++ b/test/async-hooks/test-fsreqcallback-readFile.js @@ -6,9 +6,11 @@ const tick = require('../common/tick'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); const fs = require('fs'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-getaddrinforeqwrap.js b/test/async-hooks/test-getaddrinforeqwrap.js index 7291ea8a301954..a21557bcd56e7a 100644 --- a/test/async-hooks/test-getaddrinforeqwrap.js +++ b/test/async-hooks/test-getaddrinforeqwrap.js @@ -6,9 +6,11 @@ const tick = require('../common/tick'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); const dns = require('dns'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-getnameinforeqwrap.js b/test/async-hooks/test-getnameinforeqwrap.js index c7a3937ff3ceef..b00fa0d4d9dd54 100644 --- a/test/async-hooks/test-getnameinforeqwrap.js +++ b/test/async-hooks/test-getnameinforeqwrap.js @@ -6,9 +6,11 @@ const tick = require('../common/tick'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); const dns = require('dns'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-graph.signal.js b/test/async-hooks/test-graph.signal.js index f87b1215b523b9..351fb7550af431 100644 --- a/test/async-hooks/test-graph.signal.js +++ b/test/async-hooks/test-graph.signal.js @@ -1,10 +1,13 @@ 'use strict'; const common = require('../common'); -if (common.isWindows) +if (common.isWindows) { common.skip('no signals on Windows'); -if (!common.isMainThread) +} +const { isMainThread } = require('worker_threads'); +if (!isMainThread) { common.skip('No signal handling available in Workers'); +} const initHooks = require('./init-hooks'); const verifyGraph = require('./verify-graph'); diff --git a/test/async-hooks/test-no-assert-when-disabled.js b/test/async-hooks/test-no-assert-when-disabled.js index 70114d1e1140f8..0e7c0568cc09fa 100644 --- a/test/async-hooks/test-no-assert-when-disabled.js +++ b/test/async-hooks/test-no-assert-when-disabled.js @@ -1,9 +1,10 @@ 'use strict'; // Flags: --no-force-async-hooks-checks --expose-internals const common = require('../common'); - -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); +if (!isMainThread) { common.skip('Workers don\'t inherit per-env state like the check flag'); +} const async_hooks = require('internal/async_hooks'); diff --git a/test/async-hooks/test-pipewrap.js b/test/async-hooks/test-pipewrap.js index 2d42e769cfd1f3..7ea5f38adc85e2 100644 --- a/test/async-hooks/test-pipewrap.js +++ b/test/async-hooks/test-pipewrap.js @@ -9,9 +9,11 @@ const tick = require('../common/tick'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); const { spawn } = require('child_process'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-promise.chain-promise-before-init-hooks.js b/test/async-hooks/test-promise.chain-promise-before-init-hooks.js index 52a312dbdfe196..c5e67b6f94ca68 100644 --- a/test/async-hooks/test-promise.chain-promise-before-init-hooks.js +++ b/test/async-hooks/test-promise.chain-promise-before-init-hooks.js @@ -4,9 +4,11 @@ const common = require('../common'); const assert = require('assert'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const p = new Promise(common.mustCall(function executor(resolve) { resolve(5); diff --git a/test/async-hooks/test-promise.js b/test/async-hooks/test-promise.js index 417cb3c80d6298..554c3ae7dd711e 100644 --- a/test/async-hooks/test-promise.js +++ b/test/async-hooks/test-promise.js @@ -5,9 +5,11 @@ const common = require('../common'); const assert = require('assert'); const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const hooks = initHooks(); diff --git a/test/async-hooks/test-signalwrap.js b/test/async-hooks/test-signalwrap.js index 4584d140ce1d0f..60adaedd476f27 100644 --- a/test/async-hooks/test-signalwrap.js +++ b/test/async-hooks/test-signalwrap.js @@ -1,10 +1,13 @@ 'use strict'; const common = require('../common'); -if (common.isWindows) +if (common.isWindows) { common.skip('no signals in Windows'); -if (!common.isMainThread) +} +const { isMainThread } = require('worker_threads'); +if (!isMainThread) { common.skip('No signal handling available in Workers'); +} const assert = require('assert'); const initHooks = require('./init-hooks'); diff --git a/test/async-hooks/test-statwatcher.js b/test/async-hooks/test-statwatcher.js index f3c0e74355eeba..8f4fb2175885f3 100644 --- a/test/async-hooks/test-statwatcher.js +++ b/test/async-hooks/test-statwatcher.js @@ -7,8 +7,11 @@ const initHooks = require('./init-hooks'); const { checkInvocations } = require('./hook-checks'); const fs = require('fs'); -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} tmpdir.refresh(); diff --git a/test/async-hooks/test-unhandled-rejection-context.js b/test/async-hooks/test-unhandled-rejection-context.js index 8404cf71f0db6f..168b51a3331f7f 100644 --- a/test/async-hooks/test-unhandled-rejection-context.js +++ b/test/async-hooks/test-unhandled-rejection-context.js @@ -5,9 +5,11 @@ const common = require('../common'); const assert = require('assert'); const initHooks = require('./init-hooks'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const promiseAsyncIds = []; const hooks = initHooks({ diff --git a/test/benchmark/test-benchmark-crypto.js b/test/benchmark/test-benchmark-crypto.js index 7f6988acf234d8..72d79ece13e787 100644 --- a/test/benchmark/test-benchmark-crypto.js +++ b/test/benchmark/test-benchmark-crypto.js @@ -5,8 +5,11 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -if (common.hasFipsCrypto) +const { getFips } = require('crypto'); + +if (getFips()) { common.skip('some benchmarks are FIPS-incompatible'); +} const runBenchmark = require('../common/benchmark'); diff --git a/test/benchmark/test-benchmark-napi.js b/test/benchmark/test-benchmark-napi.js index 7164efe3d4e718..518e10a5111a5b 100644 --- a/test/benchmark/test-benchmark-napi.js +++ b/test/benchmark/test-benchmark-napi.js @@ -6,7 +6,9 @@ if (common.isWindows) { common.skip('vcbuild.bat doesn\'t build the n-api benchmarks yet'); } -if (!common.isMainThread) { +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('addons are not supported in workers'); } diff --git a/test/cctest/test_node_crypto_env.cc b/test/cctest/test_node_crypto_env.cc index 001867720f5e80..77aab8f4182d4f 100644 --- a/test/cctest/test_node_crypto_env.cc +++ b/test/cctest/test_node_crypto_env.cc @@ -1,3 +1,4 @@ +#include <ncrypto.h> #include "crypto/crypto_bio.h" #include "gtest/gtest.h" #include "node_options.h" @@ -21,7 +22,7 @@ TEST_F(NodeCryptoEnv, LoadBIO) { Env env{handle_scope, argv}; // just put a random string into BIO Local<String> key = String::NewFromUtf8(isolate_, "abcdef").ToLocalChecked(); - node::crypto::BIOPointer bio(node::crypto::LoadBIO(*env, key)); + ncrypto::BIOPointer bio(node::crypto::LoadBIO(*env, key)); #if OPENSSL_VERSION_NUMBER >= 0x30000000L const int ofs = 2; ASSERT_EQ(BIO_seek(bio.get(), ofs), ofs); diff --git a/test/common/README.md b/test/common/README.md index 5f5ff75fca2431..887dee2783ad72 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -102,10 +102,6 @@ symlinks ([SeCreateSymbolicLinkPrivilege](https://msdn.microsoft.com/en-us/library/windows/desktop/bb530716\(v=vs.85\).aspx)). On non-Windows platforms, this always returns `true`. -### `createZeroFilledFile(filename)` - -Creates a 10 MiB file of all null characters. - ### `enoughTestMem` * [\<boolean>][<boolean>] @@ -226,17 +222,6 @@ The TTY file descriptor is assumed to be capable of being writable. Indicates whether OpenSSL is available. -### `hasFipsCrypto` - -* [\<boolean>][<boolean>] - -Indicates that Node.js has been linked with a FIPS compatible OpenSSL library, -and that FIPS as been enabled using `--enable-fips`. - -To only detect if the OpenSSL library is FIPS compatible, regardless if it has -been enabled or not, then `process.config.variables.openssl_is_fips` can be -used to determine that situation. - ### `hasIntl` * [\<boolean>][<boolean>] @@ -249,12 +234,6 @@ Indicates if [internationalization][] is supported. Indicates whether `IPv6` is supported on this platform. -### `hasMultiLocalhost` - -* [\<boolean>][<boolean>] - -Indicates if there are multiple localhosts available. - ### `inFreeBSDJail` * [\<boolean>][<boolean>] @@ -274,10 +253,6 @@ Platform check for Advanced Interactive eXecutive (AIX). Attempts to 'kill' `pid` -### `isDumbTerminal` - -* [\<boolean>][<boolean>] - ### `isFreeBSD` * [\<boolean>][<boolean>] @@ -296,12 +271,6 @@ Platform check for IBMi. Platform check for Linux. -### `isLinuxPPCBE` - -* [\<boolean>][<boolean>] - -Platform check for Linux on PowerPC. - ### `isMacOS` * [\<boolean>][<boolean>] @@ -417,12 +386,6 @@ Returns `true` if the exit code `exitCode` and/or signal name `signal` represent the exit code and/or signal name of a node process that aborted, `false` otherwise. -### `opensslCli` - -* [\<boolean>][<boolean>] - -Indicates whether 'opensslCli' is supported. - ### `platformTimeout(ms)` * `ms` [\<number>][<number>] | [\<bigint>][<bigint>] @@ -485,10 +448,6 @@ will not be run. Logs '1..0 # Skipped: ' + `msg` and exits with exit code `0`. -### `skipIfDumbTerminal()` - -Skip the rest of the tests if the current terminal is a dumb terminal - ### `skipIfEslintMissing()` Skip the rest of the tests in the current file when `ESLint` is not available @@ -504,11 +463,6 @@ was disabled at compile time. Skip the rest of the tests in the current file when the Node.js executable was compiled with a pointer size smaller than 64 bits. -### `skipIfWorker()` - -Skip the rest of the tests in the current file when not running on a main -thread. - ## ArrayStream module The `ArrayStream` module provides a simple `Stream` that pushes elements from diff --git a/test/common/crypto.js b/test/common/crypto.js index 10432d7e7a7e32..f50d3895a1783b 100644 --- a/test/common/crypto.js +++ b/test/common/crypto.js @@ -1,8 +1,9 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); @@ -98,6 +99,27 @@ const pkcs8EncExp = getRegExpForPEM('ENCRYPTED PRIVATE KEY'); const sec1Exp = getRegExpForPEM('EC PRIVATE KEY'); const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher); +// Synthesize OPENSSL_VERSION_NUMBER format with the layout 0xMNN00PPSL +const opensslVersionNumber = (major = 0, minor = 0, patch = 0) => { + assert(major >= 0 && major <= 0xf); + assert(minor >= 0 && minor <= 0xff); + assert(patch >= 0 && patch <= 0xff); + return (major << 28) | (minor << 20) | (patch << 4); +}; + +let OPENSSL_VERSION_NUMBER; +const hasOpenSSL = (major = 0, minor = 0, patch = 0) => { + if (!common.hasCrypto) return false; + if (OPENSSL_VERSION_NUMBER === undefined) { + const regexp = /(?<m>\d+)\.(?<n>\d+)\.(?<p>\d+)/; + const { m, n, p } = process.versions.openssl.match(regexp).groups; + OPENSSL_VERSION_NUMBER = opensslVersionNumber(m, n, p); + } + return OPENSSL_VERSION_NUMBER >= opensslVersionNumber(major, minor, patch); +}; + +let opensslCli = null; + module.exports = { modp2buf, assertApproximateSize, @@ -111,4 +133,32 @@ module.exports = { pkcs8EncExp, // used once sec1Exp, sec1EncExp, + hasOpenSSL, + get hasOpenSSL3() { + return hasOpenSSL(3); + }, + // opensslCli defined lazily to reduce overhead of spawnSync + get opensslCli() { + if (opensslCli !== null) return opensslCli; + + if (process.config.variables.node_shared_openssl) { + // Use external command + opensslCli = 'openssl'; + } else { + const path = require('path'); + // Use command built from sources included in Node.js repository + opensslCli = path.join(path.dirname(process.execPath), 'openssl-cli'); + } + + if (exports.isWindows) opensslCli += '.exe'; + + const { spawnSync } = require('child_process'); + + const opensslCmd = spawnSync(opensslCli, ['version']); + if (opensslCmd.status !== 0 || opensslCmd.error !== undefined) { + // OpenSSL command cannot be executed + opensslCli = false; + } + return opensslCli; + }, }; diff --git a/test/common/gc.js b/test/common/gc.js index 82cc4c79edc3dd..87625068c2cbca 100644 --- a/test/common/gc.js +++ b/test/common/gc.js @@ -3,6 +3,8 @@ const wait = require('timers/promises').setTimeout; const assert = require('assert'); const common = require('../common'); +// TODO(joyeecheung): rewrite checkIfCollectable to use this too. +const { setImmediate: setImmediatePromisified } = require('timers/promises'); const gcTrackerMap = new WeakMap(); const gcTrackerTag = 'NODE_TEST_COMMON_GC_TRACKER'; @@ -40,32 +42,26 @@ function onGC(obj, gcListener) { /** * Repeatedly triggers garbage collection until a specified condition is met or a maximum number of attempts is reached. + * This utillity must be run in a Node.js instance that enables --expose-gc. * @param {string|Function} [name] - Optional name, used in the rejection message if the condition is not met. * @param {Function} condition - A function that returns true when the desired condition is met. + * @param {number} maxCount - Maximum number of garbage collections that should be tried. + * @param {object} gcOptions - Options to pass into the global gc() function. * @returns {Promise} A promise that resolves when the condition is met, or rejects after 10 failed attempts. */ -function gcUntil(name, condition) { - if (typeof name === 'function') { - condition = name; - name = undefined; - } - return new Promise((resolve, reject) => { - let count = 0; - function gcAndCheck() { - setImmediate(() => { - count++; - global.gc(); - if (condition()) { - resolve(); - } else if (count < 10) { - gcAndCheck(); - } else { - reject(name === undefined ? undefined : 'Test ' + name + ' failed'); - } - }); +async function gcUntil(name, condition, maxCount = 10, gcOptions) { + for (let count = 0; count < maxCount; ++count) { + await setImmediatePromisified(); + if (gcOptions) { + await global.gc(gcOptions); + } else { + await global.gc(); // Passing in undefined is not the same as empty. } - gcAndCheck(); - }); + if (condition()) { + return; + } + } + throw new Error(`Test ${name} failed`); } // This function can be used to check if an object factor leaks or not, diff --git a/test/common/index.js b/test/common/index.js index b5592a66a081c3..8113f604dfcdb6 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -19,12 +19,10 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. -/* eslint-disable node-core/crypto-check */ 'use strict'; -const process = global.process; // Some tests tamper with the process global. +const process = globalThis.process; // Some tests tamper with the process globalThis. const assert = require('assert'); -const { exec, execSync, spawn, spawnSync } = require('child_process'); const fs = require('fs'); const net = require('net'); // Do not require 'os' until needed so that test-os-checked-function can @@ -32,7 +30,6 @@ const net = require('net'); const path = require('path'); const { inspect, getCallSites } = require('util'); const { isMainThread } = require('worker_threads'); -const { isModuleNamespaceObject } = require('util/types'); const tmpdir = require('./tmpdir'); const bits = ['arm64', 'loong64', 'mips', 'mipsel', 'ppc64', 'riscv64', 's390x', 'x64'] @@ -57,25 +54,6 @@ const noop = () => {}; const hasCrypto = Boolean(process.versions.openssl) && !process.env.NODE_SKIP_CRYPTO; -// Synthesize OPENSSL_VERSION_NUMBER format with the layout 0xMNN00PPSL -const opensslVersionNumber = (major = 0, minor = 0, patch = 0) => { - assert(major >= 0 && major <= 0xf); - assert(minor >= 0 && minor <= 0xff); - assert(patch >= 0 && patch <= 0xff); - return (major << 28) | (minor << 20) | (patch << 4); -}; - -let OPENSSL_VERSION_NUMBER; -const hasOpenSSL = (major = 0, minor = 0, patch = 0) => { - if (!hasCrypto) return false; - if (OPENSSL_VERSION_NUMBER === undefined) { - const regexp = /(?<m>\d+)\.(?<n>\d+)\.(?<p>\d+)/; - const { m, n, p } = process.versions.openssl.match(regexp).groups; - OPENSSL_VERSION_NUMBER = opensslVersionNumber(m, n, p); - } - return OPENSSL_VERSION_NUMBER >= opensslVersionNumber(major, minor, patch); -}; - const hasQuic = hasCrypto && !!process.config.variables.openssl_quic; function parseTestFlags(filename = process.argv[1]) { @@ -124,6 +102,7 @@ if (process.argv.length === 2 && inspect(flags), 'Use NODE_SKIP_FLAG_CHECK to run the test with the original flags.', ); + const { spawnSync } = require('child_process'); const args = [...flags, ...process.execArgv, ...process.argv.slice(1)]; const options = { encoding: 'utf8', stdio: 'inherit' }; const result = spawnSync(process.execPath, args, options); @@ -159,8 +138,6 @@ const isPi = (() => { } })(); -const isDumbTerminal = process.env.TERM === 'dumb'; - // When using high concurrency or in the CI we need much more time for each connection attempt net.setDefaultAutoSelectFamilyAttemptTimeout(platformTimeout(net.getDefaultAutoSelectFamilyAttemptTimeout() * 10)); const defaultAutoSelectFamilyAttemptTimeout = net.getDefaultAutoSelectFamilyAttemptTimeout(); @@ -220,7 +197,6 @@ if (process.env.NODE_TEST_WITH_ASYNC_HOOKS) { }).enable(); } -let opensslCli = null; let inFreeBSDJail = null; let localhostIPv4 = null; @@ -255,6 +231,7 @@ function childShouldThrowAndAbort() { // continuous testing and developers' machines escapedArgs[0] = 'ulimit -c 0 && ' + escapedArgs[0]; } + const { exec } = require('child_process'); const child = exec(...escapedArgs); child.on('exit', function onExit(exitCode, signal) { const errMsg = 'Test should have aborted ' + @@ -264,13 +241,6 @@ function childShouldThrowAndAbort() { }); } -function createZeroFilledFile(filename) { - const fd = fs.openSync(filename, 'w'); - fs.ftruncateSync(fd, 10 * 1024 * 1024); - fs.closeSync(fd); -} - - const pwdCommand = isWindows ? ['cmd.exe', ['/d', '/c', 'cd']] : ['pwd', []]; @@ -296,7 +266,7 @@ function platformTimeout(ms) { return ms; } -let knownGlobals = [ +const knownGlobals = new Set([ AbortController, atob, btoa, @@ -308,88 +278,59 @@ let knownGlobals = [ setInterval, setTimeout, queueMicrotask, -]; - -if (global.gc) { - knownGlobals.push(global.gc); -} - -if (global.navigator) { - knownGlobals.push(global.navigator); -} - -if (global.Navigator) { - knownGlobals.push(global.Navigator); -} - -if (global.Performance) { - knownGlobals.push(global.Performance); -} -if (global.performance) { - knownGlobals.push(global.performance); -} -if (global.PerformanceMark) { - knownGlobals.push(global.PerformanceMark); -} -if (global.PerformanceMeasure) { - knownGlobals.push(global.PerformanceMeasure); -} - -// TODO(@ethan-arrowood): Similar to previous checks, this can be temporary -// until v16.x is EOL. Once all supported versions have structuredClone we -// can add this to the list above instead. -if (global.structuredClone) { - knownGlobals.push(global.structuredClone); -} - -if (global.EventSource) { - knownGlobals.push(EventSource); -} - -if (global.fetch) { - knownGlobals.push(fetch); -} -if (hasCrypto && global.crypto) { - knownGlobals.push(global.crypto); - knownGlobals.push(global.Crypto); - knownGlobals.push(global.CryptoKey); - knownGlobals.push(global.SubtleCrypto); -} -if (global.CustomEvent) { - knownGlobals.push(global.CustomEvent); -} -if (global.ReadableStream) { - knownGlobals.push( - global.ReadableStream, - global.ReadableStreamDefaultReader, - global.ReadableStreamBYOBReader, - global.ReadableStreamBYOBRequest, - global.ReadableByteStreamController, - global.ReadableStreamDefaultController, - global.TransformStream, - global.TransformStreamDefaultController, - global.WritableStream, - global.WritableStreamDefaultWriter, - global.WritableStreamDefaultController, - global.ByteLengthQueuingStrategy, - global.CountQueuingStrategy, - global.TextEncoderStream, - global.TextDecoderStream, - global.CompressionStream, - global.DecompressionStream, - ); -} + structuredClone, + fetch, +]); + +['gc', + // The following are assumed to be conditionally available in the + // global object currently. They can likely be added to the fixed + // set of known globals, however. + 'navigator', + 'Navigator', + 'performance', + 'Performance', + 'PerformanceMark', + 'PerformanceMeasure', + 'EventSource', + 'CustomEvent', + 'ReadableStream', + 'ReadableStreamDefaultReader', + 'ReadableStreamBYOBReader', + 'ReadableStreamBYOBRequest', + 'ReadableByteStreamController', + 'ReadableStreamDefaultController', + 'TransformStream', + 'TransformStreamDefaultController', + 'WritableStream', + 'WritableStreamDefaultWriter', + 'WritableStreamDefaultController', + 'ByteLengthQueuingStrategy', + 'CountQueuingStrategy', + 'TextEncoderStream', + 'TextDecoderStream', + 'CompressionStream', + 'DecompressionStream', + 'Storage', + 'localStorage', + 'sessionStorage', +].forEach((i) => { + if (globalThis[i] !== undefined) { + knownGlobals.add(globalThis[i]); + } +}); -if (global.Storage) { - knownGlobals.push( - global.localStorage, - global.sessionStorage, - global.Storage, - ); +if (hasCrypto) { + knownGlobals.add(globalThis.crypto); + knownGlobals.add(globalThis.Crypto); + knownGlobals.add(globalThis.CryptoKey); + knownGlobals.add(globalThis.SubtleCrypto); } function allowGlobals(...allowlist) { - knownGlobals = knownGlobals.concat(allowlist); + for (const val of allowlist) { + knownGlobals.add(val); + } } if (process.env.NODE_TEST_KNOWN_GLOBALS !== '0') { @@ -401,10 +342,13 @@ if (process.env.NODE_TEST_KNOWN_GLOBALS !== '0') { function leakedGlobals() { const leaked = []; - for (const val in global) { + for (const val in globalThis) { // globalThis.crypto is a getter that throws if Node.js was compiled - // without OpenSSL. - if (val !== 'crypto' && !knownGlobals.includes(global[val])) { + // without OpenSSL so we'll skip it if it is not available. + if (val === 'crypto' && !hasCrypto) { + continue; + } + if (!knownGlobals.has(globalThis[val])) { leaked.push(val); } } @@ -510,15 +454,6 @@ function _mustCallInner(fn, criteria = 1, field) { return _return; } -function hasMultiLocalhost() { - const { internalBinding } = require('internal/test/binding'); - const { TCP, constants: TCPConstants } = internalBinding('tcp_wrap'); - const t = new TCP(TCPConstants.SOCKET); - const ret = t.bind('127.0.0.2', 0); - t.close(); - return ret === 0; -} - function skipIfEslintMissing() { if (!fs.existsSync( path.join(__dirname, '..', '..', 'tools', 'eslint', 'node_modules', 'eslint'), @@ -539,6 +474,7 @@ function canCreateSymLink() { 'System32', 'whoami.exe'); try { + const { execSync } = require('child_process'); const output = execSync(`${whoamiPath} /priv`, { timeout: 1000 }); return output.includes('SeCreateSymbolicLinkPrivilege'); } catch { @@ -746,12 +682,6 @@ function skipIf32Bits() { } } -function skipIfWorker() { - if (!isMainThread) { - skip('This test only works on a main thread'); - } -} - function getArrayBufferViews(buf) { const { buffer, byteOffset, byteLength } = buf; @@ -836,12 +766,6 @@ function invalidArgTypeHelper(input) { return ` Received type ${typeof input} (${inspected})`; } -function skipIfDumbTerminal() { - if (isDumbTerminal) { - skip('skipping - dumb terminal'); - } -} - function requireNoPackageJSONAbove(dir = __dirname) { let possiblePackage = path.join(dir, '..', 'package.json'); let lastPackage = null; @@ -857,6 +781,7 @@ function requireNoPackageJSONAbove(dir = __dirname) { } function spawnPromisified(...args) { + const { spawn } = require('child_process'); let stderr = ''; let stdout = ''; @@ -912,45 +837,6 @@ function escapePOSIXShell(cmdParts, ...args) { return [cmd, { env }]; }; -function getPrintedStackTrace(stderr) { - const lines = stderr.split('\n'); - - let state = 'initial'; - const result = { - message: [], - nativeStack: [], - jsStack: [], - }; - for (let i = 0; i < lines.length; ++i) { - const line = lines[i].trim(); - if (line.length === 0) { - continue; // Skip empty lines. - } - - switch (state) { - case 'initial': - result.message.push(line); - if (line.includes('Native stack trace')) { - state = 'native-stack'; - } else { - result.message.push(line); - } - break; - case 'native-stack': - if (line.includes('JavaScript stack trace')) { - state = 'js-stack'; - } else { - result.nativeStack.push(line); - } - break; - case 'js-stack': - result.jsStack.push(line); - break; - } - } - return result; -} - /** * Check the exports of require(esm). * TODO(joyeecheung): use it in all the test-require-module-* tests to minimize changes @@ -959,6 +845,7 @@ function getPrintedStackTrace(stderr) { * @param {object} expectation shape of expected namespace. */ function expectRequiredModule(mod, expectation, checkESModule = true) { + const { isModuleNamespaceObject } = require('util/types'); const clone = { ...mod }; if (Object.hasOwn(mod, 'default') && checkESModule) { assert.strictEqual(mod.__esModule, true); @@ -973,7 +860,6 @@ const common = { buildType, canCreateSymLink, childShouldThrowAndAbort, - createZeroFilledFile, defaultAutoSelectFamilyAttemptTimeout, escapePOSIXShell, expectsError, @@ -981,21 +867,16 @@ const common = { expectWarning, getArrayBufferViews, getBufferSources, - getPrintedStackTrace, getTTYfd, hasIntl, hasCrypto, - hasOpenSSL, hasQuic, - hasMultiLocalhost, invalidArgTypeHelper, isAlive, isASan, isDebug, - isDumbTerminal, isFreeBSD, isLinux, - isMainThread, isOpenBSD, isMacOS, isPi, @@ -1017,20 +898,14 @@ const common = { runWithInvalidFD, skip, skipIf32Bits, - skipIfDumbTerminal, skipIfEslintMissing, skipIfInspectorDisabled, - skipIfWorker, spawnPromisified, get enoughTestMem() { return require('os').totalmem() > 0x70000000; /* 1.75 Gb */ }, - get hasFipsCrypto() { - return hasCrypto && require('crypto').getFips(); - }, - get hasIPv6() { const iFaces = require('os').networkInterfaces(); let re; @@ -1047,11 +922,8 @@ const common = { }); }, - get hasOpenSSL3() { - return hasOpenSSL(3); - }, - get inFreeBSDJail() { + const { execSync } = require('child_process'); if (inFreeBSDJail !== null) return inFreeBSDJail; if (exports.isFreeBSD && @@ -1074,11 +946,6 @@ const common = { return require('os').type() === 'OS400'; }, - get isLinuxPPCBE() { - return (process.platform === 'linux') && (process.arch === 'ppc64') && - (require('os').endianness() === 'BE'); - }, - get localhostIPv4() { if (localhostIPv4 !== null) return localhostIPv4; @@ -1100,28 +967,6 @@ const common = { return localhostIPv4; }, - // opensslCli defined lazily to reduce overhead of spawnSync - get opensslCli() { - if (opensslCli !== null) return opensslCli; - - if (process.config.variables.node_shared_openssl) { - // Use external command - opensslCli = 'openssl'; - } else { - // Use command built from sources included in Node.js repository - opensslCli = path.join(path.dirname(process.execPath), 'openssl-cli'); - } - - if (exports.isWindows) opensslCli += '.exe'; - - const opensslCmd = spawnSync(opensslCli, ['version']); - if (opensslCmd.status !== 0 || opensslCmd.error !== undefined) { - // OpenSSL command cannot be executed - opensslCli = false; - } - return opensslCli; - }, - get PORT() { if (+process.env.TEST_PARALLEL) { throw new Error('common.PORT cannot be used in a parallelized test'); @@ -1129,13 +974,6 @@ const common = { return +process.env.NODE_COMMON_PORT || 12346; }, - /** - * Returns the EOL character used by this Git checkout. - */ - get checkoutEOL() { - return fs.readFileSync(__filename).includes('\r\n') ? '\r\n' : '\n'; - }, - get isInsideDirWithUnusualChars() { return __dirname.includes('%') || (!isWindows && __dirname.includes('\\')) || diff --git a/test/common/index.mjs b/test/common/index.mjs index b252f2dc4aac5e..dd0adadcb28d38 100644 --- a/test/common/index.mjs +++ b/test/common/index.mjs @@ -7,9 +7,7 @@ const { allowGlobals, buildType, canCreateSymLink, - checkoutEOL, childShouldThrowAndAbort, - createZeroFilledFile, enoughTestMem, escapePOSIXShell, expectsError, @@ -20,16 +18,12 @@ const { hasCrypto, hasIntl, hasIPv6, - hasMultiLocalhost, isAIX, isAlive, - isDumbTerminal, isFreeBSD, isIBMi, isInsideDirWithUnusualChars, isLinux, - isLinuxPPCBE, - isMainThread, isOpenBSD, isMacOS, isSunOS, @@ -41,7 +35,6 @@ const { mustNotMutateObjectDeep, mustSucceed, nodeProcessAborted, - opensslCli, parseTestFlags, PIPE, platformTimeout, @@ -49,7 +42,6 @@ const { runWithInvalidFD, skip, skipIf32Bits, - skipIfDumbTerminal, skipIfEslintMissing, skipIfInspectorDisabled, spawnPromisified, @@ -61,10 +53,8 @@ export { allowGlobals, buildType, canCreateSymLink, - checkoutEOL, childShouldThrowAndAbort, createRequire, - createZeroFilledFile, enoughTestMem, escapePOSIXShell, expectsError, @@ -76,16 +66,12 @@ export { hasCrypto, hasIntl, hasIPv6, - hasMultiLocalhost, isAIX, isAlive, - isDumbTerminal, isFreeBSD, isIBMi, isInsideDirWithUnusualChars, isLinux, - isLinuxPPCBE, - isMainThread, isOpenBSD, isMacOS, isSunOS, @@ -97,7 +83,6 @@ export { mustNotMutateObjectDeep, mustSucceed, nodeProcessAborted, - opensslCli, parseTestFlags, PIPE, platformTimeout, @@ -105,7 +90,6 @@ export { runWithInvalidFD, skip, skipIf32Bits, - skipIfDumbTerminal, skipIfEslintMissing, skipIfInspectorDisabled, spawnPromisified, diff --git a/test/common/net.js b/test/common/net.js index 84eddd0966ed56..3886c542421005 100644 --- a/test/common/net.js +++ b/test/common/net.js @@ -17,7 +17,17 @@ function checkSupportReusePort() { }); } +function hasMultiLocalhost() { + const { internalBinding } = require('internal/test/binding'); + const { TCP, constants: TCPConstants } = internalBinding('tcp_wrap'); + const t = new TCP(TCPConstants.SOCKET); + const ret = t.bind('127.0.0.2', 0); + t.close(); + return ret === 0; +} + module.exports = { checkSupportReusePort, + hasMultiLocalhost, options, }; diff --git a/test/common/test-error-reporter.js b/test/common/test-error-reporter.js new file mode 100644 index 00000000000000..d6db28e675ad6f --- /dev/null +++ b/test/common/test-error-reporter.js @@ -0,0 +1,41 @@ +'use strict'; +const { relative } = require('node:path'); +const { inspect } = require('node:util'); +const cwd = process.cwd(); + +module.exports = async function* errorReporter(source) { + for await (const event of source) { + if (event.type === 'test:fail') { + const { name, details, line, column, file } = event.data; + let { error } = details; + + if (error?.failureType === 'subtestsFailed') { + // In the interest of keeping things concise, skip failures that are + // only due to nested failures. + continue; + } + + if (error?.code === 'ERR_TEST_FAILURE') { + error = error.cause; + } + + const output = [ + `Test failure: '${name}'`, + ]; + + if (file) { + output.push(`Location: ${relative(cwd, file)}:${line}:${column}`); + } + + output.push(inspect(error)); + output.push('\n'); + yield output.join('\n'); + + if (process.env.FAIL_FAST) { + yield `\nBailing on failed test: ${event.data.name}\n`; + process.exitCode = 1; + process.emit('SIGINT'); + } + } + } +}; diff --git a/test/es-module/test-esm-resolve-type.mjs b/test/es-module/test-esm-resolve-type.mjs index 22163bbd5defb8..9d97413379ad3c 100644 --- a/test/es-module/test-esm-resolve-type.mjs +++ b/test/es-module/test-esm-resolve-type.mjs @@ -13,8 +13,10 @@ import path from 'path'; import fs from 'fs'; import url from 'url'; import process from 'process'; +import { isMainThread } from 'worker_threads'; -if (!common.isMainThread) { + +if (!isMainThread) { common.skip( 'test-esm-resolve-type.mjs: process.chdir is not available in Workers' ); diff --git a/test/es-module/test-typescript-eval.mjs b/test/es-module/test-typescript-eval.mjs index 5c6f25bec4df7d..bbbed8863de25a 100644 --- a/test/es-module/test-typescript-eval.mjs +++ b/test/es-module/test-typescript-eval.mjs @@ -102,33 +102,33 @@ test('expect fail eval TypeScript ESM syntax with input-type commonjs-typescript strictEqual(result.code, 1); }); -test('check syntax error is thrown when passing invalid syntax', async () => { +test('check syntax error is thrown when passing unsupported syntax', async () => { const result = await spawnPromisified(process.execPath, [ '--eval', 'enum Foo { A, B, C }']); strictEqual(result.stdout, ''); match(result.stderr, /SyntaxError/); - doesNotMatch(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + doesNotMatch(result.stderr, /ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX/); strictEqual(result.code, 1); }); -test('check syntax error is thrown when passing invalid syntax with --input-type=module-typescript', async () => { +test('check syntax error is thrown when passing unsupported syntax with --input-type=module-typescript', async () => { const result = await spawnPromisified(process.execPath, [ '--input-type=module-typescript', '--eval', 'enum Foo { A, B, C }']); strictEqual(result.stdout, ''); - match(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + match(result.stderr, /ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX/); strictEqual(result.code, 1); }); -test('check syntax error is thrown when passing invalid syntax with --input-type=commonjs-typescript', async () => { +test('check syntax error is thrown when passing unsupported syntax with --input-type=commonjs-typescript', async () => { const result = await spawnPromisified(process.execPath, [ '--input-type=commonjs-typescript', '--eval', 'enum Foo { A, B, C }']); strictEqual(result.stdout, ''); - match(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + match(result.stderr, /ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX/); strictEqual(result.code, 1); }); @@ -140,7 +140,7 @@ test('should not parse TypeScript with --type-module=commonjs', async () => { strictEqual(result.stdout, ''); match(result.stderr, /SyntaxError/); - doesNotMatch(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + doesNotMatch(result.stderr, /ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX/); strictEqual(result.code, 1); }); @@ -152,7 +152,7 @@ test('should not parse TypeScript with --type-module=module', async () => { strictEqual(result.stdout, ''); match(result.stderr, /SyntaxError/); - doesNotMatch(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + doesNotMatch(result.stderr, /ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX/); strictEqual(result.code, 1); }); @@ -222,3 +222,23 @@ test('typescript CJS code is throwing a syntax error at runtime', async () => { strictEqual(result.stdout, ''); strictEqual(result.code, 1); }); + +test('check syntax error is thrown when passing invalid syntax with --input-type=commonjs-typescript', async () => { + const result = await spawnPromisified(process.execPath, [ + '--input-type=commonjs-typescript', + '--eval', + 'function foo(){ await Promise.resolve(1); }']); + strictEqual(result.stdout, ''); + match(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + strictEqual(result.code, 1); +}); + +test('check syntax error is thrown when passing invalid syntax with --input-type=module-typescript', async () => { + const result = await spawnPromisified(process.execPath, [ + '--input-type=module-typescript', + '--eval', + 'function foo(){ await Promise.resolve(1); }']); + strictEqual(result.stdout, ''); + match(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + strictEqual(result.code, 1); +}); diff --git a/test/es-module/test-typescript.mjs b/test/es-module/test-typescript.mjs index 81aed880bdcf51..74c4a0f120b758 100644 --- a/test/es-module/test-typescript.mjs +++ b/test/es-module/test-typescript.mjs @@ -321,3 +321,13 @@ test('execute a TypeScript loader and a .js file', async () => { match(result.stdout, /Hello, TypeScript!/); strictEqual(result.code, 0); }); + +test('execute invalid TypeScript syntax', async () => { + const result = await spawnPromisified(process.execPath, [ + fixtures.path('typescript/ts/test-invalid-syntax.ts'), + ]); + + match(result.stderr, /ERR_INVALID_TYPESCRIPT_SYNTAX/); + strictEqual(result.stdout, ''); + strictEqual(result.code, 1); +}); diff --git a/test/es-module/test-vm-main-context-default-loader.js b/test/es-module/test-vm-main-context-default-loader.js index f9edc761465d96..bda954be6ebf97 100644 --- a/test/es-module/test-vm-main-context-default-loader.js +++ b/test/es-module/test-vm-main-context-default-loader.js @@ -3,7 +3,11 @@ const common = require('../common'); // Can't process.chdir() in worker. -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const tmpdir = require('../common/tmpdir'); const fixtures = require('../common/fixtures'); diff --git "a/test/fixtures/copy/utf/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/experimental.json" "b/test/fixtures/copy/utf/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/experimental.json" new file mode 100644 index 00000000000000..12611d2385a5a5 --- /dev/null +++ "b/test/fixtures/copy/utf/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/experimental.json" @@ -0,0 +1,3 @@ +{ + "ofLife": 42 +} diff --git a/test/fixtures/disable-signal/sigusr1.js b/test/fixtures/disable-signal/sigusr1.js new file mode 100644 index 00000000000000..6abf3ab2b5888a --- /dev/null +++ b/test/fixtures/disable-signal/sigusr1.js @@ -0,0 +1,2 @@ +console.log('pid is', process.pid); +setInterval(() => {}, 1000); diff --git a/test/fixtures/errors/core_line_numbers.snapshot b/test/fixtures/errors/core_line_numbers.snapshot index 54cdb52744b29e..9ef06c33af8e28 100644 --- a/test/fixtures/errors/core_line_numbers.snapshot +++ b/test/fixtures/errors/core_line_numbers.snapshot @@ -1,10 +1,10 @@ -node:punycode:49 +node:punycode:54 throw new RangeError(errors[type]); ^ RangeError: Invalid input - at error (node:punycode:49:8) - at Object.decode (node:punycode:242:5) + at error (node:punycode:54:8) + at Object.decode (node:punycode:247:5) at Object.<anonymous> (*core_line_numbers.js:13:10) Node.js * diff --git a/test/fixtures/errors/throw_in_eval_anonymous.js b/test/fixtures/errors/throw_in_eval_anonymous.js new file mode 100644 index 00000000000000..aa9ab6a05803bb --- /dev/null +++ b/test/fixtures/errors/throw_in_eval_anonymous.js @@ -0,0 +1,9 @@ +'use strict'; +require('../../common'); + +Error.stackTraceLimit = 1; +eval(` + + throw new Error('error in anonymous script'); + +`) diff --git a/test/fixtures/errors/throw_in_eval_anonymous.snapshot b/test/fixtures/errors/throw_in_eval_anonymous.snapshot new file mode 100644 index 00000000000000..e6f731f4d99cd7 --- /dev/null +++ b/test/fixtures/errors/throw_in_eval_anonymous.snapshot @@ -0,0 +1,8 @@ +<anonymous_script>:* + throw new Error('error in anonymous script'); + ^ + +Error: error in anonymous script + at eval (eval at <anonymous> (*throw_in_eval_anonymous.js:*:*), <anonymous>:*:*) + +Node.js * diff --git a/test/fixtures/errors/throw_in_eval_named.js b/test/fixtures/errors/throw_in_eval_named.js new file mode 100644 index 00000000000000..0d33fcf4d05dd5 --- /dev/null +++ b/test/fixtures/errors/throw_in_eval_named.js @@ -0,0 +1,9 @@ +'use strict'; +require('../../common'); + +Error.stackTraceLimit = 1; +eval(` + + throw new Error('error in named script'); + +//# sourceURL=evalscript.js`) diff --git a/test/fixtures/errors/throw_in_eval_named.snapshot b/test/fixtures/errors/throw_in_eval_named.snapshot new file mode 100644 index 00000000000000..3be4c3584735fb --- /dev/null +++ b/test/fixtures/errors/throw_in_eval_named.snapshot @@ -0,0 +1,8 @@ +evalscript.js:* + throw new Error('error in named script'); + ^ + +Error: error in named script + at eval (evalscript.js:*:*) + +Node.js * diff --git a/test/fixtures/eval/eval_messages.snapshot b/test/fixtures/eval/eval_messages.snapshot index 4a29e96f9c0973..bed167424483a1 100644 --- a/test/fixtures/eval/eval_messages.snapshot +++ b/test/fixtures/eval/eval_messages.snapshot @@ -8,9 +8,6 @@ with(this){__filename} : ^^^^ `---- -Caused by: - failed to parse - SyntaxError: Strict mode code may not include a with statement Node.js * diff --git a/test/fixtures/eval/eval_typescript.snapshot b/test/fixtures/eval/eval_typescript.snapshot index b10f8d6a910e4f..074e966e51e0f5 100644 --- a/test/fixtures/eval/eval_typescript.snapshot +++ b/test/fixtures/eval/eval_typescript.snapshot @@ -43,9 +43,6 @@ function foo(){ await Promise.resolve(1)}; : ^^^^^^^ `---- -Caused by: - failed to parse - SyntaxError: await is only valid in async functions and the top level bodies of modules Node.js * diff --git a/test/fixtures/eval/stdin_messages.snapshot b/test/fixtures/eval/stdin_messages.snapshot index c2f33ba8475d07..66bd506f758ca9 100644 --- a/test/fixtures/eval/stdin_messages.snapshot +++ b/test/fixtures/eval/stdin_messages.snapshot @@ -8,9 +8,6 @@ with(this){__filename} : ^^^^ `---- -Caused by: - failed to parse - SyntaxError: Strict mode code may not include a with statement Node.js * diff --git a/test/fixtures/eval/stdin_typescript.snapshot b/test/fixtures/eval/stdin_typescript.snapshot index ccae9c38ee75e0..3e209e6db2973a 100644 --- a/test/fixtures/eval/stdin_typescript.snapshot +++ b/test/fixtures/eval/stdin_typescript.snapshot @@ -79,9 +79,6 @@ function foo(){ await Promise.resolve(1)}; : ^^^^^^^ `---- -Caused by: - failed to parse - SyntaxError: await is only valid in async functions and the top level bodies of modules Node.js * @@ -94,9 +91,6 @@ function foo(){ await Promise.resolve(1)}; : ^^^^^^^ `---- -Caused by: - failed to parse - SyntaxError: await is only valid in async functions and the top level bodies of modules Node.js * diff --git a/test/fixtures/icu/localizationData-v74.2.json b/test/fixtures/icu/localizationData-v74.2.json index 65671ba5acb299..1cca79672ac25e 100644 --- a/test/fixtures/icu/localizationData-v74.2.json +++ b/test/fixtures/icu/localizationData-v74.2.json @@ -20,14 +20,14 @@ "dateTimeFormats": { "en": "7/25/1980, 1:35:33 AM", "zh": "1980/7/25 01:35:33", - "hi": "25/7/1980, 1:35:33 am", + "hi": "25/7/1980, पू 1:35:33", "es": "25/7/1980, 1:35:33", "fr": "25/07/1980 01:35:33", - "ar": "٢٥‏/٧‏/١٩٨٠، ١:٣٥:٣٣ ص", + "ar": "25‏/7‏/1980، 1:35:33 ص", "bn": "২৫/৭/১৯৮০, ১:৩৫:৩৩ AM", "ru": "25.07.1980, 01:35:33", "pt": "25/07/1980, 01:35:33", - "ur": "25/7/1980، 1:35:33 AM", + "ur": "25/7/1980، 1:35:33 ق.د.", "id": "25/7/1980, 01.35.33", "de": "25.7.1980, 01:35:33", "ja": "1980/7/25 1:35:33", @@ -41,7 +41,7 @@ "hi": "25/7/1980", "es": "25/7/1980", "fr": "25/07/1980", - "ar": "٢٥‏/٧‏/١٩٨٠", + "ar": "25‏/7‏/1980", "bn": "২৫/৭/১৯৮০", "ru": "25.07.1980", "pt": "25/07/1980", @@ -77,7 +77,7 @@ "hi": "2,75,760.913", "es": "275.760,913", "fr": "275 760,913", - "ar": "٢٧٥٬٧٦٠٫٩١٣", + "ar": "275,760.913", "bn": "২,৭৫,৭৬০.৯১৩", "ru": "275 760,913", "pt": "275.760,913", @@ -113,7 +113,7 @@ "hi": "5,86,920.617 घंटे पहले", "es": "hace 586.920,617 horas", "fr": "il y a 586 920,617 heures", - "ar": "قبل ٥٨٦٬٩٢٠٫٦١٧ ساعة", + "ar": "قبل 586,920.617 ساعة", "bn": "৫,৮৬,৯২০.৬১৭ ঘন্টা আগে", "ru": "586 920,617 часа назад", "pt": "há 586.920,617 horas", diff --git a/test/fixtures/loader-is-internal-thread.js b/test/fixtures/loader-is-internal-thread.js new file mode 100644 index 00000000000000..d97328bc2075ac --- /dev/null +++ b/test/fixtures/loader-is-internal-thread.js @@ -0,0 +1,3 @@ +const { isInternalThread } = require('node:worker_threads'); + +console.log(`isInternalThread: ${isInternalThread}`); \ No newline at end of file diff --git a/test/fixtures/module-require/relative/subdir/relative-subdir.js b/test/fixtures/module-require/relative/subdir/relative-subdir.js new file mode 100644 index 00000000000000..34eb71b3c6ca39 --- /dev/null +++ b/test/fixtures/module-require/relative/subdir/relative-subdir.js @@ -0,0 +1 @@ +exports.value = 'relative subdir'; diff --git a/test/fixtures/permission/fs-write.js b/test/fixtures/permission/fs-write.js index 0c0ec72602041a..83fe3d234db290 100644 --- a/test/fixtures/permission/fs-write.js +++ b/test/fixtures/permission/fs-write.js @@ -1,7 +1,11 @@ 'use strict'; const common = require('../../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const fs = require('fs'); @@ -553,4 +557,4 @@ const relativeProtectedFolder = process.env.RELATIVEBLOCKEDFOLDER; }, { code: 'ERR_ACCESS_DENIED', }); -} \ No newline at end of file +} diff --git a/test/fixtures/permission/processbinding.js b/test/fixtures/permission/processbinding.js index bdb958fb01b5ca..69e2fac5d7f151 100644 --- a/test/fixtures/permission/processbinding.js +++ b/test/fixtures/permission/processbinding.js @@ -1,5 +1,9 @@ const common = require('../../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); diff --git a/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site-min.js b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site-min.js new file mode 100644 index 00000000000000..45b7ed2b219b86 --- /dev/null +++ b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site-min.js @@ -0,0 +1,3 @@ +var functionA=function(){functionB()};function functionB(){functionC()}var functionC=function(){functionD()},functionD=function(){if(0<Math.random())throw Error("an error!");},thrower=functionA;try{functionA()}catch(a){throw a;}; +//# sourceMappingURL=enclosing-call-site.js.map + diff --git a/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js new file mode 100644 index 00000000000000..d00041506fad48 --- /dev/null +++ b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js @@ -0,0 +1,27 @@ +const functionA = () => { + functionB() +} + +function functionB() { + functionC() +} + +const functionC = () => { + functionD() +} + +const functionD = () => { + (function functionE () { + if (Math.random() > 0) { + throw new Error('an error!') + } + })() +} + +const thrower = functionA + +try { + thrower() +} catch (err) { + throw err +} diff --git a/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js.map b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js.map new file mode 100644 index 00000000000000..d0c785f26091cc --- /dev/null +++ b/test/fixtures/source-map/node_modules/error-stack/enclosing-call-site.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"enclosing-call-site-min.js", +"lineCount":1, +"mappings":"AAAA,IAAMA,UAAYA,QAAA,EAAM,CACtBC,SAAA,EADsB,CAIxBA,SAASA,UAAS,EAAG,CACnBC,SAAA,EADmB,CAIrB,IAAMA,UAAYA,QAAA,EAAM,CACtBC,SAAA,EADsB,CAAxB,CAIMA,UAAYA,QAAA,EAAM,CAEpB,GAAoB,CAApB,CAAIC,IAAA,CAAKC,MAAL,EAAJ,CACE,KAAUC,MAAJ,CAAU,WAAV,CAAN,CAHkB,CAJxB,CAYMC,QAAUP,SAEhB,IAAI,CACFO,SAAA,EADE,CAEF,MAAOC,CAAP,CAAY,CACZ,KAAMA,EAAN,CADY;", +"sources":["enclosing-call-site.js"], +"names":["functionA","functionB","functionC","functionD","Math","random","Error","thrower","err"] +} diff --git a/test/fixtures/source-map/output/source_map_disabled_by_api.js b/test/fixtures/source-map/output/source_map_disabled_by_api.js index 8f455f26b6c9c4..1291f3583ac239 100644 --- a/test/fixtures/source-map/output/source_map_disabled_by_api.js +++ b/test/fixtures/source-map/output/source_map_disabled_by_api.js @@ -2,11 +2,23 @@ 'use strict'; require('../../../common'); -const assert = require('assert'); +const assert = require('node:assert'); +const Module = require('node:module'); Error.stackTraceLimit = 5; -assert.strictEqual(process.sourceMapsEnabled, true); -process.setSourceMapsEnabled(false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: true, + generatedCode: true, +}); +Module.setSourceMapsSupport(false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); assert.strictEqual(process.sourceMapsEnabled, false); try { @@ -19,7 +31,13 @@ try { // support enabled programmatically. delete require.cache[require .resolve('../enclosing-call-site-min.js')]; -process.setSourceMapsEnabled(true); +Module.setSourceMapsSupport(true); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: false, + generatedCode: false, +}); assert.strictEqual(process.sourceMapsEnabled, true); try { diff --git a/test/fixtures/source-map/output/source_map_disabled_by_process_api.js b/test/fixtures/source-map/output/source_map_disabled_by_process_api.js new file mode 100644 index 00000000000000..f9fc5b0c966ca6 --- /dev/null +++ b/test/fixtures/source-map/output/source_map_disabled_by_process_api.js @@ -0,0 +1,42 @@ +// Flags: --enable-source-maps + +'use strict'; +require('../../../common'); +const assert = require('node:assert'); +const Module = require('node:module'); +Error.stackTraceLimit = 5; + +assert.strictEqual(process.sourceMapsEnabled, true); +process.setSourceMapsEnabled(false); +assert.strictEqual(process.sourceMapsEnabled, false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); + +try { + require('../enclosing-call-site-min.js'); +} catch (e) { + console.log(e); +} + +// Delete the CJS module cache and loading the module again with source maps +// support enabled programmatically. +delete require.cache[require + .resolve('../enclosing-call-site-min.js')]; +process.setSourceMapsEnabled(true); +assert.strictEqual(process.sourceMapsEnabled, true); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: true, + generatedCode: true, +}); + +try { + require('../enclosing-call-site-min.js'); +} catch (e) { + console.log(e); +} diff --git a/test/fixtures/source-map/output/source_map_disabled_by_process_api.snapshot b/test/fixtures/source-map/output/source_map_disabled_by_process_api.snapshot new file mode 100644 index 00000000000000..655cd6695e1116 --- /dev/null +++ b/test/fixtures/source-map/output/source_map_disabled_by_process_api.snapshot @@ -0,0 +1,12 @@ +Error: an error! + at functionD (*enclosing-call-site-min.js:1:156) + at functionC (*enclosing-call-site-min.js:1:97) + at functionB (*enclosing-call-site-min.js:1:60) + at functionA (*enclosing-call-site-min.js:1:26) + at Object.<anonymous> (*enclosing-call-site-min.js:1:199) +Error: an error! + at functionD (*enclosing-call-site.js:16:17) + at functionC (*enclosing-call-site.js:10:3) + at functionB (*enclosing-call-site.js:6:3) + at functionA (*enclosing-call-site.js:2:3) + at Object.<anonymous> (*enclosing-call-site.js:24:3) diff --git a/test/fixtures/source-map/output/source_map_enabled_by_api.js b/test/fixtures/source-map/output/source_map_enabled_by_api.js index 1dd4f9530c68db..e09e05b59339f4 100644 --- a/test/fixtures/source-map/output/source_map_enabled_by_api.js +++ b/test/fixtures/source-map/output/source_map_enabled_by_api.js @@ -1,10 +1,22 @@ 'use strict'; require('../../../common'); -const assert = require('assert'); +const assert = require('node:assert'); +const Module = require('node:module'); Error.stackTraceLimit = 5; -assert.strictEqual(process.sourceMapsEnabled, false); -process.setSourceMapsEnabled(true); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); +Module.setSourceMapsSupport(true); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: false, + generatedCode: false, +}); assert.strictEqual(process.sourceMapsEnabled, true); try { @@ -16,7 +28,13 @@ try { delete require.cache[require .resolve('../enclosing-call-site-min.js')]; -process.setSourceMapsEnabled(false); +Module.setSourceMapsSupport(false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); assert.strictEqual(process.sourceMapsEnabled, false); try { diff --git a/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.js b/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.js new file mode 100644 index 00000000000000..5de2f3b0d7eb85 --- /dev/null +++ b/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.js @@ -0,0 +1,48 @@ +'use strict'; +require('../../../common'); +const assert = require('node:assert'); +const Module = require('node:module'); +Error.stackTraceLimit = 5; + +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); +Module.setSourceMapsSupport(true, { + nodeModules: true, +}); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: true, + generatedCode: false, +}); +assert.strictEqual(process.sourceMapsEnabled, true); + +try { + require('../node_modules/error-stack/enclosing-call-site-min.js').simpleErrorStack(); +} catch (e) { + console.log(e); +} + +delete require.cache[require + .resolve('../node_modules/error-stack/enclosing-call-site-min.js')]; + +Module.setSourceMapsSupport(true, { + nodeModules: false, +}); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: false, + generatedCode: false, +}); +assert.strictEqual(process.sourceMapsEnabled, true); + +try { + require('../node_modules/error-stack/enclosing-call-site-min.js').simpleErrorStack(); +} catch (e) { + console.log(e); +} \ No newline at end of file diff --git a/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.snapshot b/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.snapshot new file mode 100644 index 00000000000000..f46c21dbe42057 --- /dev/null +++ b/test/fixtures/source-map/output/source_map_enabled_by_api_node_modules.snapshot @@ -0,0 +1,12 @@ +Error: an error! + at functionD (*node_modules*error-stack*enclosing-call-site.js:16:17) + at functionC (*node_modules*error-stack*enclosing-call-site.js:10:3) + at functionB (*node_modules*error-stack*enclosing-call-site.js:6:3) + at functionA (*node_modules*error-stack*enclosing-call-site.js:2:3) + at Object.<anonymous> (*node_modules*error-stack*enclosing-call-site.js:24:3) +Error: an error! + at functionD (*node_modules*error-stack*enclosing-call-site-min.js:1:156) + at functionC (*node_modules*error-stack*enclosing-call-site-min.js:1:97) + at functionB (*node_modules*error-stack*enclosing-call-site-min.js:1:60) + at functionA (*node_modules*error-stack*enclosing-call-site-min.js:1:26) + at Object.<anonymous> (*node_modules*error-stack*enclosing-call-site-min.js:1:199) diff --git a/test/fixtures/source-map/output/source_map_enabled_by_process_api.js b/test/fixtures/source-map/output/source_map_enabled_by_process_api.js new file mode 100644 index 00000000000000..867a5cc082d40b --- /dev/null +++ b/test/fixtures/source-map/output/source_map_enabled_by_process_api.js @@ -0,0 +1,39 @@ +'use strict'; +require('../../../common'); +const assert = require('node:assert'); +const Module = require('node:module'); +Error.stackTraceLimit = 5; + +assert.strictEqual(process.sourceMapsEnabled, false); +process.setSourceMapsEnabled(true); +assert.strictEqual(process.sourceMapsEnabled, true); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: true, + nodeModules: true, + generatedCode: true, +}); + +try { + require('../enclosing-call-site-min.js'); +} catch (e) { + console.log(e); +} + +delete require.cache[require + .resolve('../enclosing-call-site-min.js')]; + +process.setSourceMapsEnabled(false); +assert.strictEqual(process.sourceMapsEnabled, false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); + +try { + require('../enclosing-call-site-min.js'); +} catch (e) { + console.log(e); +} diff --git a/test/fixtures/source-map/output/source_map_enabled_by_process_api.snapshot b/test/fixtures/source-map/output/source_map_enabled_by_process_api.snapshot new file mode 100644 index 00000000000000..082b3f310ed4f9 --- /dev/null +++ b/test/fixtures/source-map/output/source_map_enabled_by_process_api.snapshot @@ -0,0 +1,12 @@ +Error: an error! + at functionD (*enclosing-call-site.js:16:17) + at functionC (*enclosing-call-site.js:10:3) + at functionB (*enclosing-call-site.js:6:3) + at functionA (*enclosing-call-site.js:2:3) + at Object.<anonymous> (*enclosing-call-site.js:24:3) +Error: an error! + at functionD (*enclosing-call-site-min.js:1:156) + at functionC (*enclosing-call-site-min.js:1:97) + at functionB (*enclosing-call-site-min.js:1:60) + at functionA (*enclosing-call-site-min.js:1:26) + at Object.<anonymous> (*enclosing-call-site-min.js:1:199) diff --git a/test/fixtures/source-map/output/source_map_prepare_stack_trace.js b/test/fixtures/source-map/output/source_map_prepare_stack_trace.js index 1b04e0a3ac221b..894aea60a96f18 100644 --- a/test/fixtures/source-map/output/source_map_prepare_stack_trace.js +++ b/test/fixtures/source-map/output/source_map_prepare_stack_trace.js @@ -2,7 +2,8 @@ 'use strict'; require('../../../common'); -const assert = require('assert'); +const assert = require('node:assert'); +const Module = require('node:module'); Error.stackTraceLimit = 5; assert.strictEqual(typeof Error.prepareStackTrace, 'function'); @@ -22,8 +23,13 @@ try { // Source maps support is disabled programmatically even without deleting the // CJS module cache. -process.setSourceMapsEnabled(false); -assert.strictEqual(process.sourceMapsEnabled, false); +Module.setSourceMapsSupport(false); +assert.deepStrictEqual(Module.getSourceMapsSupport(), { + __proto__: null, + enabled: false, + nodeModules: false, + generatedCode: false, +}); try { require('../enclosing-call-site-min.js'); diff --git a/test/fixtures/test-runner/default-behavior/test/suite_and_test.cjs b/test/fixtures/test-runner/default-behavior/test/suite_and_test.cjs new file mode 100644 index 00000000000000..0418d4676b2cd3 --- /dev/null +++ b/test/fixtures/test-runner/default-behavior/test/suite_and_test.cjs @@ -0,0 +1,5 @@ +'use strict'; +const {test, suite} = require('node:test'); + +suite('this is a suite'); +test('this is a test'); diff --git a/test/fixtures/test-runner/error-reporter-fail-fast/a.mjs b/test/fixtures/test-runner/error-reporter-fail-fast/a.mjs new file mode 100644 index 00000000000000..6508394bbc682d --- /dev/null +++ b/test/fixtures/test-runner/error-reporter-fail-fast/a.mjs @@ -0,0 +1,6 @@ +const assert = require('node:assert'); +const { test } = require('node:test'); + +test('fail', () => { + assert.fail('a.mjs fail'); +}); diff --git a/test/fixtures/test-runner/error-reporter-fail-fast/b.mjs b/test/fixtures/test-runner/error-reporter-fail-fast/b.mjs new file mode 100644 index 00000000000000..87abd62db2773f --- /dev/null +++ b/test/fixtures/test-runner/error-reporter-fail-fast/b.mjs @@ -0,0 +1,6 @@ +const assert = require('node:assert'); +const { test } = require('node:test'); + +test('fail', () => { + assert.fail('b.mjs fail'); +}); diff --git a/test/fixtures/test-runner/output/abort-runs-after-hook.snapshot b/test/fixtures/test-runner/output/abort-runs-after-hook.snapshot index c734a264b0f07f..86191e55ddc3dc 100644 --- a/test/fixtures/test-runner/output/abort-runs-after-hook.snapshot +++ b/test/fixtures/test-runner/output/abort-runs-after-hook.snapshot @@ -4,6 +4,7 @@ AFTER not ok 1 - test that aborts --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort-runs-after-hook.js:(LINE):1' failureType: 'uncaughtException' error: 'boom' diff --git a/test/fixtures/test-runner/output/abort.snapshot b/test/fixtures/test-runner/output/abort.snapshot index be0936bd763fbb..efe24771221956 100644 --- a/test/fixtures/test-runner/output/abort.snapshot +++ b/test/fixtures/test-runner/output/abort.snapshot @@ -4,26 +4,31 @@ TAP version 13 ok 1 - ok 1 --- duration_ms: * + type: 'test' ... # Subtest: ok 2 ok 2 - ok 2 --- duration_ms: * + type: 'test' ... # Subtest: ok 3 ok 3 - ok 3 --- duration_ms: * + type: 'test' ... # Subtest: ok 4 ok 4 - ok 4 --- duration_ms: * + type: 'test' ... # Subtest: not ok 1 not ok 5 - not ok 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):7' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -33,6 +38,7 @@ TAP version 13 not ok 6 - not ok 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):7' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -42,6 +48,7 @@ TAP version 13 not ok 7 - not ok 3 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):7' failureType: 'testAborted' error: 'This operation was aborted' @@ -63,6 +70,7 @@ TAP version 13 not ok 8 - not ok 4 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):7' failureType: 'testAborted' error: 'This operation was aborted' @@ -84,6 +92,7 @@ TAP version 13 not ok 9 - not ok 5 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):7' failureType: 'testAborted' error: 'This operation was aborted' @@ -105,6 +114,7 @@ TAP version 13 not ok 1 - promise timeout signal --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):1' failureType: 'testAborted' error: 'The operation was aborted due to timeout' @@ -120,6 +130,7 @@ not ok 1 - promise timeout signal not ok 2 - promise abort signal --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):1' failureType: 'testAborted' error: 'This operation was aborted' @@ -142,26 +153,31 @@ not ok 2 - promise abort signal ok 1 - ok 1 --- duration_ms: * + type: 'test' ... # Subtest: ok 2 ok 2 - ok 2 --- duration_ms: * + type: 'test' ... # Subtest: ok 3 ok 3 - ok 3 --- duration_ms: * + type: 'test' ... # Subtest: ok 4 ok 4 - ok 4 --- duration_ms: * + type: 'test' ... # Subtest: not ok 1 not ok 5 - not ok 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):5' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -171,6 +187,7 @@ not ok 2 - promise abort signal not ok 6 - not ok 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):5' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -180,6 +197,7 @@ not ok 2 - promise abort signal not ok 7 - not ok 3 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):5' failureType: 'testAborted' error: 'This operation was aborted' @@ -201,6 +219,7 @@ not ok 2 - promise abort signal not ok 8 - not ok 4 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):5' failureType: 'testAborted' error: 'This operation was aborted' @@ -222,6 +241,7 @@ not ok 2 - promise abort signal not ok 9 - not ok 5 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):5' failureType: 'testAborted' error: 'This operation was aborted' @@ -243,6 +263,7 @@ not ok 2 - promise abort signal not ok 3 - callback timeout signal --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):1' failureType: 'testAborted' error: 'The operation was aborted due to timeout' @@ -258,6 +279,7 @@ not ok 3 - callback timeout signal not ok 4 - callback abort signal --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort.js:(LINE):1' failureType: 'testAborted' error: 'This operation was aborted' diff --git a/test/fixtures/test-runner/output/abort_hooks.snapshot b/test/fixtures/test-runner/output/abort_hooks.snapshot index e318e36d9d56a4..a1d389d98b5610 100644 --- a/test/fixtures/test-runner/output/abort_hooks.snapshot +++ b/test/fixtures/test-runner/output/abort_hooks.snapshot @@ -12,6 +12,7 @@ TAP version 13 not ok 1 - test 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -21,6 +22,7 @@ TAP version 13 not ok 2 - test 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -53,11 +55,13 @@ not ok 1 - 1 before describe ok 1 - test 1 --- duration_ms: * + type: 'test' ... # Subtest: test 2 ok 2 - test 2 --- duration_ms: * + type: 'test' ... 1..2 not ok 2 - 2 after describe @@ -86,6 +90,7 @@ not ok 2 - 2 after describe not ok 1 - test 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'hookFailed' error: 'This operation was aborted' @@ -107,6 +112,7 @@ not ok 2 - 2 after describe not ok 2 - test 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'hookFailed' error: 'This operation was aborted' @@ -139,6 +145,7 @@ not ok 3 - 3 beforeEach describe not ok 1 - test 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'hookFailed' error: 'This operation was aborted' @@ -160,6 +167,7 @@ not ok 3 - 3 beforeEach describe not ok 2 - test 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_hooks.js:(LINE):3' failureType: 'hookFailed' error: 'This operation was aborted' diff --git a/test/fixtures/test-runner/output/abort_suite.snapshot b/test/fixtures/test-runner/output/abort_suite.snapshot index b3eb5d9126db26..bdb52ad1ffcc72 100644 --- a/test/fixtures/test-runner/output/abort_suite.snapshot +++ b/test/fixtures/test-runner/output/abort_suite.snapshot @@ -4,26 +4,31 @@ TAP version 13 ok 1 - ok 1 --- duration_ms: * + type: 'test' ... # Subtest: ok 2 ok 2 - ok 2 --- duration_ms: * + type: 'test' ... # Subtest: ok 3 ok 3 - ok 3 --- duration_ms: * + type: 'test' ... # Subtest: ok 4 ok 4 - ok 4 --- duration_ms: * + type: 'test' ... # Subtest: not ok 1 not ok 5 - not ok 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_suite.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -33,6 +38,7 @@ TAP version 13 not ok 6 - not ok 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_suite.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -42,6 +48,7 @@ TAP version 13 not ok 7 - not ok 3 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_suite.js:(LINE):3' failureType: 'testAborted' error: 'This operation was aborted' @@ -63,6 +70,7 @@ TAP version 13 not ok 8 - not ok 4 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_suite.js:(LINE):3' failureType: 'testAborted' error: 'This operation was aborted' @@ -84,6 +92,7 @@ TAP version 13 not ok 9 - not ok 5 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/abort_suite.js:(LINE):3' failureType: 'testAborted' error: 'This operation was aborted' diff --git a/test/fixtures/test-runner/output/arbitrary-output-colored.snapshot b/test/fixtures/test-runner/output/arbitrary-output-colored.snapshot index 34b5c0479857ff..b3d8c16100b1e5 100644 --- a/test/fixtures/test-runner/output/arbitrary-output-colored.snapshot +++ b/test/fixtures/test-runner/output/arbitrary-output-colored.snapshot @@ -16,6 +16,7 @@ TAP version 13 ok 1 - passing test --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/assertion-color-tty.snapshot b/test/fixtures/test-runner/output/assertion-color-tty.snapshot index 2909d909351743..a74016febc5df4 100644 --- a/test/fixtures/test-runner/output/assertion-color-tty.snapshot +++ b/test/fixtures/test-runner/output/assertion-color-tty.snapshot @@ -1,16 +1,4 @@ [31m✖ failing assertion [90m(*ms)[39m[39m - [AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: - [32mactual[39m [31mexpected[39m - - [39m'[39m[32m![39m[39mH[39m[39me[39m[39ml[39m[39ml[39m[39mo[39m[39m [39m[39mW[39m[39mo[39m[39mr[39m[39ml[39m[39md[39m[31m![39m[39m'[39m - ] { - generatedMessage: [33mtrue[39m, - code: [32m'ERR_ASSERTION'[39m, - actual: [32m'!Hello World'[39m, - expected: [32m'Hello World!'[39m, - operator: [32m'strictEqual'[39m - } - [34mℹ tests 1[39m [34mℹ suites 0[39m [34mℹ pass 0[39m diff --git a/test/fixtures/test-runner/output/async-test-scheduling.snapshot b/test/fixtures/test-runner/output/async-test-scheduling.snapshot index 64c3004d26881d..a444480c02bcc1 100644 --- a/test/fixtures/test-runner/output/async-test-scheduling.snapshot +++ b/test/fixtures/test-runner/output/async-test-scheduling.snapshot @@ -3,17 +3,20 @@ TAP version 13 ok 1 - test --- duration_ms: * + type: 'test' ... # Subtest: suite # Subtest: test ok 1 - test --- duration_ms: * + type: 'test' ... # Subtest: scheduled async ok 2 - scheduled async --- duration_ms: * + type: 'test' ... 1..2 ok 2 - suite @@ -25,6 +28,7 @@ ok 2 - suite ok 3 - scheduled async --- duration_ms: * + type: 'test' ... 1..3 # tests 4 diff --git a/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.snapshot b/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.snapshot index 4300e21a26403f..f9698bad2f839d 100644 --- a/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.snapshot +++ b/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.snapshot @@ -3,56 +3,67 @@ TAP version 13 ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... # Subtest: 3 ok 3 - 3 --- duration_ms: * + type: 'test' ... # Subtest: 4 ok 4 - 4 --- duration_ms: * + type: 'test' ... # Subtest: 5 ok 5 - 5 --- duration_ms: * + type: 'test' ... # Subtest: 6 ok 6 - 6 --- duration_ms: * + type: 'test' ... # Subtest: 7 ok 7 - 7 --- duration_ms: * + type: 'test' ... # Subtest: 8 ok 8 - 8 --- duration_ms: * + type: 'test' ... # Subtest: 9 ok 9 - 9 --- duration_ms: * + type: 'test' ... # Subtest: 10 ok 10 - 10 --- duration_ms: * + type: 'test' ... # Subtest: 11 ok 11 - 11 --- duration_ms: * + type: 'test' ... 1..11 # tests 11 diff --git a/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.snapshot b/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.snapshot index 4300e21a26403f..f9698bad2f839d 100644 --- a/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.snapshot +++ b/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.snapshot @@ -3,56 +3,67 @@ TAP version 13 ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... # Subtest: 3 ok 3 - 3 --- duration_ms: * + type: 'test' ... # Subtest: 4 ok 4 - 4 --- duration_ms: * + type: 'test' ... # Subtest: 5 ok 5 - 5 --- duration_ms: * + type: 'test' ... # Subtest: 6 ok 6 - 6 --- duration_ms: * + type: 'test' ... # Subtest: 7 ok 7 - 7 --- duration_ms: * + type: 'test' ... # Subtest: 8 ok 8 - 8 --- duration_ms: * + type: 'test' ... # Subtest: 9 ok 9 - 9 --- duration_ms: * + type: 'test' ... # Subtest: 10 ok 10 - 10 --- duration_ms: * + type: 'test' ... # Subtest: 11 ok 11 - 11 --- duration_ms: * + type: 'test' ... 1..11 # tests 11 diff --git a/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot index c410c42fb7eeb9..82741f8a4ff70a 100644 --- a/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-100-uncovered-lines.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 100 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-100.snapshot b/test/fixtures/test-runner/output/coverage-width-100.snapshot index dfb48005c48eaf..f93f4bd574894f 100644 --- a/test/fixtures/test-runner/output/coverage-width-100.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-100.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 100 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot index 423dac3291bf74..00207346ec3fdd 100644 --- a/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-150-uncovered-lines.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 150 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-150.snapshot b/test/fixtures/test-runner/output/coverage-width-150.snapshot index c4aa8109955a12..eb2015fbf42b94 100644 --- a/test/fixtures/test-runner/output/coverage-width-150.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-150.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 150 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-40.snapshot b/test/fixtures/test-runner/output/coverage-width-40.snapshot index 09d236b8bea413..17c7cacbf930ef 100644 --- a/test/fixtures/test-runner/output/coverage-width-40.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-40.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 40 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot index 6564d7942d8cd9..4c12575387dde1 100644 --- a/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-80-uncovered-lines.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 100 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-80.snapshot b/test/fixtures/test-runner/output/coverage-width-80.snapshot index de071277e1f98d..906b9456f4308f 100644 --- a/test/fixtures/test-runner/output/coverage-width-80.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-80.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width 80 --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot index 7440b7772a1925..c6c3228f72dd55 100644 --- a/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-infinity-uncovered-lines.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width Infinity --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage-width-infinity.snapshot b/test/fixtures/test-runner/output/coverage-width-infinity.snapshot index 2b9916a5b08217..c581e96f98b984 100644 --- a/test/fixtures/test-runner/output/coverage-width-infinity.snapshot +++ b/test/fixtures/test-runner/output/coverage-width-infinity.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - Coverage Print Fixed Width Infinity --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/coverage_failure.snapshot b/test/fixtures/test-runner/output/coverage_failure.snapshot index 62f39ebede943a..1e74561798018d 100644 --- a/test/fixtures/test-runner/output/coverage_failure.snapshot +++ b/test/fixtures/test-runner/output/coverage_failure.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - ok --- duration_ms: * + type: 'test' ... 1..1 # Warning: Could not report code coverage. Error: Failed to collect coverage diff --git a/test/fixtures/test-runner/output/default_output.snapshot b/test/fixtures/test-runner/output/default_output.snapshot index 73bfc1da5e92e9..d0a83395733924 100644 --- a/test/fixtures/test-runner/output/default_output.snapshot +++ b/test/fixtures/test-runner/output/default_output.snapshot @@ -1,32 +1,9 @@ [32m✔ should pass [90m(*ms)[39m[39m [31m✖ should fail [90m(*ms)[39m[39m - Error: fail - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - [90m﹣ should skip [90m(*ms)[39m # SKIP[39m ▶ parent [31m✖ should fail [90m(*ms)[39m[39m - Error: fail - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - *[39m - [31m✖ should pass but parent fail [90m(*ms)[39m[39m - [32m'test did not finish before its parent and was cancelled'[39m - [31m✖ parent [90m(*ms)[39m[39m [34mℹ tests 6[39m [34mℹ suites 0[39m diff --git a/test/fixtures/test-runner/output/describe_it.snapshot b/test/fixtures/test-runner/output/describe_it.snapshot index e9ff58e7beb0f9..347f3789693dda 100644 --- a/test/fixtures/test-runner/output/describe_it.snapshot +++ b/test/fixtures/test-runner/output/describe_it.snapshot @@ -3,16 +3,19 @@ TAP version 13 ok 1 - sync pass todo # TODO --- duration_ms: * + type: 'test' ... # Subtest: sync pass todo with message ok 2 - sync pass todo with message # TODO this is a passing todo --- duration_ms: * + type: 'test' ... # Subtest: sync todo not ok 3 - sync todo # TODO --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):4' failureType: 'testCodeFailure' error: 'should not count as a failure' @@ -30,6 +33,7 @@ not ok 3 - sync todo # TODO not ok 4 - sync todo with message # TODO this is a failing todo --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'should not count as a failure' @@ -47,21 +51,25 @@ not ok 4 - sync todo with message # TODO this is a failing todo ok 5 - sync skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip pass with message ok 6 - sync skip pass with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync pass ok 7 - sync pass --- duration_ms: * + type: 'test' ... # Subtest: sync throw fail not ok 8 - sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync throw fail' @@ -79,21 +87,25 @@ not ok 8 - sync throw fail ok 9 - async skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: async pass ok 10 - async pass --- duration_ms: * + type: 'test' ... # Subtest: mixing describe/it and test should work ok 11 - mixing describe/it and test should work --- duration_ms: * + type: 'test' ... # Subtest: async throw fail not ok 12 - async throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from async throw fail' @@ -111,6 +123,7 @@ not ok 12 - async throw fail not ok 13 - async skip fail # SKIP --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'callbackAndPromisePresent' error: 'passed a callback but also returned a Promise' @@ -120,6 +133,7 @@ not ok 13 - async skip fail # SKIP not ok 14 - async assertion fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -145,11 +159,13 @@ not ok 14 - async assertion fail ok 15 - resolve pass --- duration_ms: * + type: 'test' ... # Subtest: reject fail not ok 16 - reject fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'rejected from reject fail' @@ -167,32 +183,38 @@ not ok 16 - reject fail ok 17 - unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: async unhandled rejection - passes but warns ok 18 - async unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate throw - passes but warns ok 19 - immediate throw - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate reject - passes but warns ok 20 - immediate reject - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate resolve pass ok 21 - immediate resolve pass --- duration_ms: * + type: 'test' ... # Subtest: subtest sync throw fail # Subtest: +sync throw fail not ok 1 - +sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fail' @@ -213,6 +235,7 @@ ok 21 - immediate resolve pass ok 2 - mixing describe/it and test should work --- duration_ms: * + type: 'test' ... 1..2 not ok 22 - subtest sync throw fail @@ -228,6 +251,7 @@ not ok 22 - subtest sync throw fail not ok 23 - sync throw non-error fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'Symbol(thrown symbol from sync throw non-error fail)' @@ -238,21 +262,25 @@ not ok 23 - sync throw non-error fail ok 1 - level 1a --- duration_ms: * + type: 'test' ... # Subtest: level 1b ok 2 - level 1b --- duration_ms: * + type: 'test' ... # Subtest: level 1c ok 3 - level 1c --- duration_ms: * + type: 'test' ... # Subtest: level 1d ok 4 - level 1d --- duration_ms: * + type: 'test' ... 1..4 ok 24 - level 0a @@ -270,16 +298,19 @@ ok 25 - invalid subtest - pass but subtest fails ok 26 - sync skip option # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip option with message ok 27 - sync skip option with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync skip option is false fail not ok 28 - sync skip option is false fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'this should be executed' @@ -297,51 +328,61 @@ not ok 28 - sync skip option is false fail ok 29 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: functionOnly ok 30 - functionOnly --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 31 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: test with only a name provided ok 32 - test with only a name provided --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 33 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 34 - <anonymous> # SKIP --- duration_ms: * + type: 'test' ... # Subtest: test with a name and options provided ok 35 - test with a name and options provided # SKIP --- duration_ms: * + type: 'test' ... # Subtest: functionAndOptions ok 36 - functionAndOptions # SKIP --- duration_ms: * + type: 'test' ... # Subtest: callback pass ok 37 - callback pass --- duration_ms: * + type: 'test' ... # Subtest: callback fail not ok 38 - callback fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'callback failure' @@ -354,21 +395,25 @@ not ok 38 - callback fail ok 39 - sync t is this in test --- duration_ms: * + type: 'test' ... # Subtest: async t is this in test ok 40 - async t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback t is this in test ok 41 - callback t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback also returns a Promise not ok 42 - callback also returns a Promise --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'callbackAndPromisePresent' error: 'passed a callback but also returned a Promise' @@ -378,6 +423,7 @@ not ok 42 - callback also returns a Promise not ok 43 - callback throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from callback throw' @@ -395,6 +441,7 @@ not ok 43 - callback throw not ok 44 - callback called twice --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'multipleCallbackInvocations' error: 'callback invoked multiple times' @@ -407,11 +454,13 @@ not ok 44 - callback called twice ok 45 - callback called twice in different ticks --- duration_ms: * + type: 'test' ... # Subtest: callback called twice in future tick not ok 46 - callback called twice in future tick --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'uncaughtException' error: 'callback invoked multiple times' @@ -423,6 +472,7 @@ not ok 46 - callback called twice in future tick not ok 47 - callback async throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'uncaughtException' error: 'thrown from callback async throw' @@ -435,11 +485,13 @@ not ok 47 - callback async throw ok 48 - callback async throw after done --- duration_ms: * + type: 'test' ... # Subtest: custom inspect symbol fail not ok 49 - custom inspect symbol fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: 'customized' @@ -449,6 +501,7 @@ not ok 49 - custom inspect symbol fail not ok 50 - custom inspect symbol that throws fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -463,6 +516,7 @@ not ok 50 - custom inspect symbol that throws fail not ok 1 - sync throw fails at first --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at first' @@ -483,6 +537,7 @@ not ok 50 - custom inspect symbol that throws fail not ok 2 - sync throw fails at second --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at second' @@ -513,6 +568,7 @@ not ok 51 - subtest sync throw fails not ok 1 - should not run --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -544,6 +600,7 @@ not ok 52 - describe sync throw fails not ok 1 - should not run --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -575,6 +632,7 @@ not ok 53 - describe async throw fails not ok 1 - timed out async test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -586,6 +644,7 @@ not ok 53 - describe async throw fails not ok 2 - timed out callback test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -595,11 +654,13 @@ not ok 53 - describe async throw fails ok 3 - large timeout async test is ok --- duration_ms: * + type: 'test' ... # Subtest: large timeout callback test is ok ok 4 - large timeout callback test is ok --- duration_ms: * + type: 'test' ... 1..4 not ok 54 - timeouts @@ -616,11 +677,13 @@ not ok 54 - timeouts ok 1 - successful thenable --- duration_ms: * + type: 'test' ... # Subtest: rejected thenable not ok 2 - rejected thenable --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):3' failureType: 'testCodeFailure' error: 'custom error' @@ -655,17 +718,20 @@ not ok 56 - rejected thenable ok 1 - it inside describe 1 --- duration_ms: * + type: 'test' ... # Subtest: it inside describe 2 ok 2 - it inside describe 2 --- duration_ms: * + type: 'test' ... # Subtest: inner describe # Subtest: it inside inner describe ok 1 - it inside inner describe --- duration_ms: * + type: 'test' ... 1..1 ok 3 - inner describe @@ -683,6 +749,7 @@ ok 57 - async describe function not ok 58 - invalid subtest fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/describe_it.js:(LINE):5' failureType: 'parentAlreadyFinished' error: 'test could not be started because its parent finished' diff --git a/test/fixtures/test-runner/output/describe_nested.snapshot b/test/fixtures/test-runner/output/describe_nested.snapshot index fe96d2a9560b7b..4a59973b16fee6 100644 --- a/test/fixtures/test-runner/output/describe_nested.snapshot +++ b/test/fixtures/test-runner/output/describe_nested.snapshot @@ -5,6 +5,7 @@ TAP version 13 ok 1 - nested --- duration_ms: * + type: 'test' ... 1..1 ok 1 - nested diff --git a/test/fixtures/test-runner/output/eval_spec.snapshot b/test/fixtures/test-runner/output/eval_spec.snapshot index 5c9a53009508e1..116c23ccf97077 100644 --- a/test/fixtures/test-runner/output/eval_spec.snapshot +++ b/test/fixtures/test-runner/output/eval_spec.snapshot @@ -1,14 +1,5 @@ ✔ passes (*ms) ✖ fails (*ms) - Error: fail - * - * - * - * - * - * - * - ℹ tests 2 ℹ suites 0 ℹ pass 1 diff --git a/test/fixtures/test-runner/output/eval_tap.snapshot b/test/fixtures/test-runner/output/eval_tap.snapshot index 4f67b5d7d04863..50457b013633f4 100644 --- a/test/fixtures/test-runner/output/eval_tap.snapshot +++ b/test/fixtures/test-runner/output/eval_tap.snapshot @@ -3,11 +3,13 @@ TAP version 13 ok 1 - passes --- duration_ms: * + type: 'test' ... # Subtest: fails not ok 2 - fails --- duration_ms: * + type: 'test' failureType: 'testCodeFailure' error: 'fail' code: 'ERR_TEST_FAILURE' diff --git a/test/fixtures/test-runner/output/filtered-suite-delayed-build.snapshot b/test/fixtures/test-runner/output/filtered-suite-delayed-build.snapshot index dbe3048dffdf12..f9ac5db199e5fd 100644 --- a/test/fixtures/test-runner/output/filtered-suite-delayed-build.snapshot +++ b/test/fixtures/test-runner/output/filtered-suite-delayed-build.snapshot @@ -4,6 +4,7 @@ TAP version 13 ok 1 - enabled 1 --- duration_ms: * + type: 'test' ... 1..1 ok 1 - async suite @@ -16,6 +17,7 @@ ok 1 - async suite ok 1 - enabled 2 --- duration_ms: * + type: 'test' ... 1..1 ok 2 - sync suite diff --git a/test/fixtures/test-runner/output/filtered-suite-order.snapshot b/test/fixtures/test-runner/output/filtered-suite-order.snapshot index 7a18df8c7d0aea..035a25b085b9a5 100644 --- a/test/fixtures/test-runner/output/filtered-suite-order.snapshot +++ b/test/fixtures/test-runner/output/filtered-suite-order.snapshot @@ -20,12 +20,14 @@ TAP version 13 ok 1 - A --- duration_ms: * + type: 'test' ... # Subtest: C # Subtest: A ok 1 - A --- duration_ms: * + type: 'test' ... 1..1 ok 2 - C @@ -38,6 +40,7 @@ TAP version 13 ok 1 - A --- duration_ms: * + type: 'test' ... 1..1 ok 3 - D @@ -56,17 +59,20 @@ ok 1 - A ok 1 - A --- duration_ms: * + type: 'test' ... # Subtest: B ok 2 - B --- duration_ms: * + type: 'test' ... # Subtest: C # Subtest: A ok 1 - A --- duration_ms: * + type: 'test' ... 1..1 ok 3 - C @@ -85,17 +91,20 @@ ok 2 - B ok 1 - A --- duration_ms: * + type: 'test' ... # Subtest: C # Subtest: A ok 1 - A --- duration_ms: * + type: 'test' ... # Subtest: B ok 2 - B --- duration_ms: * + type: 'test' ... 1..2 ok 2 - C @@ -108,6 +117,7 @@ ok 2 - B ok 1 - B --- duration_ms: * + type: 'test' ... 1..1 ok 3 - D @@ -126,6 +136,7 @@ ok 3 - C ok 1 - B --- duration_ms: * + type: 'test' ... 1..1 ok 4 - D @@ -138,11 +149,13 @@ ok 4 - D ok 1 - A --- duration_ms: * + type: 'test' ... # Subtest: B ok 2 - B --- duration_ms: * + type: 'test' ... 1..2 ok 5 - E @@ -154,6 +167,7 @@ ok 5 - E ok 6 - F --- duration_ms: * + type: 'test' ... 1..6 # tests 14 diff --git a/test/fixtures/test-runner/output/filtered-suite-throws.snapshot b/test/fixtures/test-runner/output/filtered-suite-throws.snapshot index 6242e345891c42..8befa83c004c28 100644 --- a/test/fixtures/test-runner/output/filtered-suite-throws.snapshot +++ b/test/fixtures/test-runner/output/filtered-suite-throws.snapshot @@ -25,6 +25,7 @@ not ok 1 - suite 1 not ok 1 - enabled - should get cancelled --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/filtered-suite-throws.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' diff --git a/test/fixtures/test-runner/output/global_after_should_fail_the_test.snapshot b/test/fixtures/test-runner/output/global_after_should_fail_the_test.snapshot index ee4d5f71072ba5..7d4e5923f75740 100644 --- a/test/fixtures/test-runner/output/global_after_should_fail_the_test.snapshot +++ b/test/fixtures/test-runner/output/global_after_should_fail_the_test.snapshot @@ -4,6 +4,7 @@ TAP version 13 ok 1 - this is a test --- duration_ms: * + type: 'test' ... not ok 2 - /test/fixtures/test-runner/output/global_after_should_fail_the_test.js --- diff --git a/test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot b/test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot index 722a3a4ca2ceac..152501d9c0054c 100644 --- a/test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot +++ b/test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot @@ -4,22 +4,26 @@ TAP version 13 ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... # Subtest: nested # Subtest: nested 1 ok 1 - nested 1 --- duration_ms: * + type: 'test' ... # Subtest: nested 2 ok 2 - nested 2 --- duration_ms: * + type: 'test' ... 1..2 ok 3 - nested diff --git a/test/fixtures/test-runner/output/hooks.snapshot b/test/fixtures/test-runner/output/hooks.snapshot index be8d1b210c60e4..4ba957d539ce70 100644 --- a/test/fixtures/test-runner/output/hooks.snapshot +++ b/test/fixtures/test-runner/output/hooks.snapshot @@ -5,22 +5,26 @@ TAP version 13 ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... # Subtest: nested # Subtest: nested 1 ok 1 - nested 1 --- duration_ms: * + type: 'test' ... # Subtest: nested 2 ok 2 - nested 2 --- duration_ms: * + type: 'test' ... 1..2 ok 3 - nested @@ -45,6 +49,7 @@ ok 2 - describe hooks - no subtests not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -54,6 +59,7 @@ ok 2 - describe hooks - no subtests not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -102,11 +108,13 @@ not ok 4 - before throws - no subtests ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... 1..2 not ok 5 - after throws @@ -155,6 +163,7 @@ not ok 6 - after throws - no subtests not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'hookFailed' error: 'beforeEach' @@ -175,6 +184,7 @@ not ok 6 - after throws - no subtests not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'hookFailed' error: 'beforeEach' @@ -206,6 +216,7 @@ not ok 7 - beforeEach throws not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'hookFailed' error: 'afterEach' @@ -226,6 +237,7 @@ not ok 7 - beforeEach throws not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'hookFailed' error: 'afterEach' @@ -256,6 +268,7 @@ not ok 8 - afterEach throws not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'testCodeFailure' error: 'test' @@ -276,6 +289,7 @@ not ok 8 - afterEach throws ok 2 - 2 --- duration_ms: * + type: 'test' ... 1..2 not ok 9 - afterEach when test fails @@ -292,6 +306,7 @@ not ok 9 - afterEach when test fails not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'testCodeFailure' error: 'test' @@ -312,6 +327,7 @@ not ok 9 - afterEach when test fails not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'hookFailed' error: 'afterEach' @@ -342,43 +358,51 @@ not ok 10 - afterEach throws and test fails ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... # Subtest: nested # Subtest: nested 1 ok 1 - nested 1 --- duration_ms: * + type: 'test' ... # Subtest: nested 2 ok 2 - nested 2 --- duration_ms: * + type: 'test' ... 1..2 ok 3 - nested --- duration_ms: * + type: 'test' ... 1..3 ok 11 - test hooks --- duration_ms: * + type: 'test' ... # Subtest: test hooks - no subtests ok 12 - test hooks - no subtests --- duration_ms: * + type: 'test' ... # Subtest: t.before throws # Subtest: 1 not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'before' @@ -399,6 +423,7 @@ ok 12 - test hooks - no subtests not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'before' @@ -419,6 +444,7 @@ ok 12 - test hooks - no subtests not ok 13 - t.before throws --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'testCodeFailure' error: 'before' @@ -439,6 +465,7 @@ not ok 13 - t.before throws not ok 14 - t.before throws - no subtests --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'testCodeFailure' error: 'before' @@ -460,16 +487,19 @@ not ok 14 - t.before throws - no subtests ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... 1..2 not ok 15 - t.after throws --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'hookFailed' error: 'after' @@ -489,6 +519,7 @@ not ok 15 - t.after throws not ok 16 - t.after throws - no subtests --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'hookFailed' error: 'after' @@ -509,6 +540,7 @@ not ok 16 - t.after throws - no subtests not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'beforeEach' @@ -529,6 +561,7 @@ not ok 16 - t.after throws - no subtests not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'beforeEach' @@ -549,6 +582,7 @@ not ok 16 - t.after throws - no subtests not ok 17 - t.beforeEach throws --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'subtestsFailed' error: '2 subtests failed' @@ -559,6 +593,7 @@ not ok 17 - t.beforeEach throws not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'afterEach' @@ -579,6 +614,7 @@ not ok 17 - t.beforeEach throws not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'afterEach' @@ -599,6 +635,7 @@ not ok 17 - t.beforeEach throws not ok 18 - t.afterEach throws --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'subtestsFailed' error: '2 subtests failed' @@ -609,6 +646,7 @@ not ok 18 - t.afterEach throws not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'testCodeFailure' error: 'test' @@ -628,11 +666,13 @@ not ok 18 - t.afterEach throws ok 2 - 2 --- duration_ms: * + type: 'test' ... 1..2 not ok 19 - afterEach when test fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -643,17 +683,20 @@ not ok 19 - afterEach when test fails ok 1 - 1 --- duration_ms: * + type: 'test' ... 1..1 ok 20 - afterEach context when test passes --- duration_ms: * + type: 'test' ... # Subtest: afterEach context when test fails # Subtest: 1 not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'testCodeFailure' error: 'test' @@ -668,6 +711,7 @@ ok 20 - afterEach context when test passes not ok 21 - afterEach context when test fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -678,6 +722,7 @@ not ok 21 - afterEach context when test fails not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'testCodeFailure' error: 'test' @@ -697,6 +742,7 @@ not ok 21 - afterEach context when test fails not ok 2 - 2 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):11' failureType: 'hookFailed' error: 'afterEach' @@ -717,6 +763,7 @@ not ok 21 - afterEach context when test fails not ok 22 - afterEach throws and test fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'subtestsFailed' error: '2 subtests failed' @@ -726,6 +773,7 @@ not ok 22 - afterEach throws and test fails not ok 23 - t.after() is called if test body throws --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):1' failureType: 'testCodeFailure' error: 'bye' @@ -742,6 +790,7 @@ not ok 23 - t.after() is called if test body throws not ok 1 - 1 --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/hooks.js:(LINE):3' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -771,16 +820,19 @@ not ok 24 - run after when before throws ok 1 - 1 --- duration_ms: * + type: 'test' ... # Subtest: 2 ok 2 - 2 --- duration_ms: * + type: 'test' ... 1..2 ok 25 - test hooks - async --- duration_ms: * + type: 'test' ... 1..25 # before 1 called diff --git a/test/fixtures/test-runner/output/hooks_spec_reporter.snapshot b/test/fixtures/test-runner/output/hooks_spec_reporter.snapshot index ea916c2ee754c4..8c267672b9a951 100644 --- a/test/fixtures/test-runner/output/hooks_spec_reporter.snapshot +++ b/test/fixtures/test-runner/output/hooks_spec_reporter.snapshot @@ -10,161 +10,29 @@ describe hooks - no subtests (*ms) before throws 1 - 'test did not finish before its parent and was cancelled' - 2 - 'test did not finish before its parent and was cancelled' - before throws (*ms) - - Error: before - * - * - * - * - * - * - * - * - before throws - no subtests (*ms) - Error: before - * - * - * - * - * - * - * - * - after throws 1 (*ms) 2 (*ms) after throws (*ms) - - Error: after - * - * - * - * - * - * - * - * - * - * - after throws - no subtests (*ms) - Error: after - * - * - * - * - * - * - * - * - * - * - beforeEach throws 1 (*ms) - Error: beforeEach - * - * - * - * - * - * - * - * - * - at new Promise (<anonymous>) - 2 (*ms) - Error: beforeEach - * - * - * - * - * - * - * - * - * - at async Promise.all (index 0) - beforeEach throws (*ms) afterEach throws 1 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - at async Promise.all (index 0) - * - 2 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - * - afterEach throws (*ms) afterEach when test fails 1 (*ms) - Error: test - * - * - * - * - * - * - at new Promise (<anonymous>) - * - * - at Array.map (<anonymous>) - 2 (*ms) afterEach when test fails (*ms) afterEach throws and test fails 1 (*ms) - Error: test - * - * - * - * - * - * - at new Promise (<anonymous>) - * - * - at Array.map (<anonymous>) - 2 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - * - afterEach throws and test fails (*ms) test hooks 1 (*ms) @@ -177,155 +45,24 @@ test hooks - no subtests (*ms) t.before throws 1 (*ms) - Error: before - * - * - * - * - * - * - * - * - * - * - 2 (*ms) - Error: before - * - * - * - * - * - * - * - * - * - * - t.before throws (*ms) - - Error: before - * - * - * - * - * - * - * - * - * - * - t.before throws - no subtests (*ms) - Error: before - * - * - * - * - * - * - * - * - * - * - t.after throws 1 (*ms) 2 (*ms) t.after throws (*ms) - - Error: after - * - * - * - * - * - * - * - * - * - t.after throws - no subtests (*ms) - Error: after - * - * - * - * - * - * - * - * - * - t.beforeEach throws 1 (*ms) - Error: beforeEach - * - * - * - * - * - * - * - * - * - * - 2 (*ms) - Error: beforeEach - * - * - * - * - * - * - * - * - * - * - t.beforeEach throws (*ms) t.afterEach throws 1 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - * - * - 2 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - * - * - t.afterEach throws (*ms) afterEach when test fails 1 (*ms) - Error: test - * - * - * - * - * - * - * - * - * - 2 (*ms) afterEach when test fails (*ms) afterEach context when test passes @@ -333,64 +70,16 @@ afterEach context when test passes (*ms) afterEach context when test fails 1 (*ms) - Error: test - * - * - * - * - afterEach context when test fails (*ms) afterEach throws and test fails 1 (*ms) - Error: test - * - * - * - * - * - * - * - * - * - 2 (*ms) - Error: afterEach - * - * - * - * - * - * - * - * - * - * - afterEach throws and test fails (*ms) t.after() is called if test body throws (*ms) - Error: bye - * - * - * - * - - after() called run after when before throws 1 - 'test did not finish before its parent and was cancelled' - run after when before throws (*ms) - - Error: before - * - * - * - * - * - * - * - * - test hooks - async 1 (*ms) 2 (*ms) diff --git a/test/fixtures/test-runner/output/name_and_skip_patterns.snapshot b/test/fixtures/test-runner/output/name_and_skip_patterns.snapshot index d5fd874fb4bf39..d6e7e36e5a8efa 100644 --- a/test/fixtures/test-runner/output/name_and_skip_patterns.snapshot +++ b/test/fixtures/test-runner/output/name_and_skip_patterns.snapshot @@ -3,6 +3,7 @@ TAP version 13 ok 1 - enabled --- duration_ms: * + type: 'test' ... 1..1 # tests 1 diff --git a/test/fixtures/test-runner/output/name_pattern.snapshot b/test/fixtures/test-runner/output/name_pattern.snapshot index 0b13848bf4450b..e965b470730488 100644 --- a/test/fixtures/test-runner/output/name_pattern.snapshot +++ b/test/fixtures/test-runner/output/name_pattern.snapshot @@ -3,16 +3,19 @@ TAP version 13 ok 1 - top level skipped test enabled # SKIP --- duration_ms: * + type: 'test' ... # Subtest: top level it enabled ok 2 - top level it enabled --- duration_ms: * + type: 'test' ... # Subtest: top level skipped it enabled ok 3 - top level skipped it enabled # SKIP --- duration_ms: * + type: 'test' ... # Subtest: top level skipped describe enabled ok 4 - top level skipped describe enabled # SKIP @@ -24,28 +27,33 @@ ok 4 - top level skipped describe enabled # SKIP ok 5 - top level runs because name includes PaTtErN --- duration_ms: * + type: 'test' ... # Subtest: top level test enabled # Subtest: nested test runs because name includes PATTERN ok 1 - nested test runs because name includes PATTERN --- duration_ms: * + type: 'test' ... 1..1 ok 6 - top level test enabled --- duration_ms: * + type: 'test' ... # Subtest: top level describe enabled # Subtest: nested it not disabled ok 1 - nested it not disabled --- duration_ms: * + type: 'test' ... # Subtest: nested it enabled ok 2 - nested it enabled --- duration_ms: * + type: 'test' ... # Subtest: nested describe not disabled ok 3 - nested describe not disabled @@ -58,6 +66,7 @@ ok 6 - top level test enabled ok 1 - is enabled --- duration_ms: * + type: 'test' ... 1..1 ok 4 - nested describe enabled @@ -76,22 +85,26 @@ ok 7 - top level describe enabled ok 1 - no --- duration_ms: * + type: 'test' ... # Subtest: yes ok 2 - yes --- duration_ms: * + type: 'test' ... # Subtest: maybe # Subtest: no ok 1 - no --- duration_ms: * + type: 'test' ... # Subtest: yes ok 2 - yes --- duration_ms: * + type: 'test' ... 1..2 ok 3 - maybe @@ -110,12 +123,14 @@ ok 8 - yes ok 1 - yes --- duration_ms: * + type: 'test' ... # Subtest: maybe # Subtest: yes ok 1 - yes --- duration_ms: * + type: 'test' ... 1..1 ok 2 - maybe @@ -134,12 +149,14 @@ ok 9 - no ok 1 - yes --- duration_ms: * + type: 'test' ... # Subtest: maybe # Subtest: yes ok 1 - yes --- duration_ms: * + type: 'test' ... 1..1 ok 2 - maybe @@ -159,6 +176,7 @@ ok 10 - no with todo # TODO ok 1 - NestedTest --- duration_ms: * + type: 'test' ... 1..1 ok 1 - NestedDescribeForMatchWithAncestors diff --git a/test/fixtures/test-runner/output/name_pattern_with_only.snapshot b/test/fixtures/test-runner/output/name_pattern_with_only.snapshot index 64a390dec4c257..f6df9e421c0ff1 100644 --- a/test/fixtures/test-runner/output/name_pattern_with_only.snapshot +++ b/test/fixtures/test-runner/output/name_pattern_with_only.snapshot @@ -4,16 +4,19 @@ TAP version 13 ok 1 - enabled --- duration_ms: * + type: 'test' ... # Subtest: disabled but parent not ok 2 - disabled but parent not --- duration_ms: * + type: 'test' ... 1..2 ok 1 - enabled and only --- duration_ms: * + type: 'test' ... 1..1 # tests 3 diff --git a/test/fixtures/test-runner/output/no_refs.snapshot b/test/fixtures/test-runner/output/no_refs.snapshot index 5756f5ebf87a0a..310094947f9f96 100644 --- a/test/fixtures/test-runner/output/no_refs.snapshot +++ b/test/fixtures/test-runner/output/no_refs.snapshot @@ -4,6 +4,7 @@ TAP version 13 not ok 1 - +does not keep event loop alive --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/no_refs.js:(LINE):11' failureType: 'cancelledByParent' error: 'Promise resolution is still pending but the event loop has already resolved' @@ -15,6 +16,7 @@ TAP version 13 not ok 1 - does not keep event loop alive --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/no_refs.js:(LINE):1' failureType: 'cancelledByParent' error: 'Promise resolution is still pending but the event loop has already resolved' diff --git a/test/fixtures/test-runner/output/only_tests.snapshot b/test/fixtures/test-runner/output/only_tests.snapshot index 25e2e9b65cdca2..b7f9ea71702aef 100644 --- a/test/fixtures/test-runner/output/only_tests.snapshot +++ b/test/fixtures/test-runner/output/only_tests.snapshot @@ -3,59 +3,70 @@ TAP version 13 ok 1 - only = true, skip = string # SKIP skip message --- duration_ms: * + type: 'test' ... # Subtest: only = true, skip = true ok 2 - only = true, skip = true # SKIP --- duration_ms: * + type: 'test' ... # Subtest: only = true, with subtests # Subtest: running subtest 1 ok 1 - running subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 2 ok 2 - running subtest 2 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 3 ok 3 - running subtest 3 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 4 # Subtest: running sub-subtest 1 ok 1 - running sub-subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: running sub-subtest 2 ok 2 - running sub-subtest 2 --- duration_ms: * + type: 'test' ... 1..2 ok 4 - running subtest 4 --- duration_ms: * + type: 'test' ... # Subtest: skipped subtest 4 ok 5 - skipped subtest 4 # SKIP --- duration_ms: * + type: 'test' ... 1..5 ok 3 - only = true, with subtests --- duration_ms: * + type: 'test' ... # Subtest: describe only = true, with subtests # Subtest: `it` subtest 1 should run ok 1 - `it` subtest 1 should run --- duration_ms: * + type: 'test' ... 1..1 ok 4 - describe only = true, with subtests @@ -68,31 +79,37 @@ ok 4 - describe only = true, with subtests ok 1 - `it` subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: `it` async subtest 1 ok 2 - `it` async subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: `it` subtest 2 only=true ok 3 - `it` subtest 2 only=true --- duration_ms: * + type: 'test' ... # Subtest: `test` subtest 1 ok 4 - `test` subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: `test` async subtest 1 ok 5 - `test` async subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: `test` subtest 2 only=true ok 6 - `test` subtest 2 only=true --- duration_ms: * + type: 'test' ... 1..6 ok 5 - describe only = true, with a mixture of subtests @@ -105,6 +122,7 @@ ok 5 - describe only = true, with a mixture of subtests ok 1 - subtest should run --- duration_ms: * + type: 'test' ... 1..1 ok 6 - describe only = true, with subtests @@ -118,6 +136,7 @@ ok 6 - describe only = true, with subtests ok 1 - nested test should run --- duration_ms: * + type: 'test' ... 1..1 ok 1 - nested describe @@ -136,12 +155,14 @@ ok 7 - describe only = undefined, with nested only subtest ok 1 - async subtest should run --- duration_ms: * + type: 'test' ... # Subtest: nested describe # Subtest: nested test should run ok 1 - nested test should run --- duration_ms: * + type: 'test' ... 1..1 ok 2 - nested describe @@ -160,37 +181,44 @@ ok 8 - describe only = true, with nested subtests ok 1 - running subtest - 1 --- duration_ms: * + type: 'test' ... # Subtest: this subtest is run - 3 # Subtest: this subtest is run - 4 ok 1 - this subtest is run - 4 --- duration_ms: * + type: 'test' ... # Subtest: this subtest is run - 5 ok 2 - this subtest is run - 5 --- duration_ms: * + type: 'test' ... 1..2 ok 2 - this subtest is run - 3 --- duration_ms: * + type: 'test' ... # Subtest: this subtest is now run - 6 ok 3 - this subtest is now run - 6 --- duration_ms: * + type: 'test' ... # Subtest: skipped subtest - 8 ok 4 - skipped subtest - 8 # SKIP --- duration_ms: * + type: 'test' ... 1..4 ok 9 - nested tests with run only --- duration_ms: * + type: 'test' ... 1..9 # tests 28 diff --git a/test/fixtures/test-runner/output/output.snapshot b/test/fixtures/test-runner/output/output.snapshot index f288832c42fb64..a54a260244d6a2 100644 --- a/test/fixtures/test-runner/output/output.snapshot +++ b/test/fixtures/test-runner/output/output.snapshot @@ -3,16 +3,19 @@ TAP version 13 ok 1 - sync pass todo # TODO --- duration_ms: * + type: 'test' ... # Subtest: sync pass todo with message ok 2 - sync pass todo with message # TODO this is a passing todo --- duration_ms: * + type: 'test' ... # Subtest: sync fail todo not ok 3 - sync fail todo # TODO --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync fail todo' @@ -30,6 +33,7 @@ not ok 3 - sync fail todo # TODO not ok 4 - sync fail todo with message # TODO this is a failing todo --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync fail todo with message' @@ -47,22 +51,26 @@ not ok 4 - sync fail todo with message # TODO this is a failing todo ok 5 - sync skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip pass with message ok 6 - sync skip pass with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync pass ok 7 - sync pass --- duration_ms: * + type: 'test' ... # this test should pass # Subtest: sync throw fail not ok 8 - sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync throw fail' @@ -80,16 +88,19 @@ not ok 8 - sync throw fail ok 9 - async skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: async pass ok 10 - async pass --- duration_ms: * + type: 'test' ... # Subtest: async throw fail not ok 11 - async throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from async throw fail' @@ -107,6 +118,7 @@ not ok 11 - async throw fail not ok 12 - async skip fail # SKIP --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from async throw fail' @@ -124,6 +136,7 @@ not ok 12 - async skip fail # SKIP not ok 13 - async assertion fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -149,11 +162,13 @@ not ok 13 - async assertion fail ok 14 - resolve pass --- duration_ms: * + type: 'test' ... # Subtest: reject fail not ok 15 - reject fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'rejected from reject fail' @@ -171,32 +186,38 @@ not ok 15 - reject fail ok 16 - unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: async unhandled rejection - passes but warns ok 17 - async unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate throw - passes but warns ok 18 - immediate throw - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate reject - passes but warns ok 19 - immediate reject - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate resolve pass ok 20 - immediate resolve pass --- duration_ms: * + type: 'test' ... # Subtest: subtest sync throw fail # Subtest: +sync throw fail not ok 1 - +sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fail' @@ -218,6 +239,7 @@ ok 20 - immediate resolve pass not ok 21 - subtest sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -227,6 +249,7 @@ not ok 21 - subtest sync throw fail not ok 22 - sync throw non-error fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'Symbol(thrown symbol from sync throw non-error fail)' @@ -237,32 +260,38 @@ not ok 22 - sync throw non-error fail ok 1 - level 1a --- duration_ms: * + type: 'test' ... # Subtest: level 1b ok 2 - level 1b --- duration_ms: * + type: 'test' ... # Subtest: level 1c ok 3 - level 1c --- duration_ms: * + type: 'test' ... # Subtest: level 1d ok 4 - level 1d --- duration_ms: * + type: 'test' ... 1..4 ok 23 - level 0a --- duration_ms: * + type: 'test' ... # Subtest: top level # Subtest: +long running not ok 1 - +long running --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):5' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -273,16 +302,19 @@ ok 23 - level 0a ok 1 - ++short running --- duration_ms: * + type: 'test' ... 1..1 ok 2 - +short running --- duration_ms: * + type: 'test' ... 1..2 not ok 24 - top level --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -292,21 +324,25 @@ not ok 24 - top level ok 25 - invalid subtest - pass but subtest fails --- duration_ms: * + type: 'test' ... # Subtest: sync skip option ok 26 - sync skip option # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip option with message ok 27 - sync skip option with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync skip option is false fail not ok 28 - sync skip option is false fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'this should be executed' @@ -324,51 +360,61 @@ not ok 28 - sync skip option is false fail ok 29 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: functionOnly ok 30 - functionOnly --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 31 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: test with only a name provided ok 32 - test with only a name provided --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 33 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 34 - <anonymous> # SKIP --- duration_ms: * + type: 'test' ... # Subtest: test with a name and options provided ok 35 - test with a name and options provided # SKIP --- duration_ms: * + type: 'test' ... # Subtest: functionAndOptions ok 36 - functionAndOptions # SKIP --- duration_ms: * + type: 'test' ... # Subtest: callback pass ok 37 - callback pass --- duration_ms: * + type: 'test' ... # Subtest: callback fail not ok 38 - callback fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'callback failure' @@ -381,21 +427,25 @@ not ok 38 - callback fail ok 39 - sync t is this in test --- duration_ms: * + type: 'test' ... # Subtest: async t is this in test ok 40 - async t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback t is this in test ok 41 - callback t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback also returns a Promise not ok 42 - callback also returns a Promise --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'callbackAndPromisePresent' error: 'passed a callback but also returned a Promise' @@ -405,6 +455,7 @@ not ok 42 - callback also returns a Promise not ok 43 - callback throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from callback throw' @@ -422,6 +473,7 @@ not ok 43 - callback throw not ok 44 - callback called twice --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'multipleCallbackInvocations' error: 'callback invoked multiple times' @@ -434,11 +486,13 @@ not ok 44 - callback called twice ok 45 - callback called twice in different ticks --- duration_ms: * + type: 'test' ... # Subtest: callback called twice in future tick not ok 46 - callback called twice in future tick --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'callback invoked multiple times' @@ -450,6 +504,7 @@ not ok 46 - callback called twice in future tick not ok 47 - callback async throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'thrown from callback async throw' @@ -462,32 +517,38 @@ not ok 47 - callback async throw ok 48 - callback async throw after done --- duration_ms: * + type: 'test' ... # Subtest: only is set on subtests but not in only mode # Subtest: running subtest 1 ok 1 - running subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 3 ok 2 - running subtest 3 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 4 ok 3 - running subtest 4 --- duration_ms: * + type: 'test' ... 1..3 ok 49 - only is set on subtests but not in only mode --- duration_ms: * + type: 'test' ... # Subtest: custom inspect symbol fail not ok 50 - custom inspect symbol fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'customized' @@ -497,6 +558,7 @@ not ok 50 - custom inspect symbol fail not ok 51 - custom inspect symbol that throws fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -511,6 +573,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 1 - sync throw fails at first --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at first' @@ -531,6 +594,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 2 - sync throw fails at second --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at second' @@ -549,6 +613,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 52 - subtest sync throw fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '2 subtests failed' @@ -558,6 +623,7 @@ not ok 52 - subtest sync throw fails not ok 53 - timed out async test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -567,6 +633,7 @@ not ok 53 - timed out async test not ok 54 - timed out callback test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -576,21 +643,25 @@ not ok 54 - timed out callback test ok 55 - large timeout async test is ok --- duration_ms: * + type: 'test' ... # Subtest: large timeout callback test is ok ok 56 - large timeout callback test is ok --- duration_ms: * + type: 'test' ... # Subtest: successful thenable ok 57 - successful thenable --- duration_ms: * + type: 'test' ... # Subtest: rejected thenable not ok 58 - rejected thenable --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'custom error' @@ -600,6 +671,7 @@ not ok 58 - rejected thenable not ok 59 - unfinished test with uncaughtException --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'foo' @@ -613,6 +685,7 @@ not ok 59 - unfinished test with uncaughtException not ok 60 - unfinished test with unhandledRejection --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'unhandledRejection' error: 'bar' @@ -626,6 +699,7 @@ not ok 60 - unfinished test with unhandledRejection not ok 61 - assertion errors display actual and expected properly --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -695,6 +769,7 @@ not ok 61 - assertion errors display actual and expected properly not ok 62 - invalid subtest fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):7' failureType: 'parentAlreadyFinished' error: 'test could not be started because its parent finished' diff --git a/test/fixtures/test-runner/output/output_cli.snapshot b/test/fixtures/test-runner/output/output_cli.snapshot index 430ef1966670b5..0dead4e70807f9 100644 --- a/test/fixtures/test-runner/output/output_cli.snapshot +++ b/test/fixtures/test-runner/output/output_cli.snapshot @@ -3,16 +3,19 @@ TAP version 13 ok 1 - sync pass todo # TODO --- duration_ms: * + type: 'test' ... # Subtest: sync pass todo with message ok 2 - sync pass todo with message # TODO this is a passing todo --- duration_ms: * + type: 'test' ... # Subtest: sync fail todo not ok 3 - sync fail todo # TODO --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync fail todo' @@ -30,6 +33,7 @@ not ok 3 - sync fail todo # TODO not ok 4 - sync fail todo with message # TODO this is a failing todo --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync fail todo with message' @@ -47,22 +51,26 @@ not ok 4 - sync fail todo with message # TODO this is a failing todo ok 5 - sync skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip pass with message ok 6 - sync skip pass with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync pass ok 7 - sync pass --- duration_ms: * + type: 'test' ... # this test should pass # Subtest: sync throw fail not ok 8 - sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from sync throw fail' @@ -80,16 +88,19 @@ not ok 8 - sync throw fail ok 9 - async skip pass # SKIP --- duration_ms: * + type: 'test' ... # Subtest: async pass ok 10 - async pass --- duration_ms: * + type: 'test' ... # Subtest: async throw fail not ok 11 - async throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from async throw fail' @@ -107,6 +118,7 @@ not ok 11 - async throw fail not ok 12 - async skip fail # SKIP --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from async throw fail' @@ -124,6 +136,7 @@ not ok 12 - async skip fail # SKIP not ok 13 - async assertion fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -149,11 +162,13 @@ not ok 13 - async assertion fail ok 14 - resolve pass --- duration_ms: * + type: 'test' ... # Subtest: reject fail not ok 15 - reject fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'rejected from reject fail' @@ -171,32 +186,38 @@ not ok 15 - reject fail ok 16 - unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: async unhandled rejection - passes but warns ok 17 - async unhandled rejection - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate throw - passes but warns ok 18 - immediate throw - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate reject - passes but warns ok 19 - immediate reject - passes but warns --- duration_ms: * + type: 'test' ... # Subtest: immediate resolve pass ok 20 - immediate resolve pass --- duration_ms: * + type: 'test' ... # Subtest: subtest sync throw fail # Subtest: +sync throw fail not ok 1 - +sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fail' @@ -218,6 +239,7 @@ ok 20 - immediate resolve pass not ok 21 - subtest sync throw fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -227,6 +249,7 @@ not ok 21 - subtest sync throw fail not ok 22 - sync throw non-error fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'Symbol(thrown symbol from sync throw non-error fail)' @@ -237,32 +260,38 @@ not ok 22 - sync throw non-error fail ok 1 - level 1a --- duration_ms: * + type: 'test' ... # Subtest: level 1b ok 2 - level 1b --- duration_ms: * + type: 'test' ... # Subtest: level 1c ok 3 - level 1c --- duration_ms: * + type: 'test' ... # Subtest: level 1d ok 4 - level 1d --- duration_ms: * + type: 'test' ... 1..4 ok 23 - level 0a --- duration_ms: * + type: 'test' ... # Subtest: top level # Subtest: +long running not ok 1 - +long running --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):5' failureType: 'cancelledByParent' error: 'test did not finish before its parent and was cancelled' @@ -273,16 +302,19 @@ ok 23 - level 0a ok 1 - ++short running --- duration_ms: * + type: 'test' ... 1..1 ok 2 - +short running --- duration_ms: * + type: 'test' ... 1..2 not ok 24 - top level --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '1 subtest failed' @@ -292,21 +324,25 @@ not ok 24 - top level ok 25 - invalid subtest - pass but subtest fails --- duration_ms: * + type: 'test' ... # Subtest: sync skip option ok 26 - sync skip option # SKIP --- duration_ms: * + type: 'test' ... # Subtest: sync skip option with message ok 27 - sync skip option with message # SKIP this is skipped --- duration_ms: * + type: 'test' ... # Subtest: sync skip option is false fail not ok 28 - sync skip option is false fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'this should be executed' @@ -324,51 +360,61 @@ not ok 28 - sync skip option is false fail ok 29 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: functionOnly ok 30 - functionOnly --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 31 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: test with only a name provided ok 32 - test with only a name provided --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 33 - <anonymous> --- duration_ms: * + type: 'test' ... # Subtest: <anonymous> ok 34 - <anonymous> # SKIP --- duration_ms: * + type: 'test' ... # Subtest: test with a name and options provided ok 35 - test with a name and options provided # SKIP --- duration_ms: * + type: 'test' ... # Subtest: functionAndOptions ok 36 - functionAndOptions # SKIP --- duration_ms: * + type: 'test' ... # Subtest: callback pass ok 37 - callback pass --- duration_ms: * + type: 'test' ... # Subtest: callback fail not ok 38 - callback fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'callback failure' @@ -381,21 +427,25 @@ not ok 38 - callback fail ok 39 - sync t is this in test --- duration_ms: * + type: 'test' ... # Subtest: async t is this in test ok 40 - async t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback t is this in test ok 41 - callback t is this in test --- duration_ms: * + type: 'test' ... # Subtest: callback also returns a Promise not ok 42 - callback also returns a Promise --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'callbackAndPromisePresent' error: 'passed a callback but also returned a Promise' @@ -405,6 +455,7 @@ not ok 42 - callback also returns a Promise not ok 43 - callback throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'thrown from callback throw' @@ -422,6 +473,7 @@ not ok 43 - callback throw not ok 44 - callback called twice --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'multipleCallbackInvocations' error: 'callback invoked multiple times' @@ -434,11 +486,13 @@ not ok 44 - callback called twice ok 45 - callback called twice in different ticks --- duration_ms: * + type: 'test' ... # Subtest: callback called twice in future tick not ok 46 - callback called twice in future tick --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'callback invoked multiple times' @@ -450,6 +504,7 @@ not ok 46 - callback called twice in future tick not ok 47 - callback async throw --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'thrown from callback async throw' @@ -462,39 +517,46 @@ not ok 47 - callback async throw ok 48 - callback async throw after done --- duration_ms: * + type: 'test' ... # Subtest: only is set on subtests but not in only mode # Subtest: running subtest 1 ok 1 - running subtest 1 --- duration_ms: * + type: 'test' ... # Subtest: running subtest 2 ok 2 - running subtest 2 --- duration_ms: * + type: 'test' ... # 'only' and 'runOnly' require the --test-only command-line option. # Subtest: running subtest 3 ok 3 - running subtest 3 --- duration_ms: * + type: 'test' ... # 'only' and 'runOnly' require the --test-only command-line option. # Subtest: running subtest 4 ok 4 - running subtest 4 --- duration_ms: * + type: 'test' ... 1..4 ok 49 - only is set on subtests but not in only mode --- duration_ms: * + type: 'test' ... # Subtest: custom inspect symbol fail not ok 50 - custom inspect symbol fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'customized' @@ -504,6 +566,7 @@ not ok 50 - custom inspect symbol fail not ok 51 - custom inspect symbol that throws fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -518,6 +581,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 1 - sync throw fails at first --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at first' @@ -538,6 +602,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 2 - sync throw fails at second --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):11' failureType: 'testCodeFailure' error: 'thrown from subtest sync throw fails at second' @@ -556,6 +621,7 @@ not ok 51 - custom inspect symbol that throws fail not ok 52 - subtest sync throw fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'subtestsFailed' error: '2 subtests failed' @@ -565,6 +631,7 @@ not ok 52 - subtest sync throw fails not ok 53 - timed out async test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -574,6 +641,7 @@ not ok 53 - timed out async test not ok 54 - timed out callback test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testTimeoutFailure' error: 'test timed out after 5ms' @@ -583,21 +651,25 @@ not ok 54 - timed out callback test ok 55 - large timeout async test is ok --- duration_ms: * + type: 'test' ... # Subtest: large timeout callback test is ok ok 56 - large timeout callback test is ok --- duration_ms: * + type: 'test' ... # Subtest: successful thenable ok 57 - successful thenable --- duration_ms: * + type: 'test' ... # Subtest: rejected thenable not ok 58 - rejected thenable --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: 'custom error' @@ -607,6 +679,7 @@ not ok 58 - rejected thenable not ok 59 - unfinished test with uncaughtException --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'uncaughtException' error: 'foo' @@ -620,6 +693,7 @@ not ok 59 - unfinished test with uncaughtException not ok 60 - unfinished test with unhandledRejection --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'unhandledRejection' error: 'bar' @@ -633,6 +707,7 @@ not ok 60 - unfinished test with unhandledRejection not ok 61 - assertion errors display actual and expected properly --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):1' failureType: 'testCodeFailure' error: |- @@ -702,6 +777,7 @@ not ok 61 - assertion errors display actual and expected properly not ok 62 - invalid subtest fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/output.js:(LINE):7' failureType: 'parentAlreadyFinished' error: 'test could not be started because its parent finished' @@ -720,6 +796,7 @@ not ok 62 - invalid subtest fail ok 63 - last test --- duration_ms: * + type: 'test' ... 1..63 # tests 77 diff --git a/test/fixtures/test-runner/output/skip_pattern.snapshot b/test/fixtures/test-runner/output/skip_pattern.snapshot index fd8fcf15a1f0e9..f591c5e4c9a67a 100644 --- a/test/fixtures/test-runner/output/skip_pattern.snapshot +++ b/test/fixtures/test-runner/output/skip_pattern.snapshot @@ -3,16 +3,19 @@ TAP version 13 ok 1 - top level skipped test enabled # SKIP --- duration_ms: * + type: 'test' ... # Subtest: top level it enabled ok 2 - top level it enabled --- duration_ms: * + type: 'test' ... # Subtest: top level skipped it enabled ok 3 - top level skipped it enabled # SKIP --- duration_ms: * + type: 'test' ... # Subtest: top level describe ok 4 - top level describe diff --git a/test/fixtures/test-runner/output/source_mapped_locations.snapshot b/test/fixtures/test-runner/output/source_mapped_locations.snapshot index 24c3ee8d113446..8cf210da817aae 100644 --- a/test/fixtures/test-runner/output/source_mapped_locations.snapshot +++ b/test/fixtures/test-runner/output/source_mapped_locations.snapshot @@ -3,6 +3,7 @@ TAP version 13 not ok 1 - fails --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/source_mapped_locations.ts:5:1' failureType: 'testCodeFailure' error: |- diff --git a/test/fixtures/test-runner/output/spec_reporter.snapshot b/test/fixtures/test-runner/output/spec_reporter.snapshot index de9a38e780959c..71db70cfe7e61d 100644 --- a/test/fixtures/test-runner/output/spec_reporter.snapshot +++ b/test/fixtures/test-runner/output/spec_reporter.snapshot @@ -1,91 +1,19 @@ sync pass todo (*ms) # TODO sync pass todo with message (*ms) # this is a passing todo sync fail todo (*ms) # TODO - Error: thrown from sync fail todo - * - * - * - * - * - * - * - sync fail todo with message (*ms) # this is a failing todo - Error: thrown from sync fail todo with message - * - * - * - * - * - * - * - sync skip pass (*ms) # SKIP sync skip pass with message (*ms) # this is skipped sync pass (*ms) this test should pass sync throw fail (*ms) - Error: thrown from sync throw fail - * - * - * - * - * - * - * - async skip pass (*ms) # SKIP async pass (*ms) async throw fail (*ms) - Error: thrown from async throw fail - * - * - * - * - * - * - * - async skip fail (*ms) # SKIP - Error: thrown from async throw fail - * - * - * - * - * - * - * - async assertion fail (*ms) - AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: - - true !== false - - * - * - * - * - * - * - * { - generatedMessage: true, - code: 'ERR_ASSERTION', - actual: true, - expected: false, - operator: 'strictEqual' - } - resolve pass (*ms) reject fail (*ms) - Error: rejected from reject fail - * - * - * - * - * - * - * - unhandled rejection - passes but warns (*ms) async unhandled rejection - passes but warns (*ms) immediate throw - passes but warns (*ms) @@ -93,23 +21,9 @@ immediate resolve pass (*ms) subtest sync throw fail +sync throw fail (*ms) - Error: thrown from subtest sync throw fail - * - * - * - * - * - * - * - * - * - * - this subtest should make its parent test fail subtest sync throw fail (*ms) sync throw non-error fail (*ms) - Symbol(thrown symbol from sync throw non-error fail) - level 0a level 1a (*ms) level 1b (*ms) @@ -118,8 +32,6 @@ level 0a (*ms) top level +long running (*ms) - 'test did not finish before its parent and was cancelled' - +short running ++short running (*ms) +short running (*ms) @@ -128,15 +40,6 @@ sync skip option (*ms) # SKIP sync skip option with message (*ms) # this is skipped sync skip option is false fail (*ms) - Error: this should be executed - * - * - * - * - * - * - * - <anonymous> (*ms) functionOnly (*ms) <anonymous> (*ms) @@ -147,43 +50,15 @@ functionAndOptions (*ms) # SKIP callback pass (*ms) callback fail (*ms) - Error: callback failure - * - * - sync t is this in test (*ms) async t is this in test (*ms) callback t is this in test (*ms) callback also returns a Promise (*ms) - 'passed a callback but also returned a Promise' - callback throw (*ms) - Error: thrown from callback throw - * - * - * - * - * - * - * - callback called twice (*ms) - 'callback invoked multiple times' - callback called twice in different ticks (*ms) callback called twice in future tick (*ms) - Error [ERR_TEST_FAILURE]: callback invoked multiple times - * { - code: 'ERR_TEST_FAILURE', - failureType: 'multipleCallbackInvocations', - cause: 'callback invoked multiple times' - } - callback async throw (*ms) - Error: thrown from callback async throw - * - * - callback async throw after done (*ms) only is set on subtests but not in only mode running subtest 1 (*ms) @@ -191,108 +66,21 @@ running subtest 4 (*ms) only is set on subtests but not in only mode (*ms) custom inspect symbol fail (*ms) - customized - custom inspect symbol that throws fail (*ms) - { foo: 1, [Symbol(nodejs.util.inspect.custom)]: [Function: [nodejs.util.inspect.custom]] } - subtest sync throw fails sync throw fails at first (*ms) - Error: thrown from subtest sync throw fails at first - * - * - * - * - * - * - * - * - * - * - sync throw fails at second (*ms) - Error: thrown from subtest sync throw fails at second - * - * - * - * - * - * - * - * - subtest sync throw fails (*ms) timed out async test (*ms) - 'test timed out after *ms' - timed out callback test (*ms) - 'test timed out after *ms' - large timeout async test is ok (*ms) large timeout callback test is ok (*ms) successful thenable (*ms) rejected thenable (*ms) - 'custom error' - unfinished test with uncaughtException (*ms) - Error: foo - * - * - * - unfinished test with unhandledRejection (*ms) - Error: bar - * - * - * - assertion errors display actual and expected properly (*ms) - AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal: - - { - bar: 1, - baz: { - date: 1970-01-01T00:00:00.000Z, - null: null, - number: 1, - string: 'Hello', - undefined: undefined - }, - boo: [ - 1 - ], - foo: 1 - } - - should loosely deep-equal - - { - baz: { - date: 1970-01-01T00:00:00.000Z, - null: null, - number: 1, - string: 'Hello', - undefined: undefined - }, - boo: [ - 1 - ], - circular: <ref *1> { - bar: 2, - c: [Circular *1] - } - } - * { - generatedMessage: true, - code: 'ERR_ASSERTION', - actual: [Object], - expected: [Object], - operator: 'deepEqual' - } - invalid subtest fail (*ms) - 'test could not be started because its parent finished' - Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event. Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event. Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner. diff --git a/test/fixtures/test-runner/output/spec_reporter_cli.snapshot b/test/fixtures/test-runner/output/spec_reporter_cli.snapshot index 2e5f263e1a5e3a..52dc40bb366e2c 100644 --- a/test/fixtures/test-runner/output/spec_reporter_cli.snapshot +++ b/test/fixtures/test-runner/output/spec_reporter_cli.snapshot @@ -1,91 +1,19 @@ sync pass todo (*ms) # TODO sync pass todo with message (*ms) # this is a passing todo sync fail todo (*ms) # TODO - Error: thrown from sync fail todo - * - * - * - * - * - * - * - sync fail todo with message (*ms) # this is a failing todo - Error: thrown from sync fail todo with message - * - * - * - * - * - * - * - sync skip pass (*ms) # SKIP sync skip pass with message (*ms) # this is skipped sync pass (*ms) this test should pass sync throw fail (*ms) - Error: thrown from sync throw fail - * - * - * - * - * - * - * - async skip pass (*ms) # SKIP async pass (*ms) async throw fail (*ms) - Error: thrown from async throw fail - * - * - * - * - * - * - * - async skip fail (*ms) # SKIP - Error: thrown from async throw fail - * - * - * - * - * - * - * - async assertion fail (*ms) - AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: - - true !== false - - * - * - * - * - * - * - * { - generatedMessage: true, - code: 'ERR_ASSERTION', - actual: true, - expected: false, - operator: 'strictEqual' - } - resolve pass (*ms) reject fail (*ms) - Error: rejected from reject fail - * - * - * - * - * - * - * - unhandled rejection - passes but warns (*ms) async unhandled rejection - passes but warns (*ms) immediate throw - passes but warns (*ms) @@ -93,23 +21,9 @@ immediate resolve pass (*ms) subtest sync throw fail +sync throw fail (*ms) - Error: thrown from subtest sync throw fail - * - * - * - * - * - * - * - * - * - * - this subtest should make its parent test fail subtest sync throw fail (*ms) sync throw non-error fail (*ms) - Symbol(thrown symbol from sync throw non-error fail) - level 0a level 1a (*ms) level 1b (*ms) @@ -118,8 +32,6 @@ level 0a (*ms) top level +long running (*ms) - 'test did not finish before its parent and was cancelled' - +short running ++short running (*ms) +short running (*ms) @@ -128,15 +40,6 @@ sync skip option (*ms) # SKIP sync skip option with message (*ms) # this is skipped sync skip option is false fail (*ms) - Error: this should be executed - * - * - * - * - * - * - * - <anonymous> (*ms) functionOnly (*ms) <anonymous> (*ms) @@ -147,43 +50,15 @@ functionAndOptions (*ms) # SKIP callback pass (*ms) callback fail (*ms) - Error: callback failure - * - * - sync t is this in test (*ms) async t is this in test (*ms) callback t is this in test (*ms) callback also returns a Promise (*ms) - 'passed a callback but also returned a Promise' - callback throw (*ms) - Error: thrown from callback throw - * - * - * - * - * - * - * - callback called twice (*ms) - 'callback invoked multiple times' - callback called twice in different ticks (*ms) callback called twice in future tick (*ms) - Error [ERR_TEST_FAILURE]: callback invoked multiple times - * { - code: 'ERR_TEST_FAILURE', - failureType: 'multipleCallbackInvocations', - cause: 'callback invoked multiple times' - } - callback async throw (*ms) - Error: thrown from callback async throw - * - * - callback async throw after done (*ms) only is set on subtests but not in only mode running subtest 1 (*ms) @@ -194,108 +69,21 @@ running subtest 4 (*ms) only is set on subtests but not in only mode (*ms) custom inspect symbol fail (*ms) - customized - custom inspect symbol that throws fail (*ms) - { foo: 1 } - subtest sync throw fails sync throw fails at first (*ms) - Error: thrown from subtest sync throw fails at first - * - * - * - * - * - * - * - * - * - * - sync throw fails at second (*ms) - Error: thrown from subtest sync throw fails at second - * - * - * - * - * - * - * - * - subtest sync throw fails (*ms) timed out async test (*ms) - 'test timed out after *ms' - timed out callback test (*ms) - 'test timed out after *ms' - large timeout async test is ok (*ms) large timeout callback test is ok (*ms) successful thenable (*ms) rejected thenable (*ms) - 'custom error' - unfinished test with uncaughtException (*ms) - Error: foo - * - * - * - unfinished test with unhandledRejection (*ms) - Error: bar - * - * - * - assertion errors display actual and expected properly (*ms) - AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal: - - { - bar: 1, - baz: { - date: 1970-01-01T00:00:00.000Z, - null: null, - number: 1, - string: 'Hello', - undefined: undefined - }, - boo: [ - 1 - ], - foo: 1 - } - - should loosely deep-equal - - { - baz: { - date: 1970-01-01T00:00:00.000Z, - null: null, - number: 1, - string: 'Hello', - undefined: undefined - }, - boo: [ - 1 - ], - circular: <ref *1> { - bar: 2, - c: [Circular *1] - } - } - * { - generatedMessage: true, - code: 'ERR_ASSERTION', - actual: { foo: 1, bar: 1, boo: [ 1 ], baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined } }, - expected: { boo: [ 1 ], baz: { date: 1970-01-01T00:00:00.000Z, null: null, number: 1, string: 'Hello', undefined: undefined }, circular: <ref *1> { bar: 2, c: [Circular *1] } }, - operator: 'deepEqual' - } - invalid subtest fail (*ms) - 'test could not be started because its parent finished' - Error: Test "unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:72:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event. Error: Test "async unhandled rejection - passes but warns" at test/fixtures/test-runner/output/output.js:76:1 generated asynchronous activity after the test ended. This activity created the error "Error: rejected from async unhandled rejection fail" and would have caused the test to fail, but instead triggered an unhandledRejection event. Error: A resource generated asynchronous activity after the test ended. This activity created the error "Error: uncaught from outside of a test" which triggered an uncaughtException event, caught by the test runner. diff --git a/test/fixtures/test-runner/output/tap_escape.snapshot b/test/fixtures/test-runner/output/tap_escape.snapshot index 722cd0ca427ec7..7c6489b88c7132 100644 --- a/test/fixtures/test-runner/output/tap_escape.snapshot +++ b/test/fixtures/test-runner/output/tap_escape.snapshot @@ -3,21 +3,25 @@ TAP version 13 ok 1 - escaped description \\ \# \\\#\\ \\n \\t \\f \\v \\b \\r --- duration_ms: * + type: 'test' ... # Subtest: escaped skip message ok 2 - escaped skip message # SKIP \#skip --- duration_ms: * + type: 'test' ... # Subtest: escaped todo message ok 3 - escaped todo message # TODO \#todo --- duration_ms: * + type: 'test' ... # Subtest: escaped diagnostic ok 4 - escaped diagnostic --- duration_ms: * + type: 'test' ... # \#diagnostic 1..4 diff --git a/test/fixtures/test-runner/output/test-diagnostic-warning-without-test-only-flag.snapshot b/test/fixtures/test-runner/output/test-diagnostic-warning-without-test-only-flag.snapshot index c64caa87a279e8..bb934731e9cc7c 100644 --- a/test/fixtures/test-runner/output/test-diagnostic-warning-without-test-only-flag.snapshot +++ b/test/fixtures/test-runner/output/test-diagnostic-warning-without-test-only-flag.snapshot @@ -4,6 +4,7 @@ TAP version 13 ok 1 - only false in describe --- duration_ms: * + type: 'test' ... 1..1 ok 1 - should NOT print --test-only diagnostic warning - describe-only-false @@ -16,6 +17,7 @@ ok 1 - should NOT print --test-only diagnostic warning - describe-only-false ok 1 - only false in the subtest --- duration_ms: * + type: 'test' ... 1..1 ok 2 - should NOT print --test-only diagnostic warning - it-only-false @@ -28,6 +30,7 @@ ok 2 - should NOT print --test-only diagnostic warning - it-only-false ok 1 - no only --- duration_ms: * + type: 'test' ... 1..1 ok 3 - should NOT print --test-only diagnostic warning - no-only @@ -40,44 +43,52 @@ ok 3 - should NOT print --test-only diagnostic warning - no-only ok 1 - only false in parent test --- duration_ms: * + type: 'test' ... 1..1 ok 4 - should NOT print --test-only diagnostic warning - test-only-false --- duration_ms: * + type: 'test' ... # Subtest: should NOT print --test-only diagnostic warning - t.test-only-false # Subtest: only false in subtest ok 1 - only false in subtest --- duration_ms: * + type: 'test' ... 1..1 ok 5 - should NOT print --test-only diagnostic warning - t.test-only-false --- duration_ms: * + type: 'test' ... # Subtest: should NOT print --test-only diagnostic warning - no-only # Subtest: no only ok 1 - no only --- duration_ms: * + type: 'test' ... 1..1 ok 6 - should NOT print --test-only diagnostic warning - no-only --- duration_ms: * + type: 'test' ... # Subtest: should print --test-only diagnostic warning - test-only-true # Subtest: only true in parent test ok 1 - only true in parent test --- duration_ms: * + type: 'test' ... 1..1 ok 7 - should print --test-only diagnostic warning - test-only-true --- duration_ms: * + type: 'test' ... # 'only' and 'runOnly' require the --test-only command-line option. # Subtest: should print --test-only diagnostic warning - t.test-only-true @@ -85,12 +96,14 @@ ok 7 - should print --test-only diagnostic warning - test-only-true ok 1 - only true in subtest --- duration_ms: * + type: 'test' ... # 'only' and 'runOnly' require the --test-only command-line option. 1..1 ok 8 - should print --test-only diagnostic warning - t.test-only-true --- duration_ms: * + type: 'test' ... # Subtest: should print --test-only diagnostic warning - 2 levels of only # Subtest: only true in parent test @@ -98,17 +111,20 @@ ok 8 - should print --test-only diagnostic warning - t.test-only-true ok 1 - only true in subtest --- duration_ms: * + type: 'test' ... # 'only' and 'runOnly' require the --test-only command-line option. 1..1 ok 1 - only true in parent test --- duration_ms: * + type: 'test' ... 1..1 ok 9 - should print --test-only diagnostic warning - 2 levels of only --- duration_ms: * + type: 'test' ... 1..9 # tests 16 diff --git a/test/fixtures/test-runner/output/test-runner-plan.snapshot b/test/fixtures/test-runner/output/test-runner-plan.snapshot index b172c2da05a884..bbd718663f2438 100644 --- a/test/fixtures/test-runner/output/test-runner-plan.snapshot +++ b/test/fixtures/test-runner/output/test-runner-plan.snapshot @@ -3,11 +3,13 @@ TAP version 13 ok 1 - test planning basic --- duration_ms: * + type: 'test' ... # Subtest: less assertions than planned not ok 2 - less assertions than planned --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/test-runner-plan.js:(LINE):1' failureType: 'testCodeFailure' error: 'plan expected 1 assertions but received 0' @@ -17,6 +19,7 @@ not ok 2 - less assertions than planned not ok 3 - more assertions than planned --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/test-runner-plan.js:(LINE):1' failureType: 'testCodeFailure' error: 'plan expected 1 assertions but received 2' @@ -27,38 +30,45 @@ not ok 3 - more assertions than planned ok 1 - subtest --- duration_ms: * + type: 'test' ... 1..1 ok 4 - subtesting --- duration_ms: * + type: 'test' ... # Subtest: subtesting correctly # Subtest: subtest ok 1 - subtest --- duration_ms: * + type: 'test' ... 1..1 ok 5 - subtesting correctly --- duration_ms: * + type: 'test' ... # Subtest: correctly ignoring subtesting plan # Subtest: subtest ok 1 - subtest --- duration_ms: * + type: 'test' ... 1..1 ok 6 - correctly ignoring subtesting plan --- duration_ms: * + type: 'test' ... # Subtest: failing planning by options not ok 7 - failing planning by options --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/test-runner-plan.js:(LINE):1' failureType: 'testCodeFailure' error: 'plan expected 1 assertions but received 0' @@ -68,22 +78,26 @@ not ok 7 - failing planning by options ok 8 - not failing planning by options --- duration_ms: * + type: 'test' ... # Subtest: subtest planning by options # Subtest: subtest ok 1 - subtest --- duration_ms: * + type: 'test' ... 1..1 ok 9 - subtest planning by options --- duration_ms: * + type: 'test' ... # Subtest: failing more assertions than planned not ok 10 - failing more assertions than planned --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/test-runner-plan.js:(LINE):1' failureType: 'testCodeFailure' error: 'plan expected 2 assertions but received 3' @@ -93,6 +107,7 @@ not ok 10 - failing more assertions than planned ok 11 - planning with streams --- duration_ms: * + type: 'test' ... 1..11 # tests 15 diff --git a/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.snapshot b/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.snapshot index b3579da789470b..76dd789a3a008c 100644 --- a/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.snapshot +++ b/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.snapshot @@ -9,6 +9,7 @@ gonna timeout not ok 1 - first describe first test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.js:(LINE):3' failureType: 'hookFailed' error: 'failed running beforeEach hook' @@ -20,6 +21,7 @@ gonna timeout ok 2 - first describe second test --- duration_ms: * + type: 'test' ... 1..2 not ok 1 - before each timeout @@ -38,6 +40,7 @@ not gonna timeout not ok 1 - second describe first test --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.js:(LINE):3' failureType: 'hookFailed' error: 'failed running afterEach hook' @@ -49,6 +52,7 @@ not gonna timeout ok 2 - second describe second test --- duration_ms: * + type: 'test' ... 1..2 not ok 2 - after each timeout diff --git a/test/fixtures/test-runner/output/unfinished-suite-async-error.snapshot b/test/fixtures/test-runner/output/unfinished-suite-async-error.snapshot index 593e46d45e779a..1d4df7b3d0514a 100644 --- a/test/fixtures/test-runner/output/unfinished-suite-async-error.snapshot +++ b/test/fixtures/test-runner/output/unfinished-suite-async-error.snapshot @@ -4,6 +4,7 @@ TAP version 13 not ok 1 - uses callback --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/unfinished-suite-async-error.js:(LINE):3' failureType: 'uncaughtException' error: 'callback test does not complete' @@ -16,6 +17,7 @@ TAP version 13 ok 2 - should pass 1 --- duration_ms: * + type: 'test' ... 1..2 not ok 1 - unfinished suite with asynchronous error @@ -31,6 +33,7 @@ not ok 1 - unfinished suite with asynchronous error ok 2 - should pass 2 --- duration_ms: * + type: 'test' ... 1..2 # tests 3 diff --git a/test/fixtures/test-runner/output/unresolved_promise.snapshot b/test/fixtures/test-runner/output/unresolved_promise.snapshot index 0090885468c338..2fc7eb8a1a1d03 100644 --- a/test/fixtures/test-runner/output/unresolved_promise.snapshot +++ b/test/fixtures/test-runner/output/unresolved_promise.snapshot @@ -3,11 +3,13 @@ TAP version 13 ok 1 - pass --- duration_ms: * + type: 'test' ... # Subtest: never resolving promise not ok 2 - never resolving promise --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/unresolved_promise.js:(LINE):1' failureType: 'cancelledByParent' error: 'Promise resolution is still pending but the event loop has already resolved' @@ -19,6 +21,7 @@ not ok 2 - never resolving promise not ok 3 - fail --- duration_ms: * + type: 'test' location: '/test/fixtures/test-runner/output/unresolved_promise.js:(LINE):1' failureType: 'cancelledByParent' error: 'Promise resolution is still pending but the event loop has already resolved' diff --git a/test/fixtures/test-runner/snapshots/file-snapshots.js b/test/fixtures/test-runner/snapshots/file-snapshots.js new file mode 100644 index 00000000000000..cb085f866cfceb --- /dev/null +++ b/test/fixtures/test-runner/snapshots/file-snapshots.js @@ -0,0 +1,21 @@ +'use strict'; +const { test } = require('node:test'); + +test('snapshot file path is created', (t) => { + t.assert.fileSnapshot({ baz: 9 }, './foo/bar/baz/1.json'); +}); + +test('test with plan', (t) => { + t.plan(2); + t.assert.fileSnapshot({ foo: 1, bar: 2 }, '2.json'); + t.assert.fileSnapshot(5, '3.txt'); +}); + +test('custom serializers are supported', (t) => { + t.assert.fileSnapshot({ foo: 1 }, '4.txt', { + serializers: [ + (value) => { return value + '424242'; }, + (value) => { return JSON.stringify(value); }, + ] + }); +}); diff --git a/test/fixtures/test426/LICENSE.md b/test/fixtures/test426/LICENSE.md new file mode 100644 index 00000000000000..39501a3b7c70dd --- /dev/null +++ b/test/fixtures/test426/LICENSE.md @@ -0,0 +1,14 @@ +The Source Map Tests suite ("Software") is protected by copyright and is being made available under the "BSD License", included below. This Software may be subject to third party rights (rights from parties other than Ecma International), including patent rights, and no licenses under such third party rights are granted under this license even if the third party concerned is a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS AVAILABLE AT https://www.ecma-international.org/ipr FOR INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO IMPLEMENT ECMA INTERNATIONAL STANDARDS*. + +Copyright (c) 2024, Ecma International +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +* Ecma International Standards hereafter means Ecma International Standards as well as Ecma Technical Reports diff --git a/test/fixtures/test426/README.md b/test/fixtures/test426/README.md new file mode 100644 index 00000000000000..e3e353fd500458 --- /dev/null +++ b/test/fixtures/test426/README.md @@ -0,0 +1,55 @@ +# Source Map Tests + +This repository holds testing discussions and tests for the the Source Map debugging format. Specifically, we're looking to encourage discussion around: + +- Manual and automated testing strategies for Source Maps +- Gathering a list of Soure Map generators and consumers +- General discussion around deviations between source maps + +Open discussion happens in the [GitHub issues](https://github.com/source-map/source-map-tests/issues). + +Source Map spec: + * Repo: https://github.com/tc39/source-map + * Rendered spec: https://tc39.es/source-map/ + +## Test cases + +This repo also contains cross-implementation test cases that can be run in test +suites for source map implementations, including browser devtool and library test +suites. + +### Running the tests + +#### Tools + +[Source map validator](https://github.com/jkup/source-map-validator): + * The tests are included in the validator test suite [here](https://github.com/jkup/source-map-validator/blob/main/src/spec-tests.test.ts). You can run them with `npm test`. + +#### Browsers + +The tests for Firefox are in the Mozilla [source-map](https://github.com/mozilla/source-map) library: + * The upstream repo has a [test file](https://github.com/mozilla/source-map/blob/master/test/test-spec-tests.js) for running the spec tests from this repo. They can be run with `npm test`. + +How to run in WebKit: + * Check out [WebKit](https://github.com/WebKit/WebKit/) + * `cd` to the checked out WebKit directory. + * Run `git am <this-repo>/webkit/0001-Add-harness-for-source-maps-spec-tests.patch` + * Run `Tools/Scripts/build-webkit` (depending on the platform you may need to pass `--gtk` or other flags) + * Run `Tools/Scripts/run-webkit-tests LayoutTests/inspector/model/source-map-spec.html` (again, you may need `--gtk` on Linux) + +How to run in Chrome Devtools: +1. Setup: + * Install depot_tools following this [depot_tools guide](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up) + * Check out [Chrome Devtools](https://chromium.googlesource.com/devtools/devtools-frontend): + * Run `gclient config https://chromium.googlesource.com/devtools/devtools-frontend --unmanaged` + * Run `cd devtools-frontend` + * Run `gclient sync` + * Run `gn gen out/Default` +2. Build: + * Run `autoninja -C out/Default` +3. Test: + * Run `npm run auto-unittest` +4. Apply patches from this repo: + * Run `git apply <path to .patch file>` in `devtools-frontend` repo + +More information about running Chrome Devtools without building Chromium can be found [here](https://chromium.googlesource.com/devtools/devtools-frontend/+/refs/heads/chromium/3965/README.md) diff --git a/test/fixtures/test426/chrome/0001-Add-source-map-specification-tests.patch b/test/fixtures/test426/chrome/0001-Add-source-map-specification-tests.patch new file mode 100644 index 00000000000000..995bcf246c839d --- /dev/null +++ b/test/fixtures/test426/chrome/0001-Add-source-map-specification-tests.patch @@ -0,0 +1,3867 @@ +From afa11641db357e524c8f4d5f573945dd15c1f2e9 Mon Sep 17 00:00:00 2001 +From: Agata Belkius <abelkius@gmail.com> +Date: Fri, 19 Apr 2024 15:30:48 +0100 +Subject: [PATCH 1/2] Add source map specification tests + +--- + front_end/BUILD.gn | 1 + + front_end/core/sdk/BUILD.gn | 1 + + front_end/core/sdk/SourceMapSpec.test.ts | 206 +++ + .../core/sdk/fixtures/sourcemaps/BUILD.gn | 202 +++ + .../sourcemaps/basic-mapping-as-index-map.js | 2 + + .../basic-mapping-as-index-map.js.map | 15 + + .../sourcemaps/basic-mapping-original.js | 8 + + .../sdk/fixtures/sourcemaps/basic-mapping.js | 2 + + .../fixtures/sourcemaps/basic-mapping.js.map | 6 + + .../fixtures/sourcemaps/ignore-list-empty.js | 1 + + .../sourcemaps/ignore-list-empty.js.map | 8 + + .../sourcemaps/ignore-list-out-of-bounds.js | 1 + + .../ignore-list-out-of-bounds.js.map | 8 + + .../sourcemaps/ignore-list-valid-1.js | 1 + + .../sourcemaps/ignore-list-valid-1.js.map | 8 + + .../sourcemaps/ignore-list-wrong-type-1.js | 1 + + .../ignore-list-wrong-type-1.js.map | 8 + + .../sourcemaps/ignore-list-wrong-type-2.js | 1 + + .../ignore-list-wrong-type-2.js.map | 8 + + .../sourcemaps/ignore-list-wrong-type-3.js | 1 + + .../ignore-list-wrong-type-3.js.map | 8 + + .../index-map-invalid-base-mappings.js | 1 + + .../index-map-invalid-base-mappings.js.map | 15 + + .../sourcemaps/index-map-invalid-order.js | 1 + + .../sourcemaps/index-map-invalid-order.js.map | 23 + + .../sourcemaps/index-map-invalid-overlap.js | 1 + + .../index-map-invalid-overlap.js.map | 23 + + .../sourcemaps/index-map-missing-map.js | 1 + + .../sourcemaps/index-map-missing-map.js.map | 8 + + .../index-map-missing-offset-column.js | 1 + + .../index-map-missing-offset-column.js.map | 14 + + .../index-map-missing-offset-line.js | 1 + + .../index-map-missing-offset-line.js.map | 14 + + .../sourcemaps/index-map-missing-offset.js | 1 + + .../index-map-missing-offset.js.map | 13 + + .../index-map-offset-column-wrong-type.js | 1 + + .../index-map-offset-column-wrong-type.js.map | 14 + + .../index-map-offset-line-wrong-type.js | 1 + + .../index-map-offset-line-wrong-type.js.map | 14 + + .../index-map-two-concatenated-sources.js | 2 + + .../index-map-two-concatenated-sources.js.map | 24 + + .../sourcemaps/index-map-wrong-type-map.js | 1 + + .../index-map-wrong-type-map.js.map | 9 + + .../sourcemaps/index-map-wrong-type-offset.js | 1 + + .../index-map-wrong-type-offset.js.map | 14 + + .../index-map-wrong-type-sections.js | 1 + + .../index-map-wrong-type-sections.js.map | 4 + + .../invalid-mapping-bad-separator.js | 2 + + .../invalid-mapping-bad-separator.js.map | 6 + + .../invalid-mapping-not-a-string-1.js | 1 + + .../invalid-mapping-not-a-string-1.js.map | 7 + + .../invalid-mapping-not-a-string-2.js | 1 + + .../invalid-mapping-not-a-string-2.js.map | 7 + + ...nvalid-mapping-segment-column-too-large.js | 1 + + ...id-mapping-segment-column-too-large.js.map | 7 + + ...apping-segment-name-index-out-of-bounds.js | 1 + + ...ng-segment-name-index-out-of-bounds.js.map | 7 + + ...id-mapping-segment-name-index-too-large.js | 1 + + ...apping-segment-name-index-too-large.js.map | 7 + + ...invalid-mapping-segment-negative-column.js | 1 + + ...lid-mapping-segment-negative-column.js.map | 7 + + ...lid-mapping-segment-negative-name-index.js | 1 + + ...mapping-segment-negative-name-index.js.map | 7 + + ...apping-segment-negative-original-column.js | 1 + + ...ng-segment-negative-original-column.js.map | 7 + + ...-mapping-segment-negative-original-line.js | 1 + + ...ping-segment-negative-original-line.js.map | 7 + + ...apping-segment-negative-relative-column.js | 1 + + ...ng-segment-negative-relative-column.js.map | 8 + + ...ng-segment-negative-relative-name-index.js | 1 + + ...egment-negative-relative-name-index.js.map | 8 + + ...gment-negative-relative-original-column.js | 1 + + ...t-negative-relative-original-column.js.map | 8 + + ...segment-negative-relative-original-line.js | 1 + + ...ent-negative-relative-original-line.js.map | 8 + + ...-segment-negative-relative-source-index.js | 1 + + ...ment-negative-relative-source-index.js.map | 8 + + ...d-mapping-segment-negative-source-index.js | 1 + + ...pping-segment-negative-source-index.js.map | 7 + + ...pping-segment-original-column-too-large.js | 1 + + ...g-segment-original-column-too-large.js.map | 7 + + ...mapping-segment-original-line-too-large.js | 1 + + ...ing-segment-original-line-too-large.js.map | 7 + + ...ping-segment-source-index-out-of-bounds.js | 1 + + ...-segment-source-index-out-of-bounds.js.map | 7 + + ...-mapping-segment-source-index-too-large.js | 1 + + ...ping-segment-source-index-too-large.js.map | 7 + + ...valid-mapping-segment-with-three-fields.js | 2 + + ...d-mapping-segment-with-three-fields.js.map | 6 + + ...invalid-mapping-segment-with-two-fields.js | 2 + + ...lid-mapping-segment-with-two-fields.js.map | 6 + + ...nvalid-mapping-segment-with-zero-fields.js | 1 + + ...id-mapping-segment-with-zero-fields.js.map | 7 + + .../invalid-vlq-missing-continuation.js | 1 + + .../invalid-vlq-missing-continuation.js.map | 6 + + .../sourcemaps/invalid-vlq-non-base64-char.js | 1 + + .../invalid-vlq-non-base64-char.js.map | 6 + + .../sdk/fixtures/sourcemaps/names-missing.js | 1 + + .../fixtures/sourcemaps/names-missing.js.map | 5 + + .../fixtures/sourcemaps/names-not-a-list-1.js | 1 + + .../sourcemaps/names-not-a-list-1.js.map | 6 + + .../fixtures/sourcemaps/names-not-a-list-2.js | 1 + + .../sourcemaps/names-not-a-list-2.js.map | 6 + + .../fixtures/sourcemaps/names-not-string.js | 1 + + .../sourcemaps/names-not-string.js.map | 6 + + .../sourcemaps/second-source-original.js | 4 + + .../sourcemaps/source-map-spec-tests.json | 1540 +++++++++++++++++ + .../sources-and-sources-content-both-null.js | 1 + + ...urces-and-sources-content-both-null.js.map | 7 + + .../fixtures/sourcemaps/sources-missing.js | 1 + + .../sourcemaps/sources-missing.js.map | 5 + + .../sources-non-null-sources-content-null.js | 2 + + ...urces-non-null-sources-content-null.js.map | 7 + + .../sourcemaps/sources-not-a-list-1.js | 1 + + .../sourcemaps/sources-not-a-list-1.js.map | 6 + + .../sourcemaps/sources-not-a-list-2.js | 1 + + .../sourcemaps/sources-not-a-list-2.js.map | 6 + + .../sourcemaps/sources-not-string-or-null.js | 1 + + .../sources-not-string-or-null.js.map | 6 + + .../sources-null-sources-content-non-null.js | 2 + + ...urces-null-sources-content-non-null.js.map | 7 + + .../sourcemaps/transitive-mapping-original.js | 5 + + .../transitive-mapping-original.js.map | 8 + + .../transitive-mapping-three-steps.js | 6 + + .../transitive-mapping-three-steps.js.map | 7 + + .../fixtures/sourcemaps/transitive-mapping.js | 2 + + .../sourcemaps/transitive-mapping.js.map | 6 + + .../sourcemaps/typescript-original.ts | 5 + + .../sourcemaps/unrecognized-property.js | 1 + + .../sourcemaps/unrecognized-property.js.map | 8 + + .../valid-mapping-boundary-values.js | 1 + + .../valid-mapping-boundary-values.js.map | 7 + + .../sourcemaps/valid-mapping-empty-groups.js | 1 + + .../valid-mapping-empty-groups.js.map | 8 + + .../sourcemaps/valid-mapping-large-vlq.js | 1 + + .../sourcemaps/valid-mapping-large-vlq.js.map | 6 + + .../sourcemaps/valid-mapping-null-sources.js | 2 + + .../valid-mapping-null-sources.js.map | 6 + + .../fixtures/sourcemaps/version-missing.js | 1 + + .../sourcemaps/version-missing.js.map | 5 + + .../sourcemaps/version-not-a-number.js | 1 + + .../sourcemaps/version-not-a-number.js.map | 6 + + .../sourcemaps/version-numeric-string.js | 1 + + .../sourcemaps/version-numeric-string.js.map | 6 + + .../fixtures/sourcemaps/version-too-high.js | 1 + + .../sourcemaps/version-too-high.js.map | 6 + + .../fixtures/sourcemaps/version-too-low.js | 1 + + .../sourcemaps/version-too-low.js.map | 6 + + .../sdk/fixtures/sourcemaps/version-valid.js | 1 + + .../fixtures/sourcemaps/version-valid.js.map | 6 + + 150 files changed, 2648 insertions(+) + create mode 100644 front_end/core/sdk/SourceMapSpec.test.ts + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/BUILD.gn + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-missing.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-string.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/second-source-original.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-missing.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-missing.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-high.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-low.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-valid.js + create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map + +diff --git a/front_end/BUILD.gn b/front_end/BUILD.gn +index 863a434cea..125b34ba73 100644 +--- a/front_end/BUILD.gn ++++ b/front_end/BUILD.gn +@@ -106,6 +106,7 @@ group("unittests") { + "core/protocol_client:unittests", + "core/root:unittests", + "core/sdk:unittests", ++ "core/sdk/fixtures/sourcemaps", + "entrypoints/formatter_worker:unittests", + "entrypoints/heap_snapshot_worker:unittests", + "entrypoints/inspector_main:unittests", +diff --git a/front_end/core/sdk/BUILD.gn b/front_end/core/sdk/BUILD.gn +index 8d1cf0fa92..f8879365f4 100644 +--- a/front_end/core/sdk/BUILD.gn ++++ b/front_end/core/sdk/BUILD.gn +@@ -165,6 +165,7 @@ ts_library("unittests") { + "SourceMapManager.test.ts", + "SourceMapScopes.test.ts", + "SourceMapScopesInfo.test.ts", ++ "SourceMapSpec.test.ts", + "StorageBucketsModel.test.ts", + "StorageKeyManager.test.ts", + "Target.test.ts", +diff --git a/front_end/core/sdk/SourceMapSpec.test.ts b/front_end/core/sdk/SourceMapSpec.test.ts +new file mode 100644 +index 0000000000..93b26a2e13 +--- /dev/null ++++ b/front_end/core/sdk/SourceMapSpec.test.ts +@@ -0,0 +1,206 @@ ++// Copyright 2024 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++ ++/** ++ This file tests if devtools sourcemaps implementation is matching the sourcemaps spec. ++ Sourcemap Spec tests are using test data coming from: https://github.com/tc39/source-map-tests ++ ++ There is a lot of warnings of invalid source maps passing the validation - this is up to the authors ++ which ones of these could be actually checked in the SourceMaps implementetion and which ones are ok to ignore. ++ ++ **/ ++ ++const {assert} = chai; ++import type * as Platform from '../platform/platform.js'; ++import {assertNotNullOrUndefined} from '../platform/platform.js'; ++import { SourceMapV3, parseSourceMap } from './SourceMap.js'; ++import * as SDK from './sdk.js'; ++import {describeWithEnvironment} from '../../testing/EnvironmentHelpers.js'; ++ ++interface TestSpec { ++ name: string; ++ description: string; ++ baseFile: string; ++ sourceMapFile: string; ++ sourceMapIsValid: boolean; ++ testActions?: TestAction[]; ++} ++ ++interface TestAction { ++ actionType: string; ++ generatedLine: number; ++ generatedColumn: number; ++ originalSource: string; ++ originalLine: number; ++ originalColumn: number; ++ mappedName: null | string; ++ intermediateMaps?: string[] ++} ++ ++// Accept "null", null, or undefined for tests specifying a missing value. ++function nullish(arg : any) { ++ if (arg === "null" || arg === undefined) { ++ return null; ++ } ++ return arg; ++} ++ ++describeWithEnvironment('SourceMapSpec', () => { ++ let testCases : TestSpec[] | undefined; ++ let sourceMapContents : SourceMapV3[] = []; ++ ++ before(async () => { ++ testCases = await loadTestCasesFromFixture('source-map-spec-tests.json'); ++ sourceMapContents = await Promise.all( ++ testCases!.map( ++ async (testCase) => { ++ const { sourceMapFile } = testCase; ++ return loadSourceMapFromFixture(sourceMapFile); ++ } ++ ) ++ ); ++ }); ++ ++ it('Spec tests', () => { ++ const consoleErrorSpy = sinon.spy(console, 'error'); ++ testCases!.forEach(({ ++ baseFile, ++ sourceMapFile, ++ testActions, ++ sourceMapIsValid, ++ name ++ }, index) => { ++ const sourceMapContent = sourceMapContents[index]; ++ ++ // These test cases are ignored because certain validity checks are ++ // not implemented, such as checking the version number is `3`. ++ const ignoredCasesForBasicValidity = [ ++ "fileNotAString1", ++ "fileNotAString2", ++ "versionMissing", ++ "versionNotANumber", ++ "versionNumericString", ++ "versionTooHigh", ++ "versionTooLow", ++ "sourcesNotAList1", ++ "sourcesNotAList2", ++ "sourcesNotStringOrNull", ++ // FIXME: this test should be revised after recent spec changes ++ "namesMissing", ++ "namesNotAList1", ++ "namesNotAList2", ++ "namesNotString", ++ "ignoreListWrongType1", ++ "ignoreListWrongType2", ++ "ignoreListOutOfBounds", ++ "indexMapWrongTypeSections", ++ "indexMapWrongTypeMap", ++ "indexMapMissingOffset", ++ "invalidVLQDueToNonBase64Character", ++ ]; ++ ++ // 1) check if an invalid sourcemap throws on SourceMap instance creation, or ++ // 2) check if an invalid sourcemap throws on mapping creation ++ if (!sourceMapIsValid) { ++ if (ignoredCasesForBasicValidity.includes(name)) ++ return; ++ ++ let thrownDuringParse = false; ++ try { ++ const sourceMap = new SDK.SourceMap.SourceMap( ++ baseFile as Platform.DevToolsPath.UrlString, ++ sourceMapFile as Platform.DevToolsPath.UrlString, ++ sourceMapContent); ++ sourceMap.mappings(); ++ } catch { ++ thrownDuringParse = true; ++ } ++ assert.equal( ++ thrownDuringParse || consoleErrorSpy.calledWith("Failed to parse source map"), ++ true, ++ `${name}: expected invalid source map to fail to load` ++ ); ++ ++ return; ++ } ++ ++ // 3) check if a valid sourcemap can be parsed and a SourceMap instance created ++ const baseFileUrl = baseFile as Platform.DevToolsPath.UrlString; ++ const sourceMapFileUrl = sourceMapFile as Platform.DevToolsPath.UrlString; ++ ++ assert.doesNotThrow( ++ () => parseSourceMap(JSON.stringify(sourceMapContent)), ++ undefined, ++ undefined, ++ `${name}: expected valid source map to parse` ++ ); ++ assert.doesNotThrow(() => new SDK.SourceMap.SourceMap( ++ baseFileUrl, ++ sourceMapFileUrl, ++ sourceMapContent ++ ), undefined, undefined, `${name}: expected valid source map to parse`); ++ ++ // 4) check if the mappings are valid ++ const sourceMap = new SDK.SourceMap.SourceMap( ++ baseFileUrl, ++ sourceMapFileUrl, ++ sourceMapContent); ++ ++ assert.doesNotThrow(() => sourceMap.findEntry(1, 1)); ++ ++ if (testActions !== undefined) { ++ testActions.forEach(({ ++ actionType, ++ originalSource, ++ originalLine, ++ originalColumn, ++ generatedLine, ++ generatedColumn, ++ intermediateMaps ++ }) => { ++ ++ if (actionType === "checkMapping" && sourceMapIsValid) { ++ // 4a) check if the mappings are valid for regular sourcemaps ++ // extract to separate function ++ let actual = sourceMap.findEntry(generatedLine, generatedColumn); ++ assertNotNullOrUndefined(actual); ++ ++ assert.strictEqual(nullish(actual.sourceURL), originalSource, 'unexpected source URL'); ++ assert.strictEqual(nullish(actual.sourceLineNumber), originalLine, 'unexpected source line number'); ++ assert.strictEqual(nullish(actual.sourceColumnNumber), originalColumn, 'unexpected source column number'); ++ } ++ }); ++ } ++ }); ++ }); ++}); ++ ++async function loadTestCasesFromFixture(filename: string): Promise<TestSpec[]> { ++ const testSpec = await getFixtureFileContents<{ tests: TestSpec[] }>(filename); ++ return testSpec?.tests ?? []; ++}; ++ ++async function loadSourceMapFromFixture(filename: string): Promise<SourceMapV3> { ++ return getFixtureFileContents<SourceMapV3>(filename); ++}; ++ ++async function getFixtureFileContents<T>(filename: string): ++ Promise<T> { ++ const url = new URL(`/front_end/core/sdk/fixtures/sourcemaps/${filename}`, window.location.origin); ++ ++ const response = await fetch(url); ++ ++ if (response.status !== 200) { ++ throw new Error(`Unable to load ${url}`); ++ } ++ ++ const contentType = response.headers.get('content-type'); ++ const isGzipEncoded = contentType !== null && contentType.includes('gzip'); ++ let buffer = await response.arrayBuffer(); ++ ++ const decoder = new TextDecoder('utf-8'); ++ const contents = JSON.parse(decoder.decode(buffer)) as T; ++ return contents; ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn b/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn +new file mode 100644 +index 0000000000..a82b09a02d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn +@@ -0,0 +1,202 @@ ++# Copyright 2022 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("../../../../../scripts/build/ninja/copy.gni") ++ ++copy_to_gen("sourcemaps") { ++ sources = [ ++ "basic-mapping-as-index-map.js", ++ "basic-mapping-as-index-map.js.map", ++ "basic-mapping-original.js", ++ "basic-mapping.js", ++ "basic-mapping.js.map", ++ "file-not-a-string-1.js", ++ "file-not-a-string-1.js.map", ++ "file-not-a-string-2.js", ++ "file-not-a-string-2.js.map", ++ "ignore-list-empty.js", ++ "ignore-list-empty.js.map", ++ "ignore-list-out-of-bounds.js", ++ "ignore-list-out-of-bounds.js.map", ++ "ignore-list-valid-1.js", ++ "ignore-list-valid-1.js.map", ++ "ignore-list-wrong-type-1.js", ++ "ignore-list-wrong-type-1.js.map", ++ "ignore-list-wrong-type-2.js", ++ "ignore-list-wrong-type-2.js.map", ++ "ignore-list-wrong-type-3.js", ++ "ignore-list-wrong-type-3.js.map", ++ "index-map-empty-sections.js", ++ "index-map-empty-sections.js.map", ++ "index-map-file-wrong-type-1.js", ++ "index-map-file-wrong-type-1.js.map", ++ "index-map-file-wrong-type-2.js", ++ "index-map-file-wrong-type-2.js.map", ++ "index-map-invalid-base-mappings.js", ++ "index-map-invalid-base-mappings.js.map", ++ "index-map-invalid-order.js", ++ "index-map-invalid-order.js.map", ++ "index-map-invalid-overlap.js", ++ "index-map-invalid-overlap.js.map", ++ "index-map-invalid-sub-map.js", ++ "index-map-invalid-sub-map.js.map", ++ "index-map-missing-file.js", ++ "index-map-missing-file.js.map", ++ "index-map-missing-map.js", ++ "index-map-missing-map.js.map", ++ "index-map-missing-offset-column.js", ++ "index-map-missing-offset-column.js.map", ++ "index-map-missing-offset-line.js", ++ "index-map-missing-offset-line.js.map", ++ "index-map-missing-offset.js", ++ "index-map-missing-offset.js.map", ++ "index-map-offset-column-wrong-type.js", ++ "index-map-offset-column-wrong-type.js.map", ++ "index-map-offset-line-wrong-type.js", ++ "index-map-offset-line-wrong-type.js.map", ++ "index-map-two-concatenated-sources.js", ++ "index-map-two-concatenated-sources.js.map", ++ "index-map-wrong-type-map.js", ++ "index-map-wrong-type-map.js.map", ++ "index-map-wrong-type-offset.js", ++ "index-map-wrong-type-offset.js.map", ++ "index-map-wrong-type-sections.js", ++ "index-map-wrong-type-sections.js.map", ++ "invalid-mapping-bad-separator.js", ++ "invalid-mapping-bad-separator.js.map", ++ "invalid-mapping-not-a-string-1.js", ++ "invalid-mapping-not-a-string-1.js.map", ++ "invalid-mapping-not-a-string-2.js", ++ "invalid-mapping-not-a-string-2.js.map", ++ "invalid-mapping-segment-column-too-large.js", ++ "invalid-mapping-segment-column-too-large.js.map", ++ "invalid-mapping-segment-name-index-out-of-bounds.js", ++ "invalid-mapping-segment-name-index-out-of-bounds.js.map", ++ "invalid-mapping-segment-name-index-too-large.js", ++ "invalid-mapping-segment-name-index-too-large.js.map", ++ "invalid-mapping-segment-negative-column.js", ++ "invalid-mapping-segment-negative-column.js.map", ++ "invalid-mapping-segment-negative-name-index.js", ++ "invalid-mapping-segment-negative-name-index.js.map", ++ "invalid-mapping-segment-negative-original-column.js", ++ "invalid-mapping-segment-negative-original-column.js.map", ++ "invalid-mapping-segment-negative-original-line.js", ++ "invalid-mapping-segment-negative-original-line.js.map", ++ "invalid-mapping-segment-negative-relative-column.js", ++ "invalid-mapping-segment-negative-relative-column.js.map", ++ "invalid-mapping-segment-negative-relative-name-index.js", ++ "invalid-mapping-segment-negative-relative-name-index.js.map", ++ "invalid-mapping-segment-negative-relative-original-column.js", ++ "invalid-mapping-segment-negative-relative-original-column.js.map", ++ "invalid-mapping-segment-negative-relative-original-line.js", ++ "invalid-mapping-segment-negative-relative-original-line.js.map", ++ "invalid-mapping-segment-negative-relative-source-index.js", ++ "invalid-mapping-segment-negative-relative-source-index.js.map", ++ "invalid-mapping-segment-negative-source-index.js", ++ "invalid-mapping-segment-negative-source-index.js.map", ++ "invalid-mapping-segment-original-column-too-large.js", ++ "invalid-mapping-segment-original-column-too-large.js.map", ++ "invalid-mapping-segment-original-line-too-large.js", ++ "invalid-mapping-segment-original-line-too-large.js.map", ++ "invalid-mapping-segment-source-index-out-of-bounds.js", ++ "invalid-mapping-segment-source-index-out-of-bounds.js.map", ++ "invalid-mapping-segment-source-index-too-large.js", ++ "invalid-mapping-segment-source-index-too-large.js.map", ++ "invalid-mapping-segment-with-three-fields.js", ++ "invalid-mapping-segment-with-three-fields.js.map", ++ "invalid-mapping-segment-with-two-fields.js", ++ "invalid-mapping-segment-with-two-fields.js.map", ++ "invalid-mapping-segment-with-zero-fields.js", ++ "invalid-mapping-segment-with-zero-fields.js.map", ++ "invalid-vlq-missing-continuation.js", ++ "invalid-vlq-missing-continuation.js.map", ++ "invalid-vlq-non-base64-char.js", ++ "invalid-vlq-non-base64-char.js.map", ++ "mapping-semantics-column-reset.js", ++ "mapping-semantics-column-reset.js.map", ++ "mapping-semantics-five-field-segment.js", ++ "mapping-semantics-five-field-segment.js.map", ++ "mapping-semantics-four-field-segment.js", ++ "mapping-semantics-four-field-segment.js.map", ++ "mapping-semantics-relative-1.js", ++ "mapping-semantics-relative-1.js.map", ++ "mapping-semantics-relative-2.js", ++ "mapping-semantics-relative-2.js.map", ++ "mapping-semantics-single-field-segment.js", ++ "mapping-semantics-single-field-segment.js.map", ++ "names-missing.js", ++ "names-missing.js.map", ++ "names-not-a-list-1.js", ++ "names-not-a-list-1.js.map", ++ "names-not-a-list-2.js", ++ "names-not-a-list-2.js.map", ++ "names-not-string.js", ++ "names-not-string.js.map", ++ "second-source-original.js", ++ "source-map-spec-tests.json", ++ "source-resolution-absolute-url.js", ++ "source-resolution-absolute-url.js.map", ++ "source-resolution-relative-url.js", ++ "source-resolution-relative-url.js.map", ++ "source-root-not-a-string-1.js", ++ "source-root-not-a-string-1.js.map", ++ "source-root-not-a-string-2.js", ++ "source-root-not-a-string-2.js.map", ++ "source-root-resolution.js", ++ "source-root-resolution.js.map", ++ "sources-and-sources-content-both-null.js", ++ "sources-and-sources-content-both-null.js.map", ++ "sources-missing.js", ++ "sources-missing.js.map", ++ "sources-non-null-sources-content-null.js", ++ "sources-non-null-sources-content-null.js.map", ++ "sources-not-a-list-1.js", ++ "sources-not-a-list-1.js.map", ++ "sources-not-a-list-2.js", ++ "sources-not-a-list-2.js.map", ++ "sources-not-string-or-null.js", ++ "sources-not-string-or-null.js.map", ++ "sources-null-sources-content-non-null.js", ++ "sources-null-sources-content-non-null.js.map", ++ "transitive-mapping-original.js", ++ "transitive-mapping-original.js.map", ++ "transitive-mapping-three-steps.js", ++ "transitive-mapping-three-steps.js.map", ++ "transitive-mapping.js", ++ "transitive-mapping.js.map", ++ "typescript-original.ts", ++ "unrecognized-property.js", ++ "unrecognized-property.js.map", ++ "valid-mapping-boundary-values.js", ++ "valid-mapping-boundary-values.js.map", ++ "valid-mapping-empty-groups.js", ++ "valid-mapping-empty-groups.js.map", ++ "valid-mapping-empty-string.js", ++ "valid-mapping-empty-string.js.map", ++ "valid-mapping-large-vlq.js", ++ "valid-mapping-large-vlq.js.map", ++ "valid-mapping-null-sources.js", ++ "valid-mapping-null-sources.js.map", ++ "version-missing.js", ++ "version-missing.js.map", ++ "version-not-a-number.js", ++ "version-not-a-number.js.map", ++ "version-numeric-string.js", ++ "version-numeric-string.js.map", ++ "version-too-high.js", ++ "version-too-high.js.map", ++ "version-too-low.js", ++ "version-too-low.js.map", ++ "version-valid.js", ++ "version-valid.js.map", ++ "vlq-valid-continuation-bit-present-1.js", ++ "vlq-valid-continuation-bit-present-1.js.map", ++ "vlq-valid-continuation-bit-present-2.js", ++ "vlq-valid-continuation-bit-present-2.js.map", ++ "vlq-valid-negative-digit.js", ++ "vlq-valid-negative-digit.js.map", ++ "vlq-valid-single-digit.js", ++ "vlq-valid-single-digit.js.map", ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js +new file mode 100644 +index 0000000000..b9fae38043 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=basic-mapping-as-index-map.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map +new file mode 100644 +index 0000000000..c0ad870ed2 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "file": "basic-mapping-as-index-map.js", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js +new file mode 100644 +index 0000000000..301b186cb1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js +@@ -0,0 +1,8 @@ ++function foo() { ++ return 42; ++} ++function bar() { ++ return 24; ++} ++foo(); ++bar(); +diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js +new file mode 100644 +index 0000000000..2e479a4175 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=basic-mapping.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map +new file mode 100644 +index 0000000000..12dc9679a4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version":3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js +new file mode 100644 +index 0000000000..385a5c3501 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-empty.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map +new file mode 100644 +index 0000000000..7297863a9b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js +new file mode 100644 +index 0000000000..7a0fbb8833 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-out-of-bounds.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map +new file mode 100644 +index 0000000000..fb2566bb41 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [1] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js +new file mode 100644 +index 0000000000..ea64a5565a +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-valid-1.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map +new file mode 100644 +index 0000000000..98eebdf7f6 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [0] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js +new file mode 100644 +index 0000000000..8b40bd3847 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-1.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map +new file mode 100644 +index 0000000000..688740aba8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": ["not a number"] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js +new file mode 100644 +index 0000000000..35c7791164 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-2.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map +new file mode 100644 +index 0000000000..ca1d30de2d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": ["0"] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js +new file mode 100644 +index 0000000000..8735d41758 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-3.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map +new file mode 100644 +index 0000000000..1ac167d56c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": 0 ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js +new file mode 100644 +index 0000000000..e90bef083c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-base-mappings.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map +new file mode 100644 +index 0000000000..b489c1f080 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "mappings": "AAAA", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js +new file mode 100644 +index 0000000000..263fa3c6e0 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-order.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map +new file mode 100644 +index 0000000000..82da69df72 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map +@@ -0,0 +1,23 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 1, "column": 4 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js +new file mode 100644 +index 0000000000..9aff8dc620 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-overlap.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map +new file mode 100644 +index 0000000000..8d42546fd8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map +@@ -0,0 +1,23 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js +new file mode 100644 +index 0000000000..86c8e9a253 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-map.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map +new file mode 100644 +index 0000000000..3bce47e852 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js +new file mode 100644 +index 0000000000..fe6917403f +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset-column.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map +new file mode 100644 +index 0000000000..aa48bbb993 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js +new file mode 100644 +index 0000000000..ba8614e412 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset-line.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map +new file mode 100644 +index 0000000000..3d60444ea7 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js +new file mode 100644 +index 0000000000..9ca2cf3fb5 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map +new file mode 100644 +index 0000000000..7285138bf5 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map +@@ -0,0 +1,13 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js +new file mode 100644 +index 0000000000..ed1e9ec5d5 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-offset-column-wrong-type.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map +new file mode 100644 +index 0000000000..b43e79a9dd +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": true }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js +new file mode 100644 +index 0000000000..d58f2aff99 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-offset-line-wrong-type.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map +new file mode 100644 +index 0000000000..81dbcd6ec4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": true, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js +new file mode 100644 +index 0000000000..b8702d7187 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar();function baz(){return"baz"}baz(); ++//# sourceMappingURL=index-map-two-concatenated-sources.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map +new file mode 100644 +index 0000000000..f67f5de3c5 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map +@@ -0,0 +1,24 @@ ++{ ++ "version": 3, ++ "file": "index-map-two-concatenated-sources.js", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 62 }, ++ "map": { ++ "version": 3, ++ "names": ["baz"], ++ "sources": ["second-source-original.js"], ++ "mappings":"AAAA,SAASA,MACP,MAAO,KACT,CACAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js +new file mode 100644 +index 0000000000..d31d6d6358 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-map.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map +new file mode 100644 +index 0000000000..0963f623d7 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map +@@ -0,0 +1,9 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": "not a map" ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js +new file mode 100644 +index 0000000000..048e1246f8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-offset.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map +new file mode 100644 +index 0000000000..fbc6e4e678 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": "not an offset", ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js +new file mode 100644 +index 0000000000..011eca806e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-sections.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map +new file mode 100644 +index 0000000000..dbfb4ead30 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map +@@ -0,0 +1,4 @@ ++{ ++ "version": 3, ++ "sections": "not a sections list" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js +new file mode 100644 +index 0000000000..25338aca30 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-bad-separator.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map +new file mode 100644 +index 0000000000..5f4f5b9233 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA.SAASA:MACP" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js +new file mode 100644 +index 0000000000..cb38e2fe9d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-not-a-string-1.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map +new file mode 100644 +index 0000000000..5bf3e2a9d8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-not-a-string-1.js", ++ "sources": ["empty-original.js"], ++ "mappings": 5 ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js +new file mode 100644 +index 0000000000..3d84abd6c6 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-not-a-string-2.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map +new file mode 100644 +index 0000000000..4527e7f764 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-not-a-string-2.js", ++ "sources": ["empty-original.js"], ++ "mappings": [1, 2, 3, 4] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js +new file mode 100644 +index 0000000000..55591f874b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-column-too-large.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map +new file mode 100644 +index 0000000000..b4c059e015 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-column-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "ggggggE" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js +new file mode 100644 +index 0000000000..2a6b434eff +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-name-index-out-of-bounds.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map +new file mode 100644 +index 0000000000..8dd2ea6c2d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "file": "invalid-mapping-segment-name-index-out-of-bounds.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAC" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js +new file mode 100644 +index 0000000000..709e34dbd3 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-name-index-too-large.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map +new file mode 100644 +index 0000000000..c7bf5b98d1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-name-index-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAggggggE" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js +new file mode 100644 +index 0000000000..a202152d6f +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-column.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map +new file mode 100644 +index 0000000000..403878bfa4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-column.js", ++ "sources": ["empty-original.js"], ++ "mappings": "F" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js +new file mode 100644 +index 0000000000..3e3f634204 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-name-index.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map +new file mode 100644 +index 0000000000..b94f63646e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-name-index.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAF" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js +new file mode 100644 +index 0000000000..f21d5342b3 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-original-column.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map +new file mode 100644 +index 0000000000..011c639d3f +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-original-column.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAF" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js +new file mode 100644 +index 0000000000..b37309601c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-original-line.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map +new file mode 100644 +index 0000000000..e7ec993eeb +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-original-line.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAFA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js +new file mode 100644 +index 0000000000..94b835d687 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-column.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map +new file mode 100644 +index 0000000000..414884072b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-column.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "C,F" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js +new file mode 100644 +index 0000000000..c965c5f011 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-name-index.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map +new file mode 100644 +index 0000000000..1fbbcfcd32 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-name-index.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AAAAC,AAAAF" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js +new file mode 100644 +index 0000000000..493a6ec88a +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-column.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map +new file mode 100644 +index 0000000000..7e62895651 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-original-column.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AAAC,AAAF" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js +new file mode 100644 +index 0000000000..ca8329fb98 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-line.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map +new file mode 100644 +index 0000000000..86b0fb3a04 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-original-line.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AACA,AAFA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js +new file mode 100644 +index 0000000000..fa92225b09 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-source-index.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map +new file mode 100644 +index 0000000000..2efeb047db +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-source-index.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "ACAA,AFAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js +new file mode 100644 +index 0000000000..6e05849b6a +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-source-index.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map +new file mode 100644 +index 0000000000..596c2f298b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-source-index.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AFAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js +new file mode 100644 +index 0000000000..0936ed7ea8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-original-column-too-large.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map +new file mode 100644 +index 0000000000..ff2103fe24 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-original-column-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAggggggE" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js +new file mode 100644 +index 0000000000..9b3aa5a361 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-original-line-too-large.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map +new file mode 100644 +index 0000000000..890f1c71fc +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-original-line-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAggggggEA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js +new file mode 100644 +index 0000000000..2e5fbca268 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-source-index-out-of-bounds.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map +new file mode 100644 +index 0000000000..86dedb114f +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-source-index-out-of-bounds.js", ++ "sources": ["empty-original.js"], ++ "mappings": "ACAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js +new file mode 100644 +index 0000000000..3f4943e127 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-source-index-too-large.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map +new file mode 100644 +index 0000000000..e9f858c6e1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-source-index-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AggggggEAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js +new file mode 100644 +index 0000000000..4b868fac9c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-segment-with-three-fields.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map +new file mode 100644 +index 0000000000..c2af1165ad +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js +new file mode 100644 +index 0000000000..96045a7a11 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-segment-with-two-fields.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map +new file mode 100644 +index 0000000000..73cf00fa1c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js +new file mode 100644 +index 0000000000..9d5332a56c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-with-zero-fields.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map +new file mode 100644 +index 0000000000..5a34d25b64 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-with-zero-fields.js", ++ "sources": ["empty-original.js"], ++ "mappings": ",,,," ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js +new file mode 100644 +index 0000000000..2c2a0090ac +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-vlq-missing-continuation.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map +new file mode 100644 +index 0000000000..dd0e363ff4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "g" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js +new file mode 100644 +index 0000000000..d1b20b41a2 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-vlq-non-base64-char.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map +new file mode 100644 +index 0000000000..4fa1ac5768 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "A$%?!" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-missing.js b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js +new file mode 100644 +index 0000000000..58781fd887 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-missing.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map +new file mode 100644 +index 0000000000..82170bf784 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map +@@ -0,0 +1,5 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js +new file mode 100644 +index 0000000000..dc65f1972b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-a-list-1.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map +new file mode 100644 +index 0000000000..fe1edaeb96 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": "not a list", ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js +new file mode 100644 +index 0000000000..d7251f78da +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-a-list-2.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map +new file mode 100644 +index 0000000000..3388d2bb71 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": { "foo": 3 }, ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js +new file mode 100644 +index 0000000000..8dc7b4811a +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-string.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map +new file mode 100644 +index 0000000000..c0feb0739a +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": [null, 3, true, false, {}, []], ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js b/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js +new file mode 100644 +index 0000000000..c339bc9d15 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js +@@ -0,0 +1,4 @@ ++function baz() { ++ return "baz"; ++} ++baz(); +diff --git a/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json b/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json +new file mode 100644 +index 0000000000..0f7a3c1cb1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json +@@ -0,0 +1,1540 @@ ++{ ++ "tests": [ ++ { ++ "name": "versionValid", ++ "description": "Test a simple source map with a valid version number", ++ "baseFile": "version-valid.js", ++ "sourceMapFile": "version-valid.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "versionMissing", ++ "description": "Test a source map that is missing a version field", ++ "baseFile": "version-missing.js", ++ "sourceMapFile": "version-missing.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionNotANumber", ++ "description": "Test a source map with a version field that is not a number", ++ "baseFile": "version-not-a-number.js", ++ "sourceMapFile": "version-not-a-number.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionNumericString", ++ "description": "Test a source map with a version field that is a number as a string", ++ "baseFile": "version-numeric-string.js", ++ "sourceMapFile": "version-numeric-string.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionTooHigh", ++ "description": "Test a source map with an integer version field that is too high", ++ "baseFile": "version-too-high.js", ++ "sourceMapFile": "version-too-high.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionTooLow", ++ "description": "Test a source map with an integer version field that is too low", ++ "baseFile": "version-too-low.js", ++ "sourceMapFile": "version-too-low.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesMissing", ++ "description": "Test a source map that is missing a necessary sources field", ++ "baseFile": "sources-missing.js", ++ "sourceMapFile": "sources-missing.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotAList1", ++ "description": "Test a source map with a sources field that is not a valid list (string)", ++ "baseFile": "sources-not-a-list-1.js", ++ "sourceMapFile": "sources-not-a-list-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotAList2", ++ "description": "Test a source map with a sources field that is not a valid list (object)", ++ "baseFile": "sources-not-a-list-2.js", ++ "sourceMapFile": "sources-not-a-list-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotStringOrNull", ++ "description": "Test a source map with a sources list that has non-string and non-null items", ++ "baseFile": "sources-not-string-or-null.js", ++ "sourceMapFile": "sources-not-string-or-null.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesAndSourcesContentBothNull", ++ "description": "Test a source map that has both null sources and sourcesContent entries", ++ "baseFile": "sources-and-sources-content-both-null.js", ++ "sourceMapFile": "sources-and-sources-content-both-null.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "fileNotAString1", ++ "description": "Test a source map with a file field that is not a valid string", ++ "baseFile": "file-not-a-string-1.js", ++ "sourceMapFile": "file-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "fileNotAString2", ++ "description": "Test a source map with a file field that is not a valid string", ++ "baseFile": "file-not-a-string-2.js", ++ "sourceMapFile": "file-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourceRootNotAString1", ++ "description": "Test a source map with a sourceRoot field that is not a valid string", ++ "baseFile": "source-root-not-a-string-1.js", ++ "sourceMapFile": "source-root-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourceRootNotAString2", ++ "description": "Test a source map with a sourceRoot field that is not a valid string", ++ "baseFile": "source-root-not-a-string-2.js", ++ "sourceMapFile": "source-root-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesMissing", ++ "description": "Test a source map that is missing a necessary names field", ++ "baseFile": "names-missing.js", ++ "sourceMapFile": "names-missing.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesNotAList1", ++ "description": "Test a source map with a names field that is not a valid list (string)", ++ "baseFile": "names-not-a-list-1.js", ++ "sourceMapFile": "names-not-a-list-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesNotAList2", ++ "description": "Test a source map with a names field that is not a valid list (object)", ++ "baseFile": "names-not-a-list-2.js", ++ "sourceMapFile": "names-not-a-list-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesNotString", ++ "description": "Test a source map with a names list that has non-string items", ++ "baseFile": "names-not-string.js", ++ "sourceMapFile": "names-not-string.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListEmpty", ++ "description": "Test a source map with an ignore list that has no items", ++ "baseFile": "ignore-list-empty.js", ++ "sourceMapFile": "ignore-list-empty.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "ignoreListValid1", ++ "description": "Test a source map with a simple valid ignore list", ++ "baseFile": "ignore-list-valid-1.js", ++ "sourceMapFile": "ignore-list-valid-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkIgnoreList", ++ "present": ["empty-original.js"] ++ } ++ ] ++ }, ++ { ++ "name": "ignoreListWrongType1", ++ "description": "Test a source map with an ignore list with the wrong type of items", ++ "baseFile": "ignore-list-wrong-type-1.js", ++ "sourceMapFile": "ignore-list-wrong-type-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListWrongType2", ++ "description": "Test a source map with an ignore list with the wrong type of items", ++ "baseFile": "ignore-list-wrong-type-2.js", ++ "sourceMapFile": "ignore-list-wrong-type-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListWrongType3", ++ "description": "Test a source map with an ignore list that is not a list", ++ "baseFile": "ignore-list-wrong-type-3.js", ++ "sourceMapFile": "ignore-list-wrong-type-3.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListOutOfBounds", ++ "description": "Test a source map with an ignore list with an item with an out-of-bounds index", ++ "baseFile": "ignore-list-out-of-bounds.js", ++ "sourceMapFile": "ignore-list-out-of-bounds.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "unrecognizedProperty", ++ "description": "Test a source map that has an extra field not explicitly encoded in the spec", ++ "baseFile": "unrecognized-property.js", ++ "sourceMapFile": "unrecognized-property.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "invalidVLQDueToNonBase64Character", ++ "description": "Test a source map that has a mapping with an invalid non-base64 character", ++ "baseFile": "invalid-vlq-non-base64-char.js", ++ "sourceMapFile": "invalid-vlq-non-base64-char.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidVLQDueToMissingContinuationDigits", ++ "description": "Test a source map that has a mapping with an invalid VLQ that has a continuation bit but no continuing digits", ++ "baseFile": "invalid-vlq-missing-continuation.js", ++ "sourceMapFile": "invalid-vlq-missing-continuation.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingNotAString1", ++ "description": "Test a source map that has an invalid mapping that is not a string (number)", ++ "baseFile": "invalid-mapping-not-a-string-1.js", ++ "sourceMapFile": "invalid-mapping-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingNotAString2", ++ "description": "Test a source map that has an invalid mapping that is not a string (array)", ++ "baseFile": "invalid-mapping-not-a-string-2.js", ++ "sourceMapFile": "invalid-mapping-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentBadSeparator", ++ "description": "Test a source map that uses separator characters not recognized in the spec", ++ "baseFile": "invalid-mapping-bad-separator.js", ++ "sourceMapFile": "invalid-mapping-bad-separator.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithZeroFields", ++ "description": "Test a source map that has the wrong number (zero) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-zero-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-zero-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithTwoFields", ++ "description": "Test a source map that has the wrong number (two) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-two-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-two-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithThreeFields", ++ "description": "Test a source map that has the wrong number (three) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-three-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-three-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithSourceIndexOutOfBounds", ++ "description": "Test a source map that has a source index field that is out of bounds of the sources field", ++ "baseFile": "invalid-mapping-segment-source-index-out-of-bounds.js", ++ "sourceMapFile": "invalid-mapping-segment-source-index-out-of-bounds.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNameIndexOutOfBounds", ++ "description": "Test a source map that has a name index field that is out of bounds of the names field", ++ "baseFile": "invalid-mapping-segment-name-index-out-of-bounds.js", ++ "sourceMapFile": "invalid-mapping-segment-name-index-out-of-bounds.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeColumn", ++ "description": "Test a source map that has an invalid negative non-relative column field", ++ "baseFile": "invalid-mapping-segment-negative-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeSourceIndex", ++ "description": "Test a source map that has an invalid negative non-relative source index field", ++ "baseFile": "invalid-mapping-segment-negative-source-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-source-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeOriginalLine", ++ "description": "Test a source map that has an invalid negative non-relative original line field", ++ "baseFile": "invalid-mapping-segment-negative-original-line.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-original-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeOriginalColumn", ++ "description": "Test a source map that has an invalid negative non-relative original column field", ++ "baseFile": "invalid-mapping-segment-negative-original-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-original-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeNameIndex", ++ "description": "Test a source map that has an invalid negative non-relative name index field", ++ "baseFile": "invalid-mapping-segment-negative-name-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-name-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeColumn", ++ "description": "Test a source map that has an invalid negative relative column field", ++ "baseFile": "invalid-mapping-segment-negative-relative-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeSourceIndex", ++ "description": "Test a source map that has an invalid negative relative source index field", ++ "baseFile": "invalid-mapping-segment-negative-relative-source-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-source-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalLine", ++ "description": "Test a source map that has an invalid negative relative original line field", ++ "baseFile": "invalid-mapping-segment-negative-relative-original-line.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalColumn", ++ "description": "Test a source map that has an invalid negative relative original column field", ++ "baseFile": "invalid-mapping-segment-negative-relative-original-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeNameIndex", ++ "description": "Test a source map that has an invalid negative relative name index field", ++ "baseFile": "invalid-mapping-segment-negative-relative-name-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-name-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithColumnExceeding32Bits", ++ "description": "Test a source map that has a column field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-column-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-column-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithSourceIndexExceeding32Bits", ++ "description": "Test a source map that has a source index field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-source-index-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-source-index-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithOriginalLineExceeding32Bits", ++ "description": "Test a source map that has a original line field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-original-line-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-original-line-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithOriginalColumnExceeding32Bits", ++ "description": "Test a source map that has an original column field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-original-column-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-original-column-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNameIndexExceeding32Bits", ++ "description": "Test a source map that has a name index field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-name-index-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-name-index-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "validMappingFieldsWith32BitMaxValues", ++ "description": "Test a source map that has segment fields with max values representable in 32 bits", ++ "baseFile": "valid-mapping-boundary-values.js", ++ "sourceMapFile": "valid-mapping-boundary-values.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingLargeVLQ", ++ "description": "Test a source map that has a segment field VLQ that is very long but within 32-bits", ++ "baseFile": "valid-mapping-large-vlq.js", ++ "sourceMapFile": "valid-mapping-large-vlq.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingEmptyGroups", ++ "description": "Test a source map with a mapping that has many empty groups", ++ "baseFile": "valid-mapping-empty-groups.js", ++ "sourceMapFile": "valid-mapping-empty-groups.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingEmptyString", ++ "description": "Test a source map with an empty string mapping", ++ "baseFile": "valid-mapping-empty-string.js", ++ "sourceMapFile": "valid-mapping-empty-string.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "indexMapWrongTypeSections", ++ "description": "Test an index map with a sections field with the wrong type", ++ "baseFile": "index-map-wrong-type-sections.js", ++ "sourceMapFile": "index-map-wrong-type-sections.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapWrongTypeOffset", ++ "description": "Test an index map with an offset field with the wrong type", ++ "baseFile": "index-map-wrong-type-offset.js", ++ "sourceMapFile": "index-map-wrong-type-offset.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapWrongTypeMap", ++ "description": "Test an index map with a map field with the wrong type", ++ "baseFile": "index-map-wrong-type-map.js", ++ "sourceMapFile": "index-map-wrong-type-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidBaseMappings", ++ "description": "Test that an index map cannot also have a regular mappings field", ++ "baseFile": "index-map-invalid-base-mappings.js", ++ "sourceMapFile": "index-map-invalid-base-mappings.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidOverlap", ++ "description": "Test that an invalid index map with multiple sections that overlap", ++ "baseFile": "index-map-invalid-overlap.js", ++ "sourceMapFile": "index-map-invalid-overlap.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidOrder", ++ "description": "Test that an invalid index map with multiple sections in the wrong order", ++ "baseFile": "index-map-invalid-order.js", ++ "sourceMapFile": "index-map-invalid-order.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingMap", ++ "description": "Test that an index map that is missing a section map", ++ "baseFile": "index-map-missing-map.js", ++ "sourceMapFile": "index-map-missing-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidSubMap", ++ "description": "Test that an index map that has an invalid section map", ++ "baseFile": "index-map-invalid-sub-map.js", ++ "sourceMapFile": "index-map-invalid-sub-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffset", ++ "description": "Test that an index map that is missing a section offset", ++ "baseFile": "index-map-missing-offset.js", ++ "sourceMapFile": "index-map-missing-offset.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffsetLine", ++ "description": "Test that an index map that is missing a section offset's line field", ++ "baseFile": "index-map-missing-offset-line.js", ++ "sourceMapFile": "index-map-missing-offset-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffsetColumn", ++ "description": "Test that an index map that is missing a section offset's column field", ++ "baseFile": "index-map-missing-offset-column.js", ++ "sourceMapFile": "index-map-missing-offset-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapOffsetLineWrongType", ++ "description": "Test that an index map that has an offset line field with the wrong type of value", ++ "baseFile": "index-map-offset-line-wrong-type.js", ++ "sourceMapFile": "index-map-offset-line-wrong-type.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapOffsetColumnWrongType", ++ "description": "Test that an index map that has an offset column field with the wrong type of value", ++ "baseFile": "index-map-offset-column-wrong-type.js", ++ "sourceMapFile": "index-map-offset-column-wrong-type.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapEmptySections", ++ "description": "Test a trivial index map with no sections", ++ "baseFile": "index-map-empty-sections.js", ++ "sourceMapFile": "index-map-empty-sections.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "indexMapFileWrongType1", ++ "description": "Test an index map with a file field with the wrong type", ++ "baseFile": "index-map-file-wrong-type-1.js", ++ "sourceMapFile": "index-map-file-wrong-type-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapFileWrongType2", ++ "description": "Test an index map with a file field with the wrong type", ++ "baseFile": "index-map-file-wrong-type-2.js", ++ "sourceMapFile": "index-map-file-wrong-type-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "basicMapping", ++ "description": "Test a simple source map that has several valid mappings", ++ "baseFile": "basic-mapping.js", ++ "sourceMapFile": "basic-mapping.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "sourceRootResolution", ++ "description": "Similar to basic mapping test, but test resoultion of sources with a sourceRoot field", ++ "baseFile": "source-root-resolution.js", ++ "sourceMapFile": "source-root-resolution.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "theroot/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "theroot/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "sourceResolutionAbsoluteURL", ++ "description": "Test resoultion of sources with absolute URLs", ++ "baseFile": "source-resolution-absolute-url.js", ++ "sourceMapFile": "source-resolution-absolute-url.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "/baz/quux/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "/baz/quux/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "basicMappingWithIndexMap", ++ "description": "Test a version of basic-mapping.js.map that is split into sections with an index map", ++ "baseFile": "basic-mapping-as-index-map.js", ++ "sourceMapFile": "basic-mapping-as-index-map.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "indexMapWithMissingFile", ++ "description": "Same as the basic mapping index map test but without the optional file field", ++ "baseFile": "index-map-missing-file.js", ++ "sourceMapFile": "index-map-missing-file.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "indexMapWithTwoConcatenatedSources", ++ "description": "Test an index map that has two sub-maps for concatenated sources", ++ "baseFile": "index-map-two-concatenated-sources.js", ++ "sourceMapFile": "index-map-two-concatenated-sources.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 62, ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 71, ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "baz" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 77, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 83, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 88, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 89, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": "baz" ++ } ++ ] ++ }, ++ { ++ "name": "sourcesNullSourcesContentNonNull", ++ "description": "Test a source map that has a null source but has a sourcesContent", ++ "baseFile": "sources-null-sources-content-non-null.js", ++ "sourceMapFile": "sources-null-sources-content-non-null.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": null, ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": null, ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "sourcesNonNullSourcesContentNull", ++ "description": "Test a source map that has a non-null source but has a null sourcesContent", ++ "baseFile": "sources-non-null-sources-content-null.js", ++ "sourceMapFile": "sources-non-null-sources-content-null.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "transitiveMapping", ++ "description": "Test a simple two-stage transitive mapping from a minified JS to a TypeScript source", ++ "baseFile": "transitive-mapping.js", ++ "sourceMapFile": "transitive-mapping.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 13, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 13, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 16, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 23, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 29, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "transitiveMappingWithThreeSteps", ++ "description": "Test a three-stage transitive mapping from an un-minified JS to minified JS to a TypeScript source", ++ "baseFile": "transitive-mapping-three-steps.js", ++ "sourceMapFile": "transitive-mapping-three-steps.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 13, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 13, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 1, ++ "generatedColumn": 4, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 1, ++ "generatedColumn": 11, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 2, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 4, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 4, ++ "generatedColumn": 4, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidSingleDigit", ++ "description": "Test VLQ decoding for a single digit, no continuation VLQ", ++ "baseFile": "vlq-valid-single-digit.js", ++ "sourceMapFile": "vlq-valid-single-digit.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-single-digit-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidNegativeDigit", ++ "description": "Test VLQ decoding where there's a negative digit, no continuation bit", ++ "baseFile": "vlq-valid-negative-digit.js", ++ "sourceMapFile": "vlq-valid-negative-digit.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-negative-digit-original.js", ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 2, ++ "originalSource": "vlq-valid-negative-digit-original.js", ++ "originalLine": 1, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidContinuationBitPresent1", ++ "description": "Test VLQ decoding where continuation bits are present (continuations are leading zero)", ++ "baseFile": "vlq-valid-continuation-bit-present-1.js", ++ "sourceMapFile": "vlq-valid-continuation-bit-present-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-continuation-bit-present-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidContinuationBitPresent2", ++ "description": "Test VLQ decoding where continuation bits are present (continuations have non-zero bits)", ++ "baseFile": "vlq-valid-continuation-bit-present-2.js", ++ "sourceMapFile": "vlq-valid-continuation-bit-present-2.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 16, ++ "originalSource": "vlq-valid-continuation-bit-present-2-original.js", ++ "originalLine": 1, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsSingleFieldSegment", ++ "description": "Test mapping semantics for a single field segment mapping", ++ "baseFile": "mapping-semantics-single-field-segment.js", ++ "sourceMapFile": "mapping-semantics-single-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "mapping-semantics-single-field-segment-original.js", ++ "originalLine": 0, ++ "originalColumn": 1, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 2, ++ "originalSource": null, ++ "originalLine": null, ++ "originalColumn": null, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsFourFieldSegment", ++ "description": "Test mapping semantics for a four field segment mapping", ++ "baseFile": "mapping-semantics-four-field-segment.js", ++ "sourceMapFile": "mapping-semantics-four-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-four-field-segment-original.js", ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsFiveFieldSegment", ++ "description": "Test mapping semantics for a five field segment mapping", ++ "baseFile": "mapping-semantics-five-field-segment.js", ++ "sourceMapFile": "mapping-semantics-five-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-five-field-segment-original.js", ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsColumnReset", ++ "description": "Test that the generated column field resets to zero on new lines", ++ "baseFile": "mapping-semantics-column-reset.js", ++ "sourceMapFile": "mapping-semantics-column-reset.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-column-reset-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 1, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-column-reset-original.js", ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsRelative1", ++ "description": "Test that fields are calculated relative to previous ones", ++ "baseFile": "mapping-semantics-relative-1.js", ++ "sourceMapFile": "mapping-semantics-relative-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-relative-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 5, ++ "originalSource": "mapping-semantics-relative-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsRelative2", ++ "description": "Test that fields are calculated relative to previous ones, across lines", ++ "baseFile": "mapping-semantics-relative-2.js", ++ "sourceMapFile": "mapping-semantics-relative-2.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-relative-2-original.js", ++ "originalLine": 0, ++ "originalColumn": 2, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 1, ++ "generatedColumn": 2, ++ "originalSource": "mapping-semantics-relative-2-original.js", ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": "bar" ++ } ++ ] ++ } ++ ] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js +new file mode 100644 +index 0000000000..9263eba549 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-and-sources-content-both-null.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map +new file mode 100644 +index 0000000000..09a7c1f369 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "sources": [null], ++ "sourcesContent": [null], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js +new file mode 100644 +index 0000000000..779b865e27 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-missing.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map +new file mode 100644 +index 0000000000..92aff4fb0e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map +@@ -0,0 +1,5 @@ ++{ ++ "version" : 3, ++ "names": ["foo"], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js +new file mode 100644 +index 0000000000..939b568ba1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=sources-non-null-sources-content-null.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map +new file mode 100644 +index 0000000000..e573906b2d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "sources": ["basic-mapping-original.js"], ++ "sourcesContent": [null], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js +new file mode 100644 +index 0000000000..7e33b7e867 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-a-list-1.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map +new file mode 100644 +index 0000000000..26330517b9 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": "not a list", ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js +new file mode 100644 +index 0000000000..4021f763fc +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-a-list-2.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map +new file mode 100644 +index 0000000000..2ed85962fd +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": { "source.js": 3 }, ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js +new file mode 100644 +index 0000000000..7dca97a1da +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-string-or-null.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map +new file mode 100644 +index 0000000000..db25561966 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [3, {}, true, false, []], ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js +new file mode 100644 +index 0000000000..a760594ee9 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=sources-null-sources-content-non-null.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map +new file mode 100644 +index 0000000000..43af03903f +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version":3, ++ "names": ["foo"], ++ "sources": [null], ++ "sourcesContent": ["function foo()\n{ return 42; }\nfunction bar()\n { return 24; }\nfoo();\nbar();"], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js +new file mode 100644 +index 0000000000..0a96699d6e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js +@@ -0,0 +1,5 @@ ++function foo(x) { ++ return x; ++} ++foo("foo"); ++//# sourceMappingURL=transitive-mapping-original.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map +new file mode 100644 +index 0000000000..65af25c1eb +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "file" : "transitive-mapping-original.js", ++ "sourceRoot": "", ++ "sources": ["typescript-original.ts"], ++ "names": [], ++ "mappings": "AACA,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,GAAG,CAAC,KAAK,CAAC,CAAC" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js +new file mode 100644 +index 0000000000..fd956164d3 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js +@@ -0,0 +1,6 @@ ++function foo(x) { ++ return x; ++} ++ ++foo("foo"); ++//# sourceMappingURL=transitive-mapping-three-steps.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map +new file mode 100644 +index 0000000000..90459d90f6 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "file": "transitive-mapping-three-steps.js", ++ "sources": ["transitive-mapping.js"], ++ "names": ["foo", "x"], ++ "mappings": "AAAA,SAASA,IAAIC;IAAG,OAAOA;AAAC;;AAACD,IAAI,KAAK" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js +new file mode 100644 +index 0000000000..183c027f1b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js +@@ -0,0 +1,2 @@ ++function foo(x){return x}foo("foo"); ++//# sourceMappingURL=transitive-mapping.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map +new file mode 100644 +index 0000000000..d6a6fa6672 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","x"], ++ "sources": ["transitive-mapping-original.js"], ++ "mappings":"AAAA,SAASA,IAAIC,GACT,OAAOA,CACX,CACAD,IAAI" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts b/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts +new file mode 100644 +index 0000000000..cd51c01ba1 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts +@@ -0,0 +1,5 @@ ++type FooArg = string | number; ++function foo(x : FooArg) { ++ return x; ++} ++foo("foo"); +diff --git a/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js +new file mode 100644 +index 0000000000..19dfb0e2e6 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=unrecognized-property.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map +new file mode 100644 +index 0000000000..40bee558a4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "", ++ "foobar": 42, ++ "unusedProperty": [1, 2, 3, 4] ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js +new file mode 100644 +index 0000000000..3c49709e05 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-boundary-values.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map +new file mode 100644 +index 0000000000..4dd836e63d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "file": "valid-mapping-boundary-values.js", ++ "sources": ["empty-original.js"], ++ "mappings": "+/////DA+/////D+/////DA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js +new file mode 100644 +index 0000000000..a2b767b619 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-empty-groups.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map +new file mode 100644 +index 0000000000..643c9ae784 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "valid-mapping-empty-groups.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js +new file mode 100644 +index 0000000000..b0cd897813 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-large-vlq.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map +new file mode 100644 +index 0000000000..76e18704c4 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["valid-mapping-large-vlq.js"], ++ "mappings": "igggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js +new file mode 100644 +index 0000000000..ee2acf0f5b +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=valid-mapping-null-sources.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map +new file mode 100644 +index 0000000000..199cda9369 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version":3, ++ "names": ["foo"], ++ "sources": [null], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-missing.js b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js +new file mode 100644 +index 0000000000..c32d1f1a1c +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-missing.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map +new file mode 100644 +index 0000000000..49d8ce766e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map +@@ -0,0 +1,5 @@ ++{ ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js +new file mode 100644 +index 0000000000..ae2342e2ff +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-not-a-number.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map +new file mode 100644 +index 0000000000..a584d6e695 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : "3foo", ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js +new file mode 100644 +index 0000000000..a55170885d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-numeric-string.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map +new file mode 100644 +index 0000000000..dbe52a7d0d +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : "3", ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js +new file mode 100644 +index 0000000000..55f4e1a298 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-too-high.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map +new file mode 100644 +index 0000000000..ee23be32ff +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 4, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js +new file mode 100644 +index 0000000000..d9642920b3 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-too-low.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map +new file mode 100644 +index 0000000000..64ca7a6e2e +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 2, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-valid.js b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js +new file mode 100644 +index 0000000000..82d0bfa1eb +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-valid.js.map +diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map +new file mode 100644 +index 0000000000..1a163052d8 +--- /dev/null ++++ b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +-- +2.39.2 + diff --git a/test/fixtures/test426/chrome/0002-Add-reverse-mapping-code-to-test.patch b/test/fixtures/test426/chrome/0002-Add-reverse-mapping-code-to-test.patch new file mode 100644 index 00000000000000..dc08ba5fadb482 --- /dev/null +++ b/test/fixtures/test426/chrome/0002-Add-reverse-mapping-code-to-test.patch @@ -0,0 +1,46 @@ +From bebeda0b8133fc8f44382e59edda9203c980e8f3 Mon Sep 17 00:00:00 2001 +From: Asumu Takikawa <asumu@igalia.com> +Date: Thu, 11 Jul 2024 16:44:29 -0700 +Subject: [PATCH 2/2] Add reverse mapping code to test + +--- + front_end/core/sdk/SourceMapSpec.test.ts | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/front_end/core/sdk/SourceMapSpec.test.ts b/front_end/core/sdk/SourceMapSpec.test.ts +index 93b26a2e13..402b82e4c0 100644 +--- a/front_end/core/sdk/SourceMapSpec.test.ts ++++ b/front_end/core/sdk/SourceMapSpec.test.ts +@@ -12,7 +12,6 @@ + + **/ + +-const {assert} = chai; + import type * as Platform from '../platform/platform.js'; + import {assertNotNullOrUndefined} from '../platform/platform.js'; + import { SourceMapV3, parseSourceMap } from './SourceMap.js'; +@@ -170,6 +169,21 @@ describeWithEnvironment('SourceMapSpec', () => { + assert.strictEqual(nullish(actual.sourceURL), originalSource, 'unexpected source URL'); + assert.strictEqual(nullish(actual.sourceLineNumber), originalLine, 'unexpected source line number'); + assert.strictEqual(nullish(actual.sourceColumnNumber), originalColumn, 'unexpected source column number'); ++ ++ if (originalSource != null) { ++ let reverseEntries = sourceMap.findReverseEntries( ++ originalSource as Platform.DevToolsPath.UrlString, ++ originalLine, ++ originalColumn ++ ); ++ ++ const anyEntryMatched = reverseEntries.some((entry) => { ++ return entry.sourceURL === originalSource && ++ entry.sourceLineNumber === originalLine && ++ entry.sourceColumnNumber === originalColumn; ++ }); ++ assert.isTrue(anyEntryMatched, `expected any matching reverse lookup entry, got none`); ++ } + } + }); + } +-- +2.39.2 + diff --git a/test/fixtures/test426/resources/basic-mapping-as-index-map.js b/test/fixtures/test426/resources/basic-mapping-as-index-map.js new file mode 100644 index 00000000000000..b9fae380437d95 --- /dev/null +++ b/test/fixtures/test426/resources/basic-mapping-as-index-map.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=basic-mapping-as-index-map.js.map diff --git a/test/fixtures/test426/resources/basic-mapping-as-index-map.js.map b/test/fixtures/test426/resources/basic-mapping-as-index-map.js.map new file mode 100644 index 00000000000000..c0ad870ed2baec --- /dev/null +++ b/test/fixtures/test426/resources/basic-mapping-as-index-map.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "file": "basic-mapping-as-index-map.js", + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" + } + } + ] +} diff --git a/test/fixtures/test426/resources/basic-mapping-original.js b/test/fixtures/test426/resources/basic-mapping-original.js new file mode 100644 index 00000000000000..301b186cb15e6d --- /dev/null +++ b/test/fixtures/test426/resources/basic-mapping-original.js @@ -0,0 +1,8 @@ +function foo() { + return 42; +} +function bar() { + return 24; +} +foo(); +bar(); diff --git a/test/fixtures/test426/resources/basic-mapping.js b/test/fixtures/test426/resources/basic-mapping.js new file mode 100644 index 00000000000000..2e479a4175b861 --- /dev/null +++ b/test/fixtures/test426/resources/basic-mapping.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=basic-mapping.js.map diff --git a/test/fixtures/test426/resources/basic-mapping.js.map b/test/fixtures/test426/resources/basic-mapping.js.map new file mode 100644 index 00000000000000..12dc9679a4b1db --- /dev/null +++ b/test/fixtures/test426/resources/basic-mapping.js.map @@ -0,0 +1,6 @@ +{ + "version":3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +} diff --git a/test/fixtures/test426/resources/file-not-a-string-1.js b/test/fixtures/test426/resources/file-not-a-string-1.js new file mode 100644 index 00000000000000..d049f870450a55 --- /dev/null +++ b/test/fixtures/test426/resources/file-not-a-string-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=file-not-a-string-1.js.map diff --git a/test/fixtures/test426/resources/file-not-a-string-1.js.map b/test/fixtures/test426/resources/file-not-a-string-1.js.map new file mode 100644 index 00000000000000..85e973d881dfbf --- /dev/null +++ b/test/fixtures/test426/resources/file-not-a-string-1.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "file": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/file-not-a-string-2.js b/test/fixtures/test426/resources/file-not-a-string-2.js new file mode 100644 index 00000000000000..07b8152c0c6cd1 --- /dev/null +++ b/test/fixtures/test426/resources/file-not-a-string-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=file-not-a-string-2.js.map diff --git a/test/fixtures/test426/resources/file-not-a-string-2.js.map b/test/fixtures/test426/resources/file-not-a-string-2.js.map new file mode 100644 index 00000000000000..a5b6b1f9d94fc3 --- /dev/null +++ b/test/fixtures/test426/resources/file-not-a-string-2.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "file": 235324, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/ignore-list-empty.js b/test/fixtures/test426/resources/ignore-list-empty.js new file mode 100644 index 00000000000000..385a5c3501b22c --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-empty.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-empty.js.map diff --git a/test/fixtures/test426/resources/ignore-list-empty.js.map b/test/fixtures/test426/resources/ignore-list-empty.js.map new file mode 100644 index 00000000000000..7297863a9be8ef --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-empty.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": [] +} diff --git a/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js b/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js new file mode 100644 index 00000000000000..567174a707ef49 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-out-of-bounds-1.js.map diff --git a/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js.map b/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js.map new file mode 100644 index 00000000000000..fb2566bb419b98 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-out-of-bounds-1.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": [1] +} diff --git a/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js b/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js new file mode 100644 index 00000000000000..4216d9a67315a9 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-out-of-bounds-2.js.map diff --git a/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js.map b/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js.map new file mode 100644 index 00000000000000..41371a76a89663 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-out-of-bounds-2.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": [-1] +} diff --git a/test/fixtures/test426/resources/ignore-list-valid-1.js b/test/fixtures/test426/resources/ignore-list-valid-1.js new file mode 100644 index 00000000000000..ea64a5565a6325 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-valid-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-valid-1.js.map diff --git a/test/fixtures/test426/resources/ignore-list-valid-1.js.map b/test/fixtures/test426/resources/ignore-list-valid-1.js.map new file mode 100644 index 00000000000000..98eebdf7f65598 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-valid-1.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": [0] +} diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-1.js b/test/fixtures/test426/resources/ignore-list-wrong-type-1.js new file mode 100644 index 00000000000000..8b40bd38476724 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-wrong-type-1.js.map diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-1.js.map b/test/fixtures/test426/resources/ignore-list-wrong-type-1.js.map new file mode 100644 index 00000000000000..688740aba843fc --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-1.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": ["not a number"] +} diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-2.js b/test/fixtures/test426/resources/ignore-list-wrong-type-2.js new file mode 100644 index 00000000000000..35c77911648ef6 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-wrong-type-2.js.map diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-2.js.map b/test/fixtures/test426/resources/ignore-list-wrong-type-2.js.map new file mode 100644 index 00000000000000..ca1d30de2d3626 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-2.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": ["0"] +} diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-3.js b/test/fixtures/test426/resources/ignore-list-wrong-type-3.js new file mode 100644 index 00000000000000..8735d4175804bf --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-3.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-wrong-type-3.js.map diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-3.js.map b/test/fixtures/test426/resources/ignore-list-wrong-type-3.js.map new file mode 100644 index 00000000000000..1ac167d56c4e74 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-3.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": 0 +} diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-4.js b/test/fixtures/test426/resources/ignore-list-wrong-type-4.js new file mode 100644 index 00000000000000..e42f4698a3ec0e --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-4.js @@ -0,0 +1 @@ +//# sourceMappingURL=ignore-list-wrong-type-4.js.map diff --git a/test/fixtures/test426/resources/ignore-list-wrong-type-4.js.map b/test/fixtures/test426/resources/ignore-list-wrong-type-4.js.map new file mode 100644 index 00000000000000..c1a27efe980dd4 --- /dev/null +++ b/test/fixtures/test426/resources/ignore-list-wrong-type-4.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "", + "names": [], + "ignoreList": [0.5] +} diff --git a/test/fixtures/test426/resources/index-map-empty-sections.js b/test/fixtures/test426/resources/index-map-empty-sections.js new file mode 100644 index 00000000000000..abe9f7f30816c6 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-empty-sections.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-empty-sections.js.map diff --git a/test/fixtures/test426/resources/index-map-empty-sections.js.map b/test/fixtures/test426/resources/index-map-empty-sections.js.map new file mode 100644 index 00000000000000..f3efabbe00c395 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-empty-sections.js.map @@ -0,0 +1,4 @@ +{ + "version": 3, + "sections": [] +} diff --git a/test/fixtures/test426/resources/index-map-file-wrong-type-1.js b/test/fixtures/test426/resources/index-map-file-wrong-type-1.js new file mode 100644 index 00000000000000..48bb12855bf5c4 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-file-wrong-type-1.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=index-map-file-wrong-type-1.js.map diff --git a/test/fixtures/test426/resources/index-map-file-wrong-type-1.js.map b/test/fixtures/test426/resources/index-map-file-wrong-type-1.js.map new file mode 100644 index 00000000000000..dd39b5a2b13c19 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-file-wrong-type-1.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "file": [], + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-file-wrong-type-2.js b/test/fixtures/test426/resources/index-map-file-wrong-type-2.js new file mode 100644 index 00000000000000..c002ba726a51bf --- /dev/null +++ b/test/fixtures/test426/resources/index-map-file-wrong-type-2.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=index-map-file-wrong-type-2.js.map diff --git a/test/fixtures/test426/resources/index-map-file-wrong-type-2.js.map b/test/fixtures/test426/resources/index-map-file-wrong-type-2.js.map new file mode 100644 index 00000000000000..0ee0a406be8d60 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-file-wrong-type-2.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "file": 2345234234, + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-invalid-base-mappings.js b/test/fixtures/test426/resources/index-map-invalid-base-mappings.js new file mode 100644 index 00000000000000..e90bef083c4925 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-base-mappings.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-invalid-base-mappings.js.map diff --git a/test/fixtures/test426/resources/index-map-invalid-base-mappings.js.map b/test/fixtures/test426/resources/index-map-invalid-base-mappings.js.map new file mode 100644 index 00000000000000..4ad1fefe65097b --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-base-mappings.js.map @@ -0,0 +1,16 @@ +{ + "version": 3, + "mappings": "AAAA", + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContnet": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-invalid-order.js b/test/fixtures/test426/resources/index-map-invalid-order.js new file mode 100644 index 00000000000000..263fa3c6e0b92e --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-order.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-invalid-order.js.map diff --git a/test/fixtures/test426/resources/index-map-invalid-order.js.map b/test/fixtures/test426/resources/index-map-invalid-order.js.map new file mode 100644 index 00000000000000..74e0c1d052c4bc --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-order.js.map @@ -0,0 +1,25 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 1, "column": 4 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original-1.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + }, + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original-2.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-invalid-overlap.js b/test/fixtures/test426/resources/index-map-invalid-overlap.js new file mode 100644 index 00000000000000..9aff8dc6203abc --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-overlap.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-invalid-overlap.js.map diff --git a/test/fixtures/test426/resources/index-map-invalid-overlap.js.map b/test/fixtures/test426/resources/index-map-invalid-overlap.js.map new file mode 100644 index 00000000000000..3c08cb7beb59d9 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-overlap.js.map @@ -0,0 +1,25 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original-1.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + }, + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original-2.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-invalid-sub-map.js b/test/fixtures/test426/resources/index-map-invalid-sub-map.js new file mode 100644 index 00000000000000..284e8d77e6591e --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-sub-map.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-invalid-sub-map.js.map diff --git a/test/fixtures/test426/resources/index-map-invalid-sub-map.js.map b/test/fixtures/test426/resources/index-map-invalid-sub-map.js.map new file mode 100644 index 00000000000000..4020ae30c5765b --- /dev/null +++ b/test/fixtures/test426/resources/index-map-invalid-sub-map.js.map @@ -0,0 +1,13 @@ +{ + "version": 3, + "file": "index-map-invalid-sub-map.js", + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": "3", + "mappings": 7 + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-missing-file.js b/test/fixtures/test426/resources/index-map-missing-file.js new file mode 100644 index 00000000000000..be2a93cb77cdee --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-file.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=index-map-missing-file.js.map diff --git a/test/fixtures/test426/resources/index-map-missing-file.js.map b/test/fixtures/test426/resources/index-map-missing-file.js.map new file mode 100644 index 00000000000000..8a6d4b5dc78800 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-file.js.map @@ -0,0 +1,14 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-missing-map.js b/test/fixtures/test426/resources/index-map-missing-map.js new file mode 100644 index 00000000000000..86c8e9a2535ad9 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-map.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-missing-map.js.map diff --git a/test/fixtures/test426/resources/index-map-missing-map.js.map b/test/fixtures/test426/resources/index-map-missing-map.js.map new file mode 100644 index 00000000000000..3bce47e852cfec --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-map.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0, "column": 0 } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-missing-offset-column.js b/test/fixtures/test426/resources/index-map-missing-offset-column.js new file mode 100644 index 00000000000000..fe6917403f1804 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset-column.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-missing-offset-column.js.map diff --git a/test/fixtures/test426/resources/index-map-missing-offset-column.js.map b/test/fixtures/test426/resources/index-map-missing-offset-column.js.map new file mode 100644 index 00000000000000..ae27aa5e62c72d --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset-column.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-missing-offset-line.js b/test/fixtures/test426/resources/index-map-missing-offset-line.js new file mode 100644 index 00000000000000..ba8614e412cef8 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset-line.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-missing-offset-line.js.map diff --git a/test/fixtures/test426/resources/index-map-missing-offset-line.js.map b/test/fixtures/test426/resources/index-map-missing-offset-line.js.map new file mode 100644 index 00000000000000..7b128e96b0b7cb --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset-line.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-missing-offset.js b/test/fixtures/test426/resources/index-map-missing-offset.js new file mode 100644 index 00000000000000..9ca2cf3fb5159d --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-missing-offset.js.map diff --git a/test/fixtures/test426/resources/index-map-missing-offset.js.map b/test/fixtures/test426/resources/index-map-missing-offset.js.map new file mode 100644 index 00000000000000..7737595d848cd6 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-missing-offset.js.map @@ -0,0 +1,14 @@ +{ + "version": 3, + "sections": [ + { + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js b/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js new file mode 100644 index 00000000000000..ed1e9ec5d5b8a6 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-offset-column-wrong-type.js.map diff --git a/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js.map b/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js.map new file mode 100644 index 00000000000000..6ea11758c1e448 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-offset-column-wrong-type.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0, "column": true }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js b/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js new file mode 100644 index 00000000000000..d58f2aff993e6e --- /dev/null +++ b/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-offset-line-wrong-type.js.map diff --git a/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js.map b/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js.map new file mode 100644 index 00000000000000..d48b2f43f16b21 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-offset-line-wrong-type.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": true, "column": 0 }, + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-two-concatenated-sources.js b/test/fixtures/test426/resources/index-map-two-concatenated-sources.js new file mode 100644 index 00000000000000..b8702d7187c925 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-two-concatenated-sources.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar();function baz(){return"baz"}baz(); +//# sourceMappingURL=index-map-two-concatenated-sources.js.map diff --git a/test/fixtures/test426/resources/index-map-two-concatenated-sources.js.map b/test/fixtures/test426/resources/index-map-two-concatenated-sources.js.map new file mode 100644 index 00000000000000..f67f5de3c5d8c3 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-two-concatenated-sources.js.map @@ -0,0 +1,24 @@ +{ + "version": 3, + "file": "index-map-two-concatenated-sources.js", + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": { + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" + } + }, + { + "offset": { "line": 0, "column": 62 }, + "map": { + "version": 3, + "names": ["baz"], + "sources": ["second-source-original.js"], + "mappings":"AAAA,SAASA,MACP,MAAO,KACT,CACAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-wrong-type-map.js b/test/fixtures/test426/resources/index-map-wrong-type-map.js new file mode 100644 index 00000000000000..d31d6d6358b493 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-map.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-wrong-type-map.js.map diff --git a/test/fixtures/test426/resources/index-map-wrong-type-map.js.map b/test/fixtures/test426/resources/index-map-wrong-type-map.js.map new file mode 100644 index 00000000000000..0963f623d761a9 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-map.js.map @@ -0,0 +1,9 @@ +{ + "version": 3, + "sections": [ + { + "offset": { "line": 0, "column": 0 }, + "map": "not a map" + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-wrong-type-offset.js b/test/fixtures/test426/resources/index-map-wrong-type-offset.js new file mode 100644 index 00000000000000..048e1246f8b01b --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-offset.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-wrong-type-offset.js.map diff --git a/test/fixtures/test426/resources/index-map-wrong-type-offset.js.map b/test/fixtures/test426/resources/index-map-wrong-type-offset.js.map new file mode 100644 index 00000000000000..645278c3b4755a --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-offset.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sections": [ + { + "offset": "not an offset", + "map": { + "version": 3, + "names": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAA" + } + } + ] +} diff --git a/test/fixtures/test426/resources/index-map-wrong-type-sections.js b/test/fixtures/test426/resources/index-map-wrong-type-sections.js new file mode 100644 index 00000000000000..011eca806ed600 --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-sections.js @@ -0,0 +1 @@ +//# sourceMappingURL=index-map-wrong-type-sections.js.map diff --git a/test/fixtures/test426/resources/index-map-wrong-type-sections.js.map b/test/fixtures/test426/resources/index-map-wrong-type-sections.js.map new file mode 100644 index 00000000000000..dbfb4ead3001fb --- /dev/null +++ b/test/fixtures/test426/resources/index-map-wrong-type-sections.js.map @@ -0,0 +1,4 @@ +{ + "version": 3, + "sections": "not a sections list" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-bad-separator.js b/test/fixtures/test426/resources/invalid-mapping-bad-separator.js new file mode 100644 index 00000000000000..25338aca30cefd --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-bad-separator.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=invalid-mapping-bad-separator.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-bad-separator.js.map b/test/fixtures/test426/resources/invalid-mapping-bad-separator.js.map new file mode 100644 index 00000000000000..5f4f5b92330a6b --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-bad-separator.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAAA.SAASA:MACP" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js b/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js new file mode 100644 index 00000000000000..cb38e2fe9d7b1d --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-not-a-string-1.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js.map b/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js.map new file mode 100644 index 00000000000000..73d74bef42e202 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-not-a-string-1.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-not-a-string-1.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": 5 +} diff --git a/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js b/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js new file mode 100644 index 00000000000000..3d84abd6c6b480 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-not-a-string-2.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js.map b/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js.map new file mode 100644 index 00000000000000..3143cbce170b9e --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-not-a-string-2.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-not-a-string-2.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": [1, 2, 3, 4] +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js b/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js new file mode 100644 index 00000000000000..55591f874b1b9e --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-column-too-large.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js.map new file mode 100644 index 00000000000000..96b3ce97dcb271 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-column-too-large.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-column-too-large.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "ggggggE" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js new file mode 100644 index 00000000000000..2a6b434eff5819 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-name-index-out-of-bounds.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map new file mode 100644 index 00000000000000..3efb8da9abbaa6 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": ["foo"], + "file": "invalid-mapping-segment-name-index-out-of-bounds.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAAC" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js new file mode 100644 index 00000000000000..709e34dbd326a0 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-name-index-too-large.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js.map new file mode 100644 index 00000000000000..1d44bb8300f7c0 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-name-index-too-large.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-name-index-too-large.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAAggggggE" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js new file mode 100644 index 00000000000000..a202152d6fdf29 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-column.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js.map new file mode 100644 index 00000000000000..bb7e887dc05f4a --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-column.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-column.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "F" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js new file mode 100644 index 00000000000000..3e3f6342046785 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-name-index.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js.map new file mode 100644 index 00000000000000..5197ab23b1d2cd --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-name-index.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-name-index.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAAF" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js new file mode 100644 index 00000000000000..f21d5342b395a8 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-original-column.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js.map new file mode 100644 index 00000000000000..4a76cb3e390636 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-column.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-original-column.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAF" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js new file mode 100644 index 00000000000000..b37309601ce013 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-original-line.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js.map new file mode 100644 index 00000000000000..40170361b5ddf8 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-original-line.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-original-line.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAFA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js new file mode 100644 index 00000000000000..94b835d6877c07 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-relative-column.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js.map new file mode 100644 index 00000000000000..414884072b55a5 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-column.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-relative-column.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "C,F" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js new file mode 100644 index 00000000000000..c965c5f011f584 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-relative-name-index.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js.map new file mode 100644 index 00000000000000..1fbbcfcd323e5f --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-name-index.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-relative-name-index.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAAC,AAAAF" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js new file mode 100644 index 00000000000000..493a6ec88a391a --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-column.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js.map new file mode 100644 index 00000000000000..7e62895651fa30 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-column.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-relative-original-column.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAC,AAAF" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js new file mode 100644 index 00000000000000..ca8329fb98f02a --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-line.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js.map new file mode 100644 index 00000000000000..86b0fb3a04cc3d --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-original-line.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-relative-original-line.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AACA,AAFA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js new file mode 100644 index 00000000000000..fa92225b096325 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-relative-source-index.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js.map new file mode 100644 index 00000000000000..2efeb047db618e --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-relative-source-index.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-relative-source-index.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "ACAA,AFAA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js b/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js new file mode 100644 index 00000000000000..6e05849b6a0354 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-negative-source-index.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js.map new file mode 100644 index 00000000000000..ed835d8007ca68 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-negative-source-index.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-negative-source-index.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AFAA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js b/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js new file mode 100644 index 00000000000000..0936ed7ea8fdd4 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-original-column-too-large.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js.map new file mode 100644 index 00000000000000..8dee1df731c241 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-original-column-too-large.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-original-column-too-large.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAAggggggE" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js b/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js new file mode 100644 index 00000000000000..9b3aa5a361ae96 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-original-line-too-large.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js.map new file mode 100644 index 00000000000000..8ee6fea9c8350a --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-original-line-too-large.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-original-line-too-large.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AAggggggEA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js new file mode 100644 index 00000000000000..2e5fbca26825ae --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-source-index-out-of-bounds.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map new file mode 100644 index 00000000000000..fec001a67329e8 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-source-index-out-of-bounds.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "ACAA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js new file mode 100644 index 00000000000000..3f4943e1272d01 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-source-index-too-large.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js.map new file mode 100644 index 00000000000000..555489fa65701f --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-source-index-too-large.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-source-index-too-large.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "AggggggEAA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js b/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js new file mode 100644 index 00000000000000..ad452d96af8286 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=invalid-mapping-segment-with-three-fields.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js.map new file mode 100644 index 00000000000000..c2af1165ad8f1f --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-three-fields.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AAA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js b/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js new file mode 100644 index 00000000000000..04c520b47877a1 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=invalid-mapping-segment-with-two-fields.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js.map new file mode 100644 index 00000000000000..73cf00fa1c9606 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-two-fields.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "names": ["foo","bar"], + "sources": ["basic-mapping-original.js"], + "mappings": "AA" +} diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js b/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js new file mode 100644 index 00000000000000..cf627825a581f0 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-mapping-segment-with-zero-fields.js.map diff --git a/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js.map b/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js.map new file mode 100644 index 00000000000000..fb8e7cff64c376 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-mapping-segment-with-zero-fields.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "invalid-mapping-segment-with-zero-fields.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": ",,,," +} diff --git a/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js b/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js new file mode 100644 index 00000000000000..2c2a0090aca613 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-vlq-missing-continuation.js.map diff --git a/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js.map b/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js.map new file mode 100644 index 00000000000000..dd0e363ff47354 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-missing-continuation.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": [], + "names": [], + "mappings": "g" +} diff --git a/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js b/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js new file mode 100644 index 00000000000000..557cb6aed3b262 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-vlq-non-base64-char-padding.js.map diff --git a/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js.map b/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js.map new file mode 100644 index 00000000000000..b439caabc88143 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-non-base64-char-padding.js.map @@ -0,0 +1,7 @@ +{ + "version" : 3, + "sources": ["foo.js"], + "sourcesContent": ["hello world"], + "names": [], + "mappings": ";;A=" +} diff --git a/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js b/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js new file mode 100644 index 00000000000000..d1b20b41a29fc5 --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js @@ -0,0 +1 @@ +//# sourceMappingURL=invalid-vlq-non-base64-char.js.map diff --git a/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js.map b/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js.map new file mode 100644 index 00000000000000..4fa1ac5768853e --- /dev/null +++ b/test/fixtures/test426/resources/invalid-vlq-non-base64-char.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": [], + "names": [], + "mappings": "A$%?!" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-column-reset.js b/test/fixtures/test426/resources/mapping-semantics-column-reset.js new file mode 100644 index 00000000000000..b64482d0984324 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-column-reset.js @@ -0,0 +1,3 @@ + foo + bar +//# sourceMappingURL=mapping-semantics-column-reset.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-column-reset.js.map b/test/fixtures/test426/resources/mapping-semantics-column-reset.js.map new file mode 100644 index 00000000000000..97bc9b91a43d51 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-column-reset.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["mapping-semantics-column-reset-original.js"], + "sourcesContent": ["foo\nbar"], + "mappings": "CAAA;CACA" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js b/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js new file mode 100644 index 00000000000000..0f6602d61503c5 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js @@ -0,0 +1,2 @@ +foo +//# sourceMappingURL=mapping-semantics-five-field-segment.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js.map b/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js.map new file mode 100644 index 00000000000000..d0504f511dad2d --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-five-field-segment.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": ["foo"], + "sources": ["unused", "mapping-semantics-five-field-segment-original.js"], + "sourcesContent": ["", "\n\n foo"], + "mappings": "CCEEA" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js b/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js new file mode 100644 index 00000000000000..3dcbee9294c0b4 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js @@ -0,0 +1,2 @@ +foo +//# sourceMappingURL=mapping-semantics-four-field-segment.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js.map b/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js.map new file mode 100644 index 00000000000000..9e01ac4b6c58f8 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-four-field-segment.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["unused", "mapping-semantics-four-field-segment-original.js"], + "sourcesContent": ["", "\n\n foo"], + "mappings": "CCEE" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-relative-1.js b/test/fixtures/test426/resources/mapping-semantics-relative-1.js new file mode 100644 index 00000000000000..281870cc50e772 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-relative-1.js @@ -0,0 +1,2 @@ + 42; 24; +//# sourceMappingURL=mapping-semantics-relative-1.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-relative-1.js.map b/test/fixtures/test426/resources/mapping-semantics-relative-1.js.map new file mode 100644 index 00000000000000..6570031f8983f4 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-relative-1.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["unused", "mapping-semantics-relative-1-original.js"], + "sourcesContent": ["", "42; 24;"], + "mappings": "CCAA,IAAI" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-relative-2.js b/test/fixtures/test426/resources/mapping-semantics-relative-2.js new file mode 100644 index 00000000000000..f4bff1c75bccef --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-relative-2.js @@ -0,0 +1,3 @@ + foo + bar +//# sourceMappingURL=mapping-semantics-relative-2.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-relative-2.js.map b/test/fixtures/test426/resources/mapping-semantics-relative-2.js.map new file mode 100644 index 00000000000000..d6845233f91207 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-relative-2.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": ["foo", "bar"], + "sources": ["unused", "mapping-semantics-relative-2-original.js"], + "sourcesContent": ["", " foo\n bar"], + "mappings": "CCAEA;EACAC" +} diff --git a/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js b/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js new file mode 100644 index 00000000000000..ca06b7c58d8847 --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js @@ -0,0 +1,2 @@ + 3 +//# sourceMappingURL=mapping-semantics-single-field-segment.js.map diff --git a/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js.map b/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js.map new file mode 100644 index 00000000000000..8260d63085d79b --- /dev/null +++ b/test/fixtures/test426/resources/mapping-semantics-single-field-segment.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["mapping-semantics-single-field-segment-original.js"], + "sourcesContent": ["3 3"], + "mappings": "AAAC,E" +} diff --git a/test/fixtures/test426/resources/mappings-missing.js b/test/fixtures/test426/resources/mappings-missing.js new file mode 100644 index 00000000000000..07a8361e8fcae9 --- /dev/null +++ b/test/fixtures/test426/resources/mappings-missing.js @@ -0,0 +1 @@ +//# sourceMappingURL=mappings-missing.js.map diff --git a/test/fixtures/test426/resources/mappings-missing.js.map b/test/fixtures/test426/resources/mappings-missing.js.map new file mode 100644 index 00000000000000..7a60084729612d --- /dev/null +++ b/test/fixtures/test426/resources/mappings-missing.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "names": ["foo"], + "sources": ["1.js"], + "sourcesContent": ["hello world"] +} diff --git a/test/fixtures/test426/resources/names-missing.js b/test/fixtures/test426/resources/names-missing.js new file mode 100644 index 00000000000000..58781fd88705d3 --- /dev/null +++ b/test/fixtures/test426/resources/names-missing.js @@ -0,0 +1 @@ +//# sourceMappingURL=names-missing.js.map diff --git a/test/fixtures/test426/resources/names-missing.js.map b/test/fixtures/test426/resources/names-missing.js.map new file mode 100644 index 00000000000000..475f4e309b2641 --- /dev/null +++ b/test/fixtures/test426/resources/names-missing.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": ["empty-original.js"], + "sourcesContent" : [""], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/names-not-a-list-1.js b/test/fixtures/test426/resources/names-not-a-list-1.js new file mode 100644 index 00000000000000..dc65f1972b5a87 --- /dev/null +++ b/test/fixtures/test426/resources/names-not-a-list-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=names-not-a-list-1.js.map diff --git a/test/fixtures/test426/resources/names-not-a-list-1.js.map b/test/fixtures/test426/resources/names-not-a-list-1.js.map new file mode 100644 index 00000000000000..fe1edaeb96ad90 --- /dev/null +++ b/test/fixtures/test426/resources/names-not-a-list-1.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": ["source.js"], + "names": "not a list", + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/names-not-a-list-2.js b/test/fixtures/test426/resources/names-not-a-list-2.js new file mode 100644 index 00000000000000..d7251f78da8457 --- /dev/null +++ b/test/fixtures/test426/resources/names-not-a-list-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=names-not-a-list-2.js.map diff --git a/test/fixtures/test426/resources/names-not-a-list-2.js.map b/test/fixtures/test426/resources/names-not-a-list-2.js.map new file mode 100644 index 00000000000000..3388d2bb7109d0 --- /dev/null +++ b/test/fixtures/test426/resources/names-not-a-list-2.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": ["source.js"], + "names": { "foo": 3 }, + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/names-not-string.js b/test/fixtures/test426/resources/names-not-string.js new file mode 100644 index 00000000000000..8dc7b4811a3e91 --- /dev/null +++ b/test/fixtures/test426/resources/names-not-string.js @@ -0,0 +1 @@ +//# sourceMappingURL=names-not-string.js.map diff --git a/test/fixtures/test426/resources/names-not-string.js.map b/test/fixtures/test426/resources/names-not-string.js.map new file mode 100644 index 00000000000000..c0feb0739aecff --- /dev/null +++ b/test/fixtures/test426/resources/names-not-string.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": ["source.js"], + "names": [null, 3, true, false, {}, []], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/second-source-original.js b/test/fixtures/test426/resources/second-source-original.js new file mode 100644 index 00000000000000..c339bc9d15daa0 --- /dev/null +++ b/test/fixtures/test426/resources/second-source-original.js @@ -0,0 +1,4 @@ +function baz() { + return "baz"; +} +baz(); diff --git a/test/fixtures/test426/resources/source-resolution-absolute-url.js b/test/fixtures/test426/resources/source-resolution-absolute-url.js new file mode 100644 index 00000000000000..7ab34b6bd0fac9 --- /dev/null +++ b/test/fixtures/test426/resources/source-resolution-absolute-url.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=source-resolution-absolute-url.js.map diff --git a/test/fixtures/test426/resources/source-resolution-absolute-url.js.map b/test/fixtures/test426/resources/source-resolution-absolute-url.js.map new file mode 100644 index 00000000000000..195dc42ecea399 --- /dev/null +++ b/test/fixtures/test426/resources/source-resolution-absolute-url.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "file": "source-root-resolution.js", + "names": ["foo", "bar"], + "sources": ["/baz/quux/basic-mapping-original.js"], + "sourcesContent": ["function foo() {\nreturn 42;\n }\n function bar() {\n return 24;\n }\n foo();\n bar();"], + "mappings": "AAAA,SAASA" +} diff --git a/test/fixtures/test426/resources/source-root-not-a-string-1.js b/test/fixtures/test426/resources/source-root-not-a-string-1.js new file mode 100644 index 00000000000000..f176f3143a4adf --- /dev/null +++ b/test/fixtures/test426/resources/source-root-not-a-string-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=source-root-not-a-string-1.js.map diff --git a/test/fixtures/test426/resources/source-root-not-a-string-1.js.map b/test/fixtures/test426/resources/source-root-not-a-string-1.js.map new file mode 100644 index 00000000000000..e297f5c03e5096 --- /dev/null +++ b/test/fixtures/test426/resources/source-root-not-a-string-1.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sourceRoot": [], + "sources": ["empty-original.js"], + "sourcesContent": [""], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/source-root-not-a-string-2.js b/test/fixtures/test426/resources/source-root-not-a-string-2.js new file mode 100644 index 00000000000000..e7e6d9547825e6 --- /dev/null +++ b/test/fixtures/test426/resources/source-root-not-a-string-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=source-root-not-a-string-2.js.map diff --git a/test/fixtures/test426/resources/source-root-not-a-string-2.js.map b/test/fixtures/test426/resources/source-root-not-a-string-2.js.map new file mode 100644 index 00000000000000..d5705ebfb8e982 --- /dev/null +++ b/test/fixtures/test426/resources/source-root-not-a-string-2.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sourceRoot": -10923409, + "sources": ["empty-original.js"], + "sourcesContent": [""], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/source-root-resolution.js b/test/fixtures/test426/resources/source-root-resolution.js new file mode 100644 index 00000000000000..15a1a4c95026b0 --- /dev/null +++ b/test/fixtures/test426/resources/source-root-resolution.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=source-root-resolution.js.map diff --git a/test/fixtures/test426/resources/source-root-resolution.js.map b/test/fixtures/test426/resources/source-root-resolution.js.map new file mode 100644 index 00000000000000..52fc9a23793f7c --- /dev/null +++ b/test/fixtures/test426/resources/source-root-resolution.js.map @@ -0,0 +1,9 @@ +{ + "version": 3, + "sourceRoot": "theroot", + "file": "source-root-resolution.js", + "names": ["foo", "bar"], + "sources": ["basic-mapping-original.js"], + "sourcesContent": ["function foo() {\n return 42;\n }\n function bar() {\n return 24;\n }\n foo();\n bar();"], + "mappings": "AAAA,SAASA" +} diff --git a/test/fixtures/test426/resources/sources-and-sources-content-both-null.js b/test/fixtures/test426/resources/sources-and-sources-content-both-null.js new file mode 100644 index 00000000000000..9263eba549f5b6 --- /dev/null +++ b/test/fixtures/test426/resources/sources-and-sources-content-both-null.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-and-sources-content-both-null.js.map diff --git a/test/fixtures/test426/resources/sources-and-sources-content-both-null.js.map b/test/fixtures/test426/resources/sources-and-sources-content-both-null.js.map new file mode 100644 index 00000000000000..09a7c1f3698ce6 --- /dev/null +++ b/test/fixtures/test426/resources/sources-and-sources-content-both-null.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": ["foo"], + "sources": [null], + "sourcesContent": [null], + "mappings":"AAAA,SAASA" +} diff --git a/test/fixtures/test426/resources/sources-content-missing.js b/test/fixtures/test426/resources/sources-content-missing.js new file mode 100644 index 00000000000000..c97d9f133a590d --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-missing.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-content-missing.js.map diff --git a/test/fixtures/test426/resources/sources-content-missing.js.map b/test/fixtures/test426/resources/sources-content-missing.js.map new file mode 100644 index 00000000000000..fa7922f5c783fe --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-missing.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "names": ["foo"], + "sources": ["basic-mapping-original.js"], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/sources-content-not-a-list-1.js b/test/fixtures/test426/resources/sources-content-not-a-list-1.js new file mode 100644 index 00000000000000..5395f8b6fbe655 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-a-list-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-content-not-a-list-1.js.map diff --git a/test/fixtures/test426/resources/sources-content-not-a-list-1.js.map b/test/fixtures/test426/resources/sources-content-not-a-list-1.js.map new file mode 100644 index 00000000000000..3710f95111b755 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-a-list-1.js.map @@ -0,0 +1,7 @@ +{ + "version" : 3, + "sources": ["first.js"], + "sourcesContent": "not a list", + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-content-not-a-list-2.js b/test/fixtures/test426/resources/sources-content-not-a-list-2.js new file mode 100644 index 00000000000000..0ccc4aa460af30 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-a-list-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-content-not-a-list-2.js.map diff --git a/test/fixtures/test426/resources/sources-content-not-a-list-2.js.map b/test/fixtures/test426/resources/sources-content-not-a-list-2.js.map new file mode 100644 index 00000000000000..ab9ae257c1f9e4 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-a-list-2.js.map @@ -0,0 +1,7 @@ +{ + "version" : 3, + "sources": ["first.js"], + "sourcesContent": { "foobar baz": 3 }, + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-content-not-string-or-null.js b/test/fixtures/test426/resources/sources-content-not-string-or-null.js new file mode 100644 index 00000000000000..480b4ba7403f88 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-string-or-null.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-content-not-string-or-null.js.map diff --git a/test/fixtures/test426/resources/sources-content-not-string-or-null.js.map b/test/fixtures/test426/resources/sources-content-not-string-or-null.js.map new file mode 100644 index 00000000000000..6e6c2517150b96 --- /dev/null +++ b/test/fixtures/test426/resources/sources-content-not-string-or-null.js.map @@ -0,0 +1,7 @@ +{ + "version" : 3, + "sources": ["1.js", "2.js", "3.js", "4.js", "5.js"], + "sourcesContent": [3, {}, true, false, []], + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-missing.js b/test/fixtures/test426/resources/sources-missing.js new file mode 100644 index 00000000000000..779b865e2769ad --- /dev/null +++ b/test/fixtures/test426/resources/sources-missing.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-missing.js.map diff --git a/test/fixtures/test426/resources/sources-missing.js.map b/test/fixtures/test426/resources/sources-missing.js.map new file mode 100644 index 00000000000000..92aff4fb0e74b1 --- /dev/null +++ b/test/fixtures/test426/resources/sources-missing.js.map @@ -0,0 +1,5 @@ +{ + "version" : 3, + "names": ["foo"], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/sources-non-null-sources-content-null.js b/test/fixtures/test426/resources/sources-non-null-sources-content-null.js new file mode 100644 index 00000000000000..939b568ba14251 --- /dev/null +++ b/test/fixtures/test426/resources/sources-non-null-sources-content-null.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=sources-non-null-sources-content-null.js.map diff --git a/test/fixtures/test426/resources/sources-non-null-sources-content-null.js.map b/test/fixtures/test426/resources/sources-non-null-sources-content-null.js.map new file mode 100644 index 00000000000000..e573906b2d7144 --- /dev/null +++ b/test/fixtures/test426/resources/sources-non-null-sources-content-null.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": ["foo"], + "sources": ["basic-mapping-original.js"], + "sourcesContent": [null], + "mappings":"AAAA,SAASA" +} diff --git a/test/fixtures/test426/resources/sources-not-a-list-1.js b/test/fixtures/test426/resources/sources-not-a-list-1.js new file mode 100644 index 00000000000000..7e33b7e8672535 --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-a-list-1.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-not-a-list-1.js.map diff --git a/test/fixtures/test426/resources/sources-not-a-list-1.js.map b/test/fixtures/test426/resources/sources-not-a-list-1.js.map new file mode 100644 index 00000000000000..26330517b9884f --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-a-list-1.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": "not a list", + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-not-a-list-2.js b/test/fixtures/test426/resources/sources-not-a-list-2.js new file mode 100644 index 00000000000000..4021f763fc880b --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-a-list-2.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-not-a-list-2.js.map diff --git a/test/fixtures/test426/resources/sources-not-a-list-2.js.map b/test/fixtures/test426/resources/sources-not-a-list-2.js.map new file mode 100644 index 00000000000000..2ed85962fddf31 --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-a-list-2.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": { "source.js": 3 }, + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-not-string-or-null.js b/test/fixtures/test426/resources/sources-not-string-or-null.js new file mode 100644 index 00000000000000..7dca97a1dab557 --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-string-or-null.js @@ -0,0 +1 @@ +//# sourceMappingURL=sources-not-string-or-null.js.map diff --git a/test/fixtures/test426/resources/sources-not-string-or-null.js.map b/test/fixtures/test426/resources/sources-not-string-or-null.js.map new file mode 100644 index 00000000000000..db25561966056d --- /dev/null +++ b/test/fixtures/test426/resources/sources-not-string-or-null.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": [3, {}, true, false, []], + "names": ["foo"], + "mappings": "AAAAA" +} diff --git a/test/fixtures/test426/resources/sources-null-sources-content-non-null.js b/test/fixtures/test426/resources/sources-null-sources-content-non-null.js new file mode 100644 index 00000000000000..a760594ee9bd13 --- /dev/null +++ b/test/fixtures/test426/resources/sources-null-sources-content-non-null.js @@ -0,0 +1,2 @@ +function foo(){return 42}function bar(){return 24}foo();bar(); +//# sourceMappingURL=sources-null-sources-content-non-null.js.map diff --git a/test/fixtures/test426/resources/sources-null-sources-content-non-null.js.map b/test/fixtures/test426/resources/sources-null-sources-content-non-null.js.map new file mode 100644 index 00000000000000..43af03903f64f8 --- /dev/null +++ b/test/fixtures/test426/resources/sources-null-sources-content-non-null.js.map @@ -0,0 +1,7 @@ +{ + "version":3, + "names": ["foo"], + "sources": [null], + "sourcesContent": ["function foo()\n{ return 42; }\nfunction bar()\n { return 24; }\nfoo();\nbar();"], + "mappings":"AAAA,SAASA" +} diff --git a/test/fixtures/test426/resources/transitive-mapping-original.js b/test/fixtures/test426/resources/transitive-mapping-original.js new file mode 100644 index 00000000000000..0a96699d6e2540 --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping-original.js @@ -0,0 +1,5 @@ +function foo(x) { + return x; +} +foo("foo"); +//# sourceMappingURL=transitive-mapping-original.js.map diff --git a/test/fixtures/test426/resources/transitive-mapping-original.js.map b/test/fixtures/test426/resources/transitive-mapping-original.js.map new file mode 100644 index 00000000000000..65af25c1ebbe4c --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping-original.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "file" : "transitive-mapping-original.js", + "sourceRoot": "", + "sources": ["typescript-original.ts"], + "names": [], + "mappings": "AACA,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,GAAG,CAAC,KAAK,CAAC,CAAC" +} diff --git a/test/fixtures/test426/resources/transitive-mapping-three-steps.js b/test/fixtures/test426/resources/transitive-mapping-three-steps.js new file mode 100644 index 00000000000000..fd956164d34906 --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping-three-steps.js @@ -0,0 +1,6 @@ +function foo(x) { + return x; +} + +foo("foo"); +//# sourceMappingURL=transitive-mapping-three-steps.js.map diff --git a/test/fixtures/test426/resources/transitive-mapping-three-steps.js.map b/test/fixtures/test426/resources/transitive-mapping-three-steps.js.map new file mode 100644 index 00000000000000..90459d90f6a0ea --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping-three-steps.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "file": "transitive-mapping-three-steps.js", + "sources": ["transitive-mapping.js"], + "names": ["foo", "x"], + "mappings": "AAAA,SAASA,IAAIC;IAAG,OAAOA;AAAC;;AAACD,IAAI,KAAK" +} diff --git a/test/fixtures/test426/resources/transitive-mapping.js b/test/fixtures/test426/resources/transitive-mapping.js new file mode 100644 index 00000000000000..183c027f1bb81e --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping.js @@ -0,0 +1,2 @@ +function foo(x){return x}foo("foo"); +//# sourceMappingURL=transitive-mapping.js.map diff --git a/test/fixtures/test426/resources/transitive-mapping.js.map b/test/fixtures/test426/resources/transitive-mapping.js.map new file mode 100644 index 00000000000000..d6a6fa6672d483 --- /dev/null +++ b/test/fixtures/test426/resources/transitive-mapping.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "names": ["foo","x"], + "sources": ["transitive-mapping-original.js"], + "mappings":"AAAA,SAASA,IAAIC,GACT,OAAOA,CACX,CACAD,IAAI" +} diff --git a/test/fixtures/test426/resources/typescript-original.ts b/test/fixtures/test426/resources/typescript-original.ts new file mode 100644 index 00000000000000..cd51c01ba1297e --- /dev/null +++ b/test/fixtures/test426/resources/typescript-original.ts @@ -0,0 +1,5 @@ +type FooArg = string | number; +function foo(x : FooArg) { + return x; +} +foo("foo"); diff --git a/test/fixtures/test426/resources/unrecognized-property.js b/test/fixtures/test426/resources/unrecognized-property.js new file mode 100644 index 00000000000000..19dfb0e2e6c7c1 --- /dev/null +++ b/test/fixtures/test426/resources/unrecognized-property.js @@ -0,0 +1 @@ +//# sourceMappingURL=unrecognized-property.js.map diff --git a/test/fixtures/test426/resources/unrecognized-property.js.map b/test/fixtures/test426/resources/unrecognized-property.js.map new file mode 100644 index 00000000000000..40bee558a4ff92 --- /dev/null +++ b/test/fixtures/test426/resources/unrecognized-property.js.map @@ -0,0 +1,8 @@ +{ + "version" : 3, + "sources": [], + "names": [], + "mappings": "", + "foobar": 42, + "unusedProperty": [1, 2, 3, 4] +} diff --git a/test/fixtures/test426/resources/valid-mapping-boundary-values.js b/test/fixtures/test426/resources/valid-mapping-boundary-values.js new file mode 100644 index 00000000000000..3c49709e05ac02 --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-boundary-values.js @@ -0,0 +1 @@ +//# sourceMappingURL=valid-mapping-boundary-values.js.map diff --git a/test/fixtures/test426/resources/valid-mapping-boundary-values.js.map b/test/fixtures/test426/resources/valid-mapping-boundary-values.js.map new file mode 100644 index 00000000000000..39943bc891655e --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-boundary-values.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": ["foo"], + "file": "valid-mapping-boundary-values.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "+/////DA+/////D+/////DA" +} diff --git a/test/fixtures/test426/resources/valid-mapping-empty-groups.js b/test/fixtures/test426/resources/valid-mapping-empty-groups.js new file mode 100644 index 00000000000000..a2b767b619a03c --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-empty-groups.js @@ -0,0 +1 @@ +//# sourceMappingURL=valid-mapping-empty-groups.js.map diff --git a/test/fixtures/test426/resources/valid-mapping-empty-groups.js.map b/test/fixtures/test426/resources/valid-mapping-empty-groups.js.map new file mode 100644 index 00000000000000..643c9ae78481a9 --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-empty-groups.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "valid-mapping-empty-groups.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" +} diff --git a/test/fixtures/test426/resources/valid-mapping-empty-string.js b/test/fixtures/test426/resources/valid-mapping-empty-string.js new file mode 100644 index 00000000000000..83fc1bf3ac7314 --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-empty-string.js @@ -0,0 +1 @@ +//# sourceMappingURL=valid-mapping-empty-string.js.map diff --git a/test/fixtures/test426/resources/valid-mapping-empty-string.js.map b/test/fixtures/test426/resources/valid-mapping-empty-string.js.map new file mode 100644 index 00000000000000..a35268d8f5b88b --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-empty-string.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "names": [], + "file": "valid-mapping-empty-string.js", + "sources": ["empty-original.js"], + "sourcesContent": [""], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/valid-mapping-large-vlq.js b/test/fixtures/test426/resources/valid-mapping-large-vlq.js new file mode 100644 index 00000000000000..b0cd8978132af3 --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-large-vlq.js @@ -0,0 +1 @@ +//# sourceMappingURL=valid-mapping-large-vlq.js.map diff --git a/test/fixtures/test426/resources/valid-mapping-large-vlq.js.map b/test/fixtures/test426/resources/valid-mapping-large-vlq.js.map new file mode 100644 index 00000000000000..76e18704c4b1a2 --- /dev/null +++ b/test/fixtures/test426/resources/valid-mapping-large-vlq.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "names": [], + "sources": ["valid-mapping-large-vlq.js"], + "mappings": "igggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggA" +} diff --git a/test/fixtures/test426/resources/version-missing.js b/test/fixtures/test426/resources/version-missing.js new file mode 100644 index 00000000000000..c32d1f1a1cc682 --- /dev/null +++ b/test/fixtures/test426/resources/version-missing.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-missing.js.map diff --git a/test/fixtures/test426/resources/version-missing.js.map b/test/fixtures/test426/resources/version-missing.js.map new file mode 100644 index 00000000000000..49d8ce766edb9f --- /dev/null +++ b/test/fixtures/test426/resources/version-missing.js.map @@ -0,0 +1,5 @@ +{ + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/version-not-a-number.js b/test/fixtures/test426/resources/version-not-a-number.js new file mode 100644 index 00000000000000..ae2342e2ffe510 --- /dev/null +++ b/test/fixtures/test426/resources/version-not-a-number.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-not-a-number.js.map diff --git a/test/fixtures/test426/resources/version-not-a-number.js.map b/test/fixtures/test426/resources/version-not-a-number.js.map new file mode 100644 index 00000000000000..a584d6e6951171 --- /dev/null +++ b/test/fixtures/test426/resources/version-not-a-number.js.map @@ -0,0 +1,6 @@ +{ + "version" : "3foo", + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/version-numeric-string.js b/test/fixtures/test426/resources/version-numeric-string.js new file mode 100644 index 00000000000000..a55170885da6dc --- /dev/null +++ b/test/fixtures/test426/resources/version-numeric-string.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-numeric-string.js.map diff --git a/test/fixtures/test426/resources/version-numeric-string.js.map b/test/fixtures/test426/resources/version-numeric-string.js.map new file mode 100644 index 00000000000000..dbe52a7d0df69a --- /dev/null +++ b/test/fixtures/test426/resources/version-numeric-string.js.map @@ -0,0 +1,6 @@ +{ + "version" : "3", + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/version-too-high.js b/test/fixtures/test426/resources/version-too-high.js new file mode 100644 index 00000000000000..55f4e1a298fad7 --- /dev/null +++ b/test/fixtures/test426/resources/version-too-high.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-too-high.js.map diff --git a/test/fixtures/test426/resources/version-too-high.js.map b/test/fixtures/test426/resources/version-too-high.js.map new file mode 100644 index 00000000000000..ee23be32ff278f --- /dev/null +++ b/test/fixtures/test426/resources/version-too-high.js.map @@ -0,0 +1,6 @@ +{ + "version" : 4, + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/version-too-low.js b/test/fixtures/test426/resources/version-too-low.js new file mode 100644 index 00000000000000..d9642920b31345 --- /dev/null +++ b/test/fixtures/test426/resources/version-too-low.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-too-low.js.map diff --git a/test/fixtures/test426/resources/version-too-low.js.map b/test/fixtures/test426/resources/version-too-low.js.map new file mode 100644 index 00000000000000..64ca7a6e2e9282 --- /dev/null +++ b/test/fixtures/test426/resources/version-too-low.js.map @@ -0,0 +1,6 @@ +{ + "version" : 2, + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/version-valid.js b/test/fixtures/test426/resources/version-valid.js new file mode 100644 index 00000000000000..82d0bfa1eb2a17 --- /dev/null +++ b/test/fixtures/test426/resources/version-valid.js @@ -0,0 +1 @@ +//# sourceMappingURL=version-valid.js.map diff --git a/test/fixtures/test426/resources/version-valid.js.map b/test/fixtures/test426/resources/version-valid.js.map new file mode 100644 index 00000000000000..1a163052d8fc86 --- /dev/null +++ b/test/fixtures/test426/resources/version-valid.js.map @@ -0,0 +1,6 @@ +{ + "version" : 3, + "sources": [], + "names": [], + "mappings": "" +} diff --git a/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js new file mode 100644 index 00000000000000..511e7be18ae5ba --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js @@ -0,0 +1,2 @@ + 3 +//# sourceMappingURL=vlq-valid-continuation-bit-present-1.js.map diff --git a/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js.map b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js.map new file mode 100644 index 00000000000000..f4acb4b4183754 --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-1.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["vlq-valid-continuation-bit-present-1-original.js"], + "sourcesContent": [" 3"], + "mappings": "+gAgAgAigA" +} diff --git a/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js new file mode 100644 index 00000000000000..0c879ce052ad95 --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js @@ -0,0 +1,4 @@ + + + 3 +//# sourceMappingURL=vlq-valid-continuation-bit-present-2.js.map diff --git a/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js.map b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js.map new file mode 100644 index 00000000000000..a975cf8591ff6d --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-continuation-bit-present-2.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["vlq-valid-continuation-bit-present-2-original.js"], + "sourcesContent": ["\n 3"], + "mappings": ";;gBACC" +} diff --git a/test/fixtures/test426/resources/vlq-valid-negative-digit.js b/test/fixtures/test426/resources/vlq-valid-negative-digit.js new file mode 100644 index 00000000000000..d8e795090effae --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-negative-digit.js @@ -0,0 +1,4 @@ + + + 4; 3 +//# sourceMappingURL=vlq-valid-negative-digit.js.map diff --git a/test/fixtures/test426/resources/vlq-valid-negative-digit.js.map b/test/fixtures/test426/resources/vlq-valid-negative-digit.js.map new file mode 100644 index 00000000000000..71dec0d65a1aa9 --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-negative-digit.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["vlq-valid-negative-digit-original.js"], + "sourcesContent": ["\n 4;3"], + "mappings": ";;eACG,bAAF" +} diff --git a/test/fixtures/test426/resources/vlq-valid-single-digit.js b/test/fixtures/test426/resources/vlq-valid-single-digit.js new file mode 100644 index 00000000000000..54c59aae1fcb44 --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-single-digit.js @@ -0,0 +1,2 @@ + 3 +//# sourceMappingURL=vlq-valid-single-digit.js.map diff --git a/test/fixtures/test426/resources/vlq-valid-single-digit.js.map b/test/fixtures/test426/resources/vlq-valid-single-digit.js.map new file mode 100644 index 00000000000000..9e35a7a0a6a591 --- /dev/null +++ b/test/fixtures/test426/resources/vlq-valid-single-digit.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "names": [], + "sources": ["vlq-valid-single-digit-original.js"], + "sourcesContent": ["3"], + "mappings": "eAAA" +} diff --git a/test/fixtures/test426/source-map-spec-tests.json b/test/fixtures/test426/source-map-spec-tests.json new file mode 100644 index 00000000000000..bf3dc64ba5b9c9 --- /dev/null +++ b/test/fixtures/test426/source-map-spec-tests.json @@ -0,0 +1,1596 @@ +{ + "tests": [ + { + "name": "versionValid", + "description": "Test a simple source map with a valid version number", + "baseFile": "version-valid.js", + "sourceMapFile": "version-valid.js.map", + "sourceMapIsValid": true + }, + { + "name": "versionMissing", + "description": "Test a source map that is missing a version field", + "baseFile": "version-missing.js", + "sourceMapFile": "version-missing.js.map", + "sourceMapIsValid": false + }, + { + "name": "versionNotANumber", + "description": "Test a source map with a version field that is not a number", + "baseFile": "version-not-a-number.js", + "sourceMapFile": "version-not-a-number.js.map", + "sourceMapIsValid": false + }, + { + "name": "versionNumericString", + "description": "Test a source map with a version field that is a number as a string", + "baseFile": "version-numeric-string.js", + "sourceMapFile": "version-numeric-string.js.map", + "sourceMapIsValid": false + }, + { + "name": "versionTooHigh", + "description": "Test a source map with an integer version field that is too high", + "baseFile": "version-too-high.js", + "sourceMapFile": "version-too-high.js.map", + "sourceMapIsValid": false + }, + { + "name": "versionTooLow", + "description": "Test a source map with an integer version field that is too low", + "baseFile": "version-too-low.js", + "sourceMapFile": "version-too-low.js.map", + "sourceMapIsValid": false + }, + { + "name": "mappingsMissing", + "description": "Test a source map that is missing a necessary mappings field", + "baseFile": "mappings-missing.js", + "sourceMapFile": "mappings-missing.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesMissing", + "description": "Test a source map that is missing a necessary sources field", + "baseFile": "sources-missing.js", + "sourceMapFile": "sources-missing.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesNotAList1", + "description": "Test a source map with a sources field that is not a valid list (string)", + "baseFile": "sources-not-a-list-1.js", + "sourceMapFile": "sources-not-a-list-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesNotAList2", + "description": "Test a source map with a sources field that is not a valid list (object)", + "baseFile": "sources-not-a-list-2.js", + "sourceMapFile": "sources-not-a-list-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesNotStringOrNull", + "description": "Test a source map with a sources list that has non-string and non-null items", + "baseFile": "sources-not-string-or-null.js", + "sourceMapFile": "sources-not-string-or-null.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesContentMissing", + "description": "Test a source map that is missing an optional sourcesContent field", + "baseFile": "sources-content-missing.js", + "sourceMapFile": "sources-content-missing.js.map", + "sourceMapIsValid": true + }, + { + "name": "sourcesContentNotAList1", + "description": "Test a source map with a sourcesContent field that is not a valid list (string)", + "baseFile": "sources-content-not-a-list-1.js", + "sourceMapFile": "sources-content-not-a-list-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesContentNotAList2", + "description": "Test a source map with a sourcesContent field that is not a valid list (object)", + "baseFile": "sources-content-not-a-list-2.js", + "sourceMapFile": "sources-content-not-a-list-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesContentNotStringOrNull", + "description": "Test a source map with a sourcesContent list that has non-string and non-null items", + "baseFile": "sources-not-string-or-null.js", + "sourceMapFile": "sources-content-not-string-or-null.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourcesAndSourcesContentBothNull", + "description": "Test a source map that has both null sources and sourcesContent entries", + "baseFile": "sources-and-sources-content-both-null.js", + "sourceMapFile": "sources-and-sources-content-both-null.js.map", + "sourceMapIsValid": true + }, + { + "name": "fileNotAString1", + "description": "Test a source map with a file field that is not a valid string", + "baseFile": "file-not-a-string-1.js", + "sourceMapFile": "file-not-a-string-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "fileNotAString2", + "description": "Test a source map with a file field that is not a valid string", + "baseFile": "file-not-a-string-2.js", + "sourceMapFile": "file-not-a-string-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourceRootNotAString1", + "description": "Test a source map with a sourceRoot field that is not a valid string", + "baseFile": "source-root-not-a-string-1.js", + "sourceMapFile": "source-root-not-a-string-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "sourceRootNotAString2", + "description": "Test a source map with a sourceRoot field that is not a valid string", + "baseFile": "source-root-not-a-string-2.js", + "sourceMapFile": "source-root-not-a-string-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "namesMissing", + "description": "Test a source map that is missing the optional names field", + "baseFile": "names-missing.js", + "sourceMapFile": "names-missing.js.map", + "sourceMapIsValid": true + }, + { + "name": "namesNotAList1", + "description": "Test a source map with a names field that is not a valid list (string)", + "baseFile": "names-not-a-list-1.js", + "sourceMapFile": "names-not-a-list-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "namesNotAList2", + "description": "Test a source map with a names field that is not a valid list (object)", + "baseFile": "names-not-a-list-2.js", + "sourceMapFile": "names-not-a-list-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "namesNotString", + "description": "Test a source map with a names list that has non-string items", + "baseFile": "names-not-string.js", + "sourceMapFile": "names-not-string.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListEmpty", + "description": "Test a source map with an ignore list that has no items", + "baseFile": "ignore-list-empty.js", + "sourceMapFile": "ignore-list-empty.js.map", + "sourceMapIsValid": true + }, + { + "name": "ignoreListValid1", + "description": "Test a source map with a simple valid ignore list", + "baseFile": "ignore-list-valid-1.js", + "sourceMapFile": "ignore-list-valid-1.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkIgnoreList", + "present": ["empty-original.js"] + } + ] + }, + { + "name": "ignoreListWrongType1", + "description": "Test a source map with an ignore list with the wrong type of items", + "baseFile": "ignore-list-wrong-type-1.js", + "sourceMapFile": "ignore-list-wrong-type-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListWrongType2", + "description": "Test a source map with an ignore list with the wrong type of items", + "baseFile": "ignore-list-wrong-type-2.js", + "sourceMapFile": "ignore-list-wrong-type-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListWrongType3", + "description": "Test a source map with an ignore list that is not a list", + "baseFile": "ignore-list-wrong-type-3.js", + "sourceMapFile": "ignore-list-wrong-type-3.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListWrongType4", + "description": "Test a source map with an ignore list with a negative index", + "baseFile": "ignore-list-wrong-type-4.js", + "sourceMapFile": "ignore-list-wrong-type-4.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListOutOfBounds1", + "description": "Test a source map with an ignore list with an item with an out-of-bounds index (too big)", + "baseFile": "ignore-list-out-of-bounds-1.js", + "sourceMapFile": "ignore-list-out-of-bounds-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "ignoreListOutOfBounds2", + "description": "Test a source map with an ignore list with an item with an out-of-bounds index (too low)", + "baseFile": "ignore-list-out-of-bounds-2.js", + "sourceMapFile": "ignore-list-out-of-bounds-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "unrecognizedProperty", + "description": "Test a source map that has an extra field not explicitly encoded in the spec", + "baseFile": "unrecognized-property.js", + "sourceMapFile": "unrecognized-property.js.map", + "sourceMapIsValid": true + }, + { + "name": "invalidVLQDueToNonBase64Character", + "description": "Test a source map that has a mapping with an invalid non-base64 character", + "baseFile": "invalid-vlq-non-base64-char.js", + "sourceMapFile": "invalid-vlq-non-base64-char.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidVLQDueToNonBase64CharacterPadding", + "description": "Test a source map that has a mapping with an invalid padding character =", + "baseFile": "invalid-vlq-non-base64-char-padding.js", + "sourceMapFile": "invalid-vlq-non-base64-char-padding.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidVLQDueToMissingContinuationDigits", + "description": "Test a source map that has a mapping with an invalid VLQ that has a continuation bit but no continuing digits", + "baseFile": "invalid-vlq-missing-continuation.js", + "sourceMapFile": "invalid-vlq-missing-continuation.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingNotAString1", + "description": "Test a source map that has an invalid mapping that is not a string (number)", + "baseFile": "invalid-mapping-not-a-string-1.js", + "sourceMapFile": "invalid-mapping-not-a-string-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingNotAString2", + "description": "Test a source map that has an invalid mapping that is not a string (array)", + "baseFile": "invalid-mapping-not-a-string-2.js", + "sourceMapFile": "invalid-mapping-not-a-string-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentBadSeparator", + "description": "Test a source map that uses separator characters not recognized in the spec", + "baseFile": "invalid-mapping-bad-separator.js", + "sourceMapFile": "invalid-mapping-bad-separator.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithZeroFields", + "description": "Test a source map that has the wrong number (zero) of segments fields", + "baseFile": "invalid-mapping-segment-with-zero-fields.js", + "sourceMapFile": "invalid-mapping-segment-with-zero-fields.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithTwoFields", + "description": "Test a source map that has the wrong number (two) of segments fields", + "baseFile": "invalid-mapping-segment-with-two-fields.js", + "sourceMapFile": "invalid-mapping-segment-with-two-fields.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithThreeFields", + "description": "Test a source map that has the wrong number (three) of segments fields", + "baseFile": "invalid-mapping-segment-with-three-fields.js", + "sourceMapFile": "invalid-mapping-segment-with-three-fields.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithSourceIndexOutOfBounds", + "description": "Test a source map that has a source index field that is out of bounds of the sources field", + "baseFile": "invalid-mapping-segment-source-index-out-of-bounds.js", + "sourceMapFile": "invalid-mapping-segment-source-index-out-of-bounds.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNameIndexOutOfBounds", + "description": "Test a source map that has a name index field that is out of bounds of the names field", + "baseFile": "invalid-mapping-segment-name-index-out-of-bounds.js", + "sourceMapFile": "invalid-mapping-segment-name-index-out-of-bounds.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeColumn", + "description": "Test a source map that has an invalid negative non-relative column field", + "baseFile": "invalid-mapping-segment-negative-column.js", + "sourceMapFile": "invalid-mapping-segment-negative-column.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeSourceIndex", + "description": "Test a source map that has an invalid negative non-relative source index field", + "baseFile": "invalid-mapping-segment-negative-source-index.js", + "sourceMapFile": "invalid-mapping-segment-negative-source-index.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeOriginalLine", + "description": "Test a source map that has an invalid negative non-relative original line field", + "baseFile": "invalid-mapping-segment-negative-original-line.js", + "sourceMapFile": "invalid-mapping-segment-negative-original-line.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeOriginalColumn", + "description": "Test a source map that has an invalid negative non-relative original column field", + "baseFile": "invalid-mapping-segment-negative-original-column.js", + "sourceMapFile": "invalid-mapping-segment-negative-original-column.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeNameIndex", + "description": "Test a source map that has an invalid negative non-relative name index field", + "baseFile": "invalid-mapping-segment-negative-name-index.js", + "sourceMapFile": "invalid-mapping-segment-negative-name-index.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeRelativeColumn", + "description": "Test a source map that has an invalid negative relative column field", + "baseFile": "invalid-mapping-segment-negative-relative-column.js", + "sourceMapFile": "invalid-mapping-segment-negative-relative-column.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeRelativeSourceIndex", + "description": "Test a source map that has an invalid negative relative source index field", + "baseFile": "invalid-mapping-segment-negative-relative-source-index.js", + "sourceMapFile": "invalid-mapping-segment-negative-relative-source-index.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeRelativeOriginalLine", + "description": "Test a source map that has an invalid negative relative original line field", + "baseFile": "invalid-mapping-segment-negative-relative-original-line.js", + "sourceMapFile": "invalid-mapping-segment-negative-relative-original-line.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeRelativeOriginalColumn", + "description": "Test a source map that has an invalid negative relative original column field", + "baseFile": "invalid-mapping-segment-negative-relative-original-column.js", + "sourceMapFile": "invalid-mapping-segment-negative-relative-original-column.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNegativeRelativeNameIndex", + "description": "Test a source map that has an invalid negative relative name index field", + "baseFile": "invalid-mapping-segment-negative-relative-name-index.js", + "sourceMapFile": "invalid-mapping-segment-negative-relative-name-index.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithColumnExceeding32Bits", + "description": "Test a source map that has a column field that exceeds 32 bits", + "baseFile": "invalid-mapping-segment-column-too-large.js", + "sourceMapFile": "invalid-mapping-segment-column-too-large.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithSourceIndexExceeding32Bits", + "description": "Test a source map that has a source index field that exceeds 32 bits", + "baseFile": "invalid-mapping-segment-source-index-too-large.js", + "sourceMapFile": "invalid-mapping-segment-source-index-too-large.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithOriginalLineExceeding32Bits", + "description": "Test a source map that has a original line field that exceeds 32 bits", + "baseFile": "invalid-mapping-segment-original-line-too-large.js", + "sourceMapFile": "invalid-mapping-segment-original-line-too-large.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithOriginalColumnExceeding32Bits", + "description": "Test a source map that has an original column field that exceeds 32 bits", + "baseFile": "invalid-mapping-segment-original-column-too-large.js", + "sourceMapFile": "invalid-mapping-segment-original-column-too-large.js.map", + "sourceMapIsValid": false + }, + { + "name": "invalidMappingSegmentWithNameIndexExceeding32Bits", + "description": "Test a source map that has a name index field that exceeds 32 bits", + "baseFile": "invalid-mapping-segment-name-index-too-large.js", + "sourceMapFile": "invalid-mapping-segment-name-index-too-large.js.map", + "sourceMapIsValid": false + }, + { + "name": "validMappingFieldsWith32BitMaxValues", + "description": "Test a source map that has segment fields with max values representable in 32 bits", + "baseFile": "valid-mapping-boundary-values.js", + "sourceMapFile": "valid-mapping-boundary-values.js.map", + "sourceMapIsValid": true + }, + { + "name": "validMappingLargeVLQ", + "description": "Test a source map that has a segment field VLQ that is very long but within 32-bits", + "baseFile": "valid-mapping-large-vlq.js", + "sourceMapFile": "valid-mapping-large-vlq.js.map", + "sourceMapIsValid": true + }, + { + "name": "validMappingEmptyGroups", + "description": "Test a source map with a mapping that has many empty groups", + "baseFile": "valid-mapping-empty-groups.js", + "sourceMapFile": "valid-mapping-empty-groups.js.map", + "sourceMapIsValid": true + }, + { + "name": "validMappingEmptyString", + "description": "Test a source map with an empty string mapping", + "baseFile": "valid-mapping-empty-string.js", + "sourceMapFile": "valid-mapping-empty-string.js.map", + "sourceMapIsValid": true + }, + { + "name": "indexMapWrongTypeSections", + "description": "Test an index map with a sections field with the wrong type", + "baseFile": "index-map-wrong-type-sections.js", + "sourceMapFile": "index-map-wrong-type-sections.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapWrongTypeOffset", + "description": "Test an index map with an offset field with the wrong type", + "baseFile": "index-map-wrong-type-offset.js", + "sourceMapFile": "index-map-wrong-type-offset.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapWrongTypeMap", + "description": "Test an index map with a map field with the wrong type", + "baseFile": "index-map-wrong-type-map.js", + "sourceMapFile": "index-map-wrong-type-map.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapInvalidBaseMappings", + "description": "Test that an index map cannot also have a regular mappings field", + "baseFile": "index-map-invalid-base-mappings.js", + "sourceMapFile": "index-map-invalid-base-mappings.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapInvalidOverlap", + "description": "Test that an invalid index map with multiple sections that overlap", + "baseFile": "index-map-invalid-overlap.js", + "sourceMapFile": "index-map-invalid-overlap.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapInvalidOrder", + "description": "Test that an invalid index map with multiple sections in the wrong order", + "baseFile": "index-map-invalid-order.js", + "sourceMapFile": "index-map-invalid-order.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapMissingMap", + "description": "Test that an index map that is missing a section map", + "baseFile": "index-map-missing-map.js", + "sourceMapFile": "index-map-missing-map.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapInvalidSubMap", + "description": "Test that an index map that has an invalid section map", + "baseFile": "index-map-invalid-sub-map.js", + "sourceMapFile": "index-map-invalid-sub-map.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapMissingOffset", + "description": "Test that an index map that is missing a section offset", + "baseFile": "index-map-missing-offset.js", + "sourceMapFile": "index-map-missing-offset.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapMissingOffsetLine", + "description": "Test that an index map that is missing a section offset's line field", + "baseFile": "index-map-missing-offset-line.js", + "sourceMapFile": "index-map-missing-offset-line.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapMissingOffsetColumn", + "description": "Test that an index map that is missing a section offset's column field", + "baseFile": "index-map-missing-offset-column.js", + "sourceMapFile": "index-map-missing-offset-column.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapOffsetLineWrongType", + "description": "Test that an index map that has an offset line field with the wrong type of value", + "baseFile": "index-map-offset-line-wrong-type.js", + "sourceMapFile": "index-map-offset-line-wrong-type.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapOffsetColumnWrongType", + "description": "Test that an index map that has an offset column field with the wrong type of value", + "baseFile": "index-map-offset-column-wrong-type.js", + "sourceMapFile": "index-map-offset-column-wrong-type.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapEmptySections", + "description": "Test a trivial index map with no sections", + "baseFile": "index-map-empty-sections.js", + "sourceMapFile": "index-map-empty-sections.js.map", + "sourceMapIsValid": true + }, + { + "name": "indexMapFileWrongType1", + "description": "Test an index map with a file field with the wrong type", + "baseFile": "index-map-file-wrong-type-1.js", + "sourceMapFile": "index-map-file-wrong-type-1.js.map", + "sourceMapIsValid": false + }, + { + "name": "indexMapFileWrongType2", + "description": "Test an index map with a file field with the wrong type", + "baseFile": "index-map-file-wrong-type-2.js", + "sourceMapFile": "index-map-file-wrong-type-2.js.map", + "sourceMapIsValid": false + }, + { + "name": "basicMapping", + "description": "Test a simple source map that has several valid mappings", + "baseFile": "basic-mapping.js", + "sourceMapFile": "basic-mapping.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 15, + "originalLine": 1, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 22, + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 24, + "originalLine": 2, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 25, + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 34, + "originalSource": "basic-mapping-original.js", + "originalLine": 3, + "originalColumn": 9, + "mappedName": "bar" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 40, + "originalLine": 4, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 47, + "originalLine": 4, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 49, + "originalLine": 5, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 50, + "originalLine": 6, + "originalColumn": 0, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 56, + "originalLine": 7, + "originalColumn": 0, + "mappedName": "bar" + } + ] + }, + { + "name": "sourceRootResolution", + "description": "Similar to basic mapping test, but test resoultion of sources with a sourceRoot field", + "baseFile": "source-root-resolution.js", + "sourceMapFile": "source-root-resolution.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "theroot/basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "theroot/basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + } + ] + }, + { + "name": "sourceResolutionAbsoluteURL", + "description": "Test resoultion of sources with absolute URLs", + "baseFile": "source-resolution-absolute-url.js", + "sourceMapFile": "source-resolution-absolute-url.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "/baz/quux/basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "/baz/quux/basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + } + ] + }, + { + "name": "basicMappingWithIndexMap", + "description": "Test a version of basic-mapping.js.map that is split into sections with an index map", + "baseFile": "basic-mapping-as-index-map.js", + "sourceMapFile": "basic-mapping-as-index-map.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 15, + "originalLine": 1, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 22, + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 24, + "originalLine": 2, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 25, + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 34, + "originalSource": "basic-mapping-original.js", + "originalLine": 3, + "originalColumn": 9, + "mappedName": "bar" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 40, + "originalLine": 4, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 47, + "originalLine": 4, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 49, + "originalLine": 5, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 50, + "originalLine": 6, + "originalColumn": 0, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 56, + "originalLine": 7, + "originalColumn": 0, + "mappedName": "bar" + } + ] + }, + { + "name": "indexMapWithMissingFile", + "description": "Same as the basic mapping index map test but without the optional file field", + "baseFile": "index-map-missing-file.js", + "sourceMapFile": "index-map-missing-file.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 15, + "originalLine": 1, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 22, + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 24, + "originalLine": 2, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 25, + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 34, + "originalSource": "basic-mapping-original.js", + "originalLine": 3, + "originalColumn": 9, + "mappedName": "bar" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 40, + "originalLine": 4, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 47, + "originalLine": 4, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 49, + "originalLine": 5, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 50, + "originalLine": 6, + "originalColumn": 0, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 56, + "originalLine": 7, + "originalColumn": 0, + "mappedName": "bar" + } + ] + }, + { + "name": "indexMapWithTwoConcatenatedSources", + "description": "Test an index map that has two sub-maps for concatenated sources", + "baseFile": "index-map-two-concatenated-sources.js", + "sourceMapFile": "index-map-two-concatenated-sources.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 15, + "originalLine": 1, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 22, + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 24, + "originalLine": 2, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 25, + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 34, + "originalSource": "basic-mapping-original.js", + "originalLine": 3, + "originalColumn": 9, + "mappedName": "bar" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 40, + "originalLine": 4, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 47, + "originalLine": 4, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 49, + "originalLine": 5, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 50, + "originalLine": 6, + "originalColumn": 0, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "originalSource": "basic-mapping-original.js", + "generatedLine": 0, + "generatedColumn": 56, + "originalLine": 7, + "originalColumn": 0, + "mappedName": "bar" + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 62, + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 71, + "originalLine": 0, + "originalColumn": 9, + "mappedName": "baz" + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 77, + "originalLine": 1, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 83, + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 88, + "originalLine": 2, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "originalSource": "second-source-original.js", + "generatedLine": 0, + "generatedColumn": 89, + "originalLine": 3, + "originalColumn": 0, + "mappedName": "baz" + } + ] + }, + { + "name": "sourcesNullSourcesContentNonNull", + "description": "Test a source map that has a null source but has a sourcesContent", + "baseFile": "sources-null-sources-content-non-null.js", + "sourceMapFile": "sources-null-sources-content-non-null.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": null, + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": null, + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + } + ] + }, + { + "name": "sourcesNonNullSourcesContentNull", + "description": "Test a source map that has a non-null source but has a null sourcesContent", + "baseFile": "sources-non-null-sources-content-null.js", + "sourceMapFile": "sources-non-null-sources-content-null.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "basic-mapping-original.js", + "originalLine": 0, + "originalColumn": 9, + "mappedName": "foo" + } + ] + }, + { + "name": "transitiveMapping", + "description": "Test a simple two-stage transitive mapping from a minified JS to a TypeScript source", + "baseFile": "transitive-mapping.js", + "sourceMapFile": "transitive-mapping.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 13, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 13, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 16, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 2, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 23, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 2, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 24, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 25, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 4, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 29, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping-original.js.map"], + "originalLine": 4, + "originalColumn": 4, + "mappedName": null + } + ] + }, + { + "name": "transitiveMappingWithThreeSteps", + "description": "Test a three-stage transitive mapping from an un-minified JS to minified JS to a TypeScript source", + "baseFile": "transitive-mapping-three-steps.js", + "sourceMapFile": "transitive-mapping-three-steps.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 9, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 0, + "generatedColumn": 13, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 1, + "originalColumn": 13, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 1, + "generatedColumn": 4, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 2, + "originalColumn": 2, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 1, + "generatedColumn": 11, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 2, + "originalColumn": 9, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 2, + "generatedColumn": 0, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 3, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 4, + "generatedColumn": 0, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 4, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMappingTransitive", + "generatedLine": 4, + "generatedColumn": 4, + "originalSource": "typescript-original.ts", + "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], + "originalLine": 4, + "originalColumn": 4, + "mappedName": null + } + ] + }, + { + "name": "vlqValidSingleDigit", + "description": "Test VLQ decoding for a single digit, no continuation VLQ", + "baseFile": "vlq-valid-single-digit.js", + "sourceMapFile": "vlq-valid-single-digit.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 15, + "originalSource": "vlq-valid-single-digit-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + } + ] + }, + { + "name": "vlqValidNegativeDigit", + "description": "Test VLQ decoding where there's a negative digit, no continuation bit", + "baseFile": "vlq-valid-negative-digit.js", + "sourceMapFile": "vlq-valid-negative-digit.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 2, + "generatedColumn": 15, + "originalSource": "vlq-valid-negative-digit-original.js", + "originalLine": 1, + "originalColumn": 3, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 2, + "generatedColumn": 2, + "originalSource": "vlq-valid-negative-digit-original.js", + "originalLine": 1, + "originalColumn": 1, + "mappedName": null + } + ] + }, + { + "name": "vlqValidContinuationBitPresent1", + "description": "Test VLQ decoding where continuation bits are present (continuations are leading zero)", + "baseFile": "vlq-valid-continuation-bit-present-1.js", + "sourceMapFile": "vlq-valid-continuation-bit-present-1.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 15, + "originalSource": "vlq-valid-continuation-bit-present-1-original.js", + "originalLine": 0, + "originalColumn": 1, + "mappedName": null + } + ] + }, + { + "name": "vlqValidContinuationBitPresent2", + "description": "Test VLQ decoding where continuation bits are present (continuations have non-zero bits)", + "baseFile": "vlq-valid-continuation-bit-present-2.js", + "sourceMapFile": "vlq-valid-continuation-bit-present-2.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 2, + "generatedColumn": 16, + "originalSource": "vlq-valid-continuation-bit-present-2-original.js", + "originalLine": 1, + "originalColumn": 1, + "mappedName": null + } + ] + }, + { + "name": "mappingSemanticsSingleFieldSegment", + "description": "Test mapping semantics for a single field segment mapping", + "baseFile": "mapping-semantics-single-field-segment.js", + "sourceMapFile": "mapping-semantics-single-field-segment.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 0, + "originalSource": "mapping-semantics-single-field-segment-original.js", + "originalLine": 0, + "originalColumn": 1, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 2, + "originalSource": null, + "originalLine": null, + "originalColumn": null, + "mappedName": null + } + ] + }, + { + "name": "mappingSemanticsFourFieldSegment", + "description": "Test mapping semantics for a four field segment mapping", + "baseFile": "mapping-semantics-four-field-segment.js", + "sourceMapFile": "mapping-semantics-four-field-segment.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 1, + "originalSource": "mapping-semantics-four-field-segment-original.js", + "originalLine": 2, + "originalColumn": 2, + "mappedName": null + } + ] + }, + { + "name": "mappingSemanticsFiveFieldSegment", + "description": "Test mapping semantics for a five field segment mapping", + "baseFile": "mapping-semantics-five-field-segment.js", + "sourceMapFile": "mapping-semantics-five-field-segment.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 1, + "originalSource": "mapping-semantics-five-field-segment-original.js", + "originalLine": 2, + "originalColumn": 2, + "mappedName": "foo" + } + ] + }, + { + "name": "mappingSemanticsColumnReset", + "description": "Test that the generated column field resets to zero on new lines", + "baseFile": "mapping-semantics-column-reset.js", + "sourceMapFile": "mapping-semantics-column-reset.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 1, + "originalSource": "mapping-semantics-column-reset-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 1, + "generatedColumn": 1, + "originalSource": "mapping-semantics-column-reset-original.js", + "originalLine": 1, + "originalColumn": 0, + "mappedName": null + } + ] + }, + { + "name": "mappingSemanticsRelative1", + "description": "Test that fields are calculated relative to previous ones", + "baseFile": "mapping-semantics-relative-1.js", + "sourceMapFile": "mapping-semantics-relative-1.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 1, + "originalSource": "mapping-semantics-relative-1-original.js", + "originalLine": 0, + "originalColumn": 0, + "mappedName": null + }, + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 5, + "originalSource": "mapping-semantics-relative-1-original.js", + "originalLine": 0, + "originalColumn": 4, + "mappedName": null + } + ] + }, + { + "name": "mappingSemanticsRelative2", + "description": "Test that fields are calculated relative to previous ones, across lines", + "baseFile": "mapping-semantics-relative-2.js", + "sourceMapFile": "mapping-semantics-relative-2.js.map", + "sourceMapIsValid": true, + "testActions": [ + { + "actionType": "checkMapping", + "generatedLine": 0, + "generatedColumn": 1, + "originalSource": "mapping-semantics-relative-2-original.js", + "originalLine": 0, + "originalColumn": 2, + "mappedName": "foo" + }, + { + "actionType": "checkMapping", + "generatedLine": 1, + "generatedColumn": 2, + "originalSource": "mapping-semantics-relative-2-original.js", + "originalLine": 1, + "originalColumn": 2, + "mappedName": "bar" + } + ] + } + ] +} diff --git a/test/fixtures/test426/webkit/0001-Add-test-runner-for-the-source-map-spec-tests.patch b/test/fixtures/test426/webkit/0001-Add-test-runner-for-the-source-map-spec-tests.patch new file mode 100644 index 00000000000000..9ba9f695a7b180 --- /dev/null +++ b/test/fixtures/test426/webkit/0001-Add-test-runner-for-the-source-map-spec-tests.patch @@ -0,0 +1,11542 @@ +From bcb0accac37b7fe585a01cd7de7f6c91e5704426 Mon Sep 17 00:00:00 2001 +From: Asumu Takikawa <asumu@igalia.com> +Date: Mon, 11 Mar 2024 13:41:31 -0700 +Subject: [PATCH] Add test runner for the source map spec tests + +Need the bug URL (OOPS!). + +Reviewed by NOBODY (OOPS!). + +This patch adds a layout test for the inspector using the imported spec +tests from TG4 for the current Source Map specification: + + https://github.com/tc39/source-map + https://github.com/tc39/source-map-tests + +It also adds the tests themselves as imported tests under +`LayoutTests/imported`. + +* LayoutTests/imported/tg4/source-map-tests/LICENSE.md: Added. +* LayoutTests/imported/tg4/source-map-tests/README.WebKit: Added. +* LayoutTests/imported/tg4/source-map-tests/README.md: Added. +* LayoutTests/imported/tg4/source-map-tests/chrome/0001-Add-source-map-specification-tests.patch: Added. +* LayoutTests/imported/tg4/source-map-tests/chrome/0002-Add-reverse-mapping-code-to-test.patch: Added. +* LayoutTests/imported/tg4/source-map-tests/firefox/0001-WIP-Firefox-source-map-spec-tests.patch: Added. +* LayoutTests/imported/tg4/source-map-tests/firefox/browser_spec-source-map.js: Added. +(async checkValidity): +(async checkMapping): +(const.testCase.of.testDescriptions.tests.const.testFunction.async const): +(const.testCase.of.testDescriptions.tests.const.testFunction.testCase.name): +(read): +* LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-original.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js: Added. +(foo): +(bar): +(baz): +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/second-source-original.js: Added. +(baz): +* LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js: Added. +(foo): +(bar): +* LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js: Added. +(foo): +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js: Added. +(foo): +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js: Added. +(foo): +* LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/typescript-original.ts: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js: Added. +* LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js.map: Added. +* LayoutTests/imported/tg4/source-map-tests/source-map-spec-tests.json: Added. +* LayoutTests/imported/tg4/source-map-tests/webkit/0001-Add-harness-for-source-maps-spec-tests.patch: Added. +* LayoutTests/imported/tg4/source-map-tests/webkit/source-map-spec.html: Added. +* LayoutTests/inspector/model/source-map-spec-expected.txt: Added. +* LayoutTests/inspector/model/source-map-spec.html: Added. +--- + .../imported/tg4/source-map-tests/LICENSE.md | 14 + + .../tg4/source-map-tests/README.WebKit | 1 + + .../imported/tg4/source-map-tests/README.md | 176 + + ...1-Add-source-map-specification-tests.patch | 3867 +++++++++++++++++ + ...002-Add-reverse-mapping-code-to-test.patch | 46 + + ...01-WIP-Firefox-source-map-spec-tests.patch | 337 ++ + .../firefox/browser_spec-source-map.js | 71 + + .../resources/basic-mapping-as-index-map.js | 2 + + .../basic-mapping-as-index-map.js.map | 15 + + .../resources/basic-mapping-original.js | 8 + + .../resources/basic-mapping.js | 2 + + .../resources/basic-mapping.js.map | 6 + + .../resources/file-not-a-string-1.js | 1 + + .../resources/file-not-a-string-1.js.map | 8 + + .../resources/file-not-a-string-2.js | 1 + + .../resources/file-not-a-string-2.js.map | 8 + + .../resources/ignore-list-empty.js | 1 + + .../resources/ignore-list-empty.js.map | 8 + + .../resources/ignore-list-out-of-bounds-1.js | 1 + + .../ignore-list-out-of-bounds-1.js.map | 8 + + .../resources/ignore-list-out-of-bounds-2.js | 1 + + .../ignore-list-out-of-bounds-2.js.map | 8 + + .../resources/ignore-list-valid-1.js | 1 + + .../resources/ignore-list-valid-1.js.map | 8 + + .../resources/ignore-list-wrong-type-1.js | 1 + + .../resources/ignore-list-wrong-type-1.js.map | 8 + + .../resources/ignore-list-wrong-type-2.js | 1 + + .../resources/ignore-list-wrong-type-2.js.map | 8 + + .../resources/ignore-list-wrong-type-3.js | 1 + + .../resources/ignore-list-wrong-type-3.js.map | 8 + + .../resources/ignore-list-wrong-type-4.js | 1 + + .../resources/ignore-list-wrong-type-4.js.map | 8 + + .../resources/index-map-empty-sections.js | 1 + + .../resources/index-map-empty-sections.js.map | 4 + + .../resources/index-map-file-wrong-type-1.js | 2 + + .../index-map-file-wrong-type-1.js.map | 15 + + .../resources/index-map-file-wrong-type-2.js | 2 + + .../index-map-file-wrong-type-2.js.map | 15 + + .../index-map-invalid-base-mappings.js | 1 + + .../index-map-invalid-base-mappings.js.map | 15 + + .../resources/index-map-invalid-order.js | 1 + + .../resources/index-map-invalid-order.js.map | 23 + + .../resources/index-map-invalid-overlap.js | 1 + + .../index-map-invalid-overlap.js.map | 23 + + .../resources/index-map-invalid-sub-map.js | 1 + + .../index-map-invalid-sub-map.js.map | 13 + + .../resources/index-map-missing-file.js | 2 + + .../resources/index-map-missing-file.js.map | 14 + + .../resources/index-map-missing-map.js | 1 + + .../resources/index-map-missing-map.js.map | 8 + + .../index-map-missing-offset-column.js | 1 + + .../index-map-missing-offset-column.js.map | 14 + + .../index-map-missing-offset-line.js | 1 + + .../index-map-missing-offset-line.js.map | 14 + + .../resources/index-map-missing-offset.js | 1 + + .../resources/index-map-missing-offset.js.map | 13 + + .../index-map-offset-column-wrong-type.js | 1 + + .../index-map-offset-column-wrong-type.js.map | 14 + + .../index-map-offset-line-wrong-type.js | 1 + + .../index-map-offset-line-wrong-type.js.map | 14 + + .../index-map-two-concatenated-sources.js | 2 + + .../index-map-two-concatenated-sources.js.map | 24 + + .../resources/index-map-wrong-type-map.js | 1 + + .../resources/index-map-wrong-type-map.js.map | 9 + + .../resources/index-map-wrong-type-offset.js | 1 + + .../index-map-wrong-type-offset.js.map | 14 + + .../index-map-wrong-type-sections.js | 1 + + .../index-map-wrong-type-sections.js.map | 4 + + .../invalid-mapping-bad-separator.js | 2 + + .../invalid-mapping-bad-separator.js.map | 6 + + .../invalid-mapping-not-a-string-1.js | 1 + + .../invalid-mapping-not-a-string-1.js.map | 7 + + .../invalid-mapping-not-a-string-2.js | 1 + + .../invalid-mapping-not-a-string-2.js.map | 7 + + ...nvalid-mapping-segment-column-too-large.js | 1 + + ...id-mapping-segment-column-too-large.js.map | 7 + + ...apping-segment-name-index-out-of-bounds.js | 1 + + ...ng-segment-name-index-out-of-bounds.js.map | 7 + + ...id-mapping-segment-name-index-too-large.js | 1 + + ...apping-segment-name-index-too-large.js.map | 7 + + ...invalid-mapping-segment-negative-column.js | 1 + + ...lid-mapping-segment-negative-column.js.map | 7 + + ...lid-mapping-segment-negative-name-index.js | 1 + + ...mapping-segment-negative-name-index.js.map | 7 + + ...apping-segment-negative-original-column.js | 1 + + ...ng-segment-negative-original-column.js.map | 7 + + ...-mapping-segment-negative-original-line.js | 1 + + ...ping-segment-negative-original-line.js.map | 7 + + ...apping-segment-negative-relative-column.js | 1 + + ...ng-segment-negative-relative-column.js.map | 8 + + ...ng-segment-negative-relative-name-index.js | 1 + + ...egment-negative-relative-name-index.js.map | 8 + + ...gment-negative-relative-original-column.js | 1 + + ...t-negative-relative-original-column.js.map | 8 + + ...segment-negative-relative-original-line.js | 1 + + ...ent-negative-relative-original-line.js.map | 8 + + ...-segment-negative-relative-source-index.js | 1 + + ...ment-negative-relative-source-index.js.map | 8 + + ...d-mapping-segment-negative-source-index.js | 1 + + ...pping-segment-negative-source-index.js.map | 7 + + ...pping-segment-original-column-too-large.js | 1 + + ...g-segment-original-column-too-large.js.map | 7 + + ...mapping-segment-original-line-too-large.js | 1 + + ...ing-segment-original-line-too-large.js.map | 7 + + ...ping-segment-source-index-out-of-bounds.js | 1 + + ...-segment-source-index-out-of-bounds.js.map | 7 + + ...-mapping-segment-source-index-too-large.js | 1 + + ...ping-segment-source-index-too-large.js.map | 7 + + ...valid-mapping-segment-with-three-fields.js | 2 + + ...d-mapping-segment-with-three-fields.js.map | 6 + + ...invalid-mapping-segment-with-two-fields.js | 2 + + ...lid-mapping-segment-with-two-fields.js.map | 6 + + ...nvalid-mapping-segment-with-zero-fields.js | 1 + + ...id-mapping-segment-with-zero-fields.js.map | 7 + + .../invalid-vlq-missing-continuation.js | 1 + + .../invalid-vlq-missing-continuation.js.map | 6 + + .../resources/invalid-vlq-non-base64-char.js | 1 + + .../invalid-vlq-non-base64-char.js.map | 6 + + .../mapping-semantics-column-reset.js | 3 + + .../mapping-semantics-column-reset.js.map | 7 + + .../mapping-semantics-five-field-segment.js | 2 + + ...apping-semantics-five-field-segment.js.map | 7 + + .../mapping-semantics-four-field-segment.js | 2 + + ...apping-semantics-four-field-segment.js.map | 7 + + .../resources/mapping-semantics-relative-1.js | 2 + + .../mapping-semantics-relative-1.js.map | 7 + + .../resources/mapping-semantics-relative-2.js | 3 + + .../mapping-semantics-relative-2.js.map | 7 + + .../mapping-semantics-single-field-segment.js | 2 + + ...ping-semantics-single-field-segment.js.map | 7 + + .../resources/names-missing.js | 1 + + .../resources/names-missing.js.map | 6 + + .../resources/names-not-a-list-1.js | 1 + + .../resources/names-not-a-list-1.js.map | 6 + + .../resources/names-not-a-list-2.js | 1 + + .../resources/names-not-a-list-2.js.map | 6 + + .../resources/names-not-string.js | 1 + + .../resources/names-not-string.js.map | 6 + + .../resources/second-source-original.js | 4 + + .../source-resolution-absolute-url.js | 2 + + .../source-resolution-absolute-url.js.map | 8 + + .../resources/source-root-not-a-string-1.js | 1 + + .../source-root-not-a-string-1.js.map | 8 + + .../resources/source-root-not-a-string-2.js | 1 + + .../source-root-not-a-string-2.js.map | 8 + + .../resources/source-root-resolution.js | 2 + + .../resources/source-root-resolution.js.map | 9 + + .../sources-and-sources-content-both-null.js | 1 + + ...urces-and-sources-content-both-null.js.map | 7 + + .../resources/sources-missing.js | 1 + + .../resources/sources-missing.js.map | 5 + + .../sources-non-null-sources-content-null.js | 2 + + ...urces-non-null-sources-content-null.js.map | 7 + + .../resources/sources-not-a-list-1.js | 1 + + .../resources/sources-not-a-list-1.js.map | 6 + + .../resources/sources-not-a-list-2.js | 1 + + .../resources/sources-not-a-list-2.js.map | 6 + + .../resources/sources-not-string-or-null.js | 1 + + .../sources-not-string-or-null.js.map | 6 + + .../sources-null-sources-content-non-null.js | 2 + + ...urces-null-sources-content-non-null.js.map | 7 + + .../resources/transitive-mapping-original.js | 5 + + .../transitive-mapping-original.js.map | 8 + + .../transitive-mapping-three-steps.js | 6 + + .../transitive-mapping-three-steps.js.map | 7 + + .../resources/transitive-mapping.js | 2 + + .../resources/transitive-mapping.js.map | 6 + + .../resources/typescript-original.ts | 5 + + .../resources/unrecognized-property.js | 1 + + .../resources/unrecognized-property.js.map | 8 + + .../valid-mapping-boundary-values.js | 1 + + .../valid-mapping-boundary-values.js.map | 7 + + .../resources/valid-mapping-empty-groups.js | 1 + + .../valid-mapping-empty-groups.js.map | 8 + + .../resources/valid-mapping-empty-string.js | 1 + + .../valid-mapping-empty-string.js.map | 8 + + .../resources/valid-mapping-large-vlq.js | 1 + + .../resources/valid-mapping-large-vlq.js.map | 6 + + .../resources/version-missing.js | 1 + + .../resources/version-missing.js.map | 5 + + .../resources/version-not-a-number.js | 1 + + .../resources/version-not-a-number.js.map | 6 + + .../resources/version-numeric-string.js | 1 + + .../resources/version-numeric-string.js.map | 6 + + .../resources/version-too-high.js | 1 + + .../resources/version-too-high.js.map | 6 + + .../resources/version-too-low.js | 1 + + .../resources/version-too-low.js.map | 6 + + .../resources/version-valid.js | 1 + + .../resources/version-valid.js.map | 6 + + .../vlq-valid-continuation-bit-present-1.js | 2 + + ...lq-valid-continuation-bit-present-1.js.map | 7 + + .../vlq-valid-continuation-bit-present-2.js | 4 + + ...lq-valid-continuation-bit-present-2.js.map | 7 + + .../resources/vlq-valid-negative-digit.js | 4 + + .../resources/vlq-valid-negative-digit.js.map | 7 + + .../resources/vlq-valid-single-digit.js | 2 + + .../resources/vlq-valid-single-digit.js.map | 7 + + .../source-map-spec-tests.json | 1554 +++++++ + ...d-harness-for-source-maps-spec-tests.patch | 1649 +++++++ + .../webkit/source-map-spec.html | 83 + + .../model/source-map-spec-expected.txt | 828 ++++ + .../inspector/model/source-map-spec.html | 87 + + 203 files changed, 9653 insertions(+) + create mode 100644 LayoutTests/imported/tg4/source-map-tests/LICENSE.md + create mode 100644 LayoutTests/imported/tg4/source-map-tests/README.WebKit + create mode 100644 LayoutTests/imported/tg4/source-map-tests/README.md + create mode 100644 LayoutTests/imported/tg4/source-map-tests/chrome/0001-Add-source-map-specification-tests.patch + create mode 100644 LayoutTests/imported/tg4/source-map-tests/chrome/0002-Add-reverse-mapping-code-to-test.patch + create mode 100644 LayoutTests/imported/tg4/source-map-tests/firefox/0001-WIP-Firefox-source-map-spec-tests.patch + create mode 100644 LayoutTests/imported/tg4/source-map-tests/firefox/browser_spec-source-map.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-original.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/second-source-original.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/typescript-original.ts + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js + create mode 100644 LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js.map + create mode 100644 LayoutTests/imported/tg4/source-map-tests/source-map-spec-tests.json + create mode 100644 LayoutTests/imported/tg4/source-map-tests/webkit/0001-Add-harness-for-source-maps-spec-tests.patch + create mode 100644 LayoutTests/imported/tg4/source-map-tests/webkit/source-map-spec.html + create mode 100644 LayoutTests/inspector/model/source-map-spec-expected.txt + create mode 100644 LayoutTests/inspector/model/source-map-spec.html + +diff --git a/LayoutTests/imported/tg4/source-map-tests/LICENSE.md b/LayoutTests/imported/tg4/source-map-tests/LICENSE.md +new file mode 100644 +index 000000000000..39501a3b7c70 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/LICENSE.md +@@ -0,0 +1,14 @@ ++The Source Map Tests suite ("Software") is protected by copyright and is being made available under the "BSD License", included below. This Software may be subject to third party rights (rights from parties other than Ecma International), including patent rights, and no licenses under such third party rights are granted under this license even if the third party concerned is a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS AVAILABLE AT https://www.ecma-international.org/ipr FOR INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO IMPLEMENT ECMA INTERNATIONAL STANDARDS*. ++ ++Copyright (c) 2024, Ecma International ++All rights reserved. ++ ++Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: ++ ++1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. ++2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. ++3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++* Ecma International Standards hereafter means Ecma International Standards as well as Ecma Technical Reports +diff --git a/LayoutTests/imported/tg4/source-map-tests/README.WebKit b/LayoutTests/imported/tg4/source-map-tests/README.WebKit +new file mode 100644 +index 000000000000..9d6cf4b7fb68 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/README.WebKit +@@ -0,0 +1 @@ ++FIXME +diff --git a/LayoutTests/imported/tg4/source-map-tests/README.md b/LayoutTests/imported/tg4/source-map-tests/README.md +new file mode 100644 +index 000000000000..a8bb3947c435 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/README.md +@@ -0,0 +1,176 @@ ++# Source Map Tests ++ ++This repository holds testing discussions and tests for the the Source Map debugging format. Specifically, we're looking to encourage discussion around: ++ ++- Manual and automated testing strategies for Source Maps ++- Gathering a list of Soure Map generators and consumers ++- General discussion around deviations between source maps ++ ++Open discussion happens in the [GitHub issues](https://github.com/source-map/source-map-tests/issues). ++ ++Source Map spec: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# ++ ++## Test cases ++ ++These test cases are still a work-in-progress 🚧. ++ ++#### Running the tests ++ ++How to run in WebKit: ++ * Check out [WebKit](https://github.com/WebKit/WebKit/) ++ * `cd` to the checked out WebKit directory. ++ * Run `git am <this-repo>/webkit/0001-Add-harness-for-source-maps-spec-tests.patch` ++ * Run `Tools/Scripts/build-webkit` (depending on the platform you may need to pass `--gtk` or other flags) ++ * Run `Tools/Scripts/run-webkit-tests LayoutTests/inspector/model/source-map-spec.html` (again, you may need `--gtk` on Linux) ++ ++For Firefox, see the Mozilla [source-map](https://github.com/mozilla/source-map) library: ++ * There is a [branch](https://github.com/takikawa/source-map/tree/add-spec-tests) for adding the spec tests to the package. ++ ++How to run in Chrome Devtools: ++1. Setup: ++ * Install depot_tools following this [depot_tools guide](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up) ++ * Check out [Chrome Devtools](https://chromium.googlesource.com/devtools/devtools-frontend): ++ * Run `gclient config https://chromium.googlesource.com/devtools/devtools-frontend --unmanaged` ++ * Run `cd devtools-frontend` ++ * Run `gclient sync` ++ * Run `gn gen out/Default` ++2. Build: ++ * Run `autoninja -C out/Default` ++3. Test: ++ * Run `npm run auto-unittest` ++4. Apply patches from this repo: ++ * Run `git apply <path to .patch file>` in `devtools-frontend` repo ++ ++More information about running Chrome Devtools without building Chromium can be found [here](https://chromium.googlesource.com/devtools/devtools-frontend/+/refs/heads/chromium/3965/README.md) ++ ++### Goals of tests ++ ++* Thoroughly test all aspects of the source maps spec that can be tested. ++* Strictly follow the spec when determining test behavior. ++ ++### Test coverage ++ ++#### Core spec ++ ++* Encoding ++ - [ ] Source map must be a valid JSON document. ++ - Base64 VLQ ++ * VLQs should decode correctly ++ - [X] A VLQ with a non-base64 character will fail to decode. ++ - [ ] A VLQ with one digit and no continuation digits should decode. ++ - [ ] A negative VLQ with the sign bit set to 1 should decode. ++ - [ ] A VLQ with non-zero continuation bits (and more than one digit) should decode. ++ - [X] A VLQ with a non-zero continuation bit with no further digits should fail to decode. ++ - [ ] A VLQ should decode with the correct order of digits (least to most significant). ++ - [x] A long VLQ with many trailing zero digits will decode. ++ * [x] A VLQ exceeding the 32-bit size limit is invalid (note: the spec is unclear on the details of this limit) ++ * [x] A VLQ at exactly the 32-bit size limit should be decoded (positive and negative). ++* Basic format ++ - `version` field ++ * [X] Must be present ++ * [X] Must be a number ++ * [X] Must be 3 ++ - `file` field ++ * [ ] Optional, allow missing ++ * [ ] Must be a string? (spec is not clear) ++ - `sourceRoot` field ++ * [ ] Optional, allow missing ++ * [ ] Must be a string? (spec is not clear) ++ - `sources` field ++ * [X] Must be present ++ * [X] Must be an array ++ * [X] Array elements must be `null` or a string ++ - `sourcesContent` field ++ * [X] Must be present ++ * [X] Must be an array ++ * [X] Array elements must be `null` or a string ++ - `names` field ++ * [X] Must be present (note: the spec implies this but implementations may not agree) ++ * [X] Must be an array ++ * [X] Array elements must be strings ++ - `mappings` field ++ * [X] Must be present ++ * [X] Must be a string ++ * [ ] Empty string is valid ++ - `ignoreList` field ++ * [ ] Optional, allow missing ++ * [ ] Must be an array ++ * [ ] Array elements must be numbers ++ * [ ] Elements must not be out of bounds for the `sources` list ++ - [X] Extra unrecognized fields are allowed ++* Index maps ++ - ? Must be mutually exclusive with non-index map? ++ - `file` field ++ * [ ] Optional, allow missing ++ * [ ] Must be a string? (spec is not clear) ++ - `sections` field ++ * [X] Must be present ++ * [X] Must be an array ++ * [ ] An empty sections array is valid ++ * [X] Array elements are valid section objects ++ - `offset` field ++ * [X] Must be present ++ * `line` field ++ - [X] Must be present ++ - [X] Must be a number ++ * `column` field ++ - [X] Must be present ++ - [X] Must be a number ++ - `map` field ++ * [X] Must be present ++ * [X] Must be an object ++ * [ ] Must be a valid source map ++ - [X] Sections are in order (the spec is not 100% clear, but assumption is increasing numeric order, may need subtests) ++ - [X] Sections are non-overlapping (the definition of overlap is not clear, may need subtests) ++* Mappings format ++ - [X] Each line is separated by ";" ++ - [X] A line may consist of zero segments (e.g., ";;") ++ - [X] Each line consists only of segments separated by "," ++ - [X] Must have greater than zero fields (note: many implementations don't check) ++ - [X] Must have 1, 4, or 5 fields ++ - [X] The source index must not be out of bounds of the sources array ++ - [X] The name index must not be out of bounds of the names array ++ - Absolute VLQ values must be non-negative ++ * [X] The column must be non-negative ++ * [X] The source index must be non-negative ++ * [X] The original line must be non-negative ++ * [X] The original column must be non-negative ++ * [X] The name index must be non-negative ++ - Relative VLQ values must be non-negative after adding to previous value ++ * [X] The column must be non-negative ++ * [X] The source index must be non-negative ++ * [X] The original line must be non-negative ++ * [X] The original column must be non-negative ++ * [X] The name index must be non-negative ++* Ignore list ++ - [X] An ignore list is optional, may be missing ++ - [X] An ignore list can't be a non-array value ++ * [X] An ignore list can be empty ++ * [X] An ignore list entry must be a number ++ * [X] An ignore list entry cannot be out-of-bounds of the sources array ++ - [X] Ignore list entries are detected and are present ++ - [X] Items not specified in the ignore list don't show up as ignored ++* Mappings semantics ++ - [ ] A source map with no mappings does not map any position. ++ - [ ] A single field segment gets mapped to the correct line and column. ++ - [X] A four field segment gets mapped to the correct line and column. ++ - [X] A five field segment gets mapped to the correct line and column. ++ - [X] When a name is present in a segment, it is correctly mapped. ++ - [X] When a source is present in a segment, it is correctly mapped. ++ - [ ] The second occurence of a field segment in a line is mapped relative to the previous one. ++ - [ ] When a new line starts, the generated column field resets to zero rather than being relative to the previous line. ++ - [ ] For fields other than the generated column, a segment field that has occured once in a previous line is mapped relatively when it occurs in the next line. ++ - [ ] Ensure that a transitive source map mapping works as expected ++ - Index maps are correctly used in mappings ++ * [ ] An index map with one sub-map will map correctly. ++ * [X] An index map with multiple sub-maps will map correctly, with appropriate offsets for the second and later sub-maps. ++* Resolution of sources ++ - [ ] When `sourceRoot` is provided, it is prepended to any `sources` entries and will be mapped with the full URL. ++ - [ ] If the source URL is an absolute URL, it is resolved as an absolute URL. ++ - [ ] If the source URL is a relative URL, it is resolved relative to the source map path. ++* Wasm support ++ - [ ] Create versions of the tests that use a Wasm source. ++ ++### Scopes Proposal ++ ++TODO +diff --git a/LayoutTests/imported/tg4/source-map-tests/chrome/0001-Add-source-map-specification-tests.patch b/LayoutTests/imported/tg4/source-map-tests/chrome/0001-Add-source-map-specification-tests.patch +new file mode 100644 +index 000000000000..c5fbd4baa8b0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/chrome/0001-Add-source-map-specification-tests.patch +@@ -0,0 +1,3867 @@ ++From afa11641db357e524c8f4d5f573945dd15c1f2e9 Mon Sep 17 00:00:00 2001 ++From: Agata Belkius <abelkius@gmail.com> ++Date: Fri, 19 Apr 2024 15:30:48 +0100 ++Subject: [PATCH 1/2] Add source map specification tests ++ ++--- ++ front_end/BUILD.gn | 1 + ++ front_end/core/sdk/BUILD.gn | 1 + ++ front_end/core/sdk/SourceMapSpec.test.ts | 206 +++ ++ .../core/sdk/fixtures/sourcemaps/BUILD.gn | 202 +++ ++ .../sourcemaps/basic-mapping-as-index-map.js | 2 + ++ .../basic-mapping-as-index-map.js.map | 15 + ++ .../sourcemaps/basic-mapping-original.js | 8 + ++ .../sdk/fixtures/sourcemaps/basic-mapping.js | 2 + ++ .../fixtures/sourcemaps/basic-mapping.js.map | 6 + ++ .../fixtures/sourcemaps/ignore-list-empty.js | 1 + ++ .../sourcemaps/ignore-list-empty.js.map | 8 + ++ .../sourcemaps/ignore-list-out-of-bounds.js | 1 + ++ .../ignore-list-out-of-bounds.js.map | 8 + ++ .../sourcemaps/ignore-list-valid-1.js | 1 + ++ .../sourcemaps/ignore-list-valid-1.js.map | 8 + ++ .../sourcemaps/ignore-list-wrong-type-1.js | 1 + ++ .../ignore-list-wrong-type-1.js.map | 8 + ++ .../sourcemaps/ignore-list-wrong-type-2.js | 1 + ++ .../ignore-list-wrong-type-2.js.map | 8 + ++ .../sourcemaps/ignore-list-wrong-type-3.js | 1 + ++ .../ignore-list-wrong-type-3.js.map | 8 + ++ .../index-map-invalid-base-mappings.js | 1 + ++ .../index-map-invalid-base-mappings.js.map | 15 + ++ .../sourcemaps/index-map-invalid-order.js | 1 + ++ .../sourcemaps/index-map-invalid-order.js.map | 23 + ++ .../sourcemaps/index-map-invalid-overlap.js | 1 + ++ .../index-map-invalid-overlap.js.map | 23 + ++ .../sourcemaps/index-map-missing-map.js | 1 + ++ .../sourcemaps/index-map-missing-map.js.map | 8 + ++ .../index-map-missing-offset-column.js | 1 + ++ .../index-map-missing-offset-column.js.map | 14 + ++ .../index-map-missing-offset-line.js | 1 + ++ .../index-map-missing-offset-line.js.map | 14 + ++ .../sourcemaps/index-map-missing-offset.js | 1 + ++ .../index-map-missing-offset.js.map | 13 + ++ .../index-map-offset-column-wrong-type.js | 1 + ++ .../index-map-offset-column-wrong-type.js.map | 14 + ++ .../index-map-offset-line-wrong-type.js | 1 + ++ .../index-map-offset-line-wrong-type.js.map | 14 + ++ .../index-map-two-concatenated-sources.js | 2 + ++ .../index-map-two-concatenated-sources.js.map | 24 + ++ .../sourcemaps/index-map-wrong-type-map.js | 1 + ++ .../index-map-wrong-type-map.js.map | 9 + ++ .../sourcemaps/index-map-wrong-type-offset.js | 1 + ++ .../index-map-wrong-type-offset.js.map | 14 + ++ .../index-map-wrong-type-sections.js | 1 + ++ .../index-map-wrong-type-sections.js.map | 4 + ++ .../invalid-mapping-bad-separator.js | 2 + ++ .../invalid-mapping-bad-separator.js.map | 6 + ++ .../invalid-mapping-not-a-string-1.js | 1 + ++ .../invalid-mapping-not-a-string-1.js.map | 7 + ++ .../invalid-mapping-not-a-string-2.js | 1 + ++ .../invalid-mapping-not-a-string-2.js.map | 7 + ++ ...nvalid-mapping-segment-column-too-large.js | 1 + ++ ...id-mapping-segment-column-too-large.js.map | 7 + ++ ...apping-segment-name-index-out-of-bounds.js | 1 + ++ ...ng-segment-name-index-out-of-bounds.js.map | 7 + ++ ...id-mapping-segment-name-index-too-large.js | 1 + ++ ...apping-segment-name-index-too-large.js.map | 7 + ++ ...invalid-mapping-segment-negative-column.js | 1 + ++ ...lid-mapping-segment-negative-column.js.map | 7 + ++ ...lid-mapping-segment-negative-name-index.js | 1 + ++ ...mapping-segment-negative-name-index.js.map | 7 + ++ ...apping-segment-negative-original-column.js | 1 + ++ ...ng-segment-negative-original-column.js.map | 7 + ++ ...-mapping-segment-negative-original-line.js | 1 + ++ ...ping-segment-negative-original-line.js.map | 7 + ++ ...apping-segment-negative-relative-column.js | 1 + ++ ...ng-segment-negative-relative-column.js.map | 8 + ++ ...ng-segment-negative-relative-name-index.js | 1 + ++ ...egment-negative-relative-name-index.js.map | 8 + ++ ...gment-negative-relative-original-column.js | 1 + ++ ...t-negative-relative-original-column.js.map | 8 + ++ ...segment-negative-relative-original-line.js | 1 + ++ ...ent-negative-relative-original-line.js.map | 8 + ++ ...-segment-negative-relative-source-index.js | 1 + ++ ...ment-negative-relative-source-index.js.map | 8 + ++ ...d-mapping-segment-negative-source-index.js | 1 + ++ ...pping-segment-negative-source-index.js.map | 7 + ++ ...pping-segment-original-column-too-large.js | 1 + ++ ...g-segment-original-column-too-large.js.map | 7 + ++ ...mapping-segment-original-line-too-large.js | 1 + ++ ...ing-segment-original-line-too-large.js.map | 7 + ++ ...ping-segment-source-index-out-of-bounds.js | 1 + ++ ...-segment-source-index-out-of-bounds.js.map | 7 + ++ ...-mapping-segment-source-index-too-large.js | 1 + ++ ...ping-segment-source-index-too-large.js.map | 7 + ++ ...valid-mapping-segment-with-three-fields.js | 2 + ++ ...d-mapping-segment-with-three-fields.js.map | 6 + ++ ...invalid-mapping-segment-with-two-fields.js | 2 + ++ ...lid-mapping-segment-with-two-fields.js.map | 6 + ++ ...nvalid-mapping-segment-with-zero-fields.js | 1 + ++ ...id-mapping-segment-with-zero-fields.js.map | 7 + ++ .../invalid-vlq-missing-continuation.js | 1 + ++ .../invalid-vlq-missing-continuation.js.map | 6 + ++ .../sourcemaps/invalid-vlq-non-base64-char.js | 1 + ++ .../invalid-vlq-non-base64-char.js.map | 6 + ++ .../sdk/fixtures/sourcemaps/names-missing.js | 1 + ++ .../fixtures/sourcemaps/names-missing.js.map | 5 + ++ .../fixtures/sourcemaps/names-not-a-list-1.js | 1 + ++ .../sourcemaps/names-not-a-list-1.js.map | 6 + ++ .../fixtures/sourcemaps/names-not-a-list-2.js | 1 + ++ .../sourcemaps/names-not-a-list-2.js.map | 6 + ++ .../fixtures/sourcemaps/names-not-string.js | 1 + ++ .../sourcemaps/names-not-string.js.map | 6 + ++ .../sourcemaps/second-source-original.js | 4 + ++ .../sourcemaps/source-map-spec-tests.json | 1540 +++++++++++++++++ ++ .../sources-and-sources-content-both-null.js | 1 + ++ ...urces-and-sources-content-both-null.js.map | 7 + ++ .../fixtures/sourcemaps/sources-missing.js | 1 + ++ .../sourcemaps/sources-missing.js.map | 5 + ++ .../sources-non-null-sources-content-null.js | 2 + ++ ...urces-non-null-sources-content-null.js.map | 7 + ++ .../sourcemaps/sources-not-a-list-1.js | 1 + ++ .../sourcemaps/sources-not-a-list-1.js.map | 6 + ++ .../sourcemaps/sources-not-a-list-2.js | 1 + ++ .../sourcemaps/sources-not-a-list-2.js.map | 6 + ++ .../sourcemaps/sources-not-string-or-null.js | 1 + ++ .../sources-not-string-or-null.js.map | 6 + ++ .../sources-null-sources-content-non-null.js | 2 + ++ ...urces-null-sources-content-non-null.js.map | 7 + ++ .../sourcemaps/transitive-mapping-original.js | 5 + ++ .../transitive-mapping-original.js.map | 8 + ++ .../transitive-mapping-three-steps.js | 6 + ++ .../transitive-mapping-three-steps.js.map | 7 + ++ .../fixtures/sourcemaps/transitive-mapping.js | 2 + ++ .../sourcemaps/transitive-mapping.js.map | 6 + ++ .../sourcemaps/typescript-original.ts | 5 + ++ .../sourcemaps/unrecognized-property.js | 1 + ++ .../sourcemaps/unrecognized-property.js.map | 8 + ++ .../valid-mapping-boundary-values.js | 1 + ++ .../valid-mapping-boundary-values.js.map | 7 + ++ .../sourcemaps/valid-mapping-empty-groups.js | 1 + ++ .../valid-mapping-empty-groups.js.map | 8 + ++ .../sourcemaps/valid-mapping-large-vlq.js | 1 + ++ .../sourcemaps/valid-mapping-large-vlq.js.map | 6 + ++ .../sourcemaps/valid-mapping-null-sources.js | 2 + ++ .../valid-mapping-null-sources.js.map | 6 + ++ .../fixtures/sourcemaps/version-missing.js | 1 + ++ .../sourcemaps/version-missing.js.map | 5 + ++ .../sourcemaps/version-not-a-number.js | 1 + ++ .../sourcemaps/version-not-a-number.js.map | 6 + ++ .../sourcemaps/version-numeric-string.js | 1 + ++ .../sourcemaps/version-numeric-string.js.map | 6 + ++ .../fixtures/sourcemaps/version-too-high.js | 1 + ++ .../sourcemaps/version-too-high.js.map | 6 + ++ .../fixtures/sourcemaps/version-too-low.js | 1 + ++ .../sourcemaps/version-too-low.js.map | 6 + ++ .../sdk/fixtures/sourcemaps/version-valid.js | 1 + ++ .../fixtures/sourcemaps/version-valid.js.map | 6 + ++ 150 files changed, 2648 insertions(+) ++ create mode 100644 front_end/core/sdk/SourceMapSpec.test.ts ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/BUILD.gn ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-missing.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-string.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/second-source-original.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-missing.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-missing.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-high.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-low.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-valid.js ++ create mode 100644 front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map ++ ++diff --git a/front_end/BUILD.gn b/front_end/BUILD.gn ++index 863a434cea..125b34ba73 100644 ++--- a/front_end/BUILD.gn +++++ b/front_end/BUILD.gn ++@@ -106,6 +106,7 @@ group("unittests") { ++ "core/protocol_client:unittests", ++ "core/root:unittests", ++ "core/sdk:unittests", +++ "core/sdk/fixtures/sourcemaps", ++ "entrypoints/formatter_worker:unittests", ++ "entrypoints/heap_snapshot_worker:unittests", ++ "entrypoints/inspector_main:unittests", ++diff --git a/front_end/core/sdk/BUILD.gn b/front_end/core/sdk/BUILD.gn ++index 8d1cf0fa92..f8879365f4 100644 ++--- a/front_end/core/sdk/BUILD.gn +++++ b/front_end/core/sdk/BUILD.gn ++@@ -165,6 +165,7 @@ ts_library("unittests") { ++ "SourceMapManager.test.ts", ++ "SourceMapScopes.test.ts", ++ "SourceMapScopesInfo.test.ts", +++ "SourceMapSpec.test.ts", ++ "StorageBucketsModel.test.ts", ++ "StorageKeyManager.test.ts", ++ "Target.test.ts", ++diff --git a/front_end/core/sdk/SourceMapSpec.test.ts b/front_end/core/sdk/SourceMapSpec.test.ts ++new file mode 100644 ++index 0000000000..93b26a2e13 ++--- /dev/null +++++ b/front_end/core/sdk/SourceMapSpec.test.ts ++@@ -0,0 +1,206 @@ +++// Copyright 2024 The Chromium Authors. All rights reserved. +++// Use of this source code is governed by a BSD-style license that can be +++// found in the LICENSE file. +++ +++ +++/** +++ This file tests if devtools sourcemaps implementation is matching the sourcemaps spec. +++ Sourcemap Spec tests are using test data coming from: https://github.com/tc39/source-map-tests +++ +++ There is a lot of warnings of invalid source maps passing the validation - this is up to the authors +++ which ones of these could be actually checked in the SourceMaps implementetion and which ones are ok to ignore. +++ +++ **/ +++ +++const {assert} = chai; +++import type * as Platform from '../platform/platform.js'; +++import {assertNotNullOrUndefined} from '../platform/platform.js'; +++import { SourceMapV3, parseSourceMap } from './SourceMap.js'; +++import * as SDK from './sdk.js'; +++import {describeWithEnvironment} from '../../testing/EnvironmentHelpers.js'; +++ +++interface TestSpec { +++ name: string; +++ description: string; +++ baseFile: string; +++ sourceMapFile: string; +++ sourceMapIsValid: boolean; +++ testActions?: TestAction[]; +++} +++ +++interface TestAction { +++ actionType: string; +++ generatedLine: number; +++ generatedColumn: number; +++ originalSource: string; +++ originalLine: number; +++ originalColumn: number; +++ mappedName: null | string; +++ intermediateMaps?: string[] +++} +++ +++// Accept "null", null, or undefined for tests specifying a missing value. +++function nullish(arg : any) { +++ if (arg === "null" || arg === undefined) { +++ return null; +++ } +++ return arg; +++} +++ +++describeWithEnvironment('SourceMapSpec', () => { +++ let testCases : TestSpec[] | undefined; +++ let sourceMapContents : SourceMapV3[] = []; +++ +++ before(async () => { +++ testCases = await loadTestCasesFromFixture('source-map-spec-tests.json'); +++ sourceMapContents = await Promise.all( +++ testCases!.map( +++ async (testCase) => { +++ const { sourceMapFile } = testCase; +++ return loadSourceMapFromFixture(sourceMapFile); +++ } +++ ) +++ ); +++ }); +++ +++ it('Spec tests', () => { +++ const consoleErrorSpy = sinon.spy(console, 'error'); +++ testCases!.forEach(({ +++ baseFile, +++ sourceMapFile, +++ testActions, +++ sourceMapIsValid, +++ name +++ }, index) => { +++ const sourceMapContent = sourceMapContents[index]; +++ +++ // These test cases are ignored because certain validity checks are +++ // not implemented, such as checking the version number is `3`. +++ const ignoredCasesForBasicValidity = [ +++ "fileNotAString1", +++ "fileNotAString2", +++ "versionMissing", +++ "versionNotANumber", +++ "versionNumericString", +++ "versionTooHigh", +++ "versionTooLow", +++ "sourcesNotAList1", +++ "sourcesNotAList2", +++ "sourcesNotStringOrNull", +++ // FIXME: this test should be revised after recent spec changes +++ "namesMissing", +++ "namesNotAList1", +++ "namesNotAList2", +++ "namesNotString", +++ "ignoreListWrongType1", +++ "ignoreListWrongType2", +++ "ignoreListOutOfBounds", +++ "indexMapWrongTypeSections", +++ "indexMapWrongTypeMap", +++ "indexMapMissingOffset", +++ "invalidVLQDueToNonBase64Character", +++ ]; +++ +++ // 1) check if an invalid sourcemap throws on SourceMap instance creation, or +++ // 2) check if an invalid sourcemap throws on mapping creation +++ if (!sourceMapIsValid) { +++ if (ignoredCasesForBasicValidity.includes(name)) +++ return; +++ +++ let thrownDuringParse = false; +++ try { +++ const sourceMap = new SDK.SourceMap.SourceMap( +++ baseFile as Platform.DevToolsPath.UrlString, +++ sourceMapFile as Platform.DevToolsPath.UrlString, +++ sourceMapContent); +++ sourceMap.mappings(); +++ } catch { +++ thrownDuringParse = true; +++ } +++ assert.equal( +++ thrownDuringParse || consoleErrorSpy.calledWith("Failed to parse source map"), +++ true, +++ `${name}: expected invalid source map to fail to load` +++ ); +++ +++ return; +++ } +++ +++ // 3) check if a valid sourcemap can be parsed and a SourceMap instance created +++ const baseFileUrl = baseFile as Platform.DevToolsPath.UrlString; +++ const sourceMapFileUrl = sourceMapFile as Platform.DevToolsPath.UrlString; +++ +++ assert.doesNotThrow( +++ () => parseSourceMap(JSON.stringify(sourceMapContent)), +++ undefined, +++ undefined, +++ `${name}: expected valid source map to parse` +++ ); +++ assert.doesNotThrow(() => new SDK.SourceMap.SourceMap( +++ baseFileUrl, +++ sourceMapFileUrl, +++ sourceMapContent +++ ), undefined, undefined, `${name}: expected valid source map to parse`); +++ +++ // 4) check if the mappings are valid +++ const sourceMap = new SDK.SourceMap.SourceMap( +++ baseFileUrl, +++ sourceMapFileUrl, +++ sourceMapContent); +++ +++ assert.doesNotThrow(() => sourceMap.findEntry(1, 1)); +++ +++ if (testActions !== undefined) { +++ testActions.forEach(({ +++ actionType, +++ originalSource, +++ originalLine, +++ originalColumn, +++ generatedLine, +++ generatedColumn, +++ intermediateMaps +++ }) => { +++ +++ if (actionType === "checkMapping" && sourceMapIsValid) { +++ // 4a) check if the mappings are valid for regular sourcemaps +++ // extract to separate function +++ let actual = sourceMap.findEntry(generatedLine, generatedColumn); +++ assertNotNullOrUndefined(actual); +++ +++ assert.strictEqual(nullish(actual.sourceURL), originalSource, 'unexpected source URL'); +++ assert.strictEqual(nullish(actual.sourceLineNumber), originalLine, 'unexpected source line number'); +++ assert.strictEqual(nullish(actual.sourceColumnNumber), originalColumn, 'unexpected source column number'); +++ } +++ }); +++ } +++ }); +++ }); +++}); +++ +++async function loadTestCasesFromFixture(filename: string): Promise<TestSpec[]> { +++ const testSpec = await getFixtureFileContents<{ tests: TestSpec[] }>(filename); +++ return testSpec?.tests ?? []; +++}; +++ +++async function loadSourceMapFromFixture(filename: string): Promise<SourceMapV3> { +++ return getFixtureFileContents<SourceMapV3>(filename); +++}; +++ +++async function getFixtureFileContents<T>(filename: string): +++ Promise<T> { +++ const url = new URL(`/front_end/core/sdk/fixtures/sourcemaps/${filename}`, window.location.origin); +++ +++ const response = await fetch(url); +++ +++ if (response.status !== 200) { +++ throw new Error(`Unable to load ${url}`); +++ } +++ +++ const contentType = response.headers.get('content-type'); +++ const isGzipEncoded = contentType !== null && contentType.includes('gzip'); +++ let buffer = await response.arrayBuffer(); +++ +++ const decoder = new TextDecoder('utf-8'); +++ const contents = JSON.parse(decoder.decode(buffer)) as T; +++ return contents; +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn b/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn ++new file mode 100644 ++index 0000000000..a82b09a02d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/BUILD.gn ++@@ -0,0 +1,202 @@ +++# Copyright 2022 The Chromium Authors. All rights reserved. +++# Use of this source code is governed by a BSD-style license that can be +++# found in the LICENSE file. +++ +++import("../../../../../scripts/build/ninja/copy.gni") +++ +++copy_to_gen("sourcemaps") { +++ sources = [ +++ "basic-mapping-as-index-map.js", +++ "basic-mapping-as-index-map.js.map", +++ "basic-mapping-original.js", +++ "basic-mapping.js", +++ "basic-mapping.js.map", +++ "file-not-a-string-1.js", +++ "file-not-a-string-1.js.map", +++ "file-not-a-string-2.js", +++ "file-not-a-string-2.js.map", +++ "ignore-list-empty.js", +++ "ignore-list-empty.js.map", +++ "ignore-list-out-of-bounds.js", +++ "ignore-list-out-of-bounds.js.map", +++ "ignore-list-valid-1.js", +++ "ignore-list-valid-1.js.map", +++ "ignore-list-wrong-type-1.js", +++ "ignore-list-wrong-type-1.js.map", +++ "ignore-list-wrong-type-2.js", +++ "ignore-list-wrong-type-2.js.map", +++ "ignore-list-wrong-type-3.js", +++ "ignore-list-wrong-type-3.js.map", +++ "index-map-empty-sections.js", +++ "index-map-empty-sections.js.map", +++ "index-map-file-wrong-type-1.js", +++ "index-map-file-wrong-type-1.js.map", +++ "index-map-file-wrong-type-2.js", +++ "index-map-file-wrong-type-2.js.map", +++ "index-map-invalid-base-mappings.js", +++ "index-map-invalid-base-mappings.js.map", +++ "index-map-invalid-order.js", +++ "index-map-invalid-order.js.map", +++ "index-map-invalid-overlap.js", +++ "index-map-invalid-overlap.js.map", +++ "index-map-invalid-sub-map.js", +++ "index-map-invalid-sub-map.js.map", +++ "index-map-missing-file.js", +++ "index-map-missing-file.js.map", +++ "index-map-missing-map.js", +++ "index-map-missing-map.js.map", +++ "index-map-missing-offset-column.js", +++ "index-map-missing-offset-column.js.map", +++ "index-map-missing-offset-line.js", +++ "index-map-missing-offset-line.js.map", +++ "index-map-missing-offset.js", +++ "index-map-missing-offset.js.map", +++ "index-map-offset-column-wrong-type.js", +++ "index-map-offset-column-wrong-type.js.map", +++ "index-map-offset-line-wrong-type.js", +++ "index-map-offset-line-wrong-type.js.map", +++ "index-map-two-concatenated-sources.js", +++ "index-map-two-concatenated-sources.js.map", +++ "index-map-wrong-type-map.js", +++ "index-map-wrong-type-map.js.map", +++ "index-map-wrong-type-offset.js", +++ "index-map-wrong-type-offset.js.map", +++ "index-map-wrong-type-sections.js", +++ "index-map-wrong-type-sections.js.map", +++ "invalid-mapping-bad-separator.js", +++ "invalid-mapping-bad-separator.js.map", +++ "invalid-mapping-not-a-string-1.js", +++ "invalid-mapping-not-a-string-1.js.map", +++ "invalid-mapping-not-a-string-2.js", +++ "invalid-mapping-not-a-string-2.js.map", +++ "invalid-mapping-segment-column-too-large.js", +++ "invalid-mapping-segment-column-too-large.js.map", +++ "invalid-mapping-segment-name-index-out-of-bounds.js", +++ "invalid-mapping-segment-name-index-out-of-bounds.js.map", +++ "invalid-mapping-segment-name-index-too-large.js", +++ "invalid-mapping-segment-name-index-too-large.js.map", +++ "invalid-mapping-segment-negative-column.js", +++ "invalid-mapping-segment-negative-column.js.map", +++ "invalid-mapping-segment-negative-name-index.js", +++ "invalid-mapping-segment-negative-name-index.js.map", +++ "invalid-mapping-segment-negative-original-column.js", +++ "invalid-mapping-segment-negative-original-column.js.map", +++ "invalid-mapping-segment-negative-original-line.js", +++ "invalid-mapping-segment-negative-original-line.js.map", +++ "invalid-mapping-segment-negative-relative-column.js", +++ "invalid-mapping-segment-negative-relative-column.js.map", +++ "invalid-mapping-segment-negative-relative-name-index.js", +++ "invalid-mapping-segment-negative-relative-name-index.js.map", +++ "invalid-mapping-segment-negative-relative-original-column.js", +++ "invalid-mapping-segment-negative-relative-original-column.js.map", +++ "invalid-mapping-segment-negative-relative-original-line.js", +++ "invalid-mapping-segment-negative-relative-original-line.js.map", +++ "invalid-mapping-segment-negative-relative-source-index.js", +++ "invalid-mapping-segment-negative-relative-source-index.js.map", +++ "invalid-mapping-segment-negative-source-index.js", +++ "invalid-mapping-segment-negative-source-index.js.map", +++ "invalid-mapping-segment-original-column-too-large.js", +++ "invalid-mapping-segment-original-column-too-large.js.map", +++ "invalid-mapping-segment-original-line-too-large.js", +++ "invalid-mapping-segment-original-line-too-large.js.map", +++ "invalid-mapping-segment-source-index-out-of-bounds.js", +++ "invalid-mapping-segment-source-index-out-of-bounds.js.map", +++ "invalid-mapping-segment-source-index-too-large.js", +++ "invalid-mapping-segment-source-index-too-large.js.map", +++ "invalid-mapping-segment-with-three-fields.js", +++ "invalid-mapping-segment-with-three-fields.js.map", +++ "invalid-mapping-segment-with-two-fields.js", +++ "invalid-mapping-segment-with-two-fields.js.map", +++ "invalid-mapping-segment-with-zero-fields.js", +++ "invalid-mapping-segment-with-zero-fields.js.map", +++ "invalid-vlq-missing-continuation.js", +++ "invalid-vlq-missing-continuation.js.map", +++ "invalid-vlq-non-base64-char.js", +++ "invalid-vlq-non-base64-char.js.map", +++ "mapping-semantics-column-reset.js", +++ "mapping-semantics-column-reset.js.map", +++ "mapping-semantics-five-field-segment.js", +++ "mapping-semantics-five-field-segment.js.map", +++ "mapping-semantics-four-field-segment.js", +++ "mapping-semantics-four-field-segment.js.map", +++ "mapping-semantics-relative-1.js", +++ "mapping-semantics-relative-1.js.map", +++ "mapping-semantics-relative-2.js", +++ "mapping-semantics-relative-2.js.map", +++ "mapping-semantics-single-field-segment.js", +++ "mapping-semantics-single-field-segment.js.map", +++ "names-missing.js", +++ "names-missing.js.map", +++ "names-not-a-list-1.js", +++ "names-not-a-list-1.js.map", +++ "names-not-a-list-2.js", +++ "names-not-a-list-2.js.map", +++ "names-not-string.js", +++ "names-not-string.js.map", +++ "second-source-original.js", +++ "source-map-spec-tests.json", +++ "source-resolution-absolute-url.js", +++ "source-resolution-absolute-url.js.map", +++ "source-resolution-relative-url.js", +++ "source-resolution-relative-url.js.map", +++ "source-root-not-a-string-1.js", +++ "source-root-not-a-string-1.js.map", +++ "source-root-not-a-string-2.js", +++ "source-root-not-a-string-2.js.map", +++ "source-root-resolution.js", +++ "source-root-resolution.js.map", +++ "sources-and-sources-content-both-null.js", +++ "sources-and-sources-content-both-null.js.map", +++ "sources-missing.js", +++ "sources-missing.js.map", +++ "sources-non-null-sources-content-null.js", +++ "sources-non-null-sources-content-null.js.map", +++ "sources-not-a-list-1.js", +++ "sources-not-a-list-1.js.map", +++ "sources-not-a-list-2.js", +++ "sources-not-a-list-2.js.map", +++ "sources-not-string-or-null.js", +++ "sources-not-string-or-null.js.map", +++ "sources-null-sources-content-non-null.js", +++ "sources-null-sources-content-non-null.js.map", +++ "transitive-mapping-original.js", +++ "transitive-mapping-original.js.map", +++ "transitive-mapping-three-steps.js", +++ "transitive-mapping-three-steps.js.map", +++ "transitive-mapping.js", +++ "transitive-mapping.js.map", +++ "typescript-original.ts", +++ "unrecognized-property.js", +++ "unrecognized-property.js.map", +++ "valid-mapping-boundary-values.js", +++ "valid-mapping-boundary-values.js.map", +++ "valid-mapping-empty-groups.js", +++ "valid-mapping-empty-groups.js.map", +++ "valid-mapping-empty-string.js", +++ "valid-mapping-empty-string.js.map", +++ "valid-mapping-large-vlq.js", +++ "valid-mapping-large-vlq.js.map", +++ "valid-mapping-null-sources.js", +++ "valid-mapping-null-sources.js.map", +++ "version-missing.js", +++ "version-missing.js.map", +++ "version-not-a-number.js", +++ "version-not-a-number.js.map", +++ "version-numeric-string.js", +++ "version-numeric-string.js.map", +++ "version-too-high.js", +++ "version-too-high.js.map", +++ "version-too-low.js", +++ "version-too-low.js.map", +++ "version-valid.js", +++ "version-valid.js.map", +++ "vlq-valid-continuation-bit-present-1.js", +++ "vlq-valid-continuation-bit-present-1.js.map", +++ "vlq-valid-continuation-bit-present-2.js", +++ "vlq-valid-continuation-bit-present-2.js.map", +++ "vlq-valid-negative-digit.js", +++ "vlq-valid-negative-digit.js.map", +++ "vlq-valid-single-digit.js", +++ "vlq-valid-single-digit.js.map", +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js ++new file mode 100644 ++index 0000000000..b9fae38043 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=basic-mapping-as-index-map.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map ++new file mode 100644 ++index 0000000000..c0ad870ed2 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-as-index-map.js.map ++@@ -0,0 +1,15 @@ +++{ +++ "version": 3, +++ "file": "basic-mapping-as-index-map.js", +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js ++new file mode 100644 ++index 0000000000..301b186cb1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping-original.js ++@@ -0,0 +1,8 @@ +++function foo() { +++ return 42; +++} +++function bar() { +++ return 24; +++} +++foo(); +++bar(); ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js ++new file mode 100644 ++index 0000000000..2e479a4175 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=basic-mapping.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map ++new file mode 100644 ++index 0000000000..12dc9679a4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/basic-mapping.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version":3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js ++new file mode 100644 ++index 0000000000..385a5c3501 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-empty.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map ++new file mode 100644 ++index 0000000000..7297863a9b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-empty.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": [] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js ++new file mode 100644 ++index 0000000000..7a0fbb8833 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-out-of-bounds.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map ++new file mode 100644 ++index 0000000000..fb2566bb41 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-out-of-bounds.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": [1] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js ++new file mode 100644 ++index 0000000000..ea64a5565a ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-valid-1.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map ++new file mode 100644 ++index 0000000000..98eebdf7f6 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-valid-1.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": [0] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js ++new file mode 100644 ++index 0000000000..8b40bd3847 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-wrong-type-1.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map ++new file mode 100644 ++index 0000000000..688740aba8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-1.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": ["not a number"] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js ++new file mode 100644 ++index 0000000000..35c7791164 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-wrong-type-2.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map ++new file mode 100644 ++index 0000000000..ca1d30de2d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-2.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": ["0"] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js ++new file mode 100644 ++index 0000000000..8735d41758 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=ignore-list-wrong-type-3.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map ++new file mode 100644 ++index 0000000000..1ac167d56c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/ignore-list-wrong-type-3.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "", +++ "names": [], +++ "ignoreList": 0 +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js ++new file mode 100644 ++index 0000000000..e90bef083c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-invalid-base-mappings.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map ++new file mode 100644 ++index 0000000000..b489c1f080 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-base-mappings.js.map ++@@ -0,0 +1,15 @@ +++{ +++ "version": 3, +++ "mappings": "AAAA", +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js ++new file mode 100644 ++index 0000000000..263fa3c6e0 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-invalid-order.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map ++new file mode 100644 ++index 0000000000..82da69df72 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-order.js.map ++@@ -0,0 +1,23 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 1, "column": 4 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ }, +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js ++new file mode 100644 ++index 0000000000..9aff8dc620 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-invalid-overlap.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map ++new file mode 100644 ++index 0000000000..8d42546fd8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-invalid-overlap.js.map ++@@ -0,0 +1,23 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ }, +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js ++new file mode 100644 ++index 0000000000..86c8e9a253 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-missing-map.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map ++new file mode 100644 ++index 0000000000..3bce47e852 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-map.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js ++new file mode 100644 ++index 0000000000..fe6917403f ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-missing-offset-column.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map ++new file mode 100644 ++index 0000000000..aa48bbb993 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-column.js.map ++@@ -0,0 +1,14 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js ++new file mode 100644 ++index 0000000000..ba8614e412 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-missing-offset-line.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map ++new file mode 100644 ++index 0000000000..3d60444ea7 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset-line.js.map ++@@ -0,0 +1,14 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js ++new file mode 100644 ++index 0000000000..9ca2cf3fb5 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-missing-offset.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map ++new file mode 100644 ++index 0000000000..7285138bf5 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-missing-offset.js.map ++@@ -0,0 +1,13 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js ++new file mode 100644 ++index 0000000000..ed1e9ec5d5 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-offset-column-wrong-type.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map ++new file mode 100644 ++index 0000000000..b43e79a9dd ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-column-wrong-type.js.map ++@@ -0,0 +1,14 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": true }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js ++new file mode 100644 ++index 0000000000..d58f2aff99 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-offset-line-wrong-type.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map ++new file mode 100644 ++index 0000000000..81dbcd6ec4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-offset-line-wrong-type.js.map ++@@ -0,0 +1,14 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": true, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js ++new file mode 100644 ++index 0000000000..b8702d7187 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar();function baz(){return"baz"}baz(); +++//# sourceMappingURL=index-map-two-concatenated-sources.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map ++new file mode 100644 ++index 0000000000..f67f5de3c5 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-two-concatenated-sources.js.map ++@@ -0,0 +1,24 @@ +++{ +++ "version": 3, +++ "file": "index-map-two-concatenated-sources.js", +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +++ } +++ }, +++ { +++ "offset": { "line": 0, "column": 62 }, +++ "map": { +++ "version": 3, +++ "names": ["baz"], +++ "sources": ["second-source-original.js"], +++ "mappings":"AAAA,SAASA,MACP,MAAO,KACT,CACAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js ++new file mode 100644 ++index 0000000000..d31d6d6358 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-wrong-type-map.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map ++new file mode 100644 ++index 0000000000..0963f623d7 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-map.js.map ++@@ -0,0 +1,9 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": "not a map" +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js ++new file mode 100644 ++index 0000000000..048e1246f8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-wrong-type-offset.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map ++new file mode 100644 ++index 0000000000..fbc6e4e678 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-offset.js.map ++@@ -0,0 +1,14 @@ +++{ +++ "version": 3, +++ "sections": [ +++ { +++ "offset": "not an offset", +++ "map": { +++ "version": 3, +++ "names": [], +++ "sources": ["empty-original.js"], +++ "mappings": "AAAA" +++ } +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js ++new file mode 100644 ++index 0000000000..011eca806e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=index-map-wrong-type-sections.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map ++new file mode 100644 ++index 0000000000..dbfb4ead30 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/index-map-wrong-type-sections.js.map ++@@ -0,0 +1,4 @@ +++{ +++ "version": 3, +++ "sections": "not a sections list" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js ++new file mode 100644 ++index 0000000000..25338aca30 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-bad-separator.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map ++new file mode 100644 ++index 0000000000..5f4f5b9233 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-bad-separator.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAAA.SAASA:MACP" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js ++new file mode 100644 ++index 0000000000..cb38e2fe9d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-not-a-string-1.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map ++new file mode 100644 ++index 0000000000..5bf3e2a9d8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-1.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-not-a-string-1.js", +++ "sources": ["empty-original.js"], +++ "mappings": 5 +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js ++new file mode 100644 ++index 0000000000..3d84abd6c6 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-not-a-string-2.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map ++new file mode 100644 ++index 0000000000..4527e7f764 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-not-a-string-2.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-not-a-string-2.js", +++ "sources": ["empty-original.js"], +++ "mappings": [1, 2, 3, 4] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js ++new file mode 100644 ++index 0000000000..55591f874b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-column-too-large.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map ++new file mode 100644 ++index 0000000000..b4c059e015 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-column-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-column-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "ggggggE" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js ++new file mode 100644 ++index 0000000000..2a6b434eff ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-name-index-out-of-bounds.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map ++new file mode 100644 ++index 0000000000..8dd2ea6c2d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-out-of-bounds.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "file": "invalid-mapping-segment-name-index-out-of-bounds.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAC" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js ++new file mode 100644 ++index 0000000000..709e34dbd3 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-name-index-too-large.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map ++new file mode 100644 ++index 0000000000..c7bf5b98d1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-name-index-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-name-index-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAggggggE" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js ++new file mode 100644 ++index 0000000000..a202152d6f ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-column.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map ++new file mode 100644 ++index 0000000000..403878bfa4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-column.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-column.js", +++ "sources": ["empty-original.js"], +++ "mappings": "F" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js ++new file mode 100644 ++index 0000000000..3e3f634204 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-name-index.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map ++new file mode 100644 ++index 0000000000..b94f63646e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-name-index.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-name-index.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAF" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js ++new file mode 100644 ++index 0000000000..f21d5342b3 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-original-column.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map ++new file mode 100644 ++index 0000000000..011c639d3f ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-column.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-original-column.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAF" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js ++new file mode 100644 ++index 0000000000..b37309601c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-original-line.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map ++new file mode 100644 ++index 0000000000..e7ec993eeb ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-original-line.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-original-line.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAFA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js ++new file mode 100644 ++index 0000000000..94b835d687 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-relative-column.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map ++new file mode 100644 ++index 0000000000..414884072b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-column.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-relative-column.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "C,F" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js ++new file mode 100644 ++index 0000000000..c965c5f011 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-relative-name-index.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map ++new file mode 100644 ++index 0000000000..1fbbcfcd32 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-name-index.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-relative-name-index.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "AAAAC,AAAAF" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js ++new file mode 100644 ++index 0000000000..493a6ec88a ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-column.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map ++new file mode 100644 ++index 0000000000..7e62895651 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-column.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-relative-original-column.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "AAAC,AAAF" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js ++new file mode 100644 ++index 0000000000..ca8329fb98 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-line.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map ++new file mode 100644 ++index 0000000000..86b0fb3a04 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-original-line.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-relative-original-line.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "AACA,AAFA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js ++new file mode 100644 ++index 0000000000..fa92225b09 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-relative-source-index.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map ++new file mode 100644 ++index 0000000000..2efeb047db ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-relative-source-index.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-relative-source-index.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": "ACAA,AFAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js ++new file mode 100644 ++index 0000000000..6e05849b6a ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-source-index.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map ++new file mode 100644 ++index 0000000000..596c2f298b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-negative-source-index.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-source-index.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AFAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js ++new file mode 100644 ++index 0000000000..0936ed7ea8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-original-column-too-large.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map ++new file mode 100644 ++index 0000000000..ff2103fe24 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-column-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-original-column-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAggggggE" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js ++new file mode 100644 ++index 0000000000..9b3aa5a361 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-original-line-too-large.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map ++new file mode 100644 ++index 0000000000..890f1c71fc ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-original-line-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-original-line-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAggggggEA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js ++new file mode 100644 ++index 0000000000..2e5fbca268 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-source-index-out-of-bounds.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map ++new file mode 100644 ++index 0000000000..86dedb114f ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-out-of-bounds.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-source-index-out-of-bounds.js", +++ "sources": ["empty-original.js"], +++ "mappings": "ACAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js ++new file mode 100644 ++index 0000000000..3f4943e127 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-source-index-too-large.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map ++new file mode 100644 ++index 0000000000..e9f858c6e1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-source-index-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-source-index-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AggggggEAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js ++new file mode 100644 ++index 0000000000..4b868fac9c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-segment-with-three-fields.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map ++new file mode 100644 ++index 0000000000..c2af1165ad ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-three-fields.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js ++new file mode 100644 ++index 0000000000..96045a7a11 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-segment-with-two-fields.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map ++new file mode 100644 ++index 0000000000..73cf00fa1c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-two-fields.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js ++new file mode 100644 ++index 0000000000..9d5332a56c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-with-zero-fields.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map ++new file mode 100644 ++index 0000000000..5a34d25b64 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-mapping-segment-with-zero-fields.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-with-zero-fields.js", +++ "sources": ["empty-original.js"], +++ "mappings": ",,,," +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js ++new file mode 100644 ++index 0000000000..2c2a0090ac ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-vlq-missing-continuation.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map ++new file mode 100644 ++index 0000000000..dd0e363ff4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-missing-continuation.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "g" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js ++new file mode 100644 ++index 0000000000..d1b20b41a2 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-vlq-non-base64-char.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map ++new file mode 100644 ++index 0000000000..4fa1ac5768 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/invalid-vlq-non-base64-char.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "A$%?!" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-missing.js b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js ++new file mode 100644 ++index 0000000000..58781fd887 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-missing.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map ++new file mode 100644 ++index 0000000000..82170bf784 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-missing.js.map ++@@ -0,0 +1,5 @@ +++{ +++ "version" : 3, +++ "sources": ["empty-original.js"], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js ++new file mode 100644 ++index 0000000000..dc65f1972b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-not-a-list-1.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map ++new file mode 100644 ++index 0000000000..fe1edaeb96 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-1.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": ["source.js"], +++ "names": "not a list", +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js ++new file mode 100644 ++index 0000000000..d7251f78da ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-not-a-list-2.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map ++new file mode 100644 ++index 0000000000..3388d2bb71 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-a-list-2.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": ["source.js"], +++ "names": { "foo": 3 }, +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js ++new file mode 100644 ++index 0000000000..8dc7b4811a ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-not-string.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map ++new file mode 100644 ++index 0000000000..c0feb0739a ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/names-not-string.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": ["source.js"], +++ "names": [null, 3, true, false, {}, []], +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js b/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js ++new file mode 100644 ++index 0000000000..c339bc9d15 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/second-source-original.js ++@@ -0,0 +1,4 @@ +++function baz() { +++ return "baz"; +++} +++baz(); ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json b/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json ++new file mode 100644 ++index 0000000000..0f7a3c1cb1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/source-map-spec-tests.json ++@@ -0,0 +1,1540 @@ +++{ +++ "tests": [ +++ { +++ "name": "versionValid", +++ "description": "Test a simple source map with a valid version number", +++ "baseFile": "version-valid.js", +++ "sourceMapFile": "version-valid.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "versionMissing", +++ "description": "Test a source map that is missing a version field", +++ "baseFile": "version-missing.js", +++ "sourceMapFile": "version-missing.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionNotANumber", +++ "description": "Test a source map with a version field that is not a number", +++ "baseFile": "version-not-a-number.js", +++ "sourceMapFile": "version-not-a-number.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionNumericString", +++ "description": "Test a source map with a version field that is a number as a string", +++ "baseFile": "version-numeric-string.js", +++ "sourceMapFile": "version-numeric-string.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooHigh", +++ "description": "Test a source map with an integer version field that is too high", +++ "baseFile": "version-too-high.js", +++ "sourceMapFile": "version-too-high.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooLow", +++ "description": "Test a source map with an integer version field that is too low", +++ "baseFile": "version-too-low.js", +++ "sourceMapFile": "version-too-low.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesMissing", +++ "description": "Test a source map that is missing a necessary sources field", +++ "baseFile": "sources-missing.js", +++ "sourceMapFile": "sources-missing.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesNotAList1", +++ "description": "Test a source map with a sources field that is not a valid list (string)", +++ "baseFile": "sources-not-a-list-1.js", +++ "sourceMapFile": "sources-not-a-list-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesNotAList2", +++ "description": "Test a source map with a sources field that is not a valid list (object)", +++ "baseFile": "sources-not-a-list-2.js", +++ "sourceMapFile": "sources-not-a-list-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesNotStringOrNull", +++ "description": "Test a source map with a sources list that has non-string and non-null items", +++ "baseFile": "sources-not-string-or-null.js", +++ "sourceMapFile": "sources-not-string-or-null.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesAndSourcesContentBothNull", +++ "description": "Test a source map that has both null sources and sourcesContent entries", +++ "baseFile": "sources-and-sources-content-both-null.js", +++ "sourceMapFile": "sources-and-sources-content-both-null.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "fileNotAString1", +++ "description": "Test a source map with a file field that is not a valid string", +++ "baseFile": "file-not-a-string-1.js", +++ "sourceMapFile": "file-not-a-string-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "fileNotAString2", +++ "description": "Test a source map with a file field that is not a valid string", +++ "baseFile": "file-not-a-string-2.js", +++ "sourceMapFile": "file-not-a-string-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourceRootNotAString1", +++ "description": "Test a source map with a sourceRoot field that is not a valid string", +++ "baseFile": "source-root-not-a-string-1.js", +++ "sourceMapFile": "source-root-not-a-string-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourceRootNotAString2", +++ "description": "Test a source map with a sourceRoot field that is not a valid string", +++ "baseFile": "source-root-not-a-string-2.js", +++ "sourceMapFile": "source-root-not-a-string-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesMissing", +++ "description": "Test a source map that is missing a necessary names field", +++ "baseFile": "names-missing.js", +++ "sourceMapFile": "names-missing.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesNotAList1", +++ "description": "Test a source map with a names field that is not a valid list (string)", +++ "baseFile": "names-not-a-list-1.js", +++ "sourceMapFile": "names-not-a-list-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesNotAList2", +++ "description": "Test a source map with a names field that is not a valid list (object)", +++ "baseFile": "names-not-a-list-2.js", +++ "sourceMapFile": "names-not-a-list-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesNotString", +++ "description": "Test a source map with a names list that has non-string items", +++ "baseFile": "names-not-string.js", +++ "sourceMapFile": "names-not-string.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "ignoreListEmpty", +++ "description": "Test a source map with an ignore list that has no items", +++ "baseFile": "ignore-list-empty.js", +++ "sourceMapFile": "ignore-list-empty.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "ignoreListValid1", +++ "description": "Test a source map with a simple valid ignore list", +++ "baseFile": "ignore-list-valid-1.js", +++ "sourceMapFile": "ignore-list-valid-1.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkIgnoreList", +++ "present": ["empty-original.js"] +++ } +++ ] +++ }, +++ { +++ "name": "ignoreListWrongType1", +++ "description": "Test a source map with an ignore list with the wrong type of items", +++ "baseFile": "ignore-list-wrong-type-1.js", +++ "sourceMapFile": "ignore-list-wrong-type-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "ignoreListWrongType2", +++ "description": "Test a source map with an ignore list with the wrong type of items", +++ "baseFile": "ignore-list-wrong-type-2.js", +++ "sourceMapFile": "ignore-list-wrong-type-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "ignoreListWrongType3", +++ "description": "Test a source map with an ignore list that is not a list", +++ "baseFile": "ignore-list-wrong-type-3.js", +++ "sourceMapFile": "ignore-list-wrong-type-3.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "ignoreListOutOfBounds", +++ "description": "Test a source map with an ignore list with an item with an out-of-bounds index", +++ "baseFile": "ignore-list-out-of-bounds.js", +++ "sourceMapFile": "ignore-list-out-of-bounds.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "unrecognizedProperty", +++ "description": "Test a source map that has an extra field not explicitly encoded in the spec", +++ "baseFile": "unrecognized-property.js", +++ "sourceMapFile": "unrecognized-property.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "invalidVLQDueToNonBase64Character", +++ "description": "Test a source map that has a mapping with an invalid non-base64 character", +++ "baseFile": "invalid-vlq-non-base64-char.js", +++ "sourceMapFile": "invalid-vlq-non-base64-char.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidVLQDueToMissingContinuationDigits", +++ "description": "Test a source map that has a mapping with an invalid VLQ that has a continuation bit but no continuing digits", +++ "baseFile": "invalid-vlq-missing-continuation.js", +++ "sourceMapFile": "invalid-vlq-missing-continuation.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingNotAString1", +++ "description": "Test a source map that has an invalid mapping that is not a string (number)", +++ "baseFile": "invalid-mapping-not-a-string-1.js", +++ "sourceMapFile": "invalid-mapping-not-a-string-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingNotAString2", +++ "description": "Test a source map that has an invalid mapping that is not a string (array)", +++ "baseFile": "invalid-mapping-not-a-string-2.js", +++ "sourceMapFile": "invalid-mapping-not-a-string-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentBadSeparator", +++ "description": "Test a source map that uses separator characters not recognized in the spec", +++ "baseFile": "invalid-mapping-bad-separator.js", +++ "sourceMapFile": "invalid-mapping-bad-separator.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithZeroFields", +++ "description": "Test a source map that has the wrong number (zero) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-zero-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-zero-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithTwoFields", +++ "description": "Test a source map that has the wrong number (two) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-two-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-two-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithThreeFields", +++ "description": "Test a source map that has the wrong number (three) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-three-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-three-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithSourceIndexOutOfBounds", +++ "description": "Test a source map that has a source index field that is out of bounds of the sources field", +++ "baseFile": "invalid-mapping-segment-source-index-out-of-bounds.js", +++ "sourceMapFile": "invalid-mapping-segment-source-index-out-of-bounds.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNameIndexOutOfBounds", +++ "description": "Test a source map that has a name index field that is out of bounds of the names field", +++ "baseFile": "invalid-mapping-segment-name-index-out-of-bounds.js", +++ "sourceMapFile": "invalid-mapping-segment-name-index-out-of-bounds.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeColumn", +++ "description": "Test a source map that has an invalid negative non-relative column field", +++ "baseFile": "invalid-mapping-segment-negative-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeSourceIndex", +++ "description": "Test a source map that has an invalid negative non-relative source index field", +++ "baseFile": "invalid-mapping-segment-negative-source-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-source-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeOriginalLine", +++ "description": "Test a source map that has an invalid negative non-relative original line field", +++ "baseFile": "invalid-mapping-segment-negative-original-line.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-original-line.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeOriginalColumn", +++ "description": "Test a source map that has an invalid negative non-relative original column field", +++ "baseFile": "invalid-mapping-segment-negative-original-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-original-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeNameIndex", +++ "description": "Test a source map that has an invalid negative non-relative name index field", +++ "baseFile": "invalid-mapping-segment-negative-name-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-name-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeRelativeColumn", +++ "description": "Test a source map that has an invalid negative relative column field", +++ "baseFile": "invalid-mapping-segment-negative-relative-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-relative-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeRelativeSourceIndex", +++ "description": "Test a source map that has an invalid negative relative source index field", +++ "baseFile": "invalid-mapping-segment-negative-relative-source-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-relative-source-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalLine", +++ "description": "Test a source map that has an invalid negative relative original line field", +++ "baseFile": "invalid-mapping-segment-negative-relative-original-line.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-line.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalColumn", +++ "description": "Test a source map that has an invalid negative relative original column field", +++ "baseFile": "invalid-mapping-segment-negative-relative-original-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeRelativeNameIndex", +++ "description": "Test a source map that has an invalid negative relative name index field", +++ "baseFile": "invalid-mapping-segment-negative-relative-name-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-relative-name-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithColumnExceeding32Bits", +++ "description": "Test a source map that has a column field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-column-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-column-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithSourceIndexExceeding32Bits", +++ "description": "Test a source map that has a source index field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-source-index-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-source-index-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithOriginalLineExceeding32Bits", +++ "description": "Test a source map that has a original line field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-original-line-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-original-line-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithOriginalColumnExceeding32Bits", +++ "description": "Test a source map that has an original column field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-original-column-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-original-column-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNameIndexExceeding32Bits", +++ "description": "Test a source map that has a name index field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-name-index-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-name-index-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "validMappingFieldsWith32BitMaxValues", +++ "description": "Test a source map that has segment fields with max values representable in 32 bits", +++ "baseFile": "valid-mapping-boundary-values.js", +++ "sourceMapFile": "valid-mapping-boundary-values.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "validMappingLargeVLQ", +++ "description": "Test a source map that has a segment field VLQ that is very long but within 32-bits", +++ "baseFile": "valid-mapping-large-vlq.js", +++ "sourceMapFile": "valid-mapping-large-vlq.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "validMappingEmptyGroups", +++ "description": "Test a source map with a mapping that has many empty groups", +++ "baseFile": "valid-mapping-empty-groups.js", +++ "sourceMapFile": "valid-mapping-empty-groups.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "validMappingEmptyString", +++ "description": "Test a source map with an empty string mapping", +++ "baseFile": "valid-mapping-empty-string.js", +++ "sourceMapFile": "valid-mapping-empty-string.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "indexMapWrongTypeSections", +++ "description": "Test an index map with a sections field with the wrong type", +++ "baseFile": "index-map-wrong-type-sections.js", +++ "sourceMapFile": "index-map-wrong-type-sections.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapWrongTypeOffset", +++ "description": "Test an index map with an offset field with the wrong type", +++ "baseFile": "index-map-wrong-type-offset.js", +++ "sourceMapFile": "index-map-wrong-type-offset.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapWrongTypeMap", +++ "description": "Test an index map with a map field with the wrong type", +++ "baseFile": "index-map-wrong-type-map.js", +++ "sourceMapFile": "index-map-wrong-type-map.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapInvalidBaseMappings", +++ "description": "Test that an index map cannot also have a regular mappings field", +++ "baseFile": "index-map-invalid-base-mappings.js", +++ "sourceMapFile": "index-map-invalid-base-mappings.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapInvalidOverlap", +++ "description": "Test that an invalid index map with multiple sections that overlap", +++ "baseFile": "index-map-invalid-overlap.js", +++ "sourceMapFile": "index-map-invalid-overlap.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapInvalidOrder", +++ "description": "Test that an invalid index map with multiple sections in the wrong order", +++ "baseFile": "index-map-invalid-order.js", +++ "sourceMapFile": "index-map-invalid-order.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapMissingMap", +++ "description": "Test that an index map that is missing a section map", +++ "baseFile": "index-map-missing-map.js", +++ "sourceMapFile": "index-map-missing-map.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapInvalidSubMap", +++ "description": "Test that an index map that has an invalid section map", +++ "baseFile": "index-map-invalid-sub-map.js", +++ "sourceMapFile": "index-map-invalid-sub-map.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapMissingOffset", +++ "description": "Test that an index map that is missing a section offset", +++ "baseFile": "index-map-missing-offset.js", +++ "sourceMapFile": "index-map-missing-offset.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapMissingOffsetLine", +++ "description": "Test that an index map that is missing a section offset's line field", +++ "baseFile": "index-map-missing-offset-line.js", +++ "sourceMapFile": "index-map-missing-offset-line.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapMissingOffsetColumn", +++ "description": "Test that an index map that is missing a section offset's column field", +++ "baseFile": "index-map-missing-offset-column.js", +++ "sourceMapFile": "index-map-missing-offset-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapOffsetLineWrongType", +++ "description": "Test that an index map that has an offset line field with the wrong type of value", +++ "baseFile": "index-map-offset-line-wrong-type.js", +++ "sourceMapFile": "index-map-offset-line-wrong-type.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapOffsetColumnWrongType", +++ "description": "Test that an index map that has an offset column field with the wrong type of value", +++ "baseFile": "index-map-offset-column-wrong-type.js", +++ "sourceMapFile": "index-map-offset-column-wrong-type.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapEmptySections", +++ "description": "Test a trivial index map with no sections", +++ "baseFile": "index-map-empty-sections.js", +++ "sourceMapFile": "index-map-empty-sections.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "indexMapFileWrongType1", +++ "description": "Test an index map with a file field with the wrong type", +++ "baseFile": "index-map-file-wrong-type-1.js", +++ "sourceMapFile": "index-map-file-wrong-type-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "indexMapFileWrongType2", +++ "description": "Test an index map with a file field with the wrong type", +++ "baseFile": "index-map-file-wrong-type-2.js", +++ "sourceMapFile": "index-map-file-wrong-type-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "basicMapping", +++ "description": "Test a simple source map that has several valid mappings", +++ "baseFile": "basic-mapping.js", +++ "sourceMapFile": "basic-mapping.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ } +++ ] +++ }, +++ { +++ "name": "sourceRootResolution", +++ "description": "Similar to basic mapping test, but test resoultion of sources with a sourceRoot field", +++ "baseFile": "source-root-resolution.js", +++ "sourceMapFile": "source-root-resolution.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "theroot/basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "theroot/basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ } +++ ] +++ }, +++ { +++ "name": "sourceResolutionAbsoluteURL", +++ "description": "Test resoultion of sources with absolute URLs", +++ "baseFile": "source-resolution-absolute-url.js", +++ "sourceMapFile": "source-resolution-absolute-url.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "/baz/quux/basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "/baz/quux/basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ } +++ ] +++ }, +++ { +++ "name": "basicMappingWithIndexMap", +++ "description": "Test a version of basic-mapping.js.map that is split into sections with an index map", +++ "baseFile": "basic-mapping-as-index-map.js", +++ "sourceMapFile": "basic-mapping-as-index-map.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ } +++ ] +++ }, +++ { +++ "name": "indexMapWithMissingFile", +++ "description": "Same as the basic mapping index map test but without the optional file field", +++ "baseFile": "index-map-missing-file.js", +++ "sourceMapFile": "index-map-missing-file.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ } +++ ] +++ }, +++ { +++ "name": "indexMapWithTwoConcatenatedSources", +++ "description": "Test an index map that has two sub-maps for concatenated sources", +++ "baseFile": "index-map-two-concatenated-sources.js", +++ "sourceMapFile": "index-map-two-concatenated-sources.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 62, +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 71, +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "baz" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 77, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 83, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 88, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "second-source-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 89, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": "baz" +++ } +++ ] +++ }, +++ { +++ "name": "sourcesNullSourcesContentNonNull", +++ "description": "Test a source map that has a null source but has a sourcesContent", +++ "baseFile": "sources-null-sources-content-non-null.js", +++ "sourceMapFile": "sources-null-sources-content-non-null.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": null, +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": null, +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ } +++ ] +++ }, +++ { +++ "name": "sourcesNonNullSourcesContentNull", +++ "description": "Test a source map that has a non-null source but has a null sourcesContent", +++ "baseFile": "sources-non-null-sources-content-null.js", +++ "sourceMapFile": "sources-non-null-sources-content-null.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ } +++ ] +++ }, +++ { +++ "name": "transitiveMapping", +++ "description": "Test a simple two-stage transitive mapping from a minified JS to a TypeScript source", +++ "baseFile": "transitive-mapping.js", +++ "sourceMapFile": "transitive-mapping.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 13, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 13, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 16, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 2, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 23, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 2, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 4, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 29, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping-original.js.map"], +++ "originalLine": 4, +++ "originalColumn": 4, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "transitiveMappingWithThreeSteps", +++ "description": "Test a three-stage transitive mapping from an un-minified JS to minified JS to a TypeScript source", +++ "baseFile": "transitive-mapping-three-steps.js", +++ "sourceMapFile": "transitive-mapping-three-steps.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 0, +++ "generatedColumn": 13, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 1, +++ "originalColumn": 13, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 1, +++ "generatedColumn": 4, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 2, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 1, +++ "generatedColumn": 11, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 2, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 2, +++ "generatedColumn": 0, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 4, +++ "generatedColumn": 0, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 4, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMappingTransitive", +++ "generatedLine": 4, +++ "generatedColumn": 4, +++ "originalSource": "typescript-original.ts", +++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], +++ "originalLine": 4, +++ "originalColumn": 4, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "vlqValidSingleDigit", +++ "description": "Test VLQ decoding for a single digit, no continuation VLQ", +++ "baseFile": "vlq-valid-single-digit.js", +++ "sourceMapFile": "vlq-valid-single-digit.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalSource": "vlq-valid-single-digit-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "vlqValidNegativeDigit", +++ "description": "Test VLQ decoding where there's a negative digit, no continuation bit", +++ "baseFile": "vlq-valid-negative-digit.js", +++ "sourceMapFile": "vlq-valid-negative-digit.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 2, +++ "generatedColumn": 15, +++ "originalSource": "vlq-valid-negative-digit-original.js", +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 2, +++ "generatedColumn": 2, +++ "originalSource": "vlq-valid-negative-digit-original.js", +++ "originalLine": 1, +++ "originalColumn": 1, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "vlqValidContinuationBitPresent1", +++ "description": "Test VLQ decoding where continuation bits are present (continuations are leading zero)", +++ "baseFile": "vlq-valid-continuation-bit-present-1.js", +++ "sourceMapFile": "vlq-valid-continuation-bit-present-1.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalSource": "vlq-valid-continuation-bit-present-1-original.js", +++ "originalLine": 0, +++ "originalColumn": 1, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "vlqValidContinuationBitPresent2", +++ "description": "Test VLQ decoding where continuation bits are present (continuations have non-zero bits)", +++ "baseFile": "vlq-valid-continuation-bit-present-2.js", +++ "sourceMapFile": "vlq-valid-continuation-bit-present-2.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 2, +++ "generatedColumn": 16, +++ "originalSource": "vlq-valid-continuation-bit-present-2-original.js", +++ "originalLine": 1, +++ "originalColumn": 1, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsSingleFieldSegment", +++ "description": "Test mapping semantics for a single field segment mapping", +++ "baseFile": "mapping-semantics-single-field-segment.js", +++ "sourceMapFile": "mapping-semantics-single-field-segment.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "mapping-semantics-single-field-segment-original.js", +++ "originalLine": 0, +++ "originalColumn": 1, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 2, +++ "originalSource": null, +++ "originalLine": null, +++ "originalColumn": null, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsFourFieldSegment", +++ "description": "Test mapping semantics for a four field segment mapping", +++ "baseFile": "mapping-semantics-four-field-segment.js", +++ "sourceMapFile": "mapping-semantics-four-field-segment.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-four-field-segment-original.js", +++ "originalLine": 2, +++ "originalColumn": 2, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsFiveFieldSegment", +++ "description": "Test mapping semantics for a five field segment mapping", +++ "baseFile": "mapping-semantics-five-field-segment.js", +++ "sourceMapFile": "mapping-semantics-five-field-segment.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-five-field-segment-original.js", +++ "originalLine": 2, +++ "originalColumn": 2, +++ "mappedName": "foo" +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsColumnReset", +++ "description": "Test that the generated column field resets to zero on new lines", +++ "baseFile": "mapping-semantics-column-reset.js", +++ "sourceMapFile": "mapping-semantics-column-reset.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-column-reset-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 1, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-column-reset-original.js", +++ "originalLine": 1, +++ "originalColumn": 0, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsRelative1", +++ "description": "Test that fields are calculated relative to previous ones", +++ "baseFile": "mapping-semantics-relative-1.js", +++ "sourceMapFile": "mapping-semantics-relative-1.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-relative-1-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 5, +++ "originalSource": "mapping-semantics-relative-1-original.js", +++ "originalLine": 0, +++ "originalColumn": 4, +++ "mappedName": null +++ } +++ ] +++ }, +++ { +++ "name": "mappingSemanticsRelative2", +++ "description": "Test that fields are calculated relative to previous ones, across lines", +++ "baseFile": "mapping-semantics-relative-2.js", +++ "sourceMapFile": "mapping-semantics-relative-2.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 1, +++ "originalSource": "mapping-semantics-relative-2-original.js", +++ "originalLine": 0, +++ "originalColumn": 2, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 1, +++ "generatedColumn": 2, +++ "originalSource": "mapping-semantics-relative-2-original.js", +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": "bar" +++ } +++ ] +++ } +++ ] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js ++new file mode 100644 ++index 0000000000..9263eba549 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-and-sources-content-both-null.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map ++new file mode 100644 ++index 0000000000..09a7c1f369 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-and-sources-content-both-null.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "sources": [null], +++ "sourcesContent": [null], +++ "mappings":"AAAA,SAASA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js ++new file mode 100644 ++index 0000000000..779b865e27 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-missing.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map ++new file mode 100644 ++index 0000000000..92aff4fb0e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-missing.js.map ++@@ -0,0 +1,5 @@ +++{ +++ "version" : 3, +++ "names": ["foo"], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js ++new file mode 100644 ++index 0000000000..939b568ba1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=sources-non-null-sources-content-null.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map ++new file mode 100644 ++index 0000000000..e573906b2d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-non-null-sources-content-null.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "sources": ["basic-mapping-original.js"], +++ "sourcesContent": [null], +++ "mappings":"AAAA,SAASA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js ++new file mode 100644 ++index 0000000000..7e33b7e867 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-not-a-list-1.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map ++new file mode 100644 ++index 0000000000..26330517b9 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-1.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": "not a list", +++ "names": ["foo"], +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js ++new file mode 100644 ++index 0000000000..4021f763fc ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-not-a-list-2.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map ++new file mode 100644 ++index 0000000000..2ed85962fd ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-a-list-2.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": { "source.js": 3 }, +++ "names": ["foo"], +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js ++new file mode 100644 ++index 0000000000..7dca97a1da ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-not-string-or-null.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map ++new file mode 100644 ++index 0000000000..db25561966 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-not-string-or-null.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [3, {}, true, false, []], +++ "names": ["foo"], +++ "mappings": "AAAAA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js ++new file mode 100644 ++index 0000000000..a760594ee9 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=sources-null-sources-content-non-null.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map ++new file mode 100644 ++index 0000000000..43af03903f ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/sources-null-sources-content-non-null.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version":3, +++ "names": ["foo"], +++ "sources": [null], +++ "sourcesContent": ["function foo()\n{ return 42; }\nfunction bar()\n { return 24; }\nfoo();\nbar();"], +++ "mappings":"AAAA,SAASA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js ++new file mode 100644 ++index 0000000000..0a96699d6e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js ++@@ -0,0 +1,5 @@ +++function foo(x) { +++ return x; +++} +++foo("foo"); +++//# sourceMappingURL=transitive-mapping-original.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map ++new file mode 100644 ++index 0000000000..65af25c1eb ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-original.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "file" : "transitive-mapping-original.js", +++ "sourceRoot": "", +++ "sources": ["typescript-original.ts"], +++ "names": [], +++ "mappings": "AACA,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,GAAG,CAAC,KAAK,CAAC,CAAC" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js ++new file mode 100644 ++index 0000000000..fd956164d3 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js ++@@ -0,0 +1,6 @@ +++function foo(x) { +++ return x; +++} +++ +++foo("foo"); +++//# sourceMappingURL=transitive-mapping-three-steps.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map ++new file mode 100644 ++index 0000000000..90459d90f6 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping-three-steps.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "file": "transitive-mapping-three-steps.js", +++ "sources": ["transitive-mapping.js"], +++ "names": ["foo", "x"], +++ "mappings": "AAAA,SAASA,IAAIC;IAAG,OAAOA;AAAC;;AAACD,IAAI,KAAK" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js ++new file mode 100644 ++index 0000000000..183c027f1b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js ++@@ -0,0 +1,2 @@ +++function foo(x){return x}foo("foo"); +++//# sourceMappingURL=transitive-mapping.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map ++new file mode 100644 ++index 0000000000..d6a6fa6672 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/transitive-mapping.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","x"], +++ "sources": ["transitive-mapping-original.js"], +++ "mappings":"AAAA,SAASA,IAAIC,GACT,OAAOA,CACX,CACAD,IAAI" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts b/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts ++new file mode 100644 ++index 0000000000..cd51c01ba1 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/typescript-original.ts ++@@ -0,0 +1,5 @@ +++type FooArg = string | number; +++function foo(x : FooArg) { +++ return x; +++} +++foo("foo"); ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js ++new file mode 100644 ++index 0000000000..19dfb0e2e6 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=unrecognized-property.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map ++new file mode 100644 ++index 0000000000..40bee558a4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/unrecognized-property.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "", +++ "foobar": 42, +++ "unusedProperty": [1, 2, 3, 4] +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js ++new file mode 100644 ++index 0000000000..3c49709e05 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-boundary-values.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map ++new file mode 100644 ++index 0000000000..4dd836e63d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-boundary-values.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "file": "valid-mapping-boundary-values.js", +++ "sources": ["empty-original.js"], +++ "mappings": "+/////DA+/////D+/////DA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js ++new file mode 100644 ++index 0000000000..a2b767b619 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-empty-groups.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map ++new file mode 100644 ++index 0000000000..643c9ae784 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-empty-groups.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "valid-mapping-empty-groups.js", +++ "sources": ["empty-original.js"], +++ "sourcesContent": [""], +++ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js ++new file mode 100644 ++index 0000000000..b0cd897813 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-large-vlq.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map ++new file mode 100644 ++index 0000000000..76e18704c4 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-large-vlq.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": [], +++ "sources": ["valid-mapping-large-vlq.js"], +++ "mappings": "igggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js ++new file mode 100644 ++index 0000000000..ee2acf0f5b ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=valid-mapping-null-sources.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map ++new file mode 100644 ++index 0000000000..199cda9369 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/valid-mapping-null-sources.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version":3, +++ "names": ["foo"], +++ "sources": [null], +++ "mappings":"AAAA,SAASA" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-missing.js b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js ++new file mode 100644 ++index 0000000000..c32d1f1a1c ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-missing.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map ++new file mode 100644 ++index 0000000000..49d8ce766e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-missing.js.map ++@@ -0,0 +1,5 @@ +++{ +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js ++new file mode 100644 ++index 0000000000..ae2342e2ff ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-not-a-number.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map ++new file mode 100644 ++index 0000000000..a584d6e695 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-not-a-number.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3foo", +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js ++new file mode 100644 ++index 0000000000..a55170885d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-numeric-string.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map ++new file mode 100644 ++index 0000000000..dbe52a7d0d ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-numeric-string.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js ++new file mode 100644 ++index 0000000000..55f4e1a298 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-too-high.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map ++new file mode 100644 ++index 0000000000..ee23be32ff ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-high.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 4, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js ++new file mode 100644 ++index 0000000000..d9642920b3 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-too-low.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map ++new file mode 100644 ++index 0000000000..64ca7a6e2e ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-too-low.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 2, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-valid.js b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js ++new file mode 100644 ++index 0000000000..82d0bfa1eb ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-valid.js.map ++diff --git a/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map ++new file mode 100644 ++index 0000000000..1a163052d8 ++--- /dev/null +++++ b/front_end/core/sdk/fixtures/sourcemaps/version-valid.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++-- ++2.39.2 ++ +diff --git a/LayoutTests/imported/tg4/source-map-tests/chrome/0002-Add-reverse-mapping-code-to-test.patch b/LayoutTests/imported/tg4/source-map-tests/chrome/0002-Add-reverse-mapping-code-to-test.patch +new file mode 100644 +index 000000000000..dc08ba5fadb4 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/chrome/0002-Add-reverse-mapping-code-to-test.patch +@@ -0,0 +1,46 @@ ++From bebeda0b8133fc8f44382e59edda9203c980e8f3 Mon Sep 17 00:00:00 2001 ++From: Asumu Takikawa <asumu@igalia.com> ++Date: Thu, 11 Jul 2024 16:44:29 -0700 ++Subject: [PATCH 2/2] Add reverse mapping code to test ++ ++--- ++ front_end/core/sdk/SourceMapSpec.test.ts | 16 +++++++++++++++- ++ 1 file changed, 15 insertions(+), 1 deletion(-) ++ ++diff --git a/front_end/core/sdk/SourceMapSpec.test.ts b/front_end/core/sdk/SourceMapSpec.test.ts ++index 93b26a2e13..402b82e4c0 100644 ++--- a/front_end/core/sdk/SourceMapSpec.test.ts +++++ b/front_end/core/sdk/SourceMapSpec.test.ts ++@@ -12,7 +12,6 @@ ++ ++ **/ ++ ++-const {assert} = chai; ++ import type * as Platform from '../platform/platform.js'; ++ import {assertNotNullOrUndefined} from '../platform/platform.js'; ++ import { SourceMapV3, parseSourceMap } from './SourceMap.js'; ++@@ -170,6 +169,21 @@ describeWithEnvironment('SourceMapSpec', () => { ++ assert.strictEqual(nullish(actual.sourceURL), originalSource, 'unexpected source URL'); ++ assert.strictEqual(nullish(actual.sourceLineNumber), originalLine, 'unexpected source line number'); ++ assert.strictEqual(nullish(actual.sourceColumnNumber), originalColumn, 'unexpected source column number'); +++ +++ if (originalSource != null) { +++ let reverseEntries = sourceMap.findReverseEntries( +++ originalSource as Platform.DevToolsPath.UrlString, +++ originalLine, +++ originalColumn +++ ); +++ +++ const anyEntryMatched = reverseEntries.some((entry) => { +++ return entry.sourceURL === originalSource && +++ entry.sourceLineNumber === originalLine && +++ entry.sourceColumnNumber === originalColumn; +++ }); +++ assert.isTrue(anyEntryMatched, `expected any matching reverse lookup entry, got none`); +++ } ++ } ++ }); ++ } ++-- ++2.39.2 ++ +diff --git a/LayoutTests/imported/tg4/source-map-tests/firefox/0001-WIP-Firefox-source-map-spec-tests.patch b/LayoutTests/imported/tg4/source-map-tests/firefox/0001-WIP-Firefox-source-map-spec-tests.patch +new file mode 100644 +index 000000000000..a9e256e02f8a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/firefox/0001-WIP-Firefox-source-map-spec-tests.patch +@@ -0,0 +1,337 @@ ++From 8327515870d595ab04a111f6c37b84eab8a5010c Mon Sep 17 00:00:00 2001 ++From: Asumu Takikawa <asumu@igalia.com> ++Date: Tue, 27 Feb 2024 18:22:45 -0800 ++Subject: [PATCH] WIP Firefox source map spec tests ++ ++--- ++ .../test/browser/browser.toml | 2 + ++ .../test/browser/browser_spec-source-map.js | 68 +++++++++++++++++++ ++ .../fixtures/basic-mapping-original.js | 8 +++ ++ .../test/browser/fixtures/basic-mapping.js | 1 + ++ .../browser/fixtures/basic-mapping.js.map | 6 ++ ++ .../fixtures/source-map-spec-tests.json | 60 ++++++++++++++++ ++ .../browser/fixtures/unrecognized-property.js | 1 + ++ .../fixtures/unrecognized-property.js.map | 8 +++ ++ .../browser/fixtures/version-not-a-number.js | 1 + ++ .../fixtures/version-not-a-number.js.map | 6 ++ ++ .../test/browser/fixtures/version-numbers.js | 6 ++ ++ .../test/browser/fixtures/version-too-high.js | 1 + ++ .../browser/fixtures/version-too-high.js.map | 6 ++ ++ .../test/browser/fixtures/version-too-low.js | 1 + ++ .../browser/fixtures/version-too-low.js.map | 6 ++ ++ .../test/browser/fixtures/version-valid.js | 1 + ++ .../browser/fixtures/version-valid.js.map | 6 ++ ++ 17 files changed, 188 insertions(+) ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/browser_spec-source-map.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping-original.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js.map ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/source-map-spec-tests.json ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js.map ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js.map ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-numbers.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js.map ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js.map ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js ++ create mode 100644 devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js.map ++ ++diff --git a/devtools/client/shared/source-map-loader/test/browser/browser.toml b/devtools/client/shared/source-map-loader/test/browser/browser.toml ++index 5a602e9eeb893..a670ab0acee89 100644 ++--- a/devtools/client/shared/source-map-loader/test/browser/browser.toml +++++ b/devtools/client/shared/source-map-loader/test/browser/browser.toml ++@@ -19,3 +19,5 @@ skip-if = [ ++ "http3", # Bug 1829298 ++ "http2", ++ ] +++ +++["browser_spec-source-map.js"] ++diff --git a/devtools/client/shared/source-map-loader/test/browser/browser_spec-source-map.js b/devtools/client/shared/source-map-loader/test/browser/browser_spec-source-map.js ++new file mode 100644 ++index 0000000000000..34695d6bd395b ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/browser_spec-source-map.js ++@@ -0,0 +1,68 @@ +++"use strict"; +++ +++const { +++ generatedToOriginalId, +++} = require("resource://devtools/client/shared/source-map-loader/utils/index.js"); +++ +++async function isValidSourceMap(base) { +++ try { +++ await fetchFixtureSourceMap(base); +++ } catch (exn) { +++ return false; +++ } +++ return true; +++} +++ +++async function checkMapping(testCase, action) { +++ const originalId = generatedToOriginalId(testCase.baseFile, `${URL_ROOT_SSL}fixtures/${action.originalSource}`); +++ const generatedLoc = await gSourceMapLoader.getGeneratedLocation({ +++ sourceId: originalId, +++ line: action.originalLine + 1, +++ column: action.originalColumn, +++ }); +++ Assert.ok(generatedLoc !== null, "Location lookup should not return null"); +++ Assert.equal(testCase.baseFile, generatedLoc.sourceId); +++ Assert.equal(action.generatedLine + 1, generatedLoc.line); +++ Assert.equal(action.generatedColumn, generatedLoc.column); +++} +++ +++const SPEC_TESTS_URI = `${URL_ROOT_SSL}fixtures/source-map-spec-tests.json` +++const testDescriptions = JSON.parse(read(SPEC_TESTS_URI)); +++ +++for (const testCase of testDescriptions.tests) { +++ async function testFunction() { +++ const baseName = testCase.baseFile.substring(0, testCase.baseFile.indexOf(".js")); +++ Assert.equal(testCase.sourceMapIsValid, await isValidSourceMap(baseName)); +++ +++ if (testCase.testActions) { +++ for (const action of testCase.testActions) { +++ if (action.actionType === "checkMapping") +++ await checkMapping(testCase, action); +++ } +++ } +++ }; +++ Object.defineProperty(testFunction, "name", { value: testCase.name }); +++ add_task(testFunction); +++} +++ +++function read(srcChromeURL) { +++ const scriptableStream = Cc[ +++ "@mozilla.org/scriptableinputstream;1" +++ ].getService(Ci.nsIScriptableInputStream); +++ +++ const channel = NetUtil.newChannel({ +++ uri: srcChromeURL, +++ loadUsingSystemPrincipal: true, +++ }); +++ const input = channel.open(); +++ scriptableStream.init(input); +++ +++ let data = ""; +++ while (input.available()) { +++ data = data.concat(scriptableStream.read(input.available())); +++ } +++ scriptableStream.close(); +++ input.close(); +++ +++ return data; +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping-original.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping-original.js ++new file mode 100644 ++index 0000000000000..301b186cb15e6 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping-original.js ++@@ -0,0 +1,8 @@ +++function foo() { +++ return 42; +++} +++function bar() { +++ return 24; +++} +++foo(); +++bar(); ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js ++new file mode 100644 ++index 0000000000000..9df72406be544 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js ++@@ -0,0 +1 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); ++\ No newline at end of file ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js.map ++new file mode 100644 ++index 0000000000000..12dc9679a4b1d ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/basic-mapping.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version":3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/source-map-spec-tests.json b/devtools/client/shared/source-map-loader/test/browser/fixtures/source-map-spec-tests.json ++new file mode 100644 ++index 0000000000000..16d8442811655 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/source-map-spec-tests.json ++@@ -0,0 +1,60 @@ +++{ +++ "tests": [ +++ { +++ "name": "versionValid", +++ "baseFile": "version-valid.js", +++ "sourceMapFile": "version-valid.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "versionNotANumber", +++ "baseFile": "version-not-a-number.js", +++ "sourceMapFile": "version-not-a-number.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooHigh", +++ "baseFile": "version-too-high.js", +++ "sourceMapFile": "version-too-high.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooLow", +++ "baseFile": "version-too-low.js", +++ "sourceMapFile": "version-too-low.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "unrecognizedProperty", +++ "baseFile": "unrecognized-property.js", +++ "sourceMapFile": "unrecognized-property.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "basicMapping", +++ "baseFile": "basic-mapping.js", +++ "sourceMapFile": "basic-mapping.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "mappedName": "bar" +++ } +++ ] +++ } +++ ] +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js ++new file mode 100644 ++index 0000000000000..47303d1fcf302 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js ++@@ -0,0 +1 @@ +++// # sourceMappingURL=unrecognized-property.js.map ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js.map ++new file mode 100644 ++index 0000000000000..40bee558a4ff9 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/unrecognized-property.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "", +++ "foobar": 42, +++ "unusedProperty": [1, 2, 3, 4] +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js ++new file mode 100644 ++index 0000000000000..5382a716e3a21 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js ++@@ -0,0 +1 @@ +++// # sourceMappingURL=version-not-a-number.js.map ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js.map ++new file mode 100644 ++index 0000000000000..a584d6e695117 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-not-a-number.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3foo", +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-numbers.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-numbers.js ++new file mode 100644 ++index 0000000000000..e79993b659db6 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-numbers.js ++@@ -0,0 +1,6 @@ +++// Test that invalid version numbers are rejected. +++ +++assert(isValidSourceMap("./version-valid.map")); +++assert(!isValidSourceMap("./version-not-a-number.map")); +++assert(!isValidSourceMap("./version-too-low.map")); +++assert(!isValidSourceMap("./version-too-high.map")); ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js ++new file mode 100644 ++index 0000000000000..04bfe7f62b7b9 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js ++@@ -0,0 +1 @@ +++// # sourceMappingURL=version-too-high.js.map ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js.map ++new file mode 100644 ++index 0000000000000..ee23be32ff278 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-high.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 4, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js ++new file mode 100644 ++index 0000000000000..54b3526c6b5e2 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js ++@@ -0,0 +1 @@ +++// # sourceMappingURL=version-too-low.js.map ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js.map ++new file mode 100644 ++index 0000000000000..64ca7a6e2e928 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-too-low.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 2, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js ++new file mode 100644 ++index 0000000000000..f8541f9efdc71 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js ++@@ -0,0 +1 @@ +++// # sourceMappingURL=version-valid.js.map ++diff --git a/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js.map b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js.map ++new file mode 100644 ++index 0000000000000..1a163052d8fc8 ++--- /dev/null +++++ b/devtools/client/shared/source-map-loader/test/browser/fixtures/version-valid.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++-- ++2.39.2 ++ +diff --git a/LayoutTests/imported/tg4/source-map-tests/firefox/browser_spec-source-map.js b/LayoutTests/imported/tg4/source-map-tests/firefox/browser_spec-source-map.js +new file mode 100644 +index 000000000000..af18e9bca51d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/firefox/browser_spec-source-map.js +@@ -0,0 +1,71 @@ ++"use strict"; ++ ++const { ++ generatedToOriginalId, ++} = require("resource://devtools/client/shared/source-map-loader/utils/index.js"); ++ ++async function checkValidity(isValid, base, testCase) { ++ try { ++ await fetchFixtureSourceMap(base); ++ const originalId = generatedToOriginalId(testCase.baseFile, "unused"); ++ await gSourceMapLoader.getOriginalRanges(originalId); ++ } catch (exn) { ++ Assert.ok(!isValid, "Source map loading failed with " + exn.message); ++ return; ++ } ++ Assert.ok(isValid, "Source map loading should have failed but did not"); ++} ++ ++async function checkMapping(testCase, action) { ++ const originalId = generatedToOriginalId(testCase.baseFile, `${URL_ROOT_SSL}fixtures/${action.originalSource}`); ++ const generatedLoc = await gSourceMapLoader.getGeneratedLocation({ ++ sourceId: originalId, ++ line: action.originalLine + 1, ++ column: action.originalColumn, ++ }); ++ Assert.ok(generatedLoc !== null, "Location lookup should not return null"); ++ Assert.equal(testCase.baseFile, generatedLoc.sourceId); ++ Assert.equal(action.generatedLine + 1, generatedLoc.line); ++ Assert.equal(action.generatedColumn, generatedLoc.column); ++} ++ ++const SPEC_TESTS_URI = `${URL_ROOT_SSL}fixtures/source-map-spec-tests.json` ++const testDescriptions = JSON.parse(read(SPEC_TESTS_URI)); ++ ++for (const testCase of testDescriptions.tests) { ++ // The following uses a hack to ensure the test case name is used in stack traces. ++ const testFunction = {[testCase.name]: async function() { ++ const baseName = testCase.baseFile.substring(0, testCase.baseFile.indexOf(".js")); ++ await checkValidity(testCase.sourceMapIsValid, baseName, testCase); ++ ++ if (testCase.testActions) { ++ for (const action of testCase.testActions) { ++ if (action.actionType === "checkMapping") ++ await checkMapping(testCase, action); ++ } ++ } ++ }}[testCase.name]; ++ add_task(testFunction); ++} ++ ++function read(srcChromeURL) { ++ const scriptableStream = Cc[ ++ "@mozilla.org/scriptableinputstream;1" ++ ].getService(Ci.nsIScriptableInputStream); ++ ++ const channel = NetUtil.newChannel({ ++ uri: srcChromeURL, ++ loadUsingSystemPrincipal: true, ++ }); ++ const input = channel.open(); ++ scriptableStream.init(input); ++ ++ let data = ""; ++ while (input.available()) { ++ data = data.concat(scriptableStream.read(input.available())); ++ } ++ scriptableStream.close(); ++ input.close(); ++ ++ return data; ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js +new file mode 100644 +index 000000000000..b9fae380437d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=basic-mapping-as-index-map.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js.map +new file mode 100644 +index 000000000000..c0ad870ed2ba +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-as-index-map.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "file": "basic-mapping-as-index-map.js", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-original.js b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-original.js +new file mode 100644 +index 000000000000..301b186cb15e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping-original.js +@@ -0,0 +1,8 @@ ++function foo() { ++ return 42; ++} ++function bar() { ++ return 24; ++} ++foo(); ++bar(); +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js +new file mode 100644 +index 000000000000..2e479a4175b8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=basic-mapping.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js.map +new file mode 100644 +index 000000000000..12dc9679a4b1 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/basic-mapping.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version":3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js +new file mode 100644 +index 000000000000..d049f870450a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=file-not-a-string-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js.map +new file mode 100644 +index 000000000000..85e973d881df +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "file": [], ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js +new file mode 100644 +index 000000000000..07b8152c0c6c +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=file-not-a-string-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js.map +new file mode 100644 +index 000000000000..a5b6b1f9d94f +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/file-not-a-string-2.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "file": 235324, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js +new file mode 100644 +index 000000000000..385a5c3501b2 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-empty.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js.map +new file mode 100644 +index 000000000000..7297863a9be8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-empty.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js +new file mode 100644 +index 000000000000..567174a707ef +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-out-of-bounds-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js.map +new file mode 100644 +index 000000000000..fb2566bb419b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [1] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js +new file mode 100644 +index 000000000000..4216d9a67315 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-out-of-bounds-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js.map +new file mode 100644 +index 000000000000..41371a76a896 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-out-of-bounds-2.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [-1] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js +new file mode 100644 +index 000000000000..ea64a5565a63 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-valid-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js.map +new file mode 100644 +index 000000000000..98eebdf7f655 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-valid-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [0] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js +new file mode 100644 +index 000000000000..8b40bd384767 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js.map +new file mode 100644 +index 000000000000..688740aba843 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": ["not a number"] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js +new file mode 100644 +index 000000000000..35c77911648e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js.map +new file mode 100644 +index 000000000000..ca1d30de2d36 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-2.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": ["0"] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js +new file mode 100644 +index 000000000000..8735d4175804 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-3.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js.map +new file mode 100644 +index 000000000000..1ac167d56c4e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-3.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": 0 ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js +new file mode 100644 +index 000000000000..35db5acc432b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=ignore-list-wrong-type-4.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js.map +new file mode 100644 +index 000000000000..c1a27efe980d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/ignore-list-wrong-type-4.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "", ++ "names": [], ++ "ignoreList": [0.5] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js +new file mode 100644 +index 000000000000..abe9f7f30816 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-empty-sections.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js.map +new file mode 100644 +index 000000000000..f3efabbe00c3 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-empty-sections.js.map +@@ -0,0 +1,4 @@ ++{ ++ "version": 3, ++ "sections": [] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js +new file mode 100644 +index 000000000000..48bb12855bf5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=index-map-file-wrong-type-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js.map +new file mode 100644 +index 000000000000..dd39b5a2b13c +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-1.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "file": [], ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js +new file mode 100644 +index 000000000000..c002ba726a51 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=index-map-file-wrong-type-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js.map +new file mode 100644 +index 000000000000..0ee0a406be8d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-file-wrong-type-2.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "file": 2345234234, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js +new file mode 100644 +index 000000000000..e90bef083c49 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-base-mappings.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js.map +new file mode 100644 +index 000000000000..b489c1f080b1 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-base-mappings.js.map +@@ -0,0 +1,15 @@ ++{ ++ "version": 3, ++ "mappings": "AAAA", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js +new file mode 100644 +index 000000000000..263fa3c6e0b9 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-order.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js.map +new file mode 100644 +index 000000000000..82da69df720e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-order.js.map +@@ -0,0 +1,23 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 1, "column": 4 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js +new file mode 100644 +index 000000000000..9aff8dc6203a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-overlap.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js.map +new file mode 100644 +index 000000000000..8d42546fd899 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-overlap.js.map +@@ -0,0 +1,23 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js +new file mode 100644 +index 000000000000..284e8d77e659 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-invalid-sub-map.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js.map +new file mode 100644 +index 000000000000..4020ae30c576 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-invalid-sub-map.js.map +@@ -0,0 +1,13 @@ ++{ ++ "version": 3, ++ "file": "index-map-invalid-sub-map.js", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": "3", ++ "mappings": 7 ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js +new file mode 100644 +index 000000000000..be2a93cb77cd +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=index-map-missing-file.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js.map +new file mode 100644 +index 000000000000..8a6d4b5dc788 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-file.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js +new file mode 100644 +index 000000000000..86c8e9a2535a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-map.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js.map +new file mode 100644 +index 000000000000..3bce47e852cf +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-map.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js +new file mode 100644 +index 000000000000..fe6917403f18 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset-column.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js.map +new file mode 100644 +index 000000000000..aa48bbb99317 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-column.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js +new file mode 100644 +index 000000000000..ba8614e412ce +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset-line.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js.map +new file mode 100644 +index 000000000000..3d60444ea74f +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset-line.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js +new file mode 100644 +index 000000000000..9ca2cf3fb515 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-missing-offset.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js.map +new file mode 100644 +index 000000000000..7285138bf51e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-missing-offset.js.map +@@ -0,0 +1,13 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js +new file mode 100644 +index 000000000000..ed1e9ec5d5b8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-offset-column-wrong-type.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js.map +new file mode 100644 +index 000000000000..b43e79a9dd85 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-column-wrong-type.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": true }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js +new file mode 100644 +index 000000000000..d58f2aff993e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-offset-line-wrong-type.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js.map +new file mode 100644 +index 000000000000..81dbcd6ec434 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-offset-line-wrong-type.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": true, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js +new file mode 100644 +index 000000000000..b8702d7187c9 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar();function baz(){return"baz"}baz(); ++//# sourceMappingURL=index-map-two-concatenated-sources.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js.map +new file mode 100644 +index 000000000000..f67f5de3c5d8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-two-concatenated-sources.js.map +@@ -0,0 +1,24 @@ ++{ ++ "version": 3, ++ "file": "index-map-two-concatenated-sources.js", ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": { ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" ++ } ++ }, ++ { ++ "offset": { "line": 0, "column": 62 }, ++ "map": { ++ "version": 3, ++ "names": ["baz"], ++ "sources": ["second-source-original.js"], ++ "mappings":"AAAA,SAASA,MACP,MAAO,KACT,CACAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js +new file mode 100644 +index 000000000000..d31d6d6358b4 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-map.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js.map +new file mode 100644 +index 000000000000..0963f623d761 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-map.js.map +@@ -0,0 +1,9 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": { "line": 0, "column": 0 }, ++ "map": "not a map" ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js +new file mode 100644 +index 000000000000..048e1246f8b0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-offset.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js.map +new file mode 100644 +index 000000000000..fbc6e4e67887 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-offset.js.map +@@ -0,0 +1,14 @@ ++{ ++ "version": 3, ++ "sections": [ ++ { ++ "offset": "not an offset", ++ "map": { ++ "version": 3, ++ "names": [], ++ "sources": ["empty-original.js"], ++ "mappings": "AAAA" ++ } ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js +new file mode 100644 +index 000000000000..011eca806ed6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=index-map-wrong-type-sections.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js.map +new file mode 100644 +index 000000000000..dbfb4ead3001 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/index-map-wrong-type-sections.js.map +@@ -0,0 +1,4 @@ ++{ ++ "version": 3, ++ "sections": "not a sections list" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js +new file mode 100644 +index 000000000000..25338aca30ce +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-bad-separator.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js.map +new file mode 100644 +index 000000000000..5f4f5b92330a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-bad-separator.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAAA.SAASA:MACP" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js +new file mode 100644 +index 000000000000..cb38e2fe9d7b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-not-a-string-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js.map +new file mode 100644 +index 000000000000..5bf3e2a9d85b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-1.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-not-a-string-1.js", ++ "sources": ["empty-original.js"], ++ "mappings": 5 ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js +new file mode 100644 +index 000000000000..3d84abd6c6b4 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-not-a-string-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js.map +new file mode 100644 +index 000000000000..4527e7f7641c +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-not-a-string-2.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-not-a-string-2.js", ++ "sources": ["empty-original.js"], ++ "mappings": [1, 2, 3, 4] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js +new file mode 100644 +index 000000000000..55591f874b1b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-column-too-large.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js.map +new file mode 100644 +index 000000000000..b4c059e0151b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-column-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-column-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "ggggggE" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js +new file mode 100644 +index 000000000000..2a6b434eff58 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-name-index-out-of-bounds.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map +new file mode 100644 +index 000000000000..8dd2ea6c2da0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "file": "invalid-mapping-segment-name-index-out-of-bounds.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAC" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js +new file mode 100644 +index 000000000000..709e34dbd326 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-name-index-too-large.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js.map +new file mode 100644 +index 000000000000..c7bf5b98d120 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-name-index-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-name-index-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAggggggE" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js +new file mode 100644 +index 000000000000..a202152d6fdf +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-column.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js.map +new file mode 100644 +index 000000000000..403878bfa47a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-column.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-column.js", ++ "sources": ["empty-original.js"], ++ "mappings": "F" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js +new file mode 100644 +index 000000000000..3e3f63420467 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-name-index.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js.map +new file mode 100644 +index 000000000000..b94f63646e46 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-name-index.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-name-index.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAAF" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js +new file mode 100644 +index 000000000000..f21d5342b395 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-original-column.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js.map +new file mode 100644 +index 000000000000..011c639d3f91 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-column.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-original-column.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAF" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js +new file mode 100644 +index 000000000000..b37309601ce0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-original-line.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js.map +new file mode 100644 +index 000000000000..e7ec993eebda +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-original-line.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-original-line.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAFA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js +new file mode 100644 +index 000000000000..94b835d6877c +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-column.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js.map +new file mode 100644 +index 000000000000..414884072b55 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-column.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-column.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "C,F" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js +new file mode 100644 +index 000000000000..c965c5f011f5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-name-index.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js.map +new file mode 100644 +index 000000000000..1fbbcfcd323e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-name-index.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-name-index.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AAAAC,AAAAF" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js +new file mode 100644 +index 000000000000..493a6ec88a39 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-column.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js.map +new file mode 100644 +index 000000000000..7e62895651fa +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-column.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-original-column.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AAAC,AAAF" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js +new file mode 100644 +index 000000000000..ca8329fb98f0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-original-line.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js.map +new file mode 100644 +index 000000000000..86b0fb3a04cc +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-original-line.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-original-line.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "AACA,AAFA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js +new file mode 100644 +index 000000000000..fa92225b0963 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-relative-source-index.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js.map +new file mode 100644 +index 000000000000..2efeb047db61 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-relative-source-index.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-relative-source-index.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "ACAA,AFAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js +new file mode 100644 +index 000000000000..6e05849b6a03 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-negative-source-index.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js.map +new file mode 100644 +index 000000000000..596c2f298bbe +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-negative-source-index.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-negative-source-index.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AFAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js +new file mode 100644 +index 000000000000..0936ed7ea8fd +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-original-column-too-large.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js.map +new file mode 100644 +index 000000000000..ff2103fe24fe +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-column-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-original-column-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAAggggggE" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js +new file mode 100644 +index 000000000000..9b3aa5a361ae +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-original-line-too-large.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js.map +new file mode 100644 +index 000000000000..890f1c71fc5b +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-original-line-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-original-line-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AAggggggEA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js +new file mode 100644 +index 000000000000..2e5fbca26825 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-source-index-out-of-bounds.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map +new file mode 100644 +index 000000000000..86dedb114fa9 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-source-index-out-of-bounds.js", ++ "sources": ["empty-original.js"], ++ "mappings": "ACAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js +new file mode 100644 +index 000000000000..3f4943e1272d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-source-index-too-large.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js.map +new file mode 100644 +index 000000000000..e9f858c6e15d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-source-index-too-large.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-source-index-too-large.js", ++ "sources": ["empty-original.js"], ++ "mappings": "AggggggEAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js +new file mode 100644 +index 000000000000..4b868fac9c5e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-segment-with-three-fields.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js.map +new file mode 100644 +index 000000000000..c2af1165ad8f +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-three-fields.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js +new file mode 100644 +index 000000000000..96045a7a11dd +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=invalid-mapping-segment-with-two-fields.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js.map +new file mode 100644 +index 000000000000..73cf00fa1c96 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-two-fields.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","bar"], ++ "sources": ["basic-mapping-original.js"], ++ "mappings": "AA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js +new file mode 100644 +index 000000000000..9d5332a56ca5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-mapping-segment-with-zero-fields.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js.map +new file mode 100644 +index 000000000000..5a34d25b645e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-mapping-segment-with-zero-fields.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "invalid-mapping-segment-with-zero-fields.js", ++ "sources": ["empty-original.js"], ++ "mappings": ",,,," ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js +new file mode 100644 +index 000000000000..2c2a0090aca6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-vlq-missing-continuation.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js.map +new file mode 100644 +index 000000000000..dd0e363ff473 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-missing-continuation.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "g" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js +new file mode 100644 +index 000000000000..d1b20b41a29f +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=invalid-vlq-non-base64-char.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js.map +new file mode 100644 +index 000000000000..4fa1ac576885 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/invalid-vlq-non-base64-char.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "A$%?!" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js +new file mode 100644 +index 000000000000..b64482d09843 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js +@@ -0,0 +1,3 @@ ++ foo ++ bar ++//# sourceMappingURL=mapping-semantics-column-reset.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js.map +new file mode 100644 +index 000000000000..97bc9b91a43d +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-column-reset.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["mapping-semantics-column-reset-original.js"], ++ "sourcesContent": ["foo\nbar"], ++ "mappings": "CAAA;CACA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js +new file mode 100644 +index 000000000000..0f6602d61503 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js +@@ -0,0 +1,2 @@ ++foo ++//# sourceMappingURL=mapping-semantics-five-field-segment.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js.map +new file mode 100644 +index 000000000000..d0504f511dad +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-five-field-segment.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "sources": ["unused", "mapping-semantics-five-field-segment-original.js"], ++ "sourcesContent": ["", "\n\n foo"], ++ "mappings": "CCEEA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js +new file mode 100644 +index 000000000000..3dcbee9294c0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js +@@ -0,0 +1,2 @@ ++foo ++//# sourceMappingURL=mapping-semantics-four-field-segment.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js.map +new file mode 100644 +index 000000000000..9e01ac4b6c58 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-four-field-segment.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["unused", "mapping-semantics-four-field-segment-original.js"], ++ "sourcesContent": ["", "\n\n foo"], ++ "mappings": "CCEE" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js +new file mode 100644 +index 000000000000..281870cc50e7 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js +@@ -0,0 +1,2 @@ ++ 42; 24; ++//# sourceMappingURL=mapping-semantics-relative-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js.map +new file mode 100644 +index 000000000000..6570031f8983 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-1.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["unused", "mapping-semantics-relative-1-original.js"], ++ "sourcesContent": ["", "42; 24;"], ++ "mappings": "CCAA,IAAI" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js +new file mode 100644 +index 000000000000..f4bff1c75bcc +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js +@@ -0,0 +1,3 @@ ++ foo ++ bar ++//# sourceMappingURL=mapping-semantics-relative-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js.map +new file mode 100644 +index 000000000000..d6845233f912 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-relative-2.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo", "bar"], ++ "sources": ["unused", "mapping-semantics-relative-2-original.js"], ++ "sourcesContent": ["", " foo\n bar"], ++ "mappings": "CCAEA;EACAC" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js +new file mode 100644 +index 000000000000..ca06b7c58d88 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js +@@ -0,0 +1,2 @@ ++ 3 ++//# sourceMappingURL=mapping-semantics-single-field-segment.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js.map +new file mode 100644 +index 000000000000..8260d63085d7 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/mapping-semantics-single-field-segment.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["mapping-semantics-single-field-segment-original.js"], ++ "sourcesContent": ["3 3"], ++ "mappings": "AAAC,E" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js b/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js +new file mode 100644 +index 000000000000..58781fd88705 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-missing.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js.map +new file mode 100644 +index 000000000000..475f4e309b26 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-missing.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["empty-original.js"], ++ "sourcesContent" : [""], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js +new file mode 100644 +index 000000000000..dc65f1972b5a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-a-list-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js.map +new file mode 100644 +index 000000000000..fe1edaeb96ad +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-1.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": "not a list", ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js +new file mode 100644 +index 000000000000..d7251f78da84 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-a-list-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js.map +new file mode 100644 +index 000000000000..3388d2bb7109 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-a-list-2.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": { "foo": 3 }, ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js +new file mode 100644 +index 000000000000..8dc7b4811a3e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=names-not-string.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js.map +new file mode 100644 +index 000000000000..c0feb0739aec +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/names-not-string.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": ["source.js"], ++ "names": [null, 3, true, false, {}, []], ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/second-source-original.js b/LayoutTests/imported/tg4/source-map-tests/resources/second-source-original.js +new file mode 100644 +index 000000000000..c339bc9d15da +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/second-source-original.js +@@ -0,0 +1,4 @@ ++function baz() { ++ return "baz"; ++} ++baz(); +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js b/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js +new file mode 100644 +index 000000000000..7ab34b6bd0fa +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=source-resolution-absolute-url.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js.map +new file mode 100644 +index 000000000000..195dc42ecea3 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-resolution-absolute-url.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "file": "source-root-resolution.js", ++ "names": ["foo", "bar"], ++ "sources": ["/baz/quux/basic-mapping-original.js"], ++ "sourcesContent": ["function foo() {\nreturn 42;\n }\n function bar() {\n return 24;\n }\n foo();\n bar();"], ++ "mappings": "AAAA,SAASA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js +new file mode 100644 +index 000000000000..f176f3143a4a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=source-root-not-a-string-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js.map +new file mode 100644 +index 000000000000..e297f5c03e50 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-1.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sourceRoot": [], ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js +new file mode 100644 +index 000000000000..f176f3143a4a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=source-root-not-a-string-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js.map +new file mode 100644 +index 000000000000..d5705ebfb8e9 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-not-a-string-2.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sourceRoot": -10923409, ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js +new file mode 100644 +index 000000000000..15a1a4c95026 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=source-root-resolution.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js.map +new file mode 100644 +index 000000000000..b2067265c02e +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/source-root-resolution.js.map +@@ -0,0 +1,9 @@ ++{ ++ "version": 3, ++ "sourceRoot": "theroot", ++ "file": "source-root-resolution.js", ++ "names": ["foo", "bar"], ++ "sources": ["basic-mapping-original.js"], ++ "sourcesContent": ["function foo() {\n return 42;\n }\n function bar() {\n return 24;\n }\n foo();\n bar();"], ++ "mappings": "AAAA,SAASA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js +new file mode 100644 +index 000000000000..9263eba549f5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-and-sources-content-both-null.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js.map +new file mode 100644 +index 000000000000..09a7c1f3698c +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-and-sources-content-both-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "sources": [null], ++ "sourcesContent": [null], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js +new file mode 100644 +index 000000000000..779b865e2769 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-missing.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js.map +new file mode 100644 +index 000000000000..92aff4fb0e74 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-missing.js.map +@@ -0,0 +1,5 @@ ++{ ++ "version" : 3, ++ "names": ["foo"], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js +new file mode 100644 +index 000000000000..939b568ba142 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=sources-non-null-sources-content-null.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js.map +new file mode 100644 +index 000000000000..e573906b2d71 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-non-null-sources-content-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "sources": ["basic-mapping-original.js"], ++ "sourcesContent": [null], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js +new file mode 100644 +index 000000000000..7e33b7e86725 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-a-list-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js.map +new file mode 100644 +index 000000000000..26330517b988 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-1.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": "not a list", ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js +new file mode 100644 +index 000000000000..4021f763fc88 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-a-list-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js.map +new file mode 100644 +index 000000000000..2ed85962fddf +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-a-list-2.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": { "source.js": 3 }, ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js +new file mode 100644 +index 000000000000..7dca97a1dab5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=sources-not-string-or-null.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js.map +new file mode 100644 +index 000000000000..db2556196605 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-not-string-or-null.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [3, {}, true, false, []], ++ "names": ["foo"], ++ "mappings": "AAAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js b/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js +new file mode 100644 +index 000000000000..a760594ee9bd +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js +@@ -0,0 +1,2 @@ ++function foo(){return 42}function bar(){return 24}foo();bar(); ++//# sourceMappingURL=sources-null-sources-content-non-null.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js.map +new file mode 100644 +index 000000000000..43af03903f64 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/sources-null-sources-content-non-null.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version":3, ++ "names": ["foo"], ++ "sources": [null], ++ "sourcesContent": ["function foo()\n{ return 42; }\nfunction bar()\n { return 24; }\nfoo();\nbar();"], ++ "mappings":"AAAA,SAASA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js +new file mode 100644 +index 000000000000..0a96699d6e25 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js +@@ -0,0 +1,5 @@ ++function foo(x) { ++ return x; ++} ++foo("foo"); ++//# sourceMappingURL=transitive-mapping-original.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js.map +new file mode 100644 +index 000000000000..65af25c1ebbe +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-original.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "file" : "transitive-mapping-original.js", ++ "sourceRoot": "", ++ "sources": ["typescript-original.ts"], ++ "names": [], ++ "mappings": "AACA,SAAS,GAAG,CAAC,CAAU;IACrB,OAAO,CAAC,CAAC;AACX,CAAC;AACD,GAAG,CAAC,KAAK,CAAC,CAAC" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js +new file mode 100644 +index 000000000000..fd956164d349 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js +@@ -0,0 +1,6 @@ ++function foo(x) { ++ return x; ++} ++ ++foo("foo"); ++//# sourceMappingURL=transitive-mapping-three-steps.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js.map +new file mode 100644 +index 000000000000..90459d90f6a0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping-three-steps.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "file": "transitive-mapping-three-steps.js", ++ "sources": ["transitive-mapping.js"], ++ "names": ["foo", "x"], ++ "mappings": "AAAA,SAASA,IAAIC;IAAG,OAAOA;AAAC;;AAACD,IAAI,KAAK" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js +new file mode 100644 +index 000000000000..183c027f1bb8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js +@@ -0,0 +1,2 @@ ++function foo(x){return x}foo("foo"); ++//# sourceMappingURL=transitive-mapping.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js.map +new file mode 100644 +index 000000000000..d6a6fa6672d4 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/transitive-mapping.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": ["foo","x"], ++ "sources": ["transitive-mapping-original.js"], ++ "mappings":"AAAA,SAASA,IAAIC,GACT,OAAOA,CACX,CACAD,IAAI" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/typescript-original.ts b/LayoutTests/imported/tg4/source-map-tests/resources/typescript-original.ts +new file mode 100644 +index 000000000000..cd51c01ba129 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/typescript-original.ts +@@ -0,0 +1,5 @@ ++type FooArg = string | number; ++function foo(x : FooArg) { ++ return x; ++} ++foo("foo"); +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js b/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js +new file mode 100644 +index 000000000000..19dfb0e2e6c7 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=unrecognized-property.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js.map +new file mode 100644 +index 000000000000..40bee558a4ff +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/unrecognized-property.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "", ++ "foobar": 42, ++ "unusedProperty": [1, 2, 3, 4] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js +new file mode 100644 +index 000000000000..3c49709e05ac +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-boundary-values.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js.map +new file mode 100644 +index 000000000000..4dd836e63d8f +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-boundary-values.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": ["foo"], ++ "file": "valid-mapping-boundary-values.js", ++ "sources": ["empty-original.js"], ++ "mappings": "+/////DA+/////D+/////DA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js +new file mode 100644 +index 000000000000..a2b767b619a0 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-empty-groups.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js.map +new file mode 100644 +index 000000000000..643c9ae78481 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-groups.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "valid-mapping-empty-groups.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js +new file mode 100644 +index 000000000000..83fc1bf3ac73 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-empty-string.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js.map +new file mode 100644 +index 000000000000..a35268d8f5b8 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-empty-string.js.map +@@ -0,0 +1,8 @@ ++{ ++ "version": 3, ++ "names": [], ++ "file": "valid-mapping-empty-string.js", ++ "sources": ["empty-original.js"], ++ "sourcesContent": [""], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js +new file mode 100644 +index 000000000000..b0cd8978132a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=valid-mapping-large-vlq.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js.map +new file mode 100644 +index 000000000000..76e18704c4b1 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/valid-mapping-large-vlq.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["valid-mapping-large-vlq.js"], ++ "mappings": "igggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js +new file mode 100644 +index 000000000000..c32d1f1a1cc6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-missing.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js.map +new file mode 100644 +index 000000000000..49d8ce766edb +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-missing.js.map +@@ -0,0 +1,5 @@ ++{ ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js +new file mode 100644 +index 000000000000..ae2342e2ffe5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-not-a-number.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js.map +new file mode 100644 +index 000000000000..a584d6e69511 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-not-a-number.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : "3foo", ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js +new file mode 100644 +index 000000000000..a55170885da6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-numeric-string.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js.map +new file mode 100644 +index 000000000000..dbe52a7d0df6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-numeric-string.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : "3", ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js +new file mode 100644 +index 000000000000..55f4e1a298fa +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-too-high.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js.map +new file mode 100644 +index 000000000000..ee23be32ff27 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-high.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 4, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js +new file mode 100644 +index 000000000000..d9642920b313 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-too-low.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js.map +new file mode 100644 +index 000000000000..64ca7a6e2e92 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-too-low.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 2, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js b/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js +new file mode 100644 +index 000000000000..82d0bfa1eb2a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js +@@ -0,0 +1 @@ ++//# sourceMappingURL=version-valid.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js.map +new file mode 100644 +index 000000000000..1a163052d8fc +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/version-valid.js.map +@@ -0,0 +1,6 @@ ++{ ++ "version" : 3, ++ "sources": [], ++ "names": [], ++ "mappings": "" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js +new file mode 100644 +index 000000000000..511e7be18ae5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js +@@ -0,0 +1,2 @@ ++ 3 ++//# sourceMappingURL=vlq-valid-continuation-bit-present-1.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js.map +new file mode 100644 +index 000000000000..f4acb4b41837 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-1.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["vlq-valid-continuation-bit-present-1-original.js"], ++ "sourcesContent": [" 3"], ++ "mappings": "+gAgAgAigA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js +new file mode 100644 +index 000000000000..0c879ce052ad +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js +@@ -0,0 +1,4 @@ ++ ++ ++ 3 ++//# sourceMappingURL=vlq-valid-continuation-bit-present-2.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js.map +new file mode 100644 +index 000000000000..a975cf8591ff +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-continuation-bit-present-2.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["vlq-valid-continuation-bit-present-2-original.js"], ++ "sourcesContent": ["\n 3"], ++ "mappings": ";;gBACC" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js +new file mode 100644 +index 000000000000..d8e795090eff +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js +@@ -0,0 +1,4 @@ ++ ++ ++ 4; 3 ++//# sourceMappingURL=vlq-valid-negative-digit.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js.map +new file mode 100644 +index 000000000000..71dec0d65a1a +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-negative-digit.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["vlq-valid-negative-digit-original.js"], ++ "sourcesContent": ["\n 4;3"], ++ "mappings": ";;eACG,bAAF" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js +new file mode 100644 +index 000000000000..54c59aae1fcb +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js +@@ -0,0 +1,2 @@ ++ 3 ++//# sourceMappingURL=vlq-valid-single-digit.js.map +diff --git a/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js.map b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js.map +new file mode 100644 +index 000000000000..9e35a7a0a6a5 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/resources/vlq-valid-single-digit.js.map +@@ -0,0 +1,7 @@ ++{ ++ "version": 3, ++ "names": [], ++ "sources": ["vlq-valid-single-digit-original.js"], ++ "sourcesContent": ["3"], ++ "mappings": "eAAA" ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/source-map-spec-tests.json b/LayoutTests/imported/tg4/source-map-tests/source-map-spec-tests.json +new file mode 100644 +index 000000000000..4601502fffd6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/source-map-spec-tests.json +@@ -0,0 +1,1554 @@ ++{ ++ "tests": [ ++ { ++ "name": "versionValid", ++ "description": "Test a simple source map with a valid version number", ++ "baseFile": "version-valid.js", ++ "sourceMapFile": "version-valid.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "versionMissing", ++ "description": "Test a source map that is missing a version field", ++ "baseFile": "version-missing.js", ++ "sourceMapFile": "version-missing.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionNotANumber", ++ "description": "Test a source map with a version field that is not a number", ++ "baseFile": "version-not-a-number.js", ++ "sourceMapFile": "version-not-a-number.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionNumericString", ++ "description": "Test a source map with a version field that is a number as a string", ++ "baseFile": "version-numeric-string.js", ++ "sourceMapFile": "version-numeric-string.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionTooHigh", ++ "description": "Test a source map with an integer version field that is too high", ++ "baseFile": "version-too-high.js", ++ "sourceMapFile": "version-too-high.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "versionTooLow", ++ "description": "Test a source map with an integer version field that is too low", ++ "baseFile": "version-too-low.js", ++ "sourceMapFile": "version-too-low.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesMissing", ++ "description": "Test a source map that is missing a necessary sources field", ++ "baseFile": "sources-missing.js", ++ "sourceMapFile": "sources-missing.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotAList1", ++ "description": "Test a source map with a sources field that is not a valid list (string)", ++ "baseFile": "sources-not-a-list-1.js", ++ "sourceMapFile": "sources-not-a-list-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotAList2", ++ "description": "Test a source map with a sources field that is not a valid list (object)", ++ "baseFile": "sources-not-a-list-2.js", ++ "sourceMapFile": "sources-not-a-list-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesNotStringOrNull", ++ "description": "Test a source map with a sources list that has non-string and non-null items", ++ "baseFile": "sources-not-string-or-null.js", ++ "sourceMapFile": "sources-not-string-or-null.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourcesAndSourcesContentBothNull", ++ "description": "Test a source map that has both null sources and sourcesContent entries", ++ "baseFile": "sources-and-sources-content-both-null.js", ++ "sourceMapFile": "sources-and-sources-content-both-null.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "fileNotAString1", ++ "description": "Test a source map with a file field that is not a valid string", ++ "baseFile": "file-not-a-string-1.js", ++ "sourceMapFile": "file-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "fileNotAString2", ++ "description": "Test a source map with a file field that is not a valid string", ++ "baseFile": "file-not-a-string-2.js", ++ "sourceMapFile": "file-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourceRootNotAString1", ++ "description": "Test a source map with a sourceRoot field that is not a valid string", ++ "baseFile": "source-root-not-a-string-1.js", ++ "sourceMapFile": "source-root-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "sourceRootNotAString2", ++ "description": "Test a source map with a sourceRoot field that is not a valid string", ++ "baseFile": "source-root-not-a-string-2.js", ++ "sourceMapFile": "source-root-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesMissing", ++ "description": "Test a source map that is missing the optional names field", ++ "baseFile": "names-missing.js", ++ "sourceMapFile": "names-missing.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "namesNotAList1", ++ "description": "Test a source map with a names field that is not a valid list (string)", ++ "baseFile": "names-not-a-list-1.js", ++ "sourceMapFile": "names-not-a-list-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesNotAList2", ++ "description": "Test a source map with a names field that is not a valid list (object)", ++ "baseFile": "names-not-a-list-2.js", ++ "sourceMapFile": "names-not-a-list-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "namesNotString", ++ "description": "Test a source map with a names list that has non-string items", ++ "baseFile": "names-not-string.js", ++ "sourceMapFile": "names-not-string.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListEmpty", ++ "description": "Test a source map with an ignore list that has no items", ++ "baseFile": "ignore-list-empty.js", ++ "sourceMapFile": "ignore-list-empty.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "ignoreListValid1", ++ "description": "Test a source map with a simple valid ignore list", ++ "baseFile": "ignore-list-valid-1.js", ++ "sourceMapFile": "ignore-list-valid-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkIgnoreList", ++ "present": ["empty-original.js"] ++ } ++ ] ++ }, ++ { ++ "name": "ignoreListWrongType1", ++ "description": "Test a source map with an ignore list with the wrong type of items", ++ "baseFile": "ignore-list-wrong-type-1.js", ++ "sourceMapFile": "ignore-list-wrong-type-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListWrongType2", ++ "description": "Test a source map with an ignore list with the wrong type of items", ++ "baseFile": "ignore-list-wrong-type-2.js", ++ "sourceMapFile": "ignore-list-wrong-type-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListWrongType3", ++ "description": "Test a source map with an ignore list that is not a list", ++ "baseFile": "ignore-list-wrong-type-3.js", ++ "sourceMapFile": "ignore-list-wrong-type-3.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListWrongType4", ++ "description": "Test a source map with an ignore list with a negative index", ++ "baseFile": "ignore-list-wrong-type-4.js", ++ "sourceMapFile": "ignore-list-wrong-type-4.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListOutOfBounds1", ++ "description": "Test a source map with an ignore list with an item with an out-of-bounds index (too big)", ++ "baseFile": "ignore-list-out-of-bounds-1.js", ++ "sourceMapFile": "ignore-list-out-of-bounds-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "ignoreListOutOfBounds2", ++ "description": "Test a source map with an ignore list with an item with an out-of-bounds index (too low)", ++ "baseFile": "ignore-list-out-of-bounds-2.js", ++ "sourceMapFile": "ignore-list-out-of-bounds-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "unrecognizedProperty", ++ "description": "Test a source map that has an extra field not explicitly encoded in the spec", ++ "baseFile": "unrecognized-property.js", ++ "sourceMapFile": "unrecognized-property.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "invalidVLQDueToNonBase64Character", ++ "description": "Test a source map that has a mapping with an invalid non-base64 character", ++ "baseFile": "invalid-vlq-non-base64-char.js", ++ "sourceMapFile": "invalid-vlq-non-base64-char.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidVLQDueToMissingContinuationDigits", ++ "description": "Test a source map that has a mapping with an invalid VLQ that has a continuation bit but no continuing digits", ++ "baseFile": "invalid-vlq-missing-continuation.js", ++ "sourceMapFile": "invalid-vlq-missing-continuation.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingNotAString1", ++ "description": "Test a source map that has an invalid mapping that is not a string (number)", ++ "baseFile": "invalid-mapping-not-a-string-1.js", ++ "sourceMapFile": "invalid-mapping-not-a-string-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingNotAString2", ++ "description": "Test a source map that has an invalid mapping that is not a string (array)", ++ "baseFile": "invalid-mapping-not-a-string-2.js", ++ "sourceMapFile": "invalid-mapping-not-a-string-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentBadSeparator", ++ "description": "Test a source map that uses separator characters not recognized in the spec", ++ "baseFile": "invalid-mapping-bad-separator.js", ++ "sourceMapFile": "invalid-mapping-bad-separator.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithZeroFields", ++ "description": "Test a source map that has the wrong number (zero) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-zero-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-zero-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithTwoFields", ++ "description": "Test a source map that has the wrong number (two) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-two-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-two-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithThreeFields", ++ "description": "Test a source map that has the wrong number (three) of segments fields", ++ "baseFile": "invalid-mapping-segment-with-three-fields.js", ++ "sourceMapFile": "invalid-mapping-segment-with-three-fields.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithSourceIndexOutOfBounds", ++ "description": "Test a source map that has a source index field that is out of bounds of the sources field", ++ "baseFile": "invalid-mapping-segment-source-index-out-of-bounds.js", ++ "sourceMapFile": "invalid-mapping-segment-source-index-out-of-bounds.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNameIndexOutOfBounds", ++ "description": "Test a source map that has a name index field that is out of bounds of the names field", ++ "baseFile": "invalid-mapping-segment-name-index-out-of-bounds.js", ++ "sourceMapFile": "invalid-mapping-segment-name-index-out-of-bounds.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeColumn", ++ "description": "Test a source map that has an invalid negative non-relative column field", ++ "baseFile": "invalid-mapping-segment-negative-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeSourceIndex", ++ "description": "Test a source map that has an invalid negative non-relative source index field", ++ "baseFile": "invalid-mapping-segment-negative-source-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-source-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeOriginalLine", ++ "description": "Test a source map that has an invalid negative non-relative original line field", ++ "baseFile": "invalid-mapping-segment-negative-original-line.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-original-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeOriginalColumn", ++ "description": "Test a source map that has an invalid negative non-relative original column field", ++ "baseFile": "invalid-mapping-segment-negative-original-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-original-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeNameIndex", ++ "description": "Test a source map that has an invalid negative non-relative name index field", ++ "baseFile": "invalid-mapping-segment-negative-name-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-name-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeColumn", ++ "description": "Test a source map that has an invalid negative relative column field", ++ "baseFile": "invalid-mapping-segment-negative-relative-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeSourceIndex", ++ "description": "Test a source map that has an invalid negative relative source index field", ++ "baseFile": "invalid-mapping-segment-negative-relative-source-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-source-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalLine", ++ "description": "Test a source map that has an invalid negative relative original line field", ++ "baseFile": "invalid-mapping-segment-negative-relative-original-line.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeOriginalColumn", ++ "description": "Test a source map that has an invalid negative relative original column field", ++ "baseFile": "invalid-mapping-segment-negative-relative-original-column.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-original-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNegativeRelativeNameIndex", ++ "description": "Test a source map that has an invalid negative relative name index field", ++ "baseFile": "invalid-mapping-segment-negative-relative-name-index.js", ++ "sourceMapFile": "invalid-mapping-segment-negative-relative-name-index.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithColumnExceeding32Bits", ++ "description": "Test a source map that has a column field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-column-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-column-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithSourceIndexExceeding32Bits", ++ "description": "Test a source map that has a source index field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-source-index-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-source-index-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithOriginalLineExceeding32Bits", ++ "description": "Test a source map that has a original line field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-original-line-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-original-line-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithOriginalColumnExceeding32Bits", ++ "description": "Test a source map that has an original column field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-original-column-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-original-column-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "invalidMappingSegmentWithNameIndexExceeding32Bits", ++ "description": "Test a source map that has a name index field that exceeds 32 bits", ++ "baseFile": "invalid-mapping-segment-name-index-too-large.js", ++ "sourceMapFile": "invalid-mapping-segment-name-index-too-large.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "validMappingFieldsWith32BitMaxValues", ++ "description": "Test a source map that has segment fields with max values representable in 32 bits", ++ "baseFile": "valid-mapping-boundary-values.js", ++ "sourceMapFile": "valid-mapping-boundary-values.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingLargeVLQ", ++ "description": "Test a source map that has a segment field VLQ that is very long but within 32-bits", ++ "baseFile": "valid-mapping-large-vlq.js", ++ "sourceMapFile": "valid-mapping-large-vlq.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingEmptyGroups", ++ "description": "Test a source map with a mapping that has many empty groups", ++ "baseFile": "valid-mapping-empty-groups.js", ++ "sourceMapFile": "valid-mapping-empty-groups.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "validMappingEmptyString", ++ "description": "Test a source map with an empty string mapping", ++ "baseFile": "valid-mapping-empty-string.js", ++ "sourceMapFile": "valid-mapping-empty-string.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "indexMapWrongTypeSections", ++ "description": "Test an index map with a sections field with the wrong type", ++ "baseFile": "index-map-wrong-type-sections.js", ++ "sourceMapFile": "index-map-wrong-type-sections.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapWrongTypeOffset", ++ "description": "Test an index map with an offset field with the wrong type", ++ "baseFile": "index-map-wrong-type-offset.js", ++ "sourceMapFile": "index-map-wrong-type-offset.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapWrongTypeMap", ++ "description": "Test an index map with a map field with the wrong type", ++ "baseFile": "index-map-wrong-type-map.js", ++ "sourceMapFile": "index-map-wrong-type-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidBaseMappings", ++ "description": "Test that an index map cannot also have a regular mappings field", ++ "baseFile": "index-map-invalid-base-mappings.js", ++ "sourceMapFile": "index-map-invalid-base-mappings.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidOverlap", ++ "description": "Test that an invalid index map with multiple sections that overlap", ++ "baseFile": "index-map-invalid-overlap.js", ++ "sourceMapFile": "index-map-invalid-overlap.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidOrder", ++ "description": "Test that an invalid index map with multiple sections in the wrong order", ++ "baseFile": "index-map-invalid-order.js", ++ "sourceMapFile": "index-map-invalid-order.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingMap", ++ "description": "Test that an index map that is missing a section map", ++ "baseFile": "index-map-missing-map.js", ++ "sourceMapFile": "index-map-missing-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapInvalidSubMap", ++ "description": "Test that an index map that has an invalid section map", ++ "baseFile": "index-map-invalid-sub-map.js", ++ "sourceMapFile": "index-map-invalid-sub-map.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffset", ++ "description": "Test that an index map that is missing a section offset", ++ "baseFile": "index-map-missing-offset.js", ++ "sourceMapFile": "index-map-missing-offset.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffsetLine", ++ "description": "Test that an index map that is missing a section offset's line field", ++ "baseFile": "index-map-missing-offset-line.js", ++ "sourceMapFile": "index-map-missing-offset-line.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapMissingOffsetColumn", ++ "description": "Test that an index map that is missing a section offset's column field", ++ "baseFile": "index-map-missing-offset-column.js", ++ "sourceMapFile": "index-map-missing-offset-column.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapOffsetLineWrongType", ++ "description": "Test that an index map that has an offset line field with the wrong type of value", ++ "baseFile": "index-map-offset-line-wrong-type.js", ++ "sourceMapFile": "index-map-offset-line-wrong-type.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapOffsetColumnWrongType", ++ "description": "Test that an index map that has an offset column field with the wrong type of value", ++ "baseFile": "index-map-offset-column-wrong-type.js", ++ "sourceMapFile": "index-map-offset-column-wrong-type.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapEmptySections", ++ "description": "Test a trivial index map with no sections", ++ "baseFile": "index-map-empty-sections.js", ++ "sourceMapFile": "index-map-empty-sections.js.map", ++ "sourceMapIsValid": true ++ }, ++ { ++ "name": "indexMapFileWrongType1", ++ "description": "Test an index map with a file field with the wrong type", ++ "baseFile": "index-map-file-wrong-type-1.js", ++ "sourceMapFile": "index-map-file-wrong-type-1.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "indexMapFileWrongType2", ++ "description": "Test an index map with a file field with the wrong type", ++ "baseFile": "index-map-file-wrong-type-2.js", ++ "sourceMapFile": "index-map-file-wrong-type-2.js.map", ++ "sourceMapIsValid": false ++ }, ++ { ++ "name": "basicMapping", ++ "description": "Test a simple source map that has several valid mappings", ++ "baseFile": "basic-mapping.js", ++ "sourceMapFile": "basic-mapping.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "sourceRootResolution", ++ "description": "Similar to basic mapping test, but test resoultion of sources with a sourceRoot field", ++ "baseFile": "source-root-resolution.js", ++ "sourceMapFile": "source-root-resolution.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "theroot/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "theroot/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "sourceResolutionAbsoluteURL", ++ "description": "Test resoultion of sources with absolute URLs", ++ "baseFile": "source-resolution-absolute-url.js", ++ "sourceMapFile": "source-resolution-absolute-url.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "/baz/quux/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "/baz/quux/basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "basicMappingWithIndexMap", ++ "description": "Test a version of basic-mapping.js.map that is split into sections with an index map", ++ "baseFile": "basic-mapping-as-index-map.js", ++ "sourceMapFile": "basic-mapping-as-index-map.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "indexMapWithMissingFile", ++ "description": "Same as the basic mapping index map test but without the optional file field", ++ "baseFile": "index-map-missing-file.js", ++ "sourceMapFile": "index-map-missing-file.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ } ++ ] ++ }, ++ { ++ "name": "indexMapWithTwoConcatenatedSources", ++ "description": "Test an index map that has two sub-maps for concatenated sources", ++ "baseFile": "index-map-two-concatenated-sources.js", ++ "sourceMapFile": "index-map-two-concatenated-sources.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 22, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 34, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 3, ++ "originalColumn": 9, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 40, ++ "originalLine": 4, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 47, ++ "originalLine": 4, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 49, ++ "originalLine": 5, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 50, ++ "originalLine": 6, ++ "originalColumn": 0, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "basic-mapping-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 56, ++ "originalLine": 7, ++ "originalColumn": 0, ++ "mappedName": "bar" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 62, ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 71, ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "baz" ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 77, ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 83, ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 88, ++ "originalLine": 2, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "originalSource": "second-source-original.js", ++ "generatedLine": 0, ++ "generatedColumn": 89, ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": "baz" ++ } ++ ] ++ }, ++ { ++ "name": "sourcesNullSourcesContentNonNull", ++ "description": "Test a source map that has a null source but has a sourcesContent", ++ "baseFile": "sources-null-sources-content-non-null.js", ++ "sourceMapFile": "sources-null-sources-content-non-null.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": null, ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": null, ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "sourcesNonNullSourcesContentNull", ++ "description": "Test a source map that has a non-null source but has a null sourcesContent", ++ "baseFile": "sources-non-null-sources-content-null.js", ++ "sourceMapFile": "sources-non-null-sources-content-null.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "basic-mapping-original.js", ++ "originalLine": 0, ++ "originalColumn": 9, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "transitiveMapping", ++ "description": "Test a simple two-stage transitive mapping from a minified JS to a TypeScript source", ++ "baseFile": "transitive-mapping.js", ++ "sourceMapFile": "transitive-mapping.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 13, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 13, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 16, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 23, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 24, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 25, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 29, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "transitiveMappingWithThreeSteps", ++ "description": "Test a three-stage transitive mapping from an un-minified JS to minified JS to a TypeScript source", ++ "baseFile": "transitive-mapping-three-steps.js", ++ "sourceMapFile": "transitive-mapping-three-steps.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 9, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 0, ++ "generatedColumn": 13, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 1, ++ "originalColumn": 13, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 1, ++ "generatedColumn": 4, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 1, ++ "generatedColumn": 11, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 2, ++ "originalColumn": 9, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 2, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 3, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 4, ++ "generatedColumn": 0, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMappingTransitive", ++ "generatedLine": 4, ++ "generatedColumn": 4, ++ "originalSource": "typescript-original.ts", ++ "intermediateMaps": ["transitive-mapping.js.map", "transitive-mapping-original.js.map"], ++ "originalLine": 4, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidSingleDigit", ++ "description": "Test VLQ decoding for a single digit, no continuation VLQ", ++ "baseFile": "vlq-valid-single-digit.js", ++ "sourceMapFile": "vlq-valid-single-digit.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-single-digit-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidNegativeDigit", ++ "description": "Test VLQ decoding where there's a negative digit, no continuation bit", ++ "baseFile": "vlq-valid-negative-digit.js", ++ "sourceMapFile": "vlq-valid-negative-digit.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-negative-digit-original.js", ++ "originalLine": 1, ++ "originalColumn": 3, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 2, ++ "originalSource": "vlq-valid-negative-digit-original.js", ++ "originalLine": 1, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidContinuationBitPresent1", ++ "description": "Test VLQ decoding where continuation bits are present (continuations are leading zero)", ++ "baseFile": "vlq-valid-continuation-bit-present-1.js", ++ "sourceMapFile": "vlq-valid-continuation-bit-present-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 15, ++ "originalSource": "vlq-valid-continuation-bit-present-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "vlqValidContinuationBitPresent2", ++ "description": "Test VLQ decoding where continuation bits are present (continuations have non-zero bits)", ++ "baseFile": "vlq-valid-continuation-bit-present-2.js", ++ "sourceMapFile": "vlq-valid-continuation-bit-present-2.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 2, ++ "generatedColumn": 16, ++ "originalSource": "vlq-valid-continuation-bit-present-2-original.js", ++ "originalLine": 1, ++ "originalColumn": 1, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsSingleFieldSegment", ++ "description": "Test mapping semantics for a single field segment mapping", ++ "baseFile": "mapping-semantics-single-field-segment.js", ++ "sourceMapFile": "mapping-semantics-single-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 0, ++ "originalSource": "mapping-semantics-single-field-segment-original.js", ++ "originalLine": 0, ++ "originalColumn": 1, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 2, ++ "originalSource": null, ++ "originalLine": null, ++ "originalColumn": null, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsFourFieldSegment", ++ "description": "Test mapping semantics for a four field segment mapping", ++ "baseFile": "mapping-semantics-four-field-segment.js", ++ "sourceMapFile": "mapping-semantics-four-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-four-field-segment-original.js", ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsFiveFieldSegment", ++ "description": "Test mapping semantics for a five field segment mapping", ++ "baseFile": "mapping-semantics-five-field-segment.js", ++ "sourceMapFile": "mapping-semantics-five-field-segment.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-five-field-segment-original.js", ++ "originalLine": 2, ++ "originalColumn": 2, ++ "mappedName": "foo" ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsColumnReset", ++ "description": "Test that the generated column field resets to zero on new lines", ++ "baseFile": "mapping-semantics-column-reset.js", ++ "sourceMapFile": "mapping-semantics-column-reset.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-column-reset-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 1, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-column-reset-original.js", ++ "originalLine": 1, ++ "originalColumn": 0, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsRelative1", ++ "description": "Test that fields are calculated relative to previous ones", ++ "baseFile": "mapping-semantics-relative-1.js", ++ "sourceMapFile": "mapping-semantics-relative-1.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-relative-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 0, ++ "mappedName": null ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 5, ++ "originalSource": "mapping-semantics-relative-1-original.js", ++ "originalLine": 0, ++ "originalColumn": 4, ++ "mappedName": null ++ } ++ ] ++ }, ++ { ++ "name": "mappingSemanticsRelative2", ++ "description": "Test that fields are calculated relative to previous ones, across lines", ++ "baseFile": "mapping-semantics-relative-2.js", ++ "sourceMapFile": "mapping-semantics-relative-2.js.map", ++ "sourceMapIsValid": true, ++ "testActions": [ ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 0, ++ "generatedColumn": 1, ++ "originalSource": "mapping-semantics-relative-2-original.js", ++ "originalLine": 0, ++ "originalColumn": 2, ++ "mappedName": "foo" ++ }, ++ { ++ "actionType": "checkMapping", ++ "generatedLine": 1, ++ "generatedColumn": 2, ++ "originalSource": "mapping-semantics-relative-2-original.js", ++ "originalLine": 1, ++ "originalColumn": 2, ++ "mappedName": "bar" ++ } ++ ] ++ } ++ ] ++} +diff --git a/LayoutTests/imported/tg4/source-map-tests/webkit/0001-Add-harness-for-source-maps-spec-tests.patch b/LayoutTests/imported/tg4/source-map-tests/webkit/0001-Add-harness-for-source-maps-spec-tests.patch +new file mode 100644 +index 000000000000..050bf042bac6 +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/webkit/0001-Add-harness-for-source-maps-spec-tests.patch +@@ -0,0 +1,1649 @@ ++From d2ac7108de0b2a76e072ba8d7d4a9e733d3782ef Mon Sep 17 00:00:00 2001 ++From: Asumu Takikawa <asumu@igalia.com> ++Date: Mon, 11 Mar 2024 13:41:31 -0700 ++Subject: [PATCH] Add harness for source maps spec tests ++ ++Need a short description (OOPS!). ++Need the bug URL (OOPS!). ++ ++Reviewed by NOBODY (OOPS!). ++ ++Explanation of why this fixes the bug (OOPS!). ++ ++* LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js.map: Added. ++* LayoutTests/inspector/model/resources/basic-mapping-original.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/basic-mapping.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/basic-mapping.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js: Added. ++* LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js.map: Added. ++* LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js: Added. ++* LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js.map: Added. ++* LayoutTests/inspector/model/resources/names-missing.js: Added. ++* LayoutTests/inspector/model/resources/names-missing.js.map: Added. ++* LayoutTests/inspector/model/resources/names-not-a-list-1.js: Added. ++* LayoutTests/inspector/model/resources/names-not-a-list-1.js.map: Added. ++* LayoutTests/inspector/model/resources/names-not-a-list-2.js: Added. ++* LayoutTests/inspector/model/resources/names-not-a-list-2.js.map: Added. ++* LayoutTests/inspector/model/resources/source-map-spec-tests.json: Added. ++* LayoutTests/inspector/model/resources/sources-missing.js: Added. ++* LayoutTests/inspector/model/resources/sources-missing.js.map: Added. ++* LayoutTests/inspector/model/resources/sources-not-a-list-1.js: Added. ++* LayoutTests/inspector/model/resources/sources-not-a-list-1.js.map: Added. ++* LayoutTests/inspector/model/resources/sources-not-a-list-2.js: Added. ++* LayoutTests/inspector/model/resources/sources-not-a-list-2.js.map: Added. ++* LayoutTests/inspector/model/resources/unrecognized-property.js: Added. ++* LayoutTests/inspector/model/resources/unrecognized-property.js.map: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js.map: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js.map: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js.map: Added. ++* LayoutTests/inspector/model/resources/valid-mapping-null-sources.js: Added. ++(foo): ++(bar): ++* LayoutTests/inspector/model/resources/valid-mapping-null-sources.js.map: Added. ++* LayoutTests/inspector/model/resources/version-not-a-number.js: Added. ++* LayoutTests/inspector/model/resources/version-not-a-number.js.map: Added. ++* LayoutTests/inspector/model/resources/version-numeric-string.js: Added. ++* LayoutTests/inspector/model/resources/version-numeric-string.js.map: Added. ++* LayoutTests/inspector/model/resources/version-too-high.js: Added. ++* LayoutTests/inspector/model/resources/version-too-high.js.map: Added. ++* LayoutTests/inspector/model/resources/version-too-low.js: Added. ++* LayoutTests/inspector/model/resources/version-too-low.js.map: Added. ++* LayoutTests/inspector/model/resources/version-valid.js: Added. ++* LayoutTests/inspector/model/resources/version-valid.js.map: Added. ++* LayoutTests/inspector/model/source-map-spec-expected.txt: Added. ++* LayoutTests/inspector/model/source-map-spec.html: Added. ++--- ++ .../resources/basic-mapping-as-index-map.js | 2 + ++ .../basic-mapping-as-index-map.js.map | 23 + ++ .../model/resources/basic-mapping-original.js | 8 + ++ .../model/resources/basic-mapping.js | 2 + ++ .../model/resources/basic-mapping.js.map | 6 + ++ .../invalid-mapping-bad-separator.js | 2 + ++ .../invalid-mapping-bad-separator.js.map | 6 + ++ .../invalid-mapping-not-a-string-1.js | 1 + ++ .../invalid-mapping-not-a-string-1.js.map | 7 + ++ .../invalid-mapping-not-a-string-2.js | 1 + ++ .../invalid-mapping-not-a-string-2.js.map | 7 + ++ ...nvalid-mapping-segment-column-too-large.js | 1 + ++ ...id-mapping-segment-column-too-large.js.map | 7 + ++ ...apping-segment-name-index-out-of-bounds.js | 1 + ++ ...ng-segment-name-index-out-of-bounds.js.map | 7 + ++ ...id-mapping-segment-name-index-too-large.js | 1 + ++ ...apping-segment-name-index-too-large.js.map | 7 + ++ ...invalid-mapping-segment-negative-column.js | 1 + ++ ...lid-mapping-segment-negative-column.js.map | 7 + ++ ...lid-mapping-segment-negative-name-index.js | 1 + ++ ...mapping-segment-negative-name-index.js.map | 7 + ++ ...apping-segment-negative-original-column.js | 1 + ++ ...ng-segment-negative-original-column.js.map | 7 + ++ ...-mapping-segment-negative-original-line.js | 1 + ++ ...ping-segment-negative-original-line.js.map | 7 + ++ ...d-mapping-segment-negative-source-index.js | 1 + ++ ...pping-segment-negative-source-index.js.map | 7 + ++ ...pping-segment-original-column-too-large.js | 1 + ++ ...g-segment-original-column-too-large.js.map | 7 + ++ ...mapping-segment-original-line-too-large.js | 1 + ++ ...ing-segment-original-line-too-large.js.map | 7 + ++ ...ping-segment-source-index-out-of-bounds.js | 1 + ++ ...-segment-source-index-out-of-bounds.js.map | 7 + ++ ...-mapping-segment-source-index-too-large.js | 1 + ++ ...ping-segment-source-index-too-large.js.map | 7 + ++ ...valid-mapping-segment-with-three-fields.js | 2 + ++ ...d-mapping-segment-with-three-fields.js.map | 6 + ++ ...invalid-mapping-segment-with-two-fields.js | 2 + ++ ...lid-mapping-segment-with-two-fields.js.map | 6 + ++ ...nvalid-mapping-segment-with-zero-fields.js | 1 + ++ ...id-mapping-segment-with-zero-fields.js.map | 7 + ++ .../resources/invalid-vlq-non-base64-char.js | 1 + ++ .../invalid-vlq-non-base64-char.js.map | 6 + ++ .../model/resources/names-missing.js | 1 + ++ .../model/resources/names-missing.js.map | 5 + ++ .../model/resources/names-not-a-list-1.js | 1 + ++ .../model/resources/names-not-a-list-1.js.map | 6 + ++ .../model/resources/names-not-a-list-2.js | 1 + ++ .../model/resources/names-not-a-list-2.js.map | 6 + ++ .../resources/source-map-spec-tests.json | 503 ++++++++++++++++++ ++ .../model/resources/sources-missing.js | 1 + ++ .../model/resources/sources-missing.js.map | 5 + ++ .../model/resources/sources-not-a-list-1.js | 1 + ++ .../resources/sources-not-a-list-1.js.map | 6 + ++ .../model/resources/sources-not-a-list-2.js | 1 + ++ .../resources/sources-not-a-list-2.js.map | 6 + ++ .../model/resources/unrecognized-property.js | 1 + ++ .../resources/unrecognized-property.js.map | 8 + ++ .../valid-mapping-boundary-values.js | 1 + ++ .../valid-mapping-boundary-values.js.map | 7 + ++ .../resources/valid-mapping-empty-groups.js | 1 + ++ .../valid-mapping-empty-groups.js.map | 7 + ++ .../resources/valid-mapping-large-vlq.js | 1 + ++ .../resources/valid-mapping-large-vlq.js.map | 6 + ++ .../resources/valid-mapping-null-sources.js | 2 + ++ .../valid-mapping-null-sources.js.map | 6 + ++ .../model/resources/version-not-a-number.js | 1 + ++ .../resources/version-not-a-number.js.map | 6 + ++ .../model/resources/version-numeric-string.js | 1 + ++ .../resources/version-numeric-string.js.map | 6 + ++ .../model/resources/version-too-high.js | 1 + ++ .../model/resources/version-too-high.js.map | 6 + ++ .../model/resources/version-too-low.js | 1 + ++ .../model/resources/version-too-low.js.map | 6 + ++ .../model/resources/version-valid.js | 1 + ++ .../model/resources/version-valid.js.map | 6 + ++ .../model/source-map-spec-expected.txt | 22 + ++ .../inspector/model/source-map-spec.html | 83 +++ ++ 78 files changed, 915 insertions(+) ++ create mode 100644 LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js ++ create mode 100644 LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/basic-mapping-original.js ++ create mode 100644 LayoutTests/inspector/model/resources/basic-mapping.js ++ create mode 100644 LayoutTests/inspector/model/resources/basic-mapping.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js ++ create mode 100644 LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/names-missing.js ++ create mode 100644 LayoutTests/inspector/model/resources/names-missing.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/names-not-a-list-1.js ++ create mode 100644 LayoutTests/inspector/model/resources/names-not-a-list-1.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/names-not-a-list-2.js ++ create mode 100644 LayoutTests/inspector/model/resources/names-not-a-list-2.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/source-map-spec-tests.json ++ create mode 100644 LayoutTests/inspector/model/resources/sources-missing.js ++ create mode 100644 LayoutTests/inspector/model/resources/sources-missing.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/sources-not-a-list-1.js ++ create mode 100644 LayoutTests/inspector/model/resources/sources-not-a-list-1.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/sources-not-a-list-2.js ++ create mode 100644 LayoutTests/inspector/model/resources/sources-not-a-list-2.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/unrecognized-property.js ++ create mode 100644 LayoutTests/inspector/model/resources/unrecognized-property.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-null-sources.js ++ create mode 100644 LayoutTests/inspector/model/resources/valid-mapping-null-sources.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/version-not-a-number.js ++ create mode 100644 LayoutTests/inspector/model/resources/version-not-a-number.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/version-numeric-string.js ++ create mode 100644 LayoutTests/inspector/model/resources/version-numeric-string.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/version-too-high.js ++ create mode 100644 LayoutTests/inspector/model/resources/version-too-high.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/version-too-low.js ++ create mode 100644 LayoutTests/inspector/model/resources/version-too-low.js.map ++ create mode 100644 LayoutTests/inspector/model/resources/version-valid.js ++ create mode 100644 LayoutTests/inspector/model/resources/version-valid.js.map ++ create mode 100644 LayoutTests/inspector/model/source-map-spec-expected.txt ++ create mode 100644 LayoutTests/inspector/model/source-map-spec.html ++ ++diff --git a/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js b/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js ++new file mode 100644 ++index 000000000000..b9fae380437d ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=basic-mapping-as-index-map.js.map ++diff --git a/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js.map b/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js.map ++new file mode 100644 ++index 000000000000..12053a5698a6 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/basic-mapping-as-index-map.js.map ++@@ -0,0 +1,23 @@ +++{ +++ "version": "3", +++ "sections": [ +++ { +++ "offset": { "line": 0, "column": 0 }, +++ "map": { +++ "version": "3", +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAAA,SAASA,MACP,OAAO,EACT,CACA" +++ } +++ }, +++ { +++ "offset": { "line": 0, "column": 34 }, +++ "map": { +++ "version": "3", +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAGSC,MACP,OAAO,EACT,CACAD,MACAC" +++ } +++ } +++ ] +++} ++diff --git a/LayoutTests/inspector/model/resources/basic-mapping-original.js b/LayoutTests/inspector/model/resources/basic-mapping-original.js ++new file mode 100644 ++index 000000000000..301b186cb15e ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/basic-mapping-original.js ++@@ -0,0 +1,8 @@ +++function foo() { +++ return 42; +++} +++function bar() { +++ return 24; +++} +++foo(); +++bar(); ++diff --git a/LayoutTests/inspector/model/resources/basic-mapping.js b/LayoutTests/inspector/model/resources/basic-mapping.js ++new file mode 100644 ++index 000000000000..2e479a4175b8 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/basic-mapping.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=basic-mapping.js.map ++diff --git a/LayoutTests/inspector/model/resources/basic-mapping.js.map b/LayoutTests/inspector/model/resources/basic-mapping.js.map ++new file mode 100644 ++index 000000000000..12dc9679a4b1 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/basic-mapping.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version":3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings":"AAAA,SAASA,MACP,OAAO,EACT,CACA,SAASC,MACP,OAAO,EACT,CACAD,MACAC" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js b/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js ++new file mode 100644 ++index 000000000000..25338aca30ce ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-bad-separator.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js.map ++new file mode 100644 ++index 000000000000..5f4f5b92330a ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-bad-separator.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAAA.SAASA:MACP" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js ++new file mode 100644 ++index 000000000000..cb38e2fe9d7b ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-not-a-string-1.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js.map ++new file mode 100644 ++index 000000000000..5bf3e2a9d85b ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-1.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-not-a-string-1.js", +++ "sources": ["empty-original.js"], +++ "mappings": 5 +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js ++new file mode 100644 ++index 000000000000..3d84abd6c6b4 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-not-a-string-2.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js.map ++new file mode 100644 ++index 000000000000..4527e7f7641c ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-not-a-string-2.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-not-a-string-2.js", +++ "sources": ["empty-original.js"], +++ "mappings": [1, 2, 3, 4] +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js ++new file mode 100644 ++index 000000000000..55591f874b1b ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-column-too-large.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js.map ++new file mode 100644 ++index 000000000000..b4c059e0151b ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-column-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-column-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "ggggggE" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js ++new file mode 100644 ++index 000000000000..2a6b434eff58 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-name-index-out-of-bounds.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map ++new file mode 100644 ++index 000000000000..8dd2ea6c2da0 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-out-of-bounds.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "file": "invalid-mapping-segment-name-index-out-of-bounds.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAC" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js ++new file mode 100644 ++index 000000000000..709e34dbd326 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-name-index-too-large.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js.map ++new file mode 100644 ++index 000000000000..c7bf5b98d120 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-name-index-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-name-index-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAggggggE" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js ++new file mode 100644 ++index 000000000000..a202152d6fdf ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-column.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js.map ++new file mode 100644 ++index 000000000000..403878bfa47a ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-column.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-column.js", +++ "sources": ["empty-original.js"], +++ "mappings": "F" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js ++new file mode 100644 ++index 000000000000..3e3f63420467 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-name-index.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js.map ++new file mode 100644 ++index 000000000000..b94f63646e46 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-name-index.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-name-index.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAAF" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js ++new file mode 100644 ++index 000000000000..f21d5342b395 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-original-column.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js.map ++new file mode 100644 ++index 000000000000..011c639d3f91 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-column.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-original-column.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAF" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js ++new file mode 100644 ++index 000000000000..b37309601ce0 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-original-line.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js.map ++new file mode 100644 ++index 000000000000..e7ec993eebda ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-original-line.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-original-line.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAFA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js ++new file mode 100644 ++index 000000000000..6e05849b6a03 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-negative-source-index.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js.map ++new file mode 100644 ++index 000000000000..596c2f298bbe ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-negative-source-index.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-negative-source-index.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AFAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js ++new file mode 100644 ++index 000000000000..0936ed7ea8fd ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-original-column-too-large.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js.map ++new file mode 100644 ++index 000000000000..ff2103fe24fe ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-column-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-original-column-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAAggggggE" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js ++new file mode 100644 ++index 000000000000..9b3aa5a361ae ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-original-line-too-large.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js.map ++new file mode 100644 ++index 000000000000..890f1c71fc5b ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-original-line-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-original-line-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AAggggggEA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js ++new file mode 100644 ++index 000000000000..2e5fbca26825 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-source-index-out-of-bounds.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map ++new file mode 100644 ++index 000000000000..86dedb114fa9 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-out-of-bounds.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-source-index-out-of-bounds.js", +++ "sources": ["empty-original.js"], +++ "mappings": "ACAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js ++new file mode 100644 ++index 000000000000..3f4943e1272d ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-source-index-too-large.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js.map ++new file mode 100644 ++index 000000000000..e9f858c6e15d ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-source-index-too-large.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-source-index-too-large.js", +++ "sources": ["empty-original.js"], +++ "mappings": "AggggggEAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js ++new file mode 100644 ++index 000000000000..4b868fac9c5e ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-segment-with-three-fields.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js.map ++new file mode 100644 ++index 000000000000..c2af1165ad8f ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-three-fields.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js ++new file mode 100644 ++index 000000000000..96045a7a11dd ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=invalid-mapping-segment-with-two-fields.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js.map ++new file mode 100644 ++index 000000000000..73cf00fa1c96 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-two-fields.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": ["foo","bar"], +++ "sources": ["basic-mapping-original.js"], +++ "mappings": "AA" +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js ++new file mode 100644 ++index 000000000000..9d5332a56ca5 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-mapping-segment-with-zero-fields.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js.map b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js.map ++new file mode 100644 ++index 000000000000..5a34d25b645e ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-mapping-segment-with-zero-fields.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "invalid-mapping-segment-with-zero-fields.js", +++ "sources": ["empty-original.js"], +++ "mappings": ",,,," +++} ++diff --git a/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js b/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js ++new file mode 100644 ++index 000000000000..d1b20b41a29f ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=invalid-vlq-non-base64-char.js.map ++diff --git a/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js.map b/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js.map ++new file mode 100644 ++index 000000000000..4fa1ac576885 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/invalid-vlq-non-base64-char.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "A$%?!" +++} ++diff --git a/LayoutTests/inspector/model/resources/names-missing.js b/LayoutTests/inspector/model/resources/names-missing.js ++new file mode 100644 ++index 000000000000..58781fd88705 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-missing.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-missing.js.map ++diff --git a/LayoutTests/inspector/model/resources/names-missing.js.map b/LayoutTests/inspector/model/resources/names-missing.js.map ++new file mode 100644 ++index 000000000000..7dc1b929e485 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-missing.js.map ++@@ -0,0 +1,5 @@ +++{ +++ "version" : "3", +++ "sources": ["empty-original.js"], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/names-not-a-list-1.js b/LayoutTests/inspector/model/resources/names-not-a-list-1.js ++new file mode 100644 ++index 000000000000..dc65f1972b5a ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-not-a-list-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-not-a-list-1.js.map ++diff --git a/LayoutTests/inspector/model/resources/names-not-a-list-1.js.map b/LayoutTests/inspector/model/resources/names-not-a-list-1.js.map ++new file mode 100644 ++index 000000000000..843f7cc2e6fd ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-not-a-list-1.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": ["source.js"], +++ "names": "not a list", +++ "mappings": "AAAAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/names-not-a-list-2.js b/LayoutTests/inspector/model/resources/names-not-a-list-2.js ++new file mode 100644 ++index 000000000000..d7251f78da84 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-not-a-list-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=names-not-a-list-2.js.map ++diff --git a/LayoutTests/inspector/model/resources/names-not-a-list-2.js.map b/LayoutTests/inspector/model/resources/names-not-a-list-2.js.map ++new file mode 100644 ++index 000000000000..cd7a42a74c4f ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/names-not-a-list-2.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": ["source.js"], +++ "names": { "foo": 3 }, +++ "mappings": "AAAAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/source-map-spec-tests.json b/LayoutTests/inspector/model/resources/source-map-spec-tests.json ++new file mode 100644 ++index 000000000000..3091a3c93273 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/source-map-spec-tests.json ++@@ -0,0 +1,503 @@ +++{ +++ "tests": [ +++ { +++ "name": "versionValid", +++ "description": "Test a simple source map with a valid version number", +++ "baseFile": "version-valid.js", +++ "sourceMapFile": "version-valid.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "versionNotANumber", +++ "description": "Test a source map with a version field that is not a number", +++ "baseFile": "version-not-a-number.js", +++ "sourceMapFile": "version-not-a-number.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionNumericString", +++ "description": "Test a source map with a version field that is a number as a string", +++ "baseFile": "version-numeric-string.js", +++ "sourceMapFile": "version-numeric-string.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooHigh", +++ "description": "Test a source map with an integer version field that is too high", +++ "baseFile": "version-too-high.js", +++ "sourceMapFile": "version-too-high.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "versionTooLow", +++ "description": "Test a source map with an integer version field that is too low", +++ "baseFile": "version-too-low.js", +++ "sourceMapFile": "version-too-low.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesMissing", +++ "description": "Test a source map that is missing a necessary sources field", +++ "baseFile": "sources-missing.js", +++ "sourceMapFile": "sources-missing.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesNotAList1", +++ "description": "Test a source map with a sources field that is not a valid list (string)", +++ "baseFile": "sources-not-a-list-1.js", +++ "sourceMapFile": "sources-not-a-list-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "sourcesNotAList2", +++ "description": "Test a source map with a sources field that is not a valid list (object)", +++ "baseFile": "sources-not-a-list-2.js", +++ "sourceMapFile": "sources-not-a-list-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesMissing", +++ "description": "Test a source map that is missing a necessary names field", +++ "baseFile": "names-missing.js", +++ "sourceMapFile": "names-missing.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesNotAList1", +++ "description": "Test a source map with a names field that is not a valid list (string)", +++ "baseFile": "names-not-a-list-1.js", +++ "sourceMapFile": "names-not-a-list-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "namesNotAList2", +++ "description": "Test a source map with a names field that is not a valid list (object)", +++ "baseFile": "names-not-a-list-2.js", +++ "sourceMapFile": "names-not-a-list-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "unrecognizedProperty", +++ "description": "Test a source map that has an extra field not explicitly encoded in the spec", +++ "baseFile": "unrecognized-property.js", +++ "sourceMapFile": "unrecognized-property.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "invalidVLQDueToNonBase64Character", +++ "description": "Test a source map that has a mapping with an invalid non-base64 character", +++ "baseFile": "invalid-vlq-non-base64-char.js", +++ "sourceMapFile": "invalid-vlq-non-base64-char.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingNotAString1", +++ "description": "Test a source map that has an invalid mapping that is not a string (number)", +++ "baseFile": "invalid-mapping-not-a-string-1.js", +++ "sourceMapFile": "invalid-mapping-not-a-string-1.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingNotAString2", +++ "description": "Test a source map that has an invalid mapping that is not a string (array)", +++ "baseFile": "invalid-mapping-not-a-string-2.js", +++ "sourceMapFile": "invalid-mapping-not-a-string-2.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentBadSeparator", +++ "description": "Test a source map that uses separator characters not recognized in the spec", +++ "baseFile": "invalid-mapping-bad-separator.js", +++ "sourceMapFile": "invalid-mapping-bad-separator.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithZeroFields", +++ "description": "Test a source map that has the wrong number (zero) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-zero-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-zero-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithTwoFields", +++ "description": "Test a source map that has the wrong number (two) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-two-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-two-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithThreeFields", +++ "description": "Test a source map that has the wrong number (three) of segments fields", +++ "baseFile": "invalid-mapping-segment-with-three-fields.js", +++ "sourceMapFile": "invalid-mapping-segment-with-three-fields.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithSourceIndexOutOfBounds", +++ "description": "Test a source map that has a source index field that is out of bounds of the sources field", +++ "baseFile": "invalid-mapping-segment-source-index-out-of-bounds.js", +++ "sourceMapFile": "invalid-mapping-segment-source-index-out-of-bounds.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNameIndexOutOfBounds", +++ "description": "Test a source map that has a name index field that is out of bounds of the names field", +++ "baseFile": "invalid-mapping-segment-name-index-out-of-bounds.js", +++ "sourceMapFile": "invalid-mapping-segment-name-index-out-of-bounds.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeColumn", +++ "description": "Test a source map that has an invalid negative non-relative column field", +++ "baseFile": "invalid-mapping-segment-negative-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeSourceIndex", +++ "description": "Test a source map that has an invalid negative non-relative source index field", +++ "baseFile": "invalid-mapping-segment-negative-source-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-source-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeOriginalLine", +++ "description": "Test a source map that has an invalid negative non-relative original line field", +++ "baseFile": "invalid-mapping-segment-negative-original-line.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-original-line.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeOriginalColumn", +++ "description": "Test a source map that has an invalid negative non-relative original column field", +++ "baseFile": "invalid-mapping-segment-negative-original-column.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-original-column.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNegativeNameIndex", +++ "description": "Test a source map that has an invalid negative non-relative name index field", +++ "baseFile": "invalid-mapping-segment-negative-name-index.js", +++ "sourceMapFile": "invalid-mapping-segment-negative-name-index.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithColumnExceeding32Bits", +++ "description": "Test a source map that has a column field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-column-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-column-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithSourceIndexExceeding32Bits", +++ "description": "Test a source map that has a source index field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-source-index-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-source-index-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithOriginalLineExceeding32Bits", +++ "description": "Test a source map that has a original line field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-original-line-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-original-line-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithOriginalColumnExceeding32Bits", +++ "description": "Test a source map that has an original column field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-original-column-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-original-column-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "invalidMappingSegmentWithNameIndexExceeding32Bits", +++ "description": "Test a source map that has a name index field that exceeds 32 bits", +++ "baseFile": "invalid-mapping-segment-name-index-too-large.js", +++ "sourceMapFile": "invalid-mapping-segment-name-index-too-large.js.map", +++ "sourceMapIsValid": false +++ }, +++ { +++ "name": "validMappingFieldsWith32BitMaxValues", +++ "description": "Test a source map that has segment fields with max values representable in 32 bits", +++ "baseFile": "valid-mapping-boundary-values.js", +++ "sourceMapFile": "valid-mapping-boundary-values.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "validMappingLargeVLQ", +++ "description": "Test a source map that has a segment field VLQ that is very long but within 32-bits", +++ "baseFile": "valid-mapping-large-vlq.js", +++ "sourceMapFile": "valid-mapping-large-vlq.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "validMappingEmptyGroups", +++ "description": "Test a source map with a mapping that has many empty groups", +++ "baseFile": "valid-mapping-empty-groups.js", +++ "sourceMapFile": "valid-mapping-empty-groups.js.map", +++ "sourceMapIsValid": true +++ }, +++ { +++ "name": "basicMapping", +++ "description": "Test a simple source map that has several valid mappings", +++ "baseFile": "basic-mapping.js", +++ "sourceMapFile": "basic-mapping.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ } +++ ] +++ }, +++ { +++ "name": "basicMappingWithIndexMap", +++ "description": "Test a version of basic-mapping.js.map that is split into sections with an index map", +++ "baseFile": "basic-mapping-as-index-map.js", +++ "sourceMapFile": "basic-mapping-as-index-map.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 15, +++ "originalLine": 1, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 22, +++ "originalLine": 1, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 24, +++ "originalLine": 2, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 25, +++ "originalLine": 3, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 34, +++ "originalSource": "basic-mapping-original.js", +++ "originalLine": 3, +++ "originalColumn": 9, +++ "mappedName": "bar" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 40, +++ "originalLine": 4, +++ "originalColumn": 2, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 47, +++ "originalLine": 4, +++ "originalColumn": 9, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 49, +++ "originalLine": 5, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 50, +++ "originalLine": 6, +++ "originalColumn": 0, +++ "mappedName": "foo" +++ }, +++ { +++ "actionType": "checkMapping", +++ "originalSource": "basic-mapping-original.js", +++ "generatedLine": 0, +++ "generatedColumn": 56, +++ "originalLine": 7, +++ "originalColumn": 0, +++ "mappedName": "bar" +++ } +++ ] +++ }, +++ { +++ "name": "validMappingNullSources", +++ "description": "Test a source map that has null sources", +++ "baseFile": "valid-mapping-null-sources.js", +++ "sourceMapFile": "valid-mapping-null-sources.js.map", +++ "sourceMapIsValid": true, +++ "testActions": [ +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 0, +++ "originalSource": null, +++ "originalLine": 0, +++ "originalColumn": 0, +++ "mappedName": null +++ }, +++ { +++ "actionType": "checkMapping", +++ "generatedLine": 0, +++ "generatedColumn": 9, +++ "originalSource": null, +++ "originalLine": 0, +++ "originalColumn": 9, +++ "mappedName": "foo" +++ } +++ ] +++ } +++ ] +++} ++diff --git a/LayoutTests/inspector/model/resources/sources-missing.js b/LayoutTests/inspector/model/resources/sources-missing.js ++new file mode 100644 ++index 000000000000..779b865e2769 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-missing.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-missing.js.map ++diff --git a/LayoutTests/inspector/model/resources/sources-missing.js.map b/LayoutTests/inspector/model/resources/sources-missing.js.map ++new file mode 100644 ++index 000000000000..61122fcb3f25 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-missing.js.map ++@@ -0,0 +1,5 @@ +++{ +++ "version" : "3", +++ "names": ["foo"], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/sources-not-a-list-1.js b/LayoutTests/inspector/model/resources/sources-not-a-list-1.js ++new file mode 100644 ++index 000000000000..7e33b7e86725 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-not-a-list-1.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-not-a-list-1.js.map ++diff --git a/LayoutTests/inspector/model/resources/sources-not-a-list-1.js.map b/LayoutTests/inspector/model/resources/sources-not-a-list-1.js.map ++new file mode 100644 ++index 000000000000..b2e24787bc16 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-not-a-list-1.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": "not a list", +++ "names": ["foo"], +++ "mappings": "AAAAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/sources-not-a-list-2.js b/LayoutTests/inspector/model/resources/sources-not-a-list-2.js ++new file mode 100644 ++index 000000000000..4021f763fc88 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-not-a-list-2.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=sources-not-a-list-2.js.map ++diff --git a/LayoutTests/inspector/model/resources/sources-not-a-list-2.js.map b/LayoutTests/inspector/model/resources/sources-not-a-list-2.js.map ++new file mode 100644 ++index 000000000000..6a6a8635729c ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/sources-not-a-list-2.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": { "source.js": 3 }, +++ "names": ["foo"], +++ "mappings": "AAAAA" +++} ++diff --git a/LayoutTests/inspector/model/resources/unrecognized-property.js b/LayoutTests/inspector/model/resources/unrecognized-property.js ++new file mode 100644 ++index 000000000000..19dfb0e2e6c7 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/unrecognized-property.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=unrecognized-property.js.map ++diff --git a/LayoutTests/inspector/model/resources/unrecognized-property.js.map b/LayoutTests/inspector/model/resources/unrecognized-property.js.map ++new file mode 100644 ++index 000000000000..40bee558a4ff ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/unrecognized-property.js.map ++@@ -0,0 +1,8 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "", +++ "foobar": 42, +++ "unusedProperty": [1, 2, 3, 4] +++} ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js b/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js ++new file mode 100644 ++index 000000000000..3c49709e05ac ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-boundary-values.js.map ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js.map b/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js.map ++new file mode 100644 ++index 000000000000..4dd836e63d8f ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-boundary-values.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": ["foo"], +++ "file": "valid-mapping-boundary-values.js", +++ "sources": ["empty-original.js"], +++ "mappings": "+/////DA+/////D+/////DA" +++} ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js b/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js ++new file mode 100644 ++index 000000000000..a2b767b619a0 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-empty-groups.js.map ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js.map b/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js.map ++new file mode 100644 ++index 000000000000..53be4ae4ae91 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-empty-groups.js.map ++@@ -0,0 +1,7 @@ +++{ +++ "version": 3, +++ "names": [], +++ "file": "valid-mapping-empty-groups.js", +++ "sources": ["empty-original.js"], +++ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" +++} ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js b/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js ++new file mode 100644 ++index 000000000000..b0cd8978132a ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=valid-mapping-large-vlq.js.map ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js.map b/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js.map ++new file mode 100644 ++index 000000000000..76e18704c4b1 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-large-vlq.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version": 3, +++ "names": [], +++ "sources": ["valid-mapping-large-vlq.js"], +++ "mappings": "igggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggA" +++} ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js b/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js ++new file mode 100644 ++index 000000000000..ee2acf0f5b2f ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js ++@@ -0,0 +1,2 @@ +++function foo(){return 42}function bar(){return 24}foo();bar(); +++//# sourceMappingURL=valid-mapping-null-sources.js.map ++diff --git a/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js.map b/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js.map ++new file mode 100644 ++index 000000000000..199cda936955 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/valid-mapping-null-sources.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version":3, +++ "names": ["foo"], +++ "sources": [null], +++ "mappings":"AAAA,SAASA" +++} ++diff --git a/LayoutTests/inspector/model/resources/version-not-a-number.js b/LayoutTests/inspector/model/resources/version-not-a-number.js ++new file mode 100644 ++index 000000000000..ae2342e2ffe5 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-not-a-number.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-not-a-number.js.map ++diff --git a/LayoutTests/inspector/model/resources/version-not-a-number.js.map b/LayoutTests/inspector/model/resources/version-not-a-number.js.map ++new file mode 100644 ++index 000000000000..a584d6e69511 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-not-a-number.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3foo", +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/version-numeric-string.js b/LayoutTests/inspector/model/resources/version-numeric-string.js ++new file mode 100644 ++index 000000000000..a55170885da6 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-numeric-string.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-numeric-string.js.map ++diff --git a/LayoutTests/inspector/model/resources/version-numeric-string.js.map b/LayoutTests/inspector/model/resources/version-numeric-string.js.map ++new file mode 100644 ++index 000000000000..dbe52a7d0df6 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-numeric-string.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : "3", +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/version-too-high.js b/LayoutTests/inspector/model/resources/version-too-high.js ++new file mode 100644 ++index 000000000000..55f4e1a298fa ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-too-high.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-too-high.js.map ++diff --git a/LayoutTests/inspector/model/resources/version-too-high.js.map b/LayoutTests/inspector/model/resources/version-too-high.js.map ++new file mode 100644 ++index 000000000000..ee23be32ff27 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-too-high.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 4, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/version-too-low.js b/LayoutTests/inspector/model/resources/version-too-low.js ++new file mode 100644 ++index 000000000000..d9642920b313 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-too-low.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-too-low.js.map ++diff --git a/LayoutTests/inspector/model/resources/version-too-low.js.map b/LayoutTests/inspector/model/resources/version-too-low.js.map ++new file mode 100644 ++index 000000000000..64ca7a6e2e92 ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-too-low.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 2, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/resources/version-valid.js b/LayoutTests/inspector/model/resources/version-valid.js ++new file mode 100644 ++index 000000000000..82d0bfa1eb2a ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-valid.js ++@@ -0,0 +1 @@ +++//# sourceMappingURL=version-valid.js.map ++diff --git a/LayoutTests/inspector/model/resources/version-valid.js.map b/LayoutTests/inspector/model/resources/version-valid.js.map ++new file mode 100644 ++index 000000000000..1a163052d8fc ++--- /dev/null +++++ b/LayoutTests/inspector/model/resources/version-valid.js.map ++@@ -0,0 +1,6 @@ +++{ +++ "version" : 3, +++ "sources": [], +++ "names": [], +++ "mappings": "" +++} ++diff --git a/LayoutTests/inspector/model/source-map-spec-expected.txt b/LayoutTests/inspector/model/source-map-spec-expected.txt ++new file mode 100644 ++index 000000000000..c74ab5bcfb32 ++--- /dev/null +++++ b/LayoutTests/inspector/model/source-map-spec-expected.txt ++@@ -0,0 +1,22 @@ +++Ensure a source map loads for resources with sourceMappingURLs. +++ +++ +++== Running test suite: SourceMapSpec +++-- Running test case: SourceMapSpec +++PASS: Resource should have loaded 1 SourceMap. +++PASS: SourceMap should be a WI.SourceMap instance. +++PASS: Resource may or may not load a SourceMap. +++PASS: Resource may or may not load a SourceMap. +++PASS: Resource may or may not load a SourceMap. +++PASS: Resource may or may not load a SourceMap. +++PASS: Resource should have loaded 1 SourceMap. +++PASS: SourceMap should be a WI.SourceMap instance. +++PASS: Resource should have loaded 1 SourceMap. +++PASS: SourceMap should be a WI.SourceMap instance. +++PASS: expectEqual(0, 0) +++PASS: expectEqual(9, 9) +++PASS: expectEqual("basic-mapping-original.js", "basic-mapping-original.js") +++PASS: expectEqual(3, 3) +++PASS: expectEqual(9, 9) +++PASS: expectEqual("basic-mapping-original.js", "basic-mapping-original.js") +++ ++diff --git a/LayoutTests/inspector/model/source-map-spec.html b/LayoutTests/inspector/model/source-map-spec.html ++new file mode 100644 ++index 000000000000..b30b1dd526fc ++--- /dev/null +++++ b/LayoutTests/inspector/model/source-map-spec.html ++@@ -0,0 +1,83 @@ +++<!DOCTYPE html> +++<html> +++<head> +++<script src="../../http/tests/inspector/resources/inspector-test.js"></script> +++<script> +++function triggerScriptResource(scriptName) { +++ let script = document.createElement("script"); +++ script.src = `resources/${scriptName}`; +++ document.body.appendChild(script); +++} +++ +++async function setup() +++{ +++ const response = await fetch("resources/source-map-spec-tests.json"); +++ const json = await response.json(); +++ TestPage.dispatchEventToFrontend("TestDescriptionsFetched", {json}); +++} +++ +++ +++function test() +++{ +++ function checkMapping(resource, testCase, action) +++ { +++ const location = resource.createSourceCodeLocation(action.generatedLine, action.generatedColumn); +++ InspectorTest.expectEqual(location.displayLineNumber, action.originalLine, "Original line should match"); +++ InspectorTest.expectEqual(location.displayColumnNumber, action.originalColumn, "Original column should match"); +++ InspectorTest.expectEqual(location.displaySourceCode.displayName, action.originalSource, "Original source should match"); +++ } +++ +++ function withTimeout(promise, seconds) +++ { +++ return Promise.race([promise, new Promise((resolve, reject) => { +++ setTimeout(resolve, seconds); +++ })]); +++ } +++ +++ let suite = InspectorTest.createAsyncSuite("SourceMapSpec"); +++ +++ suite.addTestCase({ +++ name: "SourceMapSpec", +++ description: "Run test cases from the source maps spec test suite", +++ async test(resolve, reject) { +++ InspectorTest.evaluateInPage("setup()"); +++ const event = await InspectorTest.awaitEvent("TestDescriptionsFetched"); +++ const testDescriptions = event.data.json; +++ +++ for (const testCase of testDescriptions.tests) { +++ InspectorTest.log(testCase.name); +++ InspectorTest.evaluateInPage(`triggerScriptResource('${testCase.baseFile}')`); +++ let resourceEvent = await WI.Frame.awaitEvent(WI.Frame.Event.ResourceWasAdded); +++ let resource = resourceEvent.data.resource; +++ let sourceMapEvent = await withTimeout(resource.awaitEvent(WI.SourceCode.Event.SourceMapAdded), 50); +++ +++ if (testCase.sourceMapIsValid) { +++ InspectorTest.expectEqual(resource.sourceMaps.length, 1, "Resource should have loaded 1 SourceMap."); +++ InspectorTest.expectThat(resource.sourceMaps[0] instanceof WI.SourceMap, "SourceMap should be a WI.SourceMap instance."); +++ if (!(resource.sourceMaps[0] instanceof WI.SourceMap)) { +++ continue; +++ } +++ } else { +++ const hasFailedSourceMap = WI.networkManager.isSourceMapURL(absoluteURL(testCase.sourceMapFile, resource.displayURL)); +++ InspectorTest.expectThat(hasFailedSourceMap, "Expected that there is an associated failed source map URL"); +++ InspectorTest.expectEqual(resource.sourceMaps.length, 0, "Expected no source map resource loaded"); +++ } +++ +++ if (testCase.testActions) { +++ for (const action of testCase.testActions) { +++ if (action.actionType === "checkMapping") +++ checkMapping(resource, testCase, action); +++ } +++ } +++ } +++ } +++ }); +++ +++ suite.runTestCasesAndFinish(); +++} +++</script> +++</head> +++<body onload="runTest()"> +++<p>Ensure a source map loads for resources with sourceMappingURLs.</p> +++</body> +++</html> ++-- ++2.39.2 ++ +diff --git a/LayoutTests/imported/tg4/source-map-tests/webkit/source-map-spec.html b/LayoutTests/imported/tg4/source-map-tests/webkit/source-map-spec.html +new file mode 100644 +index 000000000000..b30b1dd526fc +--- /dev/null ++++ b/LayoutTests/imported/tg4/source-map-tests/webkit/source-map-spec.html +@@ -0,0 +1,83 @@ ++<!DOCTYPE html> ++<html> ++<head> ++<script src="../../http/tests/inspector/resources/inspector-test.js"></script> ++<script> ++function triggerScriptResource(scriptName) { ++ let script = document.createElement("script"); ++ script.src = `resources/${scriptName}`; ++ document.body.appendChild(script); ++} ++ ++async function setup() ++{ ++ const response = await fetch("resources/source-map-spec-tests.json"); ++ const json = await response.json(); ++ TestPage.dispatchEventToFrontend("TestDescriptionsFetched", {json}); ++} ++ ++ ++function test() ++{ ++ function checkMapping(resource, testCase, action) ++ { ++ const location = resource.createSourceCodeLocation(action.generatedLine, action.generatedColumn); ++ InspectorTest.expectEqual(location.displayLineNumber, action.originalLine, "Original line should match"); ++ InspectorTest.expectEqual(location.displayColumnNumber, action.originalColumn, "Original column should match"); ++ InspectorTest.expectEqual(location.displaySourceCode.displayName, action.originalSource, "Original source should match"); ++ } ++ ++ function withTimeout(promise, seconds) ++ { ++ return Promise.race([promise, new Promise((resolve, reject) => { ++ setTimeout(resolve, seconds); ++ })]); ++ } ++ ++ let suite = InspectorTest.createAsyncSuite("SourceMapSpec"); ++ ++ suite.addTestCase({ ++ name: "SourceMapSpec", ++ description: "Run test cases from the source maps spec test suite", ++ async test(resolve, reject) { ++ InspectorTest.evaluateInPage("setup()"); ++ const event = await InspectorTest.awaitEvent("TestDescriptionsFetched"); ++ const testDescriptions = event.data.json; ++ ++ for (const testCase of testDescriptions.tests) { ++ InspectorTest.log(testCase.name); ++ InspectorTest.evaluateInPage(`triggerScriptResource('${testCase.baseFile}')`); ++ let resourceEvent = await WI.Frame.awaitEvent(WI.Frame.Event.ResourceWasAdded); ++ let resource = resourceEvent.data.resource; ++ let sourceMapEvent = await withTimeout(resource.awaitEvent(WI.SourceCode.Event.SourceMapAdded), 50); ++ ++ if (testCase.sourceMapIsValid) { ++ InspectorTest.expectEqual(resource.sourceMaps.length, 1, "Resource should have loaded 1 SourceMap."); ++ InspectorTest.expectThat(resource.sourceMaps[0] instanceof WI.SourceMap, "SourceMap should be a WI.SourceMap instance."); ++ if (!(resource.sourceMaps[0] instanceof WI.SourceMap)) { ++ continue; ++ } ++ } else { ++ const hasFailedSourceMap = WI.networkManager.isSourceMapURL(absoluteURL(testCase.sourceMapFile, resource.displayURL)); ++ InspectorTest.expectThat(hasFailedSourceMap, "Expected that there is an associated failed source map URL"); ++ InspectorTest.expectEqual(resource.sourceMaps.length, 0, "Expected no source map resource loaded"); ++ } ++ ++ if (testCase.testActions) { ++ for (const action of testCase.testActions) { ++ if (action.actionType === "checkMapping") ++ checkMapping(resource, testCase, action); ++ } ++ } ++ } ++ } ++ }); ++ ++ suite.runTestCasesAndFinish(); ++} ++</script> ++</head> ++<body onload="runTest()"> ++<p>Ensure a source map loads for resources with sourceMappingURLs.</p> ++</body> ++</html> +diff --git a/LayoutTests/inspector/model/source-map-spec-expected.txt b/LayoutTests/inspector/model/source-map-spec-expected.txt +new file mode 100644 +index 000000000000..fd0094a8ac46 +--- /dev/null ++++ b/LayoutTests/inspector/model/source-map-spec-expected.txt +@@ -0,0 +1,828 @@ ++Run source map specification consumer test cases. ++ ++ ++== Running test suite: SourceMapSpec ++-- Running test case: SourceMapSpec ++versionValid ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++versionMissing ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++versionNotANumber ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++versionNumericString ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++versionTooHigh ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++versionTooLow ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++sourcesMissing ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++sourcesNotAList1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++sourcesNotAList2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++sourcesNotStringOrNull ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++sourcesAndSourcesContentBothNull ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++fileNotAString1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++fileNotAString2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++sourceRootNotAString1 ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++sourceRootNotAString2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++PASS: Expected no source map resource loaded ++namesMissing ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++namesNotAList1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++namesNotAList2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++namesNotString ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++ignoreListEmpty ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++ignoreListValid1 ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++Ignore list test ignored (unsupported) ++ignoreListWrongType1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++ignoreListWrongType2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++ignoreListWrongType3 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++ignoreListWrongType4 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++PASS: Expected no source map resource loaded ++ignoreListOutOfBounds1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++ignoreListOutOfBounds2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++unrecognizedProperty ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++invalidVLQDueToNonBase64Character ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidVLQDueToMissingContinuationDigits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingNotAString1 ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++invalidMappingNotAString2 ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++invalidMappingSegmentBadSeparator ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithZeroFields ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++PASS: Expected no source map resource loaded ++invalidMappingSegmentWithTwoFields ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++PASS: Expected no source map resource loaded ++invalidMappingSegmentWithThreeFields ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++PASS: Expected no source map resource loaded ++invalidMappingSegmentWithSourceIndexOutOfBounds ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNameIndexOutOfBounds ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeColumn ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeSourceIndex ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeOriginalLine ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeOriginalColumn ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeNameIndex ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeRelativeColumn ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeRelativeSourceIndex ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeRelativeOriginalLine ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeRelativeOriginalColumn ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNegativeRelativeNameIndex ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithColumnExceeding32Bits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithSourceIndexExceeding32Bits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithOriginalLineExceeding32Bits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithOriginalColumnExceeding32Bits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++invalidMappingSegmentWithNameIndexExceeding32Bits ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++validMappingFieldsWith32BitMaxValues ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++validMappingLargeVLQ ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++validMappingEmptyGroups ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++validMappingEmptyString ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++indexMapWrongTypeSections ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++indexMapWrongTypeOffset ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapWrongTypeMap ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++indexMapInvalidBaseMappings ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapInvalidOverlap ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapInvalidOrder ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapMissingMap ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++indexMapInvalidSubMap ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++indexMapMissingOffset ++PASS: Expected that there is an associated failed source map URL ++PASS: Expected no source map resource loaded ++indexMapMissingOffsetLine ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapMissingOffsetColumn ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapOffsetLineWrongType ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapOffsetColumnWrongType ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapEmptySections ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++indexMapFileWrongType1 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++indexMapFileWrongType2 ++FAIL: Expected that there is an associated failed source map URL ++ Expected: truthy ++ Actual: false ++FAIL: Expected no source map resource loaded ++ Expected: 0 ++ Actual: 1 ++basicMapping ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 22) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 24) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 25) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 34) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 40) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 47) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 49) should be mapped ++PASS: Original line: 5, expected: 5 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 50) should be mapped ++PASS: Original line: 6, expected: 6 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 56) should be mapped ++PASS: Original line: 7, expected: 7 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++sourceRootResolution ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++FAIL: Original source: basic-mapping-original.js, expected: theroot/basic-mapping-original.js ++ Expected: "theroot/basic-mapping-original.js" ++ Actual: "basic-mapping-original.js" ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++FAIL: Original source: basic-mapping-original.js, expected: theroot/basic-mapping-original.js ++ Expected: "theroot/basic-mapping-original.js" ++ Actual: "basic-mapping-original.js" ++sourceResolutionAbsoluteURL ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++FAIL: Original source: basic-mapping-original.js, expected: /baz/quux/basic-mapping-original.js ++ Expected: "/baz/quux/basic-mapping-original.js" ++ Actual: "basic-mapping-original.js" ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++FAIL: Original source: basic-mapping-original.js, expected: /baz/quux/basic-mapping-original.js ++ Expected: "/baz/quux/basic-mapping-original.js" ++ Actual: "basic-mapping-original.js" ++basicMappingWithIndexMap ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 22) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 24) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 25) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 34) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 40) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 47) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 49) should be mapped ++PASS: Original line: 5, expected: 5 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 50) should be mapped ++PASS: Original line: 6, expected: 6 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 56) should be mapped ++PASS: Original line: 7, expected: 7 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++indexMapWithMissingFile ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 22) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 24) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 25) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 34) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 40) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 47) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 49) should be mapped ++PASS: Original line: 5, expected: 5 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 50) should be mapped ++PASS: Original line: 6, expected: 6 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 56) should be mapped ++PASS: Original line: 7, expected: 7 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++indexMapWithTwoConcatenatedSources ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 22) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 24) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 25) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 34) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 40) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 47) should be mapped ++PASS: Original line: 4, expected: 4 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 49) should be mapped ++PASS: Original line: 5, expected: 5 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 50) should be mapped ++PASS: Original line: 6, expected: 6 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 56) should be mapped ++PASS: Original line: 7, expected: 7 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 62) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++PASS: Test location (0, 71) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++PASS: Test location (0, 77) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++PASS: Test location (0, 83) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++PASS: Test location (0, 88) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++PASS: Test location (0, 89) should be mapped ++PASS: Original line: 3, expected: 3 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: second-source-original.js, expected: second-source-original.js ++sourcesNullSourcesContentNonNull ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++FAIL: Original source: sources-null-sources-content-non-null.js.map, expected: null ++ Expected: null ++ Actual: "sources-null-sources-content-non-null.js.map" ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++FAIL: Original source: sources-null-sources-content-non-null.js.map, expected: null ++ Expected: null ++ Actual: "sources-null-sources-content-non-null.js.map" ++sourcesNonNullSourcesContentNull ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++PASS: Test location (0, 9) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 9, expected: 9 ++PASS: Original source: basic-mapping-original.js, expected: basic-mapping-original.js ++transitiveMapping ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++transitiveMappingWithThreeSteps ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++Transitive mapping test ignored ++vlqValidSingleDigit ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: vlq-valid-single-digit-original.js, expected: vlq-valid-single-digit-original.js ++vlqValidNegativeDigit ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (2, 15) should be mapped ++PASS: Original line: 1, expected: 1 ++FAIL: Original column: 1, expected: 3 ++ Expected: 3 ++ Actual: 1 ++PASS: Original source: vlq-valid-negative-digit-original.js, expected: vlq-valid-negative-digit-original.js ++PASS: Test location (2, 2) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 1, expected: 1 ++PASS: Original source: vlq-valid-negative-digit-original.js, expected: vlq-valid-negative-digit-original.js ++vlqValidContinuationBitPresent1 ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 15) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 1, expected: 1 ++PASS: Original source: vlq-valid-continuation-bit-present-1-original.js, expected: vlq-valid-continuation-bit-present-1-original.js ++vlqValidContinuationBitPresent2 ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (2, 16) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 1, expected: 1 ++PASS: Original source: vlq-valid-continuation-bit-present-2-original.js, expected: vlq-valid-continuation-bit-present-2-original.js ++mappingSemanticsSingleFieldSegment ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 0) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 1, expected: 1 ++PASS: Original source: mapping-semantics-single-field-segment-original.js, expected: mapping-semantics-single-field-segment-original.js ++PASS: Test location (0, 2) should be mapped ++FAIL: Original line: 0, expected: null ++ Expected: null ++ Actual: 0 ++FAIL: Original column: 1, expected: null ++ Expected: null ++ Actual: 1 ++FAIL: Original source: mapping-semantics-single-field-segment-original.js, expected: null ++ Expected: null ++ Actual: "mapping-semantics-single-field-segment-original.js" ++mappingSemanticsFourFieldSegment ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 1) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: mapping-semantics-four-field-segment-original.js, expected: mapping-semantics-four-field-segment-original.js ++mappingSemanticsFiveFieldSegment ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 1) should be mapped ++PASS: Original line: 2, expected: 2 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: mapping-semantics-five-field-segment-original.js, expected: mapping-semantics-five-field-segment-original.js ++mappingSemanticsColumnReset ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 1) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: mapping-semantics-column-reset-original.js, expected: mapping-semantics-column-reset-original.js ++PASS: Test location (1, 1) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: mapping-semantics-column-reset-original.js, expected: mapping-semantics-column-reset-original.js ++mappingSemanticsRelative1 ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 1) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 0, expected: 0 ++PASS: Original source: mapping-semantics-relative-1-original.js, expected: mapping-semantics-relative-1-original.js ++PASS: Test location (0, 5) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 4, expected: 4 ++PASS: Original source: mapping-semantics-relative-1-original.js, expected: mapping-semantics-relative-1-original.js ++mappingSemanticsRelative2 ++PASS: Resource should have loaded 1 SourceMap. ++PASS: SourceMap should be a WI.SourceMap instance. ++PASS: Test location (0, 1) should be mapped ++PASS: Original line: 0, expected: 0 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: mapping-semantics-relative-2-original.js, expected: mapping-semantics-relative-2-original.js ++PASS: Test location (1, 2) should be mapped ++PASS: Original line: 1, expected: 1 ++PASS: Original column: 2, expected: 2 ++PASS: Original source: mapping-semantics-relative-2-original.js, expected: mapping-semantics-relative-2-original.js ++ +diff --git a/LayoutTests/inspector/model/source-map-spec.html b/LayoutTests/inspector/model/source-map-spec.html +new file mode 100644 +index 000000000000..08979e569710 +--- /dev/null ++++ b/LayoutTests/inspector/model/source-map-spec.html +@@ -0,0 +1,87 @@ ++<!DOCTYPE html> ++<html> ++<head> ++<script src="../../http/tests/inspector/resources/inspector-test.js"></script> ++<script> ++function triggerScriptResource(scriptName) { ++ let script = document.createElement("script"); ++ script.src = `../../imported/tg4/source-map-tests/resources/${scriptName}`; ++ document.body.appendChild(script); ++} ++ ++async function setup() ++{ ++ const response = await fetch("../../imported/tg4/source-map-tests/source-map-spec-tests.json"); ++ const json = await response.json(); ++ TestPage.dispatchEventToFrontend("TestDescriptionsFetched", {json}); ++} ++ ++function test() ++{ ++ function checkMapping(resource, testCase, action) ++ { ++ const location = resource.createSourceCodeLocation(action.generatedLine, action.generatedColumn); ++ InspectorTest.expectThat(location.hasMappedLocation(), `Test location (${action.generatedLine}, ${action.generatedColumn}) should be mapped`); ++ InspectorTest.expectEqual(location.displayLineNumber, action.originalLine, `Original line: ${location.displayLineNumber}, expected: ${action.originalLine}`); ++ InspectorTest.expectEqual(location.displayColumnNumber, action.originalColumn, `Original column: ${location.displayColumnNumber}, expected: ${action.originalColumn}`); ++ InspectorTest.expectEqual(location.displaySourceCode.displayName, action.originalSource, `Original source: ${location.displaySourceCode.displayName}, expected: ${action.originalSource}`); ++ } ++ ++ function withTimeout(promise, seconds) ++ { ++ return Promise.race([promise, new Promise((resolve, reject) => { ++ setTimeout(resolve, seconds); ++ })]); ++ } ++ ++ let suite = InspectorTest.createAsyncSuite("SourceMapSpec"); ++ ++ suite.addTestCase({ ++ name: "SourceMapSpec", ++ description: "Run test cases from the source maps spec test suite", ++ async test() { ++ InspectorTest.evaluateInPage("setup()"); ++ const event = await InspectorTest.awaitEvent("TestDescriptionsFetched"); ++ const testDescriptions = event.data.json; ++ ++ for (const testCase of testDescriptions.tests) { ++ InspectorTest.log(testCase.name); ++ InspectorTest.evaluateInPage(`triggerScriptResource('${testCase.baseFile}')`); ++ let resourceEvent = await WI.Frame.awaitEvent(WI.Frame.Event.ResourceWasAdded); ++ let resource = resourceEvent.data.resource; ++ let sourceMapEvent = await withTimeout(resource.awaitEvent(WI.SourceCode.Event.SourceMapAdded), 50); ++ ++ if (testCase.sourceMapIsValid) { ++ InspectorTest.expectEqual(resource.sourceMaps.length, 1, "Resource should have loaded 1 SourceMap."); ++ InspectorTest.expectThat(resource.sourceMaps[0] instanceof WI.SourceMap, "SourceMap should be a WI.SourceMap instance."); ++ if (!(resource.sourceMaps[0] instanceof WI.SourceMap)) { ++ continue; ++ } ++ } else { ++ const hasFailedSourceMap = WI.networkManager.isSourceMapURL(absoluteURL(testCase.sourceMapFile, resource.displayURL)); ++ InspectorTest.expectThat(hasFailedSourceMap, "Expected that there is an associated failed source map URL"); ++ InspectorTest.expectEqual(resource.sourceMaps.length, 0, "Expected no source map resource loaded"); ++ } ++ ++ if (testCase.testActions) { ++ for (const action of testCase.testActions) { ++ if (action.actionType === "checkMapping") ++ checkMapping(resource, testCase, action); ++ else if (action.actionType === "checkMappingTransitive") ++ InspectorTest.log("Transitive mapping test ignored"); ++ else if (action.actionType === "checkIgnoreList") ++ InspectorTest.log("Ignore list test ignored (unsupported)") ++ } ++ } ++ } ++ } ++ }); ++ ++ suite.runTestCasesAndFinish(); ++} ++</script> ++</head> ++<body onload="runTest()"> ++<p>Run source map specification consumer test cases.</p> ++</body> ++</html> +-- +2.39.2 + diff --git a/test/fixtures/typescript/ts/test-invalid-syntax.ts b/test/fixtures/typescript/ts/test-invalid-syntax.ts new file mode 100644 index 00000000000000..031bce938d27dc --- /dev/null +++ b/test/fixtures/typescript/ts/test-invalid-syntax.ts @@ -0,0 +1,3 @@ +function foo(): string { + await Promise.resolve(1); +} diff --git a/test/fixtures/worker-is-internal-thread.js b/test/fixtures/worker-is-internal-thread.js new file mode 100644 index 00000000000000..7e3f1f413830ca --- /dev/null +++ b/test/fixtures/worker-is-internal-thread.js @@ -0,0 +1,3 @@ +const { isInternalThread, parentPort } = require('node:worker_threads'); + +parentPort.postMessage(`isInternalThread: ${isInternalThread}`); \ No newline at end of file diff --git a/test/internet/test-trace-events-dns.js b/test/internet/test-trace-events-dns.js index c18a49bc9496c8..c5df4751374399 100644 --- a/test/internet/test-trace-events-dns.js +++ b/test/internet/test-trace-events-dns.js @@ -5,9 +5,11 @@ const cp = require('child_process'); const tmpdir = require('../common/tmpdir'); const fs = require('fs'); const util = require('util'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const traceFile = 'node_trace.1.log'; diff --git a/test/module-hooks/test-module-hooks-load-url-change-import.mjs b/test/module-hooks/test-module-hooks-load-url-change-import.mjs new file mode 100644 index 00000000000000..a65975ab1fad16 --- /dev/null +++ b/test/module-hooks/test-module-hooks-load-url-change-import.mjs @@ -0,0 +1,25 @@ +import { mustCall } from '../common/index.mjs'; +import assert from 'node:assert'; +import { registerHooks } from 'node:module'; +import { fileURL } from '../common/fixtures.mjs'; + +// This tests shows the url parameter in `load` can be changed in the `nextLoad` call +// It changes `foo` package name into `redirected-fs` and then loads `redirected-fs` + +const hook = registerHooks({ + resolve(specifier, context, nextResolve) { + assert.strictEqual(specifier, 'foo'); + return { + url: 'foo://bar', + shortCircuit: true, + }; + }, + load: mustCall(function load(url, context, nextLoad) { + assert.strictEqual(url, 'foo://bar'); + return nextLoad(fileURL('module-hooks', 'redirected-fs.js').href, context); + }), +}); + +assert.strictEqual((await import('foo')).exports_for_test, 'redirected fs'); + +hook.deregister(); diff --git a/test/module-hooks/test-module-hooks-load-url-change-require.js b/test/module-hooks/test-module-hooks-load-url-change-require.js new file mode 100644 index 00000000000000..7f10110cda8c50 --- /dev/null +++ b/test/module-hooks/test-module-hooks-load-url-change-require.js @@ -0,0 +1,30 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const { registerHooks } = require('module'); +const fixtures = require('../common/fixtures'); + +// This tests shows the url parameter in `load` can be changed in the `nextLoad` call +// It changes `foo` package name into `redirected-fs` and then loads `redirected-fs` + +const hook = registerHooks({ + resolve(specifier, context, nextResolve) { + assert.strictEqual(specifier, 'foo'); + return { + url: 'foo://bar', + shortCircuit: true, + }; + }, + load: common.mustCall(function load(url, context, nextLoad) { + assert.strictEqual(url, 'foo://bar'); + return nextLoad( + fixtures.fileURL('module-hooks', 'redirected-fs.js').href, + context, + ); + }), +}); + +assert.strictEqual(require('foo').exports_for_test, 'redirected fs'); + +hook.deregister(); diff --git a/test/parallel/test-aborted-util.js b/test/parallel/test-aborted-util.js index 4bc45b9f5529bb..0566204ccdb074 100644 --- a/test/parallel/test-aborted-util.js +++ b/test/parallel/test-aborted-util.js @@ -32,7 +32,7 @@ test('Aborted with gc cleanup', async () => { const { promise, resolve } = Promise.withResolvers(); setImmediate(() => { - global.gc(); + globalThis.gc(); ac.abort(); strictEqual(ac.signal.aborted, true); strictEqual(getEventListeners(ac.signal, 'abort').length, 0); diff --git a/test/parallel/test-abortsignal-drop-settled-signals.mjs b/test/parallel/test-abortsignal-drop-settled-signals.mjs index 0abcaf81012716..b300b0e223fc93 100644 --- a/test/parallel/test-abortsignal-drop-settled-signals.mjs +++ b/test/parallel/test-abortsignal-drop-settled-signals.mjs @@ -16,7 +16,7 @@ function makeSubsequentCalls(limit, done, holdReferences = false) { // This setImmediate is necessary to ensure that in the last iteration the remaining signal is GCed (if not // retained) setImmediate(() => { - global.gc(); + globalThis.gc(); done(ac.signal, dependantSymbol); }); return; @@ -50,7 +50,7 @@ function runShortLivedSourceSignal(limit, done) { function run(iteration) { if (iteration > limit) { - global.gc(); + globalThis.gc(); done(signalRefs); return; } @@ -74,9 +74,9 @@ function runWithOrphanListeners(limit, done) { const ac = new AbortController(); if (iteration > limit) { setImmediate(() => { - global.gc(); + globalThis.gc(); setImmediate(() => { - global.gc(); + globalThis.gc(); done(composedSignalRefs); }); @@ -147,7 +147,7 @@ it('drops settled dependant signals when signal is composite', (t, done) => { t.assert.strictEqual(controllers[1].signal[kDependantSignals].size, 1); setImmediate(() => { - global.gc({ execution: 'async' }).then(async () => { + globalThis.gc({ execution: 'async' }).then(async () => { await gcUntil('all signals are GCed', () => { const totalDependantSignals = Math.max( controllers[0].signal[kDependantSignals].size, diff --git a/test/parallel/test-assert-checktag.js b/test/parallel/test-assert-checktag.js index 7587939436f40d..b86a1bde7f096d 100644 --- a/test/parallel/test-assert-checktag.js +++ b/test/parallel/test-assert-checktag.js @@ -49,13 +49,13 @@ test('', { skip: !hasCrypto }, () => { { // At the moment global has its own type tag const fakeGlobal = {}; - Object.setPrototypeOf(fakeGlobal, Object.getPrototypeOf(global)); - for (const prop of Object.keys(global)) { + Object.setPrototypeOf(fakeGlobal, Object.getPrototypeOf(globalThis)); + for (const prop of Object.keys(globalThis)) { fakeGlobal[prop] = global[prop]; } - assert.notDeepEqual(fakeGlobal, global); + assert.notDeepEqual(fakeGlobal, globalThis); // Message will be truncated anyway, don't validate - assert.throws(() => assert.deepStrictEqual(fakeGlobal, global), + assert.throws(() => assert.deepStrictEqual(fakeGlobal, globalThis), assert.AssertionError); } diff --git a/test/parallel/test-assert-objects.js b/test/parallel/test-assert-objects.js index 43fd38a43c3c0b..4cf8f424f91913 100644 --- a/test/parallel/test-assert-objects.js +++ b/test/parallel/test-assert-objects.js @@ -306,6 +306,16 @@ describe('Object Comparison Tests', () => { actual: { dataView: new Uint8Array(3) }, expected: { dataView: new DataView(new ArrayBuffer(3)) }, }, + { + description: 'throws when comparing Float32Array([+0.0]) with Float32Array([-0.0])', + actual: new Float32Array([+0.0]), + expected: new Float32Array([-0.0]), + }, + { + description: 'throws when comparing two different urls', + actual: new URL('http://foo'), + expected: new URL('http://bar'), + }, { description: 'throws when comparing SharedArrayBuffers when expected has different elements actual', actual: (() => { @@ -778,6 +788,21 @@ describe('Object Comparison Tests', () => { actual: [1, 2, 3], expected: [2], }, + { + description: 'ensures that File extends Blob', + actual: Object.getPrototypeOf(File.prototype), + expected: Blob.prototype + }, + { + description: 'compares NaN with NaN', + actual: NaN, + expected: NaN, + }, + { + description: 'compares two identical urls', + actual: new URL('http://foo'), + expected: new URL('http://foo'), + }, ].forEach(({ description, actual, expected }) => { it(description, () => { assert.partialDeepStrictEqual(actual, expected); diff --git a/test/parallel/test-assert-typedarray-deepequal.js b/test/parallel/test-assert-typedarray-deepequal.js index 7fb18c1886ba91..403cd6748d507e 100644 --- a/test/parallel/test-assert-typedarray-deepequal.js +++ b/test/parallel/test-assert-typedarray-deepequal.js @@ -101,10 +101,15 @@ suite('notEqualArrayPairs', () => { makeBlock(assert.deepStrictEqual, arrayPair[0], arrayPair[1]), assert.AssertionError ); + // TODO(puskin94): remove emitWarning override once the partialDeepStrictEqual method is not experimental anymore + // Suppress warnings, necessary otherwise the tools/pseudo-tty.py runner will fail + const originalEmitWarning = process.emitWarning; + process.emitWarning = () => {}; assert.throws( makeBlock(assert.partialDeepStrictEqual, arrayPair[0], arrayPair[1]), assert.AssertionError ); + process.emitWarning = originalEmitWarning; // Restore original process.emitWarning }); } }); diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js index e639e7f150a5df..0c3571a80c10aa 100644 --- a/test/parallel/test-assert.js +++ b/test/parallel/test-assert.js @@ -1351,6 +1351,17 @@ test('Additional assert', () => { } ); + assert.throws( + () => { + assert.partialDeepStrictEqual({ a: true }, { a: false }, 'custom message'); + }, + { + code: 'ERR_ASSERTION', + name: 'AssertionError', + message: 'custom message\n+ actual - expected\n\n {\n+ a: true\n- a: false\n }\n' + } + ); + { let threw = false; try { diff --git a/test/parallel/test-async-hooks-destroy-on-gc.js b/test/parallel/test-async-hooks-destroy-on-gc.js index fe6325e189734b..dd7eef8776cdf3 100644 --- a/test/parallel/test-async-hooks-destroy-on-gc.js +++ b/test/parallel/test-async-hooks-destroy-on-gc.js @@ -22,6 +22,6 @@ let asyncId = null; } setImmediate(() => { - global.gc(); + globalThis.gc(); setImmediate(() => assert.ok(destroyedIds.has(asyncId))); }); diff --git a/test/parallel/test-async-hooks-disable-during-promise.js b/test/parallel/test-async-hooks-disable-during-promise.js index 6b9b53bd30f0f5..a25dae51e1f82d 100644 --- a/test/parallel/test-async-hooks-disable-during-promise.js +++ b/test/parallel/test-async-hooks-disable-during-promise.js @@ -1,9 +1,11 @@ 'use strict'; const common = require('../common'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different AsyncWraps'); +} const hook = async_hooks.createHook({ init: common.mustCall(2), diff --git a/test/parallel/test-async-hooks-disable-gc-tracking.js b/test/parallel/test-async-hooks-disable-gc-tracking.js index 84c5043aad3335..87b096c258121c 100644 --- a/test/parallel/test-async-hooks-disable-gc-tracking.js +++ b/test/parallel/test-async-hooks-disable-gc-tracking.js @@ -14,7 +14,7 @@ const hook = async_hooks.createHook({ new async_hooks.AsyncResource('foobar', { requireManualDestroy: true }); setImmediate(() => { - global.gc(); + globalThis.gc(); setImmediate(() => { hook.disable(); }); diff --git a/test/parallel/test-async-hooks-prevent-double-destroy.js b/test/parallel/test-async-hooks-prevent-double-destroy.js index 689dc399f9d2f2..4aa55a5a6c87bf 100644 --- a/test/parallel/test-async-hooks-prevent-double-destroy.js +++ b/test/parallel/test-async-hooks-prevent-double-destroy.js @@ -17,7 +17,7 @@ const hook = async_hooks.createHook({ } setImmediate(() => { - global.gc(); + globalThis.gc(); setImmediate(() => { hook.disable(); }); diff --git a/test/parallel/test-async-hooks-promise-triggerid.js b/test/parallel/test-async-hooks-promise-triggerid.js index b860d60999e1ef..89e5bc1464f8d5 100644 --- a/test/parallel/test-async-hooks-promise-triggerid.js +++ b/test/parallel/test-async-hooks-promise-triggerid.js @@ -2,9 +2,11 @@ const common = require('../common'); const assert = require('assert'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const promiseAsyncIds = []; diff --git a/test/parallel/test-async-hooks-promise.js b/test/parallel/test-async-hooks-promise.js index 9db510e329ffad..74f72a188240a0 100644 --- a/test/parallel/test-async-hooks-promise.js +++ b/test/parallel/test-async-hooks-promise.js @@ -2,9 +2,11 @@ const common = require('../common'); const assert = require('assert'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} const initCalls = []; const resolveCalls = []; diff --git a/test/parallel/test-async-hooks-top-level-clearimmediate.js b/test/parallel/test-async-hooks-top-level-clearimmediate.js index cc5fcf48eb50b3..fd91fefa9c4bce 100644 --- a/test/parallel/test-async-hooks-top-level-clearimmediate.js +++ b/test/parallel/test-async-hooks-top-level-clearimmediate.js @@ -5,9 +5,11 @@ const common = require('../common'); const assert = require('assert'); const async_hooks = require('async_hooks'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different async IDs'); +} let seenId, seenResource; diff --git a/test/parallel/test-async-wrap-promise-after-enabled.js b/test/parallel/test-async-wrap-promise-after-enabled.js index 0d58cbd653868b..cbca873574c1f8 100644 --- a/test/parallel/test-async-wrap-promise-after-enabled.js +++ b/test/parallel/test-async-wrap-promise-after-enabled.js @@ -4,9 +4,11 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Worker bootstrapping works differently -> different timing'); +} const async_hooks = require('async_hooks'); diff --git a/test/parallel/test-bootstrap-modules.js b/test/parallel/test-bootstrap-modules.js index c0ba01d3891477..4b02961e63ef9f 100644 --- a/test/parallel/test-bootstrap-modules.js +++ b/test/parallel/test-bootstrap-modules.js @@ -117,7 +117,9 @@ expected.atRunTime = new Set([ 'NativeModule internal/modules/esm/utils', ]); -if (common.isMainThread) { +const { isMainThread } = require('worker_threads'); + +if (isMainThread) { [ 'NativeModule url', ].forEach(expected.beforePreExec.add.bind(expected.beforePreExec)); @@ -188,7 +190,7 @@ function err(message) { } } -if (common.isMainThread) { +if (isMainThread) { const missing = expected.beforePreExec.difference(actual.beforePreExec); const extra = actual.beforePreExec.difference(expected.beforePreExec); if (missing.size !== 0) { @@ -214,10 +216,10 @@ if (common.isMainThread) { } } -if (!common.isMainThread) { +if (!isMainThread) { // For workers, just merge beforePreExec into atRunTime for now. // When we start adding modules to the worker snapshot, this branch - // can be removed and we can just remove the common.isMainThread + // can be removed and we can just remove the isMainThread // conditions. expected.beforePreExec.forEach(expected.atRunTime.add.bind(expected.atRunTime)); actual.beforePreExec.forEach(actual.atRunTime.add.bind(actual.atRunTime)); diff --git a/test/parallel/test-child-process-advanced-serialization-splitted-length-field.js b/test/parallel/test-child-process-advanced-serialization-splitted-length-field.js new file mode 100644 index 00000000000000..5407a56f495c8f --- /dev/null +++ b/test/parallel/test-child-process-advanced-serialization-splitted-length-field.js @@ -0,0 +1,24 @@ +'use strict'; +const common = require('../common'); +const child_process = require('child_process'); + +// Regression test for https://github.com/nodejs/node/issues/55834 +const msgLen = 65521; +let cnt = 10; + +if (process.argv[2] === 'child') { + const msg = Buffer.allocUnsafe(msgLen); + (function send() { + if (cnt--) { + process.send(msg, send); + } else { + process.disconnect(); + } + })(); +} else { + const child = child_process.spawn(process.execPath, [__filename, 'child'], { + stdio: ['inherit', 'inherit', 'inherit', 'ipc'], + serialization: 'advanced' + }); + child.on('message', common.mustCall(cnt)); +} diff --git a/test/parallel/test-child-process-bad-stdio.js b/test/parallel/test-child-process-bad-stdio.js index 90e8ddd0215a2b..b612fc832281a6 100644 --- a/test/parallel/test-child-process-bad-stdio.js +++ b/test/parallel/test-child-process-bad-stdio.js @@ -1,21 +1,23 @@ 'use strict'; // Flags: --expose-internals const common = require('../common'); -const assert = require('assert'); -const cp = require('child_process'); if (process.argv[2] === 'child') { setTimeout(() => {}, common.platformTimeout(100)); return; } +const assert = require('node:assert'); +const cp = require('node:child_process'); +const { mock, test } = require('node:test'); +const { ChildProcess } = require('internal/child_process'); + // Monkey patch spawn() to create a child process normally, but destroy the // stdout and stderr streams. This replicates the conditions where the streams // cannot be properly created. -const ChildProcess = require('internal/child_process').ChildProcess; const original = ChildProcess.prototype.spawn; -ChildProcess.prototype.spawn = function() { +mock.method(ChildProcess.prototype, 'spawn', function() { const err = original.apply(this, arguments); this.stdout.destroy(); @@ -24,7 +26,7 @@ ChildProcess.prototype.spawn = function() { this.stderr = null; return err; -}; +}); function createChild(options, callback) { const [cmd, opts] = common.escapePOSIXShell`"${process.execPath}" "${__filename}" child`; @@ -33,32 +35,32 @@ function createChild(options, callback) { return cp.exec(cmd, options, common.mustCall(callback)); } -// Verify that normal execution of a child process is handled. -{ +test('normal execution of a child process is handled', (_, done) => { createChild({}, (err, stdout, stderr) => { assert.strictEqual(err, null); assert.strictEqual(stdout, ''); assert.strictEqual(stderr, ''); + done(); }); -} +}); -// Verify that execution with an error event is handled. -{ +test('execution with an error event is handled', (_, done) => { const error = new Error('foo'); const child = createChild({}, (err, stdout, stderr) => { assert.strictEqual(err, error); assert.strictEqual(stdout, ''); assert.strictEqual(stderr, ''); + done(); }); child.emit('error', error); -} +}); -// Verify that execution with a killed process is handled. -{ +test('execution with a killed process is handled', (_, done) => { createChild({ timeout: 1 }, (err, stdout, stderr) => { assert.strictEqual(err.killed, true); assert.strictEqual(stdout, ''); assert.strictEqual(stderr, ''); + done(); }); -} +}); diff --git a/test/parallel/test-child-process-validate-stdio.js b/test/parallel/test-child-process-validate-stdio.js index d5958c694ff6ff..5ba6f0fd123cc1 100644 --- a/test/parallel/test-child-process-validate-stdio.js +++ b/test/parallel/test-child-process-validate-stdio.js @@ -43,7 +43,9 @@ assert.throws(() => getValidStdio(stdio2, true), assert.throws(() => getValidStdio(stdio), expectedError); } -if (common.isMainThread) { +const { isMainThread } = require('worker_threads'); + +if (isMainThread) { const stdio3 = [process.stdin, process.stdout, process.stderr]; const result = getValidStdio(stdio3, false); assert.deepStrictEqual(result, { diff --git a/test/parallel/test-child-process-windows-hide.js b/test/parallel/test-child-process-windows-hide.js index ef4a8be8784ebc..c218c901a7f2ea 100644 --- a/test/parallel/test-child-process-windows-hide.js +++ b/test/parallel/test-child-process-windows-hide.js @@ -3,49 +3,48 @@ const common = require('../common'); const assert = require('assert'); const cp = require('child_process'); +const { test } = require('node:test'); const internalCp = require('internal/child_process'); const cmd = process.execPath; const args = ['-p', '42']; const options = { windowsHide: true }; -// Since windowsHide isn't really observable, monkey patch spawn() and -// spawnSync() to verify that the flag is being passed through correctly. -const originalSpawn = internalCp.ChildProcess.prototype.spawn; -const originalSpawnSync = internalCp.spawnSync; +// Since windowsHide isn't really observable, this test relies on monkey +// patching spawn() and spawnSync() to verify that the flag is being passed +// through correctly. -internalCp.ChildProcess.prototype.spawn = common.mustCall(function(options) { - assert.strictEqual(options.windowsHide, true); - return originalSpawn.apply(this, arguments); -}, 2); - -internalCp.spawnSync = common.mustCall(function(options) { - assert.strictEqual(options.windowsHide, true); - return originalSpawnSync.apply(this, arguments); -}); - -{ +test('spawnSync() passes windowsHide correctly', (t) => { + const spy = t.mock.method(internalCp, 'spawnSync'); const child = cp.spawnSync(cmd, args, options); assert.strictEqual(child.status, 0); assert.strictEqual(child.signal, null); assert.strictEqual(child.stdout.toString().trim(), '42'); assert.strictEqual(child.stderr.toString().trim(), ''); -} + assert.strictEqual(spy.mock.calls.length, 1); + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); +}); -{ +test('spawn() passes windowsHide correctly', (t, done) => { + const spy = t.mock.method(internalCp.ChildProcess.prototype, 'spawn'); const child = cp.spawn(cmd, args, options); child.on('exit', common.mustCall((code, signal) => { assert.strictEqual(code, 0); assert.strictEqual(signal, null); + assert.strictEqual(spy.mock.calls.length, 1); + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); + done(); })); -} +}); -{ - const callback = common.mustSucceed((stdout, stderr) => { +test('execFile() passes windowsHide correctly', (t, done) => { + const spy = t.mock.method(internalCp.ChildProcess.prototype, 'spawn'); + cp.execFile(cmd, args, options, common.mustSucceed((stdout, stderr) => { assert.strictEqual(stdout.trim(), '42'); assert.strictEqual(stderr.trim(), ''); - }); - - cp.execFile(cmd, args, options, callback); -} + assert.strictEqual(spy.mock.calls.length, 1); + assert.strictEqual(spy.mock.calls[0].arguments[0].windowsHide, true); + done(); + })); +}); diff --git a/test/parallel/test-cli-eval.js b/test/parallel/test-cli-eval.js index 24031581fd737e..9ec0fece409068 100644 --- a/test/parallel/test-cli-eval.js +++ b/test/parallel/test-cli-eval.js @@ -345,7 +345,7 @@ child.exec( // Regression test for https://github.com/nodejs/node/issues/45336 child.execFile(process.execPath, ['-p', - 'Object.defineProperty(global, "fs", { configurable: false });' + + 'Object.defineProperty(globalThis, "fs", { configurable: false });' + 'fs === require("node:fs")'], common.mustSucceed((stdout) => { assert.match(stdout, /^true/); diff --git a/test/parallel/test-cli-node-options.js b/test/parallel/test-cli-node-options.js index 69bf136559c1a8..9e89200e9f6dfd 100644 --- a/test/parallel/test-cli-node-options.js +++ b/test/parallel/test-cli-node-options.js @@ -12,6 +12,7 @@ const { Worker } = require('worker_threads'); const fixtures = require('../common/fixtures'); const tmpdir = require('../common/tmpdir'); +const { hasOpenSSL3 } = require('../common/crypto'); tmpdir.refresh(); const printA = path.relative(tmpdir.path, fixtures.path('printA.js')); @@ -64,7 +65,7 @@ if (common.isLinux) { if (common.hasCrypto) { expectNoWorker('--use-openssl-ca', 'B\n'); expectNoWorker('--use-bundled-ca', 'B\n'); - if (!common.hasOpenSSL3) + if (!hasOpenSSL3) expectNoWorker('--openssl-config=_ossl_cfg', 'B\n'); } diff --git a/test/parallel/test-cluster-net-listen-relative-path.js b/test/parallel/test-cluster-net-listen-relative-path.js index bb4d0b90f203e6..16d2bf5c836b53 100644 --- a/test/parallel/test-cluster-net-listen-relative-path.js +++ b/test/parallel/test-cluster-net-listen-relative-path.js @@ -1,11 +1,16 @@ 'use strict'; const common = require('../common'); -if (common.isWindows) +if (common.isWindows) { common.skip('On Windows named pipes live in their own ' + 'filesystem and don\'t have a ~100 byte limit'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const cluster = require('cluster'); diff --git a/test/parallel/test-code-cache.js b/test/parallel/test-code-cache.js index 1c768d664c8a18..576f713af1b02a 100644 --- a/test/parallel/test-code-cache.js +++ b/test/parallel/test-code-cache.js @@ -5,7 +5,8 @@ // and the cache is used when built in modules are compiled. // Otherwise, verifies that no cache is used when compiling builtins. -const { isMainThread } = require('../common'); +require('../common'); +const { isMainThread } = require('worker_threads'); const assert = require('assert'); const { internalBinding diff --git a/test/parallel/test-common-gc.js b/test/parallel/test-common-gc.js index f7d73ccd0423e3..54abe3695cc3be 100644 --- a/test/parallel/test-common-gc.js +++ b/test/parallel/test-common-gc.js @@ -5,10 +5,10 @@ const { onGC } = require('../common/gc'); { onGC({}, { ongc: common.mustCall() }); - global.gc(); + globalThis.gc(); } { onGC(process, { ongc: common.mustNotCall() }); - global.gc(); + globalThis.gc(); } diff --git a/test/parallel/test-compile-cache-typescript-commonjs.js b/test/parallel/test-compile-cache-typescript-commonjs.js new file mode 100644 index 00000000000000..b6c4581ed47be3 --- /dev/null +++ b/test/parallel/test-compile-cache-typescript-commonjs.js @@ -0,0 +1,166 @@ +'use strict'; + +// This tests NODE_COMPILE_CACHE works for CommonJS with types. + +require('../common'); +const { spawnSyncAndAssert } = require('../common/child_process'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); + +// Check cache for .ts files that would be run as CommonJS. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'ts', 'test-commonjs-parsing.ts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /saving transpilation cache for StrippedTypeScript .*test-commonjs-parsing\.ts/); + assert.match(output, /writing cache for StrippedTypeScript .*test-commonjs-parsing\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-commonjs-parsing\.ts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-commonjs-parsing\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-commonjs-parsing\.ts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-commonjs-parsing\.ts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-commonjs-parsing\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-commonjs-parsing\.ts because cache was the same/); + return true; + } + }); +} + +// Check cache for .cts files that require .cts files. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'cts', 'test-require-commonjs.cts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /writing cache for StrippedTypeScript .*test-require-commonjs\.cts.*success/); + assert.match(output, /writing cache for StrippedTypeScript .*test-cts-export-foo\.cts.*success/); + assert.match(output, /writing cache for CommonJS .*test-require-commonjs\.cts.*success/); + assert.match(output, /writing cache for CommonJS .*test-cts-export-foo\.cts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-require-commonjs\.cts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-require-commonjs\.cts because cache was the same/); + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-cts-export-foo\.cts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-cts-export-foo\.cts because cache was the same/); + + assert.match(output, /V8 code cache for CommonJS .*test-require-commonjs\.cts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-require-commonjs\.cts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-cts-export-foo\.cts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-cts-export-foo\.cts because cache was the same/); + return true; + } + }); +} + +// Check cache for .cts files that require .mts files. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'cts', 'test-require-mts-module.cts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /writing cache for StrippedTypeScript .*test-require-mts-module\.cts.*success/); + assert.match(output, /writing cache for StrippedTypeScript .*test-mts-export-foo\.mts.*success/); + assert.match(output, /writing cache for CommonJS .*test-require-mts-module\.cts.*success/); + assert.match(output, /writing cache for ESM .*test-mts-export-foo\.mts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-require-mts-module\.cts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-require-mts-module\.cts because cache was the same/); + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-mts-export-foo\.mts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-mts-export-foo\.mts because cache was the same/); + + assert.match(output, /V8 code cache for CommonJS .*test-require-mts-module\.cts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-require-mts-module\.cts because cache was the same/); + assert.match(output, /V8 code cache for ESM .*test-mts-export-foo\.mts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting ESM .*test-mts-export-foo\.mts because cache was the same/); + return true; + } + }); +} diff --git a/test/parallel/test-compile-cache-typescript-esm.js b/test/parallel/test-compile-cache-typescript-esm.js new file mode 100644 index 00000000000000..cec7b814da6679 --- /dev/null +++ b/test/parallel/test-compile-cache-typescript-esm.js @@ -0,0 +1,167 @@ +'use strict'; + +// This tests NODE_COMPILE_CACHE works for ESM with types. + +require('../common'); +const { spawnSyncAndAssert } = require('../common/child_process'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); + +// Check cache for .ts files that would be run as ESM. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'ts', 'test-module-typescript.ts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /saving transpilation cache for StrippedTypeScript .*test-module-typescript\.ts/); + assert.match(output, /writing cache for StrippedTypeScript .*test-module-typescript\.ts.*success/); + assert.match(output, /writing cache for ESM .*test-module-typescript\.ts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-module-typescript\.ts.*success/); + assert.match(output, /reading cache from .* for ESM .*test-module-typescript\.ts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-module-typescript\.ts because cache was the same/); + assert.match(output, /V8 code cache for ESM .*test-module-typescript\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting ESM .*test-module-typescript\.ts because cache was the same/); + return true; + } + }); +} + +// Check cache for .mts files that import .mts files. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'mts', 'test-import-module.mts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /writing cache for StrippedTypeScript .*test-import-module\.mts.*success/); + assert.match(output, /writing cache for StrippedTypeScript .*test-mts-export-foo\.mts.*success/); + assert.match(output, /writing cache for ESM .*test-import-module\.mts.*success/); + assert.match(output, /writing cache for ESM .*test-mts-export-foo\.mts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-import-module\.mts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-import-module\.mts because cache was the same/); + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-mts-export-foo\.mts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-mts-export-foo\.mts because cache was the same/); + + assert.match(output, /V8 code cache for ESM .*test-import-module\.mts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting ESM .*test-import-module\.mts because cache was the same/); + assert.match(output, /V8 code cache for ESM .*test-mts-export-foo\.mts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting ESM .*test-mts-export-foo\.mts because cache was the same/); + return true; + } + }); +} + + +// Check cache for .mts files that import .cts files. +{ + tmpdir.refresh(); + const dir = tmpdir.resolve('.compile_cache_dir'); + const script = fixtures.path('typescript', 'mts', 'test-import-commonjs.mts'); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /writing cache for StrippedTypeScript .*test-import-commonjs\.mts.*success/); + assert.match(output, /writing cache for StrippedTypeScript .*test-cts-export-foo\.cts.*success/); + assert.match(output, /writing cache for ESM .*test-import-commonjs\.mts.*success/); + assert.match(output, /writing cache for CommonJS .*test-cts-export-foo\.cts.*success/); + return true; + } + }); + + spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-import-commonjs\.mts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-import-commonjs\.mts because cache was the same/); + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-cts-export-foo\.cts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-cts-export-foo\.cts because cache was the same/); + + assert.match(output, /V8 code cache for ESM .*test-import-commonjs\.mts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting ESM .*test-import-commonjs\.mts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-cts-export-foo\.cts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-cts-export-foo\.cts because cache was the same/); + return true; + } + }); +} diff --git a/test/parallel/test-compile-cache-typescript-strip-miss.js b/test/parallel/test-compile-cache-typescript-strip-miss.js new file mode 100644 index 00000000000000..5d37a377f002e4 --- /dev/null +++ b/test/parallel/test-compile-cache-typescript-strip-miss.js @@ -0,0 +1,104 @@ +'use strict'; + +// This tests NODE_COMPILE_CACHE can handle cache invalidation +// between strip-only TypeScript and transformed TypeScript. + +require('../common'); +const { spawnSyncAndAssert } = require('../common/child_process'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); + +tmpdir.refresh(); +const dir = tmpdir.resolve('.compile_cache_dir'); +const script = fixtures.path('typescript', 'ts', 'test-typescript.ts'); + +spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /saving transpilation cache for StrippedTypeScript .*test-typescript\.ts/); + assert.match(output, /writing cache for StrippedTypeScript .*test-typescript\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-typescript\.ts.*success/); + return true; + } + }); + +// Reloading with transform should miss the cache generated without transform. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + // Both the transpile cache and the code cache should be missed. + assert.match(output, /no transpile cache for TransformedTypeScriptWithSourceMaps .*test-typescript\.ts/); + assert.match(output, /reading cache from .* for CommonJS .*test-typescript\.ts.*mismatch/); + // New cache with source map should be generated. + assert.match(output, /writing cache for TransformedTypeScriptWithSourceMaps .*test-typescript\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-typescript\.ts.*success/); + return true; + } + }); + +// Reloading with transform should hit the cache generated with transform. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for TransformedTypeScriptWithSourceMaps .*test-typescript\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-typescript\.ts.*success/); + assert.match(output, /skip persisting TransformedTypeScriptWithSourceMaps .*test-typescript\.ts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-typescript\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-typescript\.ts because cache was the same/); + return true; + } + }); + +// Reloading without transform should hit the co-existing transpile cache generated without transform, +// but miss the code cache generated with transform. +spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-typescript\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-typescript\.ts.*mismatch/); + assert.match(output, /skip persisting StrippedTypeScript .*test-typescript\.ts because cache was the same/); + assert.match(output, /writing cache for CommonJS .*test-typescript\.ts.*success/); + return true; + } + }); diff --git a/test/parallel/test-compile-cache-typescript-strip-sourcemaps.js b/test/parallel/test-compile-cache-typescript-strip-sourcemaps.js new file mode 100644 index 00000000000000..da5e350496f005 --- /dev/null +++ b/test/parallel/test-compile-cache-typescript-strip-sourcemaps.js @@ -0,0 +1,59 @@ +'use strict'; + +// This tests NODE_COMPILE_CACHE can be used for type stripping and ignores +// --enable-source-maps as there's no difference in the code generated. + +require('../common'); +const { spawnSyncAndAssert } = require('../common/child_process'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); + +tmpdir.refresh(); +const dir = tmpdir.resolve('.compile_cache_dir'); +const script = fixtures.path('typescript', 'ts', 'test-typescript.ts'); + +spawnSyncAndAssert( + process.execPath, + [script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /saving transpilation cache for StrippedTypeScript .*test-typescript\.ts/); + assert.match(output, /writing cache for StrippedTypeScript .*test-typescript\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-typescript\.ts.*success/); + return true; + } + }); + +// Reloading with source maps should hit the cache generated without source maps, because for +// type stripping, only sourceURL is added regardless of whether source map is enabled. +spawnSyncAndAssert( + process.execPath, + ['--enable-source-maps', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + // Both the transpile cache and the code cache should be missed. + assert.match(output, /retrieving transpile cache for StrippedTypeScript .*test-typescript\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-typescript\.ts.*success/); + assert.match(output, /skip persisting StrippedTypeScript .*test-typescript\.ts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-typescript\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-typescript\.ts because cache was the same/); + return true; + } + }); diff --git a/test/parallel/test-compile-cache-typescript-transform.js b/test/parallel/test-compile-cache-typescript-transform.js new file mode 100644 index 00000000000000..41eb67b203baa1 --- /dev/null +++ b/test/parallel/test-compile-cache-typescript-transform.js @@ -0,0 +1,127 @@ +'use strict'; + +// This tests NODE_COMPILE_CACHE works with --experimental-transform-types. + +require('../common'); +const { spawnSyncAndAssert } = require('../common/child_process'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const fixtures = require('../common/fixtures'); + + +tmpdir.refresh(); +const dir = tmpdir.resolve('.compile_cache_dir'); +const script = fixtures.path('typescript', 'ts', 'transformation', 'test-enum.ts'); + +// Check --experimental-transform-types which enables source maps by default. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /saving transpilation cache for TransformedTypeScriptWithSourceMaps .*test-enum\.ts/); + assert.match(output, /writing cache for TransformedTypeScriptWithSourceMaps .*test-enum\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-enum\.ts.*success/); + return true; + } + }); + +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for TransformedTypeScriptWithSourceMaps .*test-enum\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-enum\.ts.*success/); + assert.match(output, /skip persisting TransformedTypeScriptWithSourceMaps .*test-enum\.ts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-enum\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-enum\.ts because cache was the same/); + return true; + } + }); + +// Reloading without source maps should miss the cache generated with source maps. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', '--no-enable-source-maps', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + // Both the transpile cache and the code cache should be missed. + assert.match(output, /no transpile cache for TransformedTypeScript .*test-enum\.ts/); + assert.match(output, /reading cache from .* for CommonJS .*test-enum\.ts.*mismatch/); + // New cache without source map should be generated. + assert.match(output, /writing cache for TransformedTypeScript .*test-enum\.ts.*success/); + assert.match(output, /writing cache for CommonJS .*test-enum\.ts.*success/); + return true; + } + }); + +// Reloading without source maps again should hit the cache generated without source maps. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', '--no-enable-source-maps', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for TransformedTypeScript .*test-enum\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-enum\.ts.*success/); + assert.match(output, /skip persisting TransformedTypeScript .*test-enum\.ts because cache was the same/); + assert.match(output, /V8 code cache for CommonJS .*test-enum\.ts was accepted, keeping the in-memory entry/); + assert.match(output, /skip persisting CommonJS .*test-enum\.ts because cache was the same/); + return true; + } + }); + +// Reloading with source maps again should hit the co-existing transpile cache with source +// maps, but miss the code cache generated without source maps. +spawnSyncAndAssert( + process.execPath, + ['--experimental-transform-types', script], + { + env: { + ...process.env, + NODE_DEBUG_NATIVE: 'COMPILE_CACHE', + NODE_COMPILE_CACHE: dir + }, + cwd: tmpdir.path + }, + { + stderr(output) { + assert.match(output, /retrieving transpile cache for TransformedTypeScriptWithSourceMaps .*test-enum\.ts.*success/); + assert.match(output, /reading cache from .* for CommonJS .*test-enum\.ts.*mismatch/); + assert.match(output, /skip persisting TransformedTypeScriptWithSourceMaps .*test-enum\.ts because cache was the same/); + assert.match(output, /writing cache for CommonJS .*test-enum\.ts.*success/); + return true; + } + }); diff --git a/test/parallel/test-console-assign-undefined.js b/test/parallel/test-console-assign-undefined.js index 1021307b3c5f22..7f5b0e04727679 100644 --- a/test/parallel/test-console-assign-undefined.js +++ b/test/parallel/test-console-assign-undefined.js @@ -1,28 +1,28 @@ 'use strict'; -// Patch global.console before importing modules that may modify the console +// Patch globalThis.console before importing modules that may modify the console // object. -const tmp = global.console; -global.console = 42; +const tmp = globalThis.console; +globalThis.console = 42; require('../common'); const assert = require('assert'); // Originally the console had a getter. Test twice to verify it had no side // effect. -assert.strictEqual(global.console, 42); -assert.strictEqual(global.console, 42); +assert.strictEqual(globalThis.console, 42); +assert.strictEqual(globalThis.console, 42); assert.throws( () => console.log('foo'), { name: 'TypeError' } ); -global.console = 1; -assert.strictEqual(global.console, 1); +globalThis.console = 1; +assert.strictEqual(globalThis.console, 1); assert.strictEqual(console, 1); // Reset the console -global.console = tmp; +globalThis.console = tmp; console.log('foo'); diff --git a/test/parallel/test-console-clear.js b/test/parallel/test-console-clear.js index 5975602547922a..8ded51595f654e 100644 --- a/test/parallel/test-console-clear.js +++ b/test/parallel/test-console-clear.js @@ -1,6 +1,6 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const stdoutWrite = process.stdout.write; @@ -18,7 +18,7 @@ function doTest(isTTY, check) { } // Fake TTY -if (!common.isDumbTerminal) { +if (process.env.TERM !== 'dumb') { doTest(true, check); } doTest(false, ''); diff --git a/test/parallel/test-console-diagnostics-channels.js b/test/parallel/test-console-diagnostics-channels.js new file mode 100644 index 00000000000000..1a12d7a78f0b71 --- /dev/null +++ b/test/parallel/test-console-diagnostics-channels.js @@ -0,0 +1,77 @@ +'use strict'; + +const { mustCall } = require('../common'); +const { deepStrictEqual, ok, strictEqual } = require('assert'); + +const { channel } = require('diagnostics_channel'); + +const { + hijackStdout, + hijackStderr, + restoreStdout, + restoreStderr +} = require('../common/hijackstdio'); + +const stdoutMethods = [ + 'log', + 'info', + 'debug', +]; + +const stderrMethods = [ + 'warn', + 'error', +]; + +const methods = [ + ...stdoutMethods, + ...stderrMethods, +]; + +const channels = { + log: channel('console.log'), + info: channel('console.info'), + debug: channel('console.debug'), + warn: channel('console.warn'), + error: channel('console.error') +}; + +process.stdout.isTTY = false; +process.stderr.isTTY = false; + +for (const method of methods) { + let intercepted = false; + let formatted = false; + + const isStdout = stdoutMethods.includes(method); + const hijack = isStdout ? hijackStdout : hijackStderr; + const restore = isStdout ? restoreStdout : restoreStderr; + + const foo = 'string'; + const bar = { key: /value/ }; + const baz = [ 1, 2, 3 ]; + + channels[method].subscribe(mustCall((args) => { + // Should not have been formatted yet. + intercepted = true; + ok(!formatted); + + // Should receive expected log message args. + deepStrictEqual(args, [foo, bar, baz]); + + // Should be able to mutate message args and have it reflected in output. + bar.added = true; + })); + + hijack(mustCall((output) => { + // Should have already been intercepted. + formatted = true; + ok(intercepted); + + // Should produce expected formatted output with mutated message args. + strictEqual(output, 'string { key: /value/, added: true } [ 1, 2, 3 ]\n'); + })); + + console[method](foo, bar, baz); + restore(); +} diff --git a/test/parallel/test-console-instance.js b/test/parallel/test-console-instance.js index bf22314e22e031..0364a6213bc726 100644 --- a/test/parallel/test-console-instance.js +++ b/test/parallel/test-console-instance.js @@ -36,9 +36,9 @@ process.stdout.write = process.stderr.write = common.mustNotCall(); // Make sure that the "Console" function exists. assert.strictEqual(typeof Console, 'function'); -assert.strictEqual(requiredConsole, global.console); +assert.strictEqual(requiredConsole, globalThis.console); // Make sure the custom instanceof of Console works -assert.ok(global.console instanceof Console); +assert.ok(globalThis.console instanceof Console); assert.ok(!({} instanceof Console)); // Make sure that the Console constructor throws diff --git a/test/parallel/test-console-self-assign.js b/test/parallel/test-console-self-assign.js index 53c54ab9a327cf..46f9bc93d4f2bf 100644 --- a/test/parallel/test-console-self-assign.js +++ b/test/parallel/test-console-self-assign.js @@ -3,4 +3,4 @@ require('../common'); // Assigning to itself should not throw. -global.console = global.console; // eslint-disable-line no-self-assign +globalThis.console = globalThis.console; // eslint-disable-line no-self-assign diff --git a/test/parallel/test-console.js b/test/parallel/test-console.js index 85b46a7c992552..e25ac7178722c0 100644 --- a/test/parallel/test-console.js +++ b/test/parallel/test-console.js @@ -31,10 +31,12 @@ const { restoreStderr } = require('../common/hijackstdio'); +const { isMainThread } = require('worker_threads'); + assert.ok(process.stdout.writable); assert.ok(process.stderr.writable); // Support legacy API -if (common.isMainThread) { +if (isMainThread) { assert.strictEqual(typeof process.stdout.fd, 'number'); assert.strictEqual(typeof process.stderr.fd, 'number'); } diff --git a/test/parallel/test-crypto-aes-wrap.js b/test/parallel/test-crypto-aes-wrap.js index 6fe35258f7d6b2..21d48d8a3fbae7 100644 --- a/test/parallel/test-crypto-aes-wrap.js +++ b/test/parallel/test-crypto-aes-wrap.js @@ -1,62 +1,60 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +// Tests that the AES wrap and unwrap functions are working correctly. const assert = require('assert'); const crypto = require('crypto'); -const test = [ +const ivShort = Buffer.from('3fd838af', 'hex'); +const ivLong = Buffer.from('3fd838af4093d749', 'hex'); +const key1 = Buffer.from('b26f309fbe57e9b3bb6ae5ef31d54450', 'hex'); +const key2 = Buffer.from('40978085d68091f7dfca0d7dfc7a5ee76d2cc7f2f345a304', 'hex'); +const key3 = Buffer.from('29c9eab5ed5ad44134a1437fe2e673b4d88a5b7c72e68454fea08721392b7323', 'hex'); + +[ { algorithm: 'aes128-wrap', - key: 'b26f309fbe57e9b3bb6ae5ef31d54450', - iv: '3fd838af4093d749', + key: key1, + iv: ivLong, text: '12345678123456781234567812345678' }, { algorithm: 'id-aes128-wrap-pad', - key: 'b26f309fbe57e9b3bb6ae5ef31d54450', - iv: '3fd838af', + key: key1, + iv: ivShort, text: '12345678123456781234567812345678123' }, { algorithm: 'aes192-wrap', - key: '40978085d68091f7dfca0d7dfc7a5ee76d2cc7f2f345a304', - iv: '3fd838af4093d749', + key: key2, + iv: ivLong, text: '12345678123456781234567812345678' }, { algorithm: 'id-aes192-wrap-pad', - key: '40978085d68091f7dfca0d7dfc7a5ee76d2cc7f2f345a304', - iv: '3fd838af', + key: key2, + iv: ivShort, text: '12345678123456781234567812345678123' }, { algorithm: 'aes256-wrap', - key: '29c9eab5ed5ad44134a1437fe2e673b4d88a5b7c72e68454fea08721392b7323', - iv: '3fd838af4093d749', + key: key3, + iv: ivLong, text: '12345678123456781234567812345678' }, { algorithm: 'id-aes256-wrap-pad', - key: '29c9eab5ed5ad44134a1437fe2e673b4d88a5b7c72e68454fea08721392b7323', - iv: '3fd838af', + key: key3, + iv: ivShort, text: '12345678123456781234567812345678123' }, -]; - -test.forEach((data) => { - const cipher = crypto.createCipheriv( - data.algorithm, - Buffer.from(data.key, 'hex'), - Buffer.from(data.iv, 'hex')); - const ciphertext = cipher.update(data.text, 'utf8'); - - const decipher = crypto.createDecipheriv( - data.algorithm, - Buffer.from(data.key, 'hex'), - Buffer.from(data.iv, 'hex')); - const msg = decipher.update(ciphertext, 'buffer', 'utf8'); - - assert.strictEqual(msg, data.text, `${data.algorithm} test case failed`); +].forEach(({ algorithm, key, iv, text }) => { + const cipher = crypto.createCipheriv(algorithm, key, iv); + const decipher = crypto.createDecipheriv(algorithm, key, iv); + const msg = decipher.update(cipher.update(text, 'utf8'), 'buffer', 'utf8'); + assert.strictEqual(msg, text, `${algorithm} test case failed`); }); diff --git a/test/parallel/test-crypto-authenticated.js b/test/parallel/test-crypto-authenticated.js index d191ab7be2de20..181ea732b91281 100644 --- a/test/parallel/test-crypto-authenticated.js +++ b/test/parallel/test-crypto-authenticated.js @@ -21,13 +21,17 @@ // Flags: --no-warnings 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); const { inspect } = require('util'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); + +const isFipsEnabled = crypto.getFips(); // // Test authenticated encryption modes. @@ -53,7 +57,7 @@ for (const test of TEST_CASES) { continue; } - if (common.hasFipsCrypto && test.iv.length < 24) { + if (isFipsEnabled && test.iv.length < 24) { common.printSkipMessage('IV len < 12 bytes unsupported in FIPS mode'); continue; } @@ -95,7 +99,7 @@ for (const test of TEST_CASES) { } { - if (isCCM && common.hasFipsCrypto) { + if (isCCM && isFipsEnabled) { assert.throws(() => { crypto.createDecipheriv(test.algo, Buffer.from(test.key, 'hex'), @@ -286,7 +290,7 @@ for (const test of TEST_CASES) { }); }, errMessages.authTagLength); - if (!common.hasFipsCrypto) { + if (!isFipsEnabled) { assert.throws(() => { crypto.createDecipheriv('aes-256-ccm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', @@ -312,7 +316,7 @@ for (const test of TEST_CASES) { }); // CCM decryption and create(De|C)ipher are unsupported in FIPS mode. - if (!common.hasFipsCrypto) { + if (!isFipsEnabled) { assert.throws(() => { crypto.createDecipheriv(`aes-256-${mode}`, 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', @@ -388,7 +392,7 @@ for (const test of TEST_CASES) { cipher.setAAD(Buffer.from('0123456789', 'hex')); }, /options\.plaintextLength required for CCM mode with AAD/); - if (!common.hasFipsCrypto) { + if (!isFipsEnabled) { assert.throws(() => { const cipher = crypto.createDecipheriv('aes-256-ccm', 'FxLKsqdmv0E9xrQhp0b1ZgI0K7JFZJM8', @@ -403,7 +407,7 @@ for (const test of TEST_CASES) { // Test that final() throws in CCM mode when no authentication tag is provided. { - if (!common.hasFipsCrypto) { + if (!isFipsEnabled) { const key = Buffer.from('1ed2233fa2223ef5d7df08546049406c', 'hex'); const iv = Buffer.from('7305220bca40d4c90e1791e9', 'hex'); const ct = Buffer.from('8beba09d4d4d861f957d51c0794f4abf8030848e', 'hex'); @@ -562,7 +566,7 @@ for (const test of TEST_CASES) { ]) { assert.throws(() => { cipher.final(); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { code: 'ERR_OSSL_TAG_NOT_SET' } : { message: /Unsupported state/ diff --git a/test/parallel/test-crypto-cipheriv-decipheriv.js b/test/parallel/test-crypto-cipheriv-decipheriv.js index 3e3632203af72c..88d07c3b957f57 100644 --- a/test/parallel/test-crypto-cipheriv-decipheriv.js +++ b/test/parallel/test-crypto-cipheriv-decipheriv.js @@ -5,6 +5,8 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); +const isFipsEnabled = crypto.getFips(); function testCipher1(key, iv) { // Test encryption and decryption with explicit key and iv @@ -150,7 +152,7 @@ testCipher1(Buffer.from('0123456789abcd0123456789'), '12345678'); testCipher1(Buffer.from('0123456789abcd0123456789'), Buffer.from('12345678')); testCipher2(Buffer.from('0123456789abcd0123456789'), Buffer.from('12345678')); -if (!common.hasFipsCrypto) { +if (!isFipsEnabled) { testCipher3(Buffer.from('000102030405060708090A0B0C0D0E0F', 'hex'), Buffer.from('A6A6A6A6A6A6A6A6', 'hex')); } @@ -193,10 +195,10 @@ assert.throws( errMessage); // But all other IV lengths should be accepted. -const minIvLength = common.hasOpenSSL3 ? 8 : 1; -const maxIvLength = common.hasOpenSSL3 ? 64 : 256; +const minIvLength = hasOpenSSL3 ? 8 : 1; +const maxIvLength = hasOpenSSL3 ? 64 : 256; for (let n = minIvLength; n < maxIvLength; n += 1) { - if (common.hasFipsCrypto && n < 12) continue; + if (isFipsEnabled && n < 12) continue; crypto.createCipheriv('aes-128-gcm', Buffer.alloc(16), Buffer.alloc(n)); } diff --git a/test/parallel/test-crypto-classes.js b/test/parallel/test-crypto-classes.js index f736921476a1c5..429bc91d4412be 100644 --- a/test/parallel/test-crypto-classes.js +++ b/test/parallel/test-crypto-classes.js @@ -4,9 +4,9 @@ const assert = require('assert'); if (!common.hasCrypto) { common.skip('missing crypto'); - return; } const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); // 'ClassName' : ['args', 'for', 'constructor'] const TEST_CASES = { @@ -21,8 +21,8 @@ const TEST_CASES = { 'ECDH': ['prime256v1'], }; -if (!common.hasFipsCrypto) { - TEST_CASES.DiffieHellman = [common.hasOpenSSL3 ? 1024 : 256]; +if (!crypto.getFips()) { + TEST_CASES.DiffieHellman = [hasOpenSSL3 ? 1024 : 256]; } for (const [clazz, args] of Object.entries(TEST_CASES)) { diff --git a/test/parallel/test-crypto-dh-constructor.js b/test/parallel/test-crypto-dh-constructor.js index c7eaca29347a2b..eb8674932484ed 100644 --- a/test/parallel/test-crypto-dh-constructor.js +++ b/test/parallel/test-crypto-dh-constructor.js @@ -5,8 +5,9 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); -const size = common.hasFipsCrypto || common.hasOpenSSL3 ? 1024 : 256; +const size = crypto.getFips() || hasOpenSSL3 ? 1024 : 256; const dh1 = crypto.createDiffieHellman(size); const p1 = dh1.getPrime('buffer'); diff --git a/test/parallel/test-crypto-dh-errors.js b/test/parallel/test-crypto-dh-errors.js index 476ca64b4425b5..0af4db0310750c 100644 --- a/test/parallel/test-crypto-dh-errors.js +++ b/test/parallel/test-crypto-dh-errors.js @@ -5,6 +5,7 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); // https://github.com/nodejs/node/issues/32738 // XXX(bnoordhuis) validateInt32() throwing ERR_OUT_OF_RANGE and RangeError @@ -24,7 +25,7 @@ assert.throws(() => crypto.createDiffieHellman('abcdef', 13.37), { }); for (const bits of [-1, 0, 1]) { - if (common.hasOpenSSL3) { + if (hasOpenSSL3) { assert.throws(() => crypto.createDiffieHellman(bits), { code: 'ERR_OSSL_DH_MODULUS_TOO_SMALL', name: 'Error', diff --git a/test/parallel/test-crypto-dh-generate-keys.js b/test/parallel/test-crypto-dh-generate-keys.js index fc277bb0d9b8e4..e4598274328bd8 100644 --- a/test/parallel/test-crypto-dh-generate-keys.js +++ b/test/parallel/test-crypto-dh-generate-keys.js @@ -6,9 +6,10 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); { - const size = common.hasFipsCrypto || common.hasOpenSSL3 ? 1024 : 256; + const size = crypto.getFips() || hasOpenSSL3 ? 1024 : 256; function unlessInvalidState(f) { try { diff --git a/test/parallel/test-crypto-dh-leak.js b/test/parallel/test-crypto-dh-leak.js index 1998d61d4affd7..df1ba89737c619 100644 --- a/test/parallel/test-crypto-dh-leak.js +++ b/test/parallel/test-crypto-dh-leak.js @@ -9,10 +9,11 @@ if (common.isASan) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); const before = process.memoryUsage.rss(); { - const size = common.hasFipsCrypto || common.hasOpenSSL3 ? 1024 : 256; + const size = crypto.getFips() || hasOpenSSL3 ? 1024 : 256; const dh = crypto.createDiffieHellman(size); const publicKey = dh.generateKeys(); const privateKey = dh.getPrivateKey(); @@ -21,7 +22,7 @@ const before = process.memoryUsage.rss(); dh.setPrivateKey(privateKey); } } -global.gc(); +globalThis.gc(); const after = process.memoryUsage.rss(); // RSS should stay the same, ceteris paribus, but allow for diff --git a/test/parallel/test-crypto-dh-odd-key.js b/test/parallel/test-crypto-dh-odd-key.js index 69a1eb56c866b3..fbe42be425ed1c 100644 --- a/test/parallel/test-crypto-dh-odd-key.js +++ b/test/parallel/test-crypto-dh-odd-key.js @@ -21,22 +21,24 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); function test() { const odd = Buffer.alloc(39, 'A'); - const c = crypto.createDiffieHellman(common.hasOpenSSL3 ? 1024 : 32); + const c = crypto.createDiffieHellman(hasOpenSSL3 ? 1024 : 32); c.setPrivateKey(odd); c.generateKeys(); } // FIPS requires a length of at least 1024 -if (!common.hasFipsCrypto) { +if (!crypto.getFips()) { test(); } else { assert.throws(function() { test(); }, /key size too small/); diff --git a/test/parallel/test-crypto-dh-stateless.js b/test/parallel/test-crypto-dh-stateless.js index 2ccac322e23958..f4fc1849699e31 100644 --- a/test/parallel/test-crypto-dh-stateless.js +++ b/test/parallel/test-crypto-dh-stateless.js @@ -5,6 +5,7 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); assert.throws(() => crypto.diffieHellman(), { name: 'TypeError', @@ -150,7 +151,7 @@ const list = [ // TODO(danbev): Take a closer look if there should be a check in OpenSSL3 // when the dh parameters differ. -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { // Same primes, but different generator. list.push([{ group: 'modp5' }, { prime: group.getPrime(), generator: 5 }]); // Same generator, but different primes. @@ -161,7 +162,7 @@ for (const [params1, params2] of list) { assert.throws(() => { test(crypto.generateKeyPairSync('dh', params1), crypto.generateKeyPairSync('dh', params2)); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { name: 'Error', code: 'ERR_OSSL_MISMATCHING_DOMAIN_PARAMETERS' } : { @@ -220,7 +221,7 @@ const not256k1 = crypto.getCurves().find((c) => /^sec.*(224|384|512)/.test(c)); assert.throws(() => { test(crypto.generateKeyPairSync('ec', { namedCurve: 'secp256k1' }), crypto.generateKeyPairSync('ec', { namedCurve: not256k1 })); -}, common.hasOpenSSL3 ? { +}, hasOpenSSL3 ? { name: 'Error', code: 'ERR_OSSL_MISMATCHING_DOMAIN_PARAMETERS' } : { diff --git a/test/parallel/test-crypto-dh.js b/test/parallel/test-crypto-dh.js index 9ebe14011eed22..d7ffbe5eca9273 100644 --- a/test/parallel/test-crypto-dh.js +++ b/test/parallel/test-crypto-dh.js @@ -1,13 +1,18 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); +const { + hasOpenSSL3, + hasOpenSSL, +} = require('../common/crypto'); { - const size = common.hasFipsCrypto || common.hasOpenSSL3 ? 1024 : 256; + const size = crypto.getFips() || hasOpenSSL3 ? 1024 : 256; const dh1 = crypto.createDiffieHellman(size); const p1 = dh1.getPrime('buffer'); const dh2 = crypto.createDiffieHellman(p1, 'buffer'); @@ -53,7 +58,7 @@ const crypto = require('crypto'); assert.strictEqual(secret1, secret4); let wrongBlockLength; - if (common.hasOpenSSL3) { + if (hasOpenSSL3) { wrongBlockLength = { message: 'error:1C80006B:Provider routines::wrong final block length', code: 'ERR_OSSL_WRONG_FINAL_BLOCK_LENGTH', @@ -87,11 +92,11 @@ const crypto = require('crypto'); { // Error message was changed in OpenSSL 3.0.x from 3.0.12, and 3.1.x from 3.1.4. - const hasOpenSSL3WithNewErrorMessage = (common.hasOpenSSL(3, 0, 12) && !common.hasOpenSSL(3, 1, 0)) || - (common.hasOpenSSL(3, 1, 4)); + const hasOpenSSL3WithNewErrorMessage = (hasOpenSSL(3, 0, 12) && !hasOpenSSL(3, 1, 0)) || + (hasOpenSSL(3, 1, 4)); assert.throws(() => { dh3.computeSecret(''); - }, { message: common.hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ? + }, { message: hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ? 'Unspecified validation error' : 'Supplied key is too small' }); } diff --git a/test/parallel/test-crypto-ecb.js b/test/parallel/test-crypto-ecb.js index aecd858ef3bf1e..6439c9354a059e 100644 --- a/test/parallel/test-crypto-ecb.js +++ b/test/parallel/test-crypto-ecb.js @@ -21,18 +21,23 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { hasOpenSSL3 } = require('../common/crypto'); +const crypto = require('crypto'); -if (common.hasFipsCrypto) +if (crypto.getFips()) { common.skip('BF-ECB is not FIPS 140-2 compatible'); +} -if (common.hasOpenSSL3) +if (hasOpenSSL3) { common.skip('Blowfish is only available with the legacy provider in ' + 'OpenSSl 3.x'); +} const assert = require('assert'); -const crypto = require('crypto'); // Testing whether EVP_CipherInit_ex is functioning correctly. // Reference: bug#1997 diff --git a/test/parallel/test-crypto-fips.js b/test/parallel/test-crypto-fips.js index 8a8a8089a3cf3b..de004b9a9e8f23 100644 --- a/test/parallel/test-crypto-fips.js +++ b/test/parallel/test-crypto-fips.js @@ -10,6 +10,7 @@ const path = require('path'); const fixtures = require('../common/fixtures'); const { internalBinding } = require('internal/test/binding'); const { testFipsCrypto } = internalBinding('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); const FIPS_ENABLED = 1; const FIPS_DISABLED = 0; @@ -114,7 +115,7 @@ assert.ok(test_result === 1 || test_result === 0); // ("Error: Cannot set FIPS mode in a non-FIPS build."). // Due to this uncertainty the following tests are skipped when configured // with --shared-openssl. -if (!sharedOpenSSL() && !common.hasOpenSSL3) { +if (!sharedOpenSSL() && !hasOpenSSL3) { // OpenSSL config file should be able to turn on FIPS mode testHelper( 'stdout', @@ -144,7 +145,7 @@ if (!sharedOpenSSL() && !common.hasOpenSSL3) { // will not work as expected with that version. // TODO(danbev) Revisit these test once FIPS support is available in // OpenSSL 3.x. -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { testHelper( 'stdout', [`--openssl-config=${CNF_FIPS_OFF}`], diff --git a/test/parallel/test-crypto-hash.js b/test/parallel/test-crypto-hash.js index 83218c105a4596..61145aee0727fb 100644 --- a/test/parallel/test-crypto-hash.js +++ b/test/parallel/test-crypto-hash.js @@ -1,12 +1,14 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); const fs = require('fs'); +const { hasOpenSSL } = require('../common/crypto'); const fixtures = require('../common/fixtures'); let cryptoType; @@ -39,7 +41,7 @@ a8.write(''); a8.end(); a8 = a8.read(); -if (!common.hasFipsCrypto) { +if (!crypto.getFips()) { cryptoType = 'md5'; digest = 'latin1'; const a0 = crypto.createHash(cryptoType).update('Test123').digest(digest); @@ -182,19 +184,21 @@ assert.throws( // Test XOF hash functions and the outputLength option. { - // Default outputLengths. - assert.strictEqual(crypto.createHash('shake128').digest('hex'), - '7f9c2ba4e88f827d616045507605853e'); - assert.strictEqual(crypto.createHash('shake128', null).digest('hex'), - '7f9c2ba4e88f827d616045507605853e'); - assert.strictEqual(crypto.createHash('shake256').digest('hex'), - '46b9dd2b0ba88d13233b3feb743eeb24' + - '3fcd52ea62b81b82b50c27646ed5762f'); - assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 }) - .copy() // Default outputLength. - .digest('hex'), - '46b9dd2b0ba88d13233b3feb743eeb24' + - '3fcd52ea62b81b82b50c27646ed5762f'); + // Default outputLengths. Since OpenSSL 3.4 an outputLength is mandatory + if (!hasOpenSSL(3, 4)) { + assert.strictEqual(crypto.createHash('shake128').digest('hex'), + '7f9c2ba4e88f827d616045507605853e'); + assert.strictEqual(crypto.createHash('shake128', null).digest('hex'), + '7f9c2ba4e88f827d616045507605853e'); + assert.strictEqual(crypto.createHash('shake256').digest('hex'), + '46b9dd2b0ba88d13233b3feb743eeb24' + + '3fcd52ea62b81b82b50c27646ed5762f'); + assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 }) + .copy() // Default outputLength. + .digest('hex'), + '46b9dd2b0ba88d13233b3feb743eeb24' + + '3fcd52ea62b81b82b50c27646ed5762f'); + } // Short outputLengths. assert.strictEqual(crypto.createHash('shake128', { outputLength: 0 }) diff --git a/test/parallel/test-crypto-hkdf.js b/test/parallel/test-crypto-hkdf.js index ff3abdf291efcd..3f7e61e9b2ebc0 100644 --- a/test/parallel/test-crypto-hkdf.js +++ b/test/parallel/test-crypto-hkdf.js @@ -13,6 +13,7 @@ const { hkdfSync, getHashes } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); { assert.throws(() => hkdf(), { @@ -124,7 +125,7 @@ const algorithms = [ ['sha256', '', 'salt', '', 10], ['sha512', 'secret', 'salt', '', 15], ]; -if (!common.hasOpenSSL3) +if (!hasOpenSSL3) algorithms.push(['whirlpool', 'secret', '', 'info', 20]); algorithms.forEach(([ hash, secret, salt, info, length ]) => { @@ -215,7 +216,7 @@ algorithms.forEach(([ hash, secret, salt, info, length ]) => { }); -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { const kKnownUnsupported = ['shake128', 'shake256']; getHashes() .filter((hash) => !kKnownUnsupported.includes(hash)) diff --git a/test/parallel/test-crypto-hmac.js b/test/parallel/test-crypto-hmac.js index 62a6ac18d25265..afb5f74cbf076b 100644 --- a/test/parallel/test-crypto-hmac.js +++ b/test/parallel/test-crypto-hmac.js @@ -1,7 +1,8 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const crypto = require('crypto'); @@ -40,7 +41,7 @@ assert.throws( function testHmac(algo, key, data, expected) { // FIPS does not support MD5. - if (common.hasFipsCrypto && algo === 'md5') + if (crypto.getFips() && algo === 'md5') return; if (!Array.isArray(data)) diff --git a/test/parallel/test-crypto-key-objects.js b/test/parallel/test-crypto-key-objects.js index f5271f16d346c0..0c516d80950694 100644 --- a/test/parallel/test-crypto-key-objects.js +++ b/test/parallel/test-crypto-key-objects.js @@ -24,6 +24,8 @@ const { generateKeyPairSync, } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + const fixtures = require('../common/fixtures'); const publicPem = fixtures.readKey('rsa_public.pem', 'ascii'); @@ -297,7 +299,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', // This should not cause a crash: https://github.com/nodejs/node/issues/25247 assert.throws(() => { createPrivateKey({ key: '' }); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { message: 'error:1E08010C:DECODER routines::unsupported', } : { message: 'error:0909006C:PEM routines:get_name:no start line', @@ -323,7 +325,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', type: 'pkcs1' }); createPrivateKey({ key, format: 'der', type: 'pkcs1' }); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { message: /error:1E08010C:DECODER routines::unsupported/, library: 'DECODER routines' } : { @@ -510,7 +512,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', { // Reading an encrypted key without a passphrase should fail. - assert.throws(() => createPrivateKey(privateDsa), common.hasOpenSSL3 ? { + assert.throws(() => createPrivateKey(privateDsa), hasOpenSSL3 ? { name: 'Error', message: 'error:07880109:common libcrypto routines::interrupted or ' + 'cancelled', @@ -526,7 +528,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem', key: privateDsa, format: 'pem', passphrase: Buffer.alloc(1025, 'a') - }), common.hasOpenSSL3 ? { name: 'Error' } : { + }), hasOpenSSL3 ? { name: 'Error' } : { code: 'ERR_OSSL_PEM_BAD_PASSWORD_READ', name: 'Error' }); diff --git a/test/parallel/test-crypto-keygen-async-dsa-key-object.js b/test/parallel/test-crypto-keygen-async-dsa-key-object.js index c15807295541e2..a3df136230d0f8 100644 --- a/test/parallel/test-crypto-keygen-async-dsa-key-object.js +++ b/test/parallel/test-crypto-keygen-async-dsa-key-object.js @@ -9,23 +9,25 @@ const { generateKeyPair, } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + // Test async DSA key object generation. { generateKeyPair('dsa', { - modulusLength: common.hasOpenSSL3 ? 2048 : 512, + modulusLength: hasOpenSSL3 ? 2048 : 512, divisorLength: 256 }, common.mustSucceed((publicKey, privateKey) => { assert.strictEqual(publicKey.type, 'public'); assert.strictEqual(publicKey.asymmetricKeyType, 'dsa'); assert.deepStrictEqual(publicKey.asymmetricKeyDetails, { - modulusLength: common.hasOpenSSL3 ? 2048 : 512, + modulusLength: hasOpenSSL3 ? 2048 : 512, divisorLength: 256 }); assert.strictEqual(privateKey.type, 'private'); assert.strictEqual(privateKey.asymmetricKeyType, 'dsa'); assert.deepStrictEqual(privateKey.asymmetricKeyDetails, { - modulusLength: common.hasOpenSSL3 ? 2048 : 512, + modulusLength: hasOpenSSL3 ? 2048 : 512, divisorLength: 256 }); })); diff --git a/test/parallel/test-crypto-keygen-async-dsa.js b/test/parallel/test-crypto-keygen-async-dsa.js index 048c0ce6fb92ef..41968d8cc23365 100644 --- a/test/parallel/test-crypto-keygen-async-dsa.js +++ b/test/parallel/test-crypto-keygen-async-dsa.js @@ -14,6 +14,8 @@ const { spkiExp, } = require('../common/crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + // Test async DSA key generation. { const privateKeyEncoding = { @@ -22,7 +24,7 @@ const { }; generateKeyPair('dsa', { - modulusLength: common.hasOpenSSL3 ? 2048 : 512, + modulusLength: hasOpenSSL3 ? 2048 : 512, divisorLength: 256, publicKeyEncoding: { type: 'spki', @@ -39,8 +41,8 @@ const { // The private key is DER-encoded. assert(Buffer.isBuffer(privateKeyDER)); - assertApproximateSize(publicKey, common.hasOpenSSL3 ? 1194 : 440); - assertApproximateSize(privateKeyDER, common.hasOpenSSL3 ? 721 : 336); + assertApproximateSize(publicKey, hasOpenSSL3 ? 1194 : 440); + assertApproximateSize(privateKeyDER, hasOpenSSL3 ? 721 : 336); // Since the private key is encrypted, signing shouldn't work anymore. assert.throws(() => { diff --git a/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js b/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js index 553674774571d3..55aa3831c4233b 100644 --- a/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js +++ b/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js @@ -14,6 +14,8 @@ const { pkcs8EncExp, } = require('../common/crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + // Test async elliptic curve key generation, e.g. for ECDSA, with an encrypted // private key with paramEncoding explicit. { @@ -38,7 +40,7 @@ const { // Since the private key is encrypted, signing shouldn't work anymore. assert.throws(() => testSignVerify(publicKey, privateKey), - common.hasOpenSSL3 ? { + hasOpenSSL3 ? { message: 'error:07880109:common libcrypto ' + 'routines::interrupted or cancelled' } : { diff --git a/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js b/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js index 79a132eed0b854..8a55d4338bc72f 100644 --- a/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js +++ b/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js @@ -12,6 +12,7 @@ const { testSignVerify, spkiExp, sec1EncExp, + hasOpenSSL3, } = require('../common/crypto'); { @@ -38,7 +39,7 @@ const { // Since the private key is encrypted, signing shouldn't work anymore. assert.throws(() => testSignVerify(publicKey, privateKey), - common.hasOpenSSL3 ? { + hasOpenSSL3 ? { message: 'error:07880109:common libcrypto ' + 'routines::interrupted or cancelled' } : { diff --git a/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js b/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js index 5e7d1a6c9b6611..4c11401d0fc516 100644 --- a/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js +++ b/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js @@ -12,6 +12,7 @@ const { testSignVerify, spkiExp, pkcs8EncExp, + hasOpenSSL3, } = require('../common/crypto'); // Test async elliptic curve key generation, e.g. for ECDSA, with an encrypted @@ -38,7 +39,7 @@ const { // Since the private key is encrypted, signing shouldn't work anymore. assert.throws(() => testSignVerify(publicKey, privateKey), - common.hasOpenSSL3 ? { + hasOpenSSL3 ? { message: 'error:07880109:common libcrypto ' + 'routines::interrupted or cancelled' } : { diff --git a/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js b/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js index 1cc93d0a794931..0503ff74787f37 100644 --- a/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js +++ b/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js @@ -12,6 +12,7 @@ const { testSignVerify, spkiExp, sec1EncExp, + hasOpenSSL3, } = require('../common/crypto'); { @@ -38,7 +39,7 @@ const { // Since the private key is encrypted, signing shouldn't work anymore. assert.throws(() => testSignVerify(publicKey, privateKey), - common.hasOpenSSL3 ? { + hasOpenSSL3 ? { message: 'error:07880109:common libcrypto ' + 'routines::interrupted or cancelled' } : { diff --git a/test/parallel/test-crypto-keygen-async-rsa.js b/test/parallel/test-crypto-keygen-async-rsa.js index f4a83809dc73c7..c80d7d33492923 100644 --- a/test/parallel/test-crypto-keygen-async-rsa.js +++ b/test/parallel/test-crypto-keygen-async-rsa.js @@ -13,6 +13,7 @@ const { testEncryptDecrypt, testSignVerify, pkcs1EncExp, + hasOpenSSL3, } = require('../common/crypto'); // Test async RSA key generation with an encrypted private key. @@ -43,7 +44,7 @@ const { type: 'pkcs1', format: 'der', }; - const expectedError = common.hasOpenSSL3 ? { + const expectedError = hasOpenSSL3 ? { name: 'Error', message: 'error:07880109:common libcrypto routines::interrupted or ' + 'cancelled' diff --git a/test/parallel/test-crypto-keygen-bit-length.js b/test/parallel/test-crypto-keygen-bit-length.js index 08772ba2e496b8..63a80659bb2f53 100644 --- a/test/parallel/test-crypto-keygen-bit-length.js +++ b/test/parallel/test-crypto-keygen-bit-length.js @@ -8,6 +8,7 @@ const assert = require('assert'); const { generateKeyPair, } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); // This tests check that generateKeyPair returns correct bit length in // KeyObject's asymmetricKeyDetails. @@ -27,7 +28,7 @@ const { assert.strictEqual(publicKey.asymmetricKeyDetails.modulusLength, 513); })); - if (common.hasOpenSSL3) { + if (hasOpenSSL3) { generateKeyPair('dsa', { modulusLength: 2049, divisorLength: 256, diff --git a/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js b/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js index 7679a492c3194c..cb873ff04748b7 100644 --- a/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js +++ b/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js @@ -11,6 +11,7 @@ const { } = require('crypto'); const { testSignVerify, + hasOpenSSL3, } = require('../common/crypto'); // Passing an empty passphrase string should not cause OpenSSL's default @@ -40,7 +41,7 @@ for (const type of ['pkcs1', 'pkcs8']) { // the key, and not specifying a passphrase should fail when decoding it. assert.throws(() => { return testSignVerify(publicKey, privateKey); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { name: 'Error', code: 'ERR_OSSL_CRYPTO_INTERRUPTED_OR_CANCELLED', message: 'error:07880109:common libcrypto routines::interrupted or cancelled' diff --git a/test/parallel/test-crypto-keygen-missing-oid.js b/test/parallel/test-crypto-keygen-missing-oid.js index f7fefe13848d4b..1e4f309292eb47 100644 --- a/test/parallel/test-crypto-keygen-missing-oid.js +++ b/test/parallel/test-crypto-keygen-missing-oid.js @@ -11,6 +11,8 @@ const { getCurves, } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + // This test creates EC key pairs on curves without associated OIDs. // Specifying a key encoding should not crash. { @@ -20,7 +22,7 @@ const { continue; const expectedErrorCode = - common.hasOpenSSL3 ? 'ERR_OSSL_MISSING_OID' : 'ERR_OSSL_EC_MISSING_OID'; + hasOpenSSL3 ? 'ERR_OSSL_MISSING_OID' : 'ERR_OSSL_EC_MISSING_OID'; const params = { namedCurve, publicKeyEncoding: { diff --git a/test/parallel/test-crypto-keygen.js b/test/parallel/test-crypto-keygen.js index b09ca9e7c531ea..edaee845075668 100644 --- a/test/parallel/test-crypto-keygen.js +++ b/test/parallel/test-crypto-keygen.js @@ -14,6 +14,7 @@ const { } = require('crypto'); const { inspect } = require('util'); +const { hasOpenSSL3 } = require('../common/crypto'); // Test invalid parameter encoding. { @@ -351,7 +352,7 @@ const { inspect } = require('util'); publicExponent }, common.mustCall((err) => { assert.strictEqual(err.name, 'Error'); - assert.match(err.message, common.hasOpenSSL3 ? /exponent/ : /bad e value/); + assert.match(err.message, hasOpenSSL3 ? /exponent/ : /bad e value/); })); } } diff --git a/test/parallel/test-crypto-no-algorithm.js b/test/parallel/test-crypto-no-algorithm.js index 37db38cf613b65..bb5b81e119c87d 100644 --- a/test/parallel/test-crypto-no-algorithm.js +++ b/test/parallel/test-crypto-no-algorithm.js @@ -4,13 +4,16 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -if (!common.hasOpenSSL3) +const { hasOpenSSL3 } = require('../common/crypto'); + +if (!hasOpenSSL3) common.skip('this test requires OpenSSL 3.x'); const assert = require('node:assert/strict'); const crypto = require('node:crypto'); +const { isMainThread } = require('worker_threads'); -if (common.isMainThread) { +if (isMainThread) { // TODO(richardlau): Decide if `crypto.setFips` should error if the // provider named "fips" is not available. crypto.setFips(1); diff --git a/test/parallel/test-crypto-oneshot-hash.js b/test/parallel/test-crypto-oneshot-hash.js index 56b4c04a65a1c1..861aded5dd3f60 100644 --- a/test/parallel/test-crypto-oneshot-hash.js +++ b/test/parallel/test-crypto-oneshot-hash.js @@ -8,6 +8,7 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL } = require('../common/crypto'); const fs = require('fs'); // Test errors for invalid arguments. @@ -31,6 +32,9 @@ const methods = crypto.getHashes(); const input = fs.readFileSync(fixtures.path('utf8_test_text.txt')); for (const method of methods) { + // Skip failing tests on OpenSSL 3.4.0 + if (method.startsWith('shake') && hasOpenSSL(3, 4)) + continue; for (const outputEncoding of ['buffer', 'hex', 'base64', undefined]) { const oldDigest = crypto.createHash(method).update(input).digest(outputEncoding || 'hex'); const digestFromBuffer = crypto.hash(method, input, outputEncoding); diff --git a/test/parallel/test-crypto-padding.js b/test/parallel/test-crypto-padding.js index f1f14b472997e7..48cd1ed4df61aa 100644 --- a/test/parallel/test-crypto-padding.js +++ b/test/parallel/test-crypto-padding.js @@ -26,6 +26,7 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); // Input data. const ODD_LENGTH_PLAIN = 'Hello node world!'; @@ -82,7 +83,7 @@ assert.strictEqual(enc(EVEN_LENGTH_PLAIN, true), EVEN_LENGTH_ENCRYPTED); assert.throws(function() { // Input must have block length %. enc(ODD_LENGTH_PLAIN, false); -}, common.hasOpenSSL3 ? { +}, hasOpenSSL3 ? { message: 'error:1C80006B:Provider routines::wrong final block length', code: 'ERR_OSSL_WRONG_FINAL_BLOCK_LENGTH', reason: 'wrong final block length', @@ -109,7 +110,7 @@ assert.strictEqual(dec(EVEN_LENGTH_ENCRYPTED, false).length, 48); assert.throws(function() { // Must have at least 1 byte of padding (PKCS): assert.strictEqual(dec(EVEN_LENGTH_ENCRYPTED_NOPAD, true), EVEN_LENGTH_PLAIN); -}, common.hasOpenSSL3 ? { +}, hasOpenSSL3 ? { message: 'error:1C800064:Provider routines::bad decrypt', reason: 'bad decrypt', code: 'ERR_OSSL_BAD_DECRYPT', diff --git a/test/parallel/test-crypto-pbkdf2.js b/test/parallel/test-crypto-pbkdf2.js index 1f8e6a81f300e7..efd8d6eaf0d640 100644 --- a/test/parallel/test-crypto-pbkdf2.js +++ b/test/parallel/test-crypto-pbkdf2.js @@ -5,6 +5,7 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); function runPBKDF2(password, salt, iterations, keylen, hash) { const syncResult = @@ -219,7 +220,7 @@ assert.throws( } ); -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { const kNotPBKDF2Supported = ['shake128', 'shake256']; crypto.getHashes() .filter((hash) => !kNotPBKDF2Supported.includes(hash)) diff --git a/test/parallel/test-crypto-prime.js b/test/parallel/test-crypto-prime.js index 209c8251f78053..5ffdc1394282be 100644 --- a/test/parallel/test-crypto-prime.js +++ b/test/parallel/test-crypto-prime.js @@ -14,6 +14,8 @@ const { checkPrimeSync, } = require('crypto'); +const { Worker } = require('worker_threads'); + const { promisify } = require('util'); const pgeneratePrime = promisify(generatePrime); const pCheckPrime = promisify(checkPrime); @@ -252,6 +254,19 @@ for (const checks of [-(2 ** 31), -1, 2 ** 31, 2 ** 32 - 1, 2 ** 32, 2 ** 50]) { }); } +{ + const bytes = Buffer.alloc(67108864); + bytes[0] = 0x1; + assert.throws(() => checkPrime(bytes, common.mustNotCall()), { + code: 'ERR_OSSL_BN_BIGNUM_TOO_LONG', + message: /bignum too long/ + }); + assert.throws(() => checkPrimeSync(bytes), { + code: 'ERR_OSSL_BN_BIGNUM_TOO_LONG', + message: /bignum too long/ + }); +} + assert(!checkPrimeSync(Buffer.from([0x1]))); assert(checkPrimeSync(Buffer.from([0x2]))); assert(checkPrimeSync(Buffer.from([0x3]))); @@ -295,3 +310,17 @@ assert.throws(() => { checkPrime(prime, common.mustSucceed(assert)); })); } + +{ + // Verify that generatePrime can be reasonably interrupted. + const worker = new Worker(` + const { generatePrime } = require('crypto'); + generatePrime(2048, () => { + throw new Error('should not be called'); + }); + process.exit(42); + `, { eval: true }); + + worker.on('error', common.mustNotCall()); + worker.on('exit', common.mustCall((exitCode) => assert.strictEqual(exitCode, 42))); +} diff --git a/test/parallel/test-crypto-private-decrypt-gh32240.js b/test/parallel/test-crypto-private-decrypt-gh32240.js index e88227a215ba4f..1ff5b565d6d5f4 100644 --- a/test/parallel/test-crypto-private-decrypt-gh32240.js +++ b/test/parallel/test-crypto-private-decrypt-gh32240.js @@ -14,6 +14,8 @@ const { privateDecrypt, } = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); + const pair = generateKeyPairSync('rsa', { modulusLength: 512 }); const expected = Buffer.from('shibboleth'); @@ -34,7 +36,7 @@ function decrypt(key) { } decrypt(pkey); -assert.throws(() => decrypt(pkeyEncrypted), common.hasOpenSSL3 ? +assert.throws(() => decrypt(pkeyEncrypted), hasOpenSSL3 ? { message: 'error:07880109:common libcrypto routines::interrupted or ' + 'cancelled' } : { code: 'ERR_MISSING_PASSPHRASE' }); diff --git a/test/parallel/test-crypto-publicDecrypt-fails-first-time.js b/test/parallel/test-crypto-publicDecrypt-fails-first-time.js index a60b87dbf65229..1d64e08920c63b 100644 --- a/test/parallel/test-crypto-publicDecrypt-fails-first-time.js +++ b/test/parallel/test-crypto-publicDecrypt-fails-first-time.js @@ -3,11 +3,15 @@ const common = require('../common'); // Test for https://github.com/nodejs/node/issues/40814 -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} -if (!common.hasOpenSSL3) +const { hasOpenSSL3 } = require('../common/crypto'); + +if (!hasOpenSSL3) { common.skip('only openssl3'); // https://github.com/nodejs/node/pull/42793#issuecomment-1107491901 +} const assert = require('assert'); const crypto = require('crypto'); diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js index 5f4fafdfffbf72..dcd5045daaf58c 100644 --- a/test/parallel/test-crypto-rsa-dsa.js +++ b/test/parallel/test-crypto-rsa-dsa.js @@ -9,6 +9,7 @@ const crypto = require('crypto'); const constants = crypto.constants; const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); // Test certificates const certPem = fixtures.readKey('rsa_cert.crt'); @@ -36,11 +37,11 @@ const openssl1DecryptError = { library: 'digital envelope routines', }; -const decryptError = common.hasOpenSSL3 ? +const decryptError = hasOpenSSL3 ? { message: 'error:1C800064:Provider routines::bad decrypt' } : openssl1DecryptError; -const decryptPrivateKeyError = common.hasOpenSSL3 ? { +const decryptPrivateKeyError = hasOpenSSL3 ? { message: 'error:1C800064:Provider routines::bad decrypt', } : openssl1DecryptError; @@ -146,7 +147,7 @@ function getBufferCopy(buf) { // Now with RSA_NO_PADDING. Plaintext needs to match key size. // OpenSSL 3.x has a rsa_check_padding that will cause an error if // RSA_NO_PADDING is used. - if (!common.hasOpenSSL3) { + if (!hasOpenSSL3) { { const plaintext = 'x'.repeat(rsaKeySize / 8); encryptedBuffer = crypto.privateEncrypt({ diff --git a/test/parallel/test-crypto-secure-heap.js b/test/parallel/test-crypto-secure-heap.js index 0e5788f00e4a44..c20b01a91a9840 100644 --- a/test/parallel/test-crypto-secure-heap.js +++ b/test/parallel/test-crypto-secure-heap.js @@ -1,21 +1,26 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} -if (common.isWindows) +if (common.isWindows) { common.skip('Not supported on Windows'); +} -if (common.isASan) +if (common.isASan) { common.skip('ASan does not play well with secure heap allocations'); +} const assert = require('assert'); const { fork } = require('child_process'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); const { secureHeapUsed, createDiffieHellman, + getFips, } = require('crypto'); if (process.argv[2] === 'child') { @@ -29,7 +34,7 @@ if (process.argv[2] === 'child') { assert.strictEqual(a.used, 0); { - const size = common.hasFipsCrypto || common.hasOpenSSL3 ? 1024 : 256; + const size = getFips() || hasOpenSSL3 ? 1024 : 256; const dh1 = createDiffieHellman(size); const p1 = dh1.getPrime('buffer'); const dh2 = createDiffieHellman(p1, 'buffer'); diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js index 8a263ec3350f55..0589d60736e377 100644 --- a/test/parallel/test-crypto-sign-verify.js +++ b/test/parallel/test-crypto-sign-verify.js @@ -8,6 +8,10 @@ const fs = require('fs'); const exec = require('child_process').exec; const crypto = require('crypto'); const fixtures = require('../common/fixtures'); +const { + hasOpenSSL3, + opensslCli, +} = require('../common/crypto'); // Test certificates const certPem = fixtures.readKey('rsa_cert.crt'); @@ -62,7 +66,7 @@ const keySize = 2048; key: keyPem, padding: crypto.constants.RSA_PKCS1_OAEP_PADDING }); - }, { message: common.hasOpenSSL3 ? + }, { message: hasOpenSSL3 ? 'error:1C8000A5:Provider routines::illegal or unsupported padding mode' : 'bye, bye, error stack' }); @@ -340,7 +344,7 @@ assert.throws( key: keyPem, padding: crypto.constants.RSA_PKCS1_OAEP_PADDING }); - }, common.hasOpenSSL3 ? { + }, hasOpenSSL3 ? { code: 'ERR_OSSL_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE', message: /illegal or unsupported padding mode/, } : { @@ -599,8 +603,9 @@ assert.throws( // Note: this particular test *must* be the last in this file as it will exit // early if no openssl binary is found { - if (!common.opensslCli) + if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); + } const pubfile = fixtures.path('keys', 'rsa_public_2048.pem'); const privkey = fixtures.readKey('rsa_private_2048.pem'); @@ -622,7 +627,7 @@ assert.throws( fs.writeFileSync(msgfile, msg); exec(...common.escapePOSIXShell`"${ - common.opensslCli}" dgst -sha256 -verify "${pubfile}" -signature "${ + opensslCli}" dgst -sha256 -verify "${pubfile}" -signature "${ sigfile}" -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-2 "${msgfile }"`, common.mustCall((err, stdout, stderr) => { assert(stdout.includes('Verified OK')); diff --git a/test/parallel/test-crypto-stream.js b/test/parallel/test-crypto-stream.js index 008ab129f0e019..62be4eaf6edfb0 100644 --- a/test/parallel/test-crypto-stream.js +++ b/test/parallel/test-crypto-stream.js @@ -21,14 +21,16 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const stream = require('stream'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); -if (!common.hasFipsCrypto) { +if (!crypto.getFips()) { // Small stream to buffer converter class Stream2buffer extends stream.Writable { constructor(callback) { @@ -71,7 +73,7 @@ const cipher = crypto.createCipheriv('aes-128-cbc', key, iv); const decipher = crypto.createDecipheriv('aes-128-cbc', badkey, iv); cipher.pipe(decipher) - .on('error', common.expectsError(common.hasOpenSSL3 ? { + .on('error', common.expectsError(hasOpenSSL3 ? { message: /bad decrypt/, library: 'Provider routines', reason: 'bad decrypt', diff --git a/test/parallel/test-crypto-x509.js b/test/parallel/test-crypto-x509.js index bd906c25b9ee19..f75e1d63470bfb 100644 --- a/test/parallel/test-crypto-x509.js +++ b/test/parallel/test-crypto-x509.js @@ -18,6 +18,7 @@ const { const assert = require('assert'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); const { readFileSync } = require('fs'); const cert = readFileSync(fixtures.path('keys', 'agent1-cert.pem')); @@ -50,7 +51,7 @@ emailAddress=ry@tinyclouds.org`; let infoAccessCheck = `OCSP - URI:http://ocsp.nodejs.org/ CA Issuers - URI:http://ca.nodejs.org/ca.cert`; -if (!common.hasOpenSSL3) +if (!hasOpenSSL3) infoAccessCheck += '\n'; const der = Buffer.from( @@ -357,7 +358,7 @@ UcXd/5qu2GhokrKU2cPttU+XAN2Om6a0 const cert = new X509Certificate(certPem); assert.throws(() => cert.publicKey, { - message: common.hasOpenSSL3 ? /decode error/ : /wrong tag/, + message: hasOpenSSL3 ? /decode error/ : /wrong tag/, name: 'Error' }); diff --git a/test/parallel/test-crypto.js b/test/parallel/test-crypto.js index 4271121881379b..93644e016de447 100644 --- a/test/parallel/test-crypto.js +++ b/test/parallel/test-crypto.js @@ -29,6 +29,7 @@ const assert = require('assert'); const crypto = require('crypto'); const tls = require('tls'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); // Test Certificates const certPfx = fixtures.readKey('rsa_cert.pfx'); @@ -208,9 +209,9 @@ assert.throws(() => { ].join('\n'); crypto.createSign('SHA256').update('test').sign(priv); }, (err) => { - if (!common.hasOpenSSL3) + if (!hasOpenSSL3) assert.ok(!('opensslErrorStack' in err)); - assert.throws(() => { throw err; }, common.hasOpenSSL3 ? { + assert.throws(() => { throw err; }, hasOpenSSL3 ? { name: 'Error', message: 'error:02000070:rsa routines::digest too big for rsa key', library: 'rsa routines', @@ -225,7 +226,7 @@ assert.throws(() => { return true; }); -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { assert.throws(() => { // The correct header inside `rsa_private_pkcs8_bad.pem` should have been // -----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- diff --git a/test/parallel/test-cwd-enoent-preload.js b/test/parallel/test-cwd-enoent-preload.js index 21b20d6d035672..a7841e984d0eab 100644 --- a/test/parallel/test-cwd-enoent-preload.js +++ b/test/parallel/test-cwd-enoent-preload.js @@ -1,10 +1,15 @@ 'use strict'; const common = require('../common'); // Fails with EINVAL on SmartOS, EBUSY on Windows, EBUSY on AIX. -if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) +if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) { common.skip('cannot rmdir current working directory'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-cwd-enoent-repl.js b/test/parallel/test-cwd-enoent-repl.js index 0a61cbfbced9b4..fcb08c004f345c 100644 --- a/test/parallel/test-cwd-enoent-repl.js +++ b/test/parallel/test-cwd-enoent-repl.js @@ -1,10 +1,15 @@ 'use strict'; const common = require('../common'); // Fails with EINVAL on SmartOS, EBUSY on Windows, EBUSY on AIX. -if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) +if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) { common.skip('cannot rmdir current working directory'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-cwd-enoent.js b/test/parallel/test-cwd-enoent.js index 876888bc2be518..ca8b460835d45a 100644 --- a/test/parallel/test-cwd-enoent.js +++ b/test/parallel/test-cwd-enoent.js @@ -1,10 +1,15 @@ 'use strict'; const common = require('../common'); // Fails with EINVAL on SmartOS, EBUSY on Windows, EBUSY on AIX. -if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) +if (common.isSunOS || common.isWindows || common.isAIX || common.isIBMi) { common.skip('cannot rmdir current working directory'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-disable-sigusr1.js b/test/parallel/test-disable-sigusr1.js new file mode 100644 index 00000000000000..e1d15a25ee6505 --- /dev/null +++ b/test/parallel/test-disable-sigusr1.js @@ -0,0 +1,26 @@ +'use strict'; + +const common = require('../common'); +const fixtures = require('../common/fixtures'); +const { it } = require('node:test'); +const assert = require('node:assert'); +const { NodeInstance } = require('../common/inspector-helper.js'); + +common.skipIfInspectorDisabled(); + +it('should not attach a debugger with SIGUSR1', { skip: common.isWindows }, async () => { + const file = fixtures.path('disable-signal/sigusr1.js'); + const instance = new NodeInstance(['--disable-sigusr1'], undefined, file); + + instance.on('stderr', common.mustNotCall()); + const loggedPid = await new Promise((resolve) => { + instance.on('stdout', (data) => { + const matches = data.match(/pid is (\d+)/); + if (matches) resolve(Number(matches[1])); + }); + }); + + assert.ok(process.kill(instance.pid, 'SIGUSR1')); + assert.strictEqual(loggedPid, instance.pid); + assert.ok(await instance.kill()); +}); diff --git a/test/parallel/test-domain-crypto.js b/test/parallel/test-domain-crypto.js index e0a470bd9db515..47eb33f70aae45 100644 --- a/test/parallel/test-domain-crypto.js +++ b/test/parallel/test-domain-crypto.js @@ -31,7 +31,7 @@ const crypto = require('crypto'); // Pollution of global is intentional as part of test. common.allowGlobals(require('domain')); // See https://github.com/nodejs/node/commit/d1eff9ab -global.domain = require('domain'); +globalThis.domain = require('domain'); // Should not throw a 'TypeError: undefined is not a function' exception crypto.randomBytes(8); diff --git a/test/parallel/test-dotenv-edge-cases.js b/test/parallel/test-dotenv-edge-cases.js index 769d33a13b8ce9..926c8d0793ac8b 100644 --- a/test/parallel/test-dotenv-edge-cases.js +++ b/test/parallel/test-dotenv-edge-cases.js @@ -170,4 +170,16 @@ describe('.env supports edge cases', () => { assert.strictEqual(SingleQuotesChild.stderr, ''); assert.strictEqual(SingleQuotesChild.code, 0); }); + + it('should reject invalid env file flag', async () => { + const child = await common.spawnPromisified( + process.execPath, + ['--env-file-ABCD', validEnvFilePath], + { cwd: __dirname }, + ); + + assert.strictEqual(child.stdout, ''); + assert.strictEqual(child.code, 9); + assert.match(child.stderr, /bad option: --env-file-ABCD/); + }); }); diff --git a/test/parallel/test-dsa-fips-invalid-key.js b/test/parallel/test-dsa-fips-invalid-key.js index 05cc1d143aca6e..3df51bfbed3517 100644 --- a/test/parallel/test-dsa-fips-invalid-key.js +++ b/test/parallel/test-dsa-fips-invalid-key.js @@ -1,12 +1,18 @@ 'use strict'; const common = require('../common'); + +if (!common.hasCrypto) { + common.skip('no crypto'); +} + const fixtures = require('../common/fixtures'); +const crypto = require('crypto'); -if (!common.hasFipsCrypto) +if (!crypto.getFips()) { common.skip('node compiled without FIPS OpenSSL.'); +} const assert = require('assert'); -const crypto = require('crypto'); const input = 'hello'; diff --git a/test/parallel/test-eventtarget-memoryleakwarning.js b/test/parallel/test-eventtarget-memoryleakwarning.js index 2c907165d865d9..2ec48720c8a8c5 100644 --- a/test/parallel/test-eventtarget-memoryleakwarning.js +++ b/test/parallel/test-eventtarget-memoryleakwarning.js @@ -103,7 +103,7 @@ common.expectWarning({ }); await setTimeout(0); - global.gc(); + globalThis.gc(); } })().then(common.mustCall(), common.mustNotCall()); } diff --git a/test/parallel/test-eventtarget.js b/test/parallel/test-eventtarget.js index cbe7eb3b0e8687..7153da172c1cf6 100644 --- a/test/parallel/test-eventtarget.js +++ b/test/parallel/test-eventtarget.js @@ -683,7 +683,7 @@ let asyncTest = Promise.resolve(); const et = new EventTarget(); et.addEventListener('foo', common.mustNotCall(), { [kWeakHandler]: {} }); setImmediate(() => { - global.gc(); + globalThis.gc(); et.dispatchEvent(new Event('foo')); }); } diff --git a/test/parallel/test-finalization-registry-shutdown.js b/test/parallel/test-finalization-registry-shutdown.js index f896aa2f285c75..e288d8fecca7e6 100644 --- a/test/parallel/test-finalization-registry-shutdown.js +++ b/test/parallel/test-finalization-registry-shutdown.js @@ -19,5 +19,5 @@ process.on('exit', () => { // This is the final chance to execute JavaScript. register(); // Queue a FinalizationRegistryCleanupTask by a testing gc request. - global.gc(); + globalThis.gc(); }); diff --git a/test/parallel/test-fs-filehandle.js b/test/parallel/test-fs-filehandle.js index 818a3824904431..bcb62da9e4c2cc 100644 --- a/test/parallel/test-fs-filehandle.js +++ b/test/parallel/test-fs-filehandle.js @@ -35,6 +35,6 @@ common.expectWarning({ 'DeprecationWarning': [[deprecationWarning, 'DEP0137']] }); -global.gc(); +globalThis.gc(); setTimeout(() => {}, 10); diff --git a/test/parallel/test-fs-glob.mjs b/test/parallel/test-fs-glob.mjs index 2321ceb87b8ba1..09cc8791bcc34f 100644 --- a/test/parallel/test-fs-glob.mjs +++ b/test/parallel/test-fs-glob.mjs @@ -386,3 +386,97 @@ describe('fsPromises glob - withFileTypes', function() { }); } }); + +// [pattern, exclude option, expected result] +const pattern2 = [ + ['a/{b,c}*', ['a/*c'], ['a/b', 'a/cb']], + ['a/{a,b,c}*', ['a/*bc*', 'a/cb'], ['a/b', 'a/c']], + ['a/**/[cg]', ['**/c'], ['a/abcdef/g', 'a/abcfed/g']], + ['a/**/[cg]', ['./**/c'], ['a/abcdef/g', 'a/abcfed/g']], + ['a/**/[cg]', ['a/**/[cg]/../c'], ['a/abcdef/g', 'a/abcfed/g']], + ['a/*/+(c|g)/*', ['**/./h'], ['a/b/c/d']], + [ + 'a/**/[cg]/../[cg]', + ['a/ab{cde,cfe}*'], + [ + 'a/b/c', + 'a/c', + 'a/c/d/c', + ...(common.isWindows ? [] : ['a/symlink/a/b/c']), + ], + ], + [ + `${absDir}/*`, + [`${absDir}/asdf`, `${absDir}/ba*`], + [`${absDir}/foo`, `${absDir}/quux`, `${absDir}/qwer`, `${absDir}/rewq`], + ], + [ + `${absDir}/*`, + [`${absDir}/asdf`, `**/ba*`], + [ + `${absDir}/bar`, + `${absDir}/baz`, + `${absDir}/foo`, + `${absDir}/quux`, + `${absDir}/qwer`, + `${absDir}/rewq`, + ], + ], + [ + [`${absDir}/*`, 'a/**/[cg]'], + [`${absDir}/*{a,q}*`, './a/*{c,b}*/*'], + [`${absDir}/foo`, 'a/c', ...(common.isWindows ? [] : ['a/symlink/a/b/c'])], + ], +]; + +describe('globSync - exclude', function() { + for (const [pattern, exclude] of Object.entries(patterns).map(([k, v]) => [k, v.filter(Boolean)])) { + test(`${pattern} - exclude: ${exclude}`, () => { + const actual = globSync(pattern, { cwd: fixtureDir, exclude }).sort(); + assert.strictEqual(actual.length, 0); + }); + } + for (const [pattern, exclude, expected] of pattern2) { + test(`${pattern} - exclude: ${exclude}`, () => { + const actual = globSync(pattern, { cwd: fixtureDir, exclude }).sort(); + const normalized = expected.filter(Boolean).map((item) => item.replaceAll('/', sep)).sort(); + assert.deepStrictEqual(actual, normalized); + }); + } +}); + +describe('glob - exclude', function() { + const promisified = promisify(glob); + for (const [pattern, exclude] of Object.entries(patterns).map(([k, v]) => [k, v.filter(Boolean)])) { + test(`${pattern} - exclude: ${exclude}`, async () => { + const actual = (await promisified(pattern, { cwd: fixtureDir, exclude })).sort(); + assert.strictEqual(actual.length, 0); + }); + } + for (const [pattern, exclude, expected] of pattern2) { + test(`${pattern} - exclude: ${exclude}`, async () => { + const actual = (await promisified(pattern, { cwd: fixtureDir, exclude })).sort(); + const normalized = expected.filter(Boolean).map((item) => item.replaceAll('/', sep)).sort(); + assert.deepStrictEqual(actual, normalized); + }); + } +}); + +describe('fsPromises glob - exclude', function() { + for (const [pattern, exclude] of Object.entries(patterns).map(([k, v]) => [k, v.filter(Boolean)])) { + test(`${pattern} - exclude: ${exclude}`, async () => { + const actual = []; + for await (const item of asyncGlob(pattern, { cwd: fixtureDir, exclude })) actual.push(item); + actual.sort(); + assert.strictEqual(actual.length, 0); + }); + } + for (const [pattern, exclude, expected] of pattern2) { + test(`${pattern} - exclude: ${exclude}`, async () => { + const actual = []; + for await (const item of asyncGlob(pattern, { cwd: fixtureDir, exclude })) actual.push(item); + const normalized = expected.filter(Boolean).map((item) => item.replaceAll('/', sep)).sort(); + assert.deepStrictEqual(actual.sort(), normalized); + }); + } +}); diff --git a/test/parallel/test-fs-mkdir.js b/test/parallel/test-fs-mkdir.js index 89b8b436d5c9f4..f7685c7de0a962 100644 --- a/test/parallel/test-fs-mkdir.js +++ b/test/parallel/test-fs-mkdir.js @@ -24,6 +24,7 @@ const common = require('../common'); const assert = require('assert'); const fs = require('fs'); const path = require('path'); +const { isMainThread } = require('worker_threads'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); @@ -217,7 +218,7 @@ function nextdir() { // mkdirpSync dirname loop // XXX: windows and smartos have issues removing a directory that you're in. -if (common.isMainThread && (common.isLinux || common.isMacOS)) { +if (isMainThread && (common.isLinux || common.isMacOS)) { const pathname = tmpdir.resolve(nextdir()); fs.mkdirSync(pathname); process.chdir(pathname); diff --git a/test/parallel/test-fs-promises-file-handle-close.js b/test/parallel/test-fs-promises-file-handle-close.js index d6417964746720..288bc31ea0ada5 100644 --- a/test/parallel/test-fs-promises-file-handle-close.js +++ b/test/parallel/test-fs-promises-file-handle-close.js @@ -32,7 +32,7 @@ doOpen().then(common.mustCall((fd) => { })).then(common.mustCall(() => { setImmediate(() => { // The FileHandle should be out-of-scope and no longer accessed now. - global.gc(); + globalThis.gc(); // Wait an extra event loop turn, as the warning is emitted from the // native layer in an unref()'ed setImmediate() callback. diff --git a/test/parallel/test-fs-realpath.js b/test/parallel/test-fs-realpath.js index d944195de3de0c..69237e3974e5b0 100644 --- a/test/parallel/test-fs-realpath.js +++ b/test/parallel/test-fs-realpath.js @@ -23,9 +23,11 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); const tmpdir = require('../common/tmpdir'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-fs-whatwg-url.js b/test/parallel/test-fs-whatwg-url.js index 7401ed7e76ecd1..2d5664cd12015c 100644 --- a/test/parallel/test-fs-whatwg-url.js +++ b/test/parallel/test-fs-whatwg-url.js @@ -5,6 +5,8 @@ const fixtures = require('../common/fixtures'); const assert = require('assert'); const fs = require('fs'); const tmpdir = require('../common/tmpdir'); +const { isMainThread } = require('worker_threads'); + tmpdir.refresh(); const url = fixtures.fileURL('a.js'); @@ -86,7 +88,7 @@ if (common.isWindows) { // Test that strings are interpreted as paths and not as URL // Can't use process.chdir in Workers // Please avoid testing fs.rmdir('file:') or using it as cleanup -if (common.isMainThread && !common.isWindows) { +if (isMainThread && !common.isWindows) { const oldCwd = process.cwd(); process.chdir(tmpdir.path); diff --git a/test/parallel/test-fs-write-file-sync.js b/test/parallel/test-fs-write-file-sync.js index 4ead91530bb748..e5fbe32eab6d14 100644 --- a/test/parallel/test-fs-write-file-sync.js +++ b/test/parallel/test-fs-write-file-sync.js @@ -21,9 +21,11 @@ 'use strict'; const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('Setting process.umask is not supported in Workers'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-fs-write-reuse-callback.js b/test/parallel/test-fs-write-reuse-callback.js index 82c772ab340fed..c80902e54103fc 100644 --- a/test/parallel/test-fs-write-reuse-callback.js +++ b/test/parallel/test-fs-write-reuse-callback.js @@ -20,7 +20,7 @@ let done = 0; const ondone = common.mustSucceed(() => { if (++done < writes) { - if (done % 25 === 0) global.gc(); + if (done % 25 === 0) globalThis.gc(); setImmediate(write); } else { assert.strictEqual( diff --git a/test/parallel/test-fs-write.js b/test/parallel/test-fs-write.js index a4aeb4e16a748f..82f3425de2aa16 100644 --- a/test/parallel/test-fs-write.js +++ b/test/parallel/test-fs-write.js @@ -39,14 +39,18 @@ const { createExternalizableString, externalizeString, isOneByteString, -} = global; +} = globalThis; + +assert.notStrictEqual(createExternalizableString, undefined); +assert.notStrictEqual(externalizeString, undefined); +assert.notStrictEqual(isOneByteString, undefined); // Account for extra globals exposed by --expose_externalize_string. common.allowGlobals( createExternalizableString, externalizeString, isOneByteString, - global.x, + globalThis.x, ); { diff --git a/test/parallel/test-gc-http-client-connaborted.js b/test/parallel/test-gc-http-client-connaborted.js index 93ca8ee4de59f1..e52a555d788085 100644 --- a/test/parallel/test-gc-http-client-connaborted.js +++ b/test/parallel/test-gc-http-client-connaborted.js @@ -53,7 +53,7 @@ setImmediate(status); function status() { if (done > 0) { createClients = false; - global.gc(); + globalThis.gc(); console.log(`done/collected/total: ${done}/${countGC}/${count}`); if (countGC === count) { server.close(); diff --git a/test/parallel/test-gc-net-timeout.js b/test/parallel/test-gc-net-timeout.js index c4f74b34b79ec9..7a195c26bcdd6b 100644 --- a/test/parallel/test-gc-net-timeout.js +++ b/test/parallel/test-gc-net-timeout.js @@ -64,7 +64,7 @@ setImmediate(status); function status() { if (done > 0) { createClients = false; - global.gc(); + globalThis.gc(); console.log(`done/collected/total: ${done}/${countGC}/${count}`); if (countGC === count) { server.close(); diff --git a/test/parallel/test-gc-tls-external-memory.js b/test/parallel/test-gc-tls-external-memory.js index dcf38e11f6c6bf..480b1086b5395e 100644 --- a/test/parallel/test-gc-tls-external-memory.js +++ b/test/parallel/test-gc-tls-external-memory.js @@ -27,7 +27,7 @@ connect(); function connect() { if (runs % 64 === 0) - global.gc(); + globalThis.gc(); const externalMemoryUsage = process.memoryUsage().external; assert(externalMemoryUsage >= 0, `${externalMemoryUsage} < 0`); if (runs++ === 512) { diff --git a/test/parallel/test-global-setters.js b/test/parallel/test-global-setters.js index 7fd070ed8e1c4e..42f2b69b37b408 100644 --- a/test/parallel/test-global-setters.js +++ b/test/parallel/test-global-setters.js @@ -1,4 +1,10 @@ -/* eslint-disable strict */ +// When setters and getters were added for global.process and global.Buffer to +// create a deprecation path for them in ESM, this test was added to make sure +// the setters and getters behaved as expected. +// Ref: https://github.com/nodejs/node/pull/26882 +// Ref: https://github.com/nodejs/node/pull/26334 + +'use strict'; require('../common'); const assert = require('assert'); const _process = require('process'); @@ -8,20 +14,20 @@ assert.strictEqual(process, _process); // eslint-disable-next-line no-global-assign process = 'asdf'; assert.strictEqual(process, 'asdf'); -assert.strictEqual(global.process, 'asdf'); -global.process = _process; +assert.strictEqual(globalThis.process, 'asdf'); +globalThis.process = _process; assert.strictEqual(process, _process); assert.strictEqual( - typeof Object.getOwnPropertyDescriptor(global, 'process').get, + typeof Object.getOwnPropertyDescriptor(globalThis, 'process').get, 'function'); assert.strictEqual(Buffer, _Buffer); // eslint-disable-next-line no-global-assign Buffer = 'asdf'; assert.strictEqual(Buffer, 'asdf'); -assert.strictEqual(global.Buffer, 'asdf'); -global.Buffer = _Buffer; +assert.strictEqual(globalThis.Buffer, 'asdf'); +globalThis.Buffer = _Buffer; assert.strictEqual(Buffer, _Buffer); assert.strictEqual( - typeof Object.getOwnPropertyDescriptor(global, 'Buffer').get, + typeof Object.getOwnPropertyDescriptor(globalThis, 'Buffer').get, 'function'); diff --git a/test/parallel/test-global.js b/test/parallel/test-global.js index 37f4db5252be5c..835bcc75a83e3b 100644 --- a/test/parallel/test-global.js +++ b/test/parallel/test-global.js @@ -60,9 +60,9 @@ for (const moduleName of builtinModules) { 'crypto', 'navigator', ]; - assert.deepStrictEqual(new Set(Object.keys(global)), new Set(expected)); + assert.deepStrictEqual(new Set(Object.keys(globalThis)), new Set(expected)); expected.forEach((value) => { - const desc = Object.getOwnPropertyDescriptor(global, value); + const desc = Object.getOwnPropertyDescriptor(globalThis, value); if (typeof desc.value === 'function') { assert.strictEqual(desc.value.name, value); } else if (typeof desc.get === 'function') { @@ -74,15 +74,15 @@ for (const moduleName of builtinModules) { common.allowGlobals('bar', 'foo'); baseFoo = 'foo'; // eslint-disable-line no-undef -global.baseBar = 'bar'; +globalThis.baseBar = 'bar'; -assert.strictEqual(global.baseFoo, 'foo', - `x -> global.x failed: global.baseFoo = ${global.baseFoo}`); +assert.strictEqual(globalThis.baseFoo, 'foo', + `x -> globalThis.x failed: globalThis.baseFoo = ${globalThis.baseFoo}`); assert.strictEqual(baseBar, // eslint-disable-line no-undef 'bar', // eslint-disable-next-line no-undef - `global.x -> x failed: baseBar = ${baseBar}`); + `globalThis.x -> x failed: baseBar = ${baseBar}`); const mod = require(fixtures.path('global', 'plain')); const fooBar = mod.fooBar; @@ -91,4 +91,4 @@ assert.strictEqual(fooBar.foo, 'foo'); assert.strictEqual(fooBar.bar, 'bar'); -assert.strictEqual(Object.prototype.toString.call(global), '[object global]'); +assert.strictEqual(Object.prototype.toString.call(globalThis), '[object global]'); diff --git a/test/parallel/test-h2leak-destroy-session-on-socket-ended.js b/test/parallel/test-h2leak-destroy-session-on-socket-ended.js index 3f0fe3e69d924d..af692b278f7d06 100644 --- a/test/parallel/test-h2leak-destroy-session-on-socket-ended.js +++ b/test/parallel/test-h2leak-destroy-session-on-socket-ended.js @@ -31,8 +31,8 @@ server.on('secureConnection', (s) => { firstServerStream = null; setImmediate(() => { - global.gc(); - global.gc(); + globalThis.gc(); + globalThis.gc(); server.close(); }); diff --git a/test/parallel/test-heapdump-async-hooks-init-promise.js b/test/parallel/test-heapdump-async-hooks-init-promise.js index c59cb89baa3d18..63b26843d1254e 100644 --- a/test/parallel/test-heapdump-async-hooks-init-promise.js +++ b/test/parallel/test-heapdump-async-hooks-init-promise.js @@ -43,4 +43,4 @@ async_hooks.createHook({ Promise.resolve().then(() => {}); -setImmediate(global.gc); +setImmediate(globalThis.gc); diff --git a/test/parallel/test-http-agent-domain-reused-gc.js b/test/parallel/test-http-agent-domain-reused-gc.js index 35146ee688eb9b..4f12c2ede839cd 100644 --- a/test/parallel/test-http-agent-domain-reused-gc.js +++ b/test/parallel/test-http-agent-domain-reused-gc.js @@ -26,7 +26,7 @@ async_hooks.createHook({ }, before(id) { if (id === reusedHandleId) { - global.gc(); + globalThis.gc(); checkBeforeCalled(); } } diff --git a/test/parallel/test-http-chunk-problem.js b/test/parallel/test-http-chunk-problem.js index 3629b7576600e8..90c54b8f5c7dcb 100644 --- a/test/parallel/test-http-chunk-problem.js +++ b/test/parallel/test-http-chunk-problem.js @@ -1,9 +1,12 @@ 'use strict'; // http://groups.google.com/group/nodejs/browse_thread/thread/f66cd3c960406919 const common = require('../common'); -if (!common.hasCrypto) + +if (!common.hasCrypto) { common.skip('missing crypto'); +} +const fs = require('fs'); const assert = require('assert'); if (process.argv[2] === 'request') { @@ -73,7 +76,11 @@ function executeRequest(cb) { tmpdir.refresh(); -common.createZeroFilledFile(filename); + +// Create a zero-filled file. +const fd = fs.openSync(filename, 'w'); +fs.ftruncateSync(fd, 10 * 1024 * 1024); +fs.closeSync(fd); server = http.createServer(function(req, res) { res.writeHead(200); diff --git a/test/parallel/test-http-localaddress.js b/test/parallel/test-http-localaddress.js index a0e4bb80a3f8c2..da25ab3047613f 100644 --- a/test/parallel/test-http-localaddress.js +++ b/test/parallel/test-http-localaddress.js @@ -22,8 +22,10 @@ // Flags: --expose-internals 'use strict'; const common = require('../common'); -if (!common.hasMultiLocalhost()) +const { hasMultiLocalhost } = require('../common/net'); +if (!hasMultiLocalhost()) { common.skip('platform-specific test.'); +} const http = require('http'); const assert = require('assert'); diff --git a/test/parallel/test-http-parser-bad-ref.js b/test/parallel/test-http-parser-bad-ref.js index 2c1bfe67485db7..e34054eca67063 100644 --- a/test/parallel/test-http-parser-bad-ref.js +++ b/test/parallel/test-http-parser-bad-ref.js @@ -18,7 +18,7 @@ let messagesComplete = 0; function flushPool() { Buffer.allocUnsafe(Buffer.poolSize - 1); - global.gc(); + globalThis.gc(); } function demoBug(part1, part2) { diff --git a/test/parallel/test-http-server-connections-checking-leak.js b/test/parallel/test-http-server-connections-checking-leak.js index 282c9a569fba7d..38dca83102cfea 100644 --- a/test/parallel/test-http-server-connections-checking-leak.js +++ b/test/parallel/test-http-server-connections-checking-leak.js @@ -20,5 +20,5 @@ for (let i = 0; i < max; i++) { } setImmediate(() => { - global.gc(); + globalThis.gc(); }); diff --git a/test/parallel/test-http-server-headers-timeout-delayed-headers.js b/test/parallel/test-http-server-headers-timeout-delayed-headers.js index af4a5df4b7f530..652969ae324cdf 100644 --- a/test/parallel/test-http-server-headers-timeout-delayed-headers.js +++ b/test/parallel/test-http-server-headers-timeout-delayed-headers.js @@ -38,25 +38,29 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - const errOrEnd = common.mustSucceed(function(err) { + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. + }); + + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); - - client.on('end', errOrEnd); - client.on('error', errOrEnd); + })); client.resume(); sendDelayedRequestHeaders = common.mustCall(() => { setTimeout(() => { - client.write('POST / HTTP/1.1\r\n'); - client.write('Content-Length: 20\r\n'); - client.write('Connection: close\r\n\r\n'); - client.write('12345678901234567890\r\n\r\n'); + client.write( + 'POST / HTTP/1.1\r\n' + + 'Content-Length: 20\r\n' + + 'Connection: close\r\n\r\n' + + '12345678901234567890\r\n\r\n' + ); }, common.platformTimeout(headersTimeout * 2)).unref(); }); })); diff --git a/test/parallel/test-http-server-headers-timeout-interrupted-headers.js b/test/parallel/test-http-server-headers-timeout-interrupted-headers.js index 9d25940ec65cd1..863057dc2819f5 100644 --- a/test/parallel/test-http-server-headers-timeout-interrupted-headers.js +++ b/test/parallel/test-http-server-headers-timeout-interrupted-headers.js @@ -38,21 +38,25 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - const errOrEnd = common.mustSucceed(function(err) { + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. + }); + + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); - - client.on('end', errOrEnd); - client.on('error', errOrEnd); + })); client.resume(); - client.write('GET / HTTP/1.1\r\n'); - client.write('Connection: close\r\n'); - client.write('X-CRASH: '); + client.write( + 'GET / HTTP/1.1\r\n' + + 'Connection: close\r\n' + + 'X-CRASH: ' + ); sendDelayedRequestHeaders = common.mustCall(() => { setTimeout(() => { diff --git a/test/parallel/test-http-server-keepalive-req-gc.js b/test/parallel/test-http-server-keepalive-req-gc.js index 3bfb6c9600cc24..c827cd19ad7222 100644 --- a/test/parallel/test-http-server-keepalive-req-gc.js +++ b/test/parallel/test-http-server-keepalive-req-gc.js @@ -16,8 +16,8 @@ const server = createServer(common.mustCall((req, res) => { req.on('end', common.mustCall(() => { setImmediate(async () => { client.end(); - await global.gc({ type: 'major', execution: 'async' }); - await global.gc({ type: 'major', execution: 'async' }); + await globalThis.gc({ type: 'major', execution: 'async' }); + await globalThis.gc({ type: 'major', execution: 'async' }); }); })); res.end('hello world'); diff --git a/test/parallel/test-http-server-request-timeout-delayed-body.js b/test/parallel/test-http-server-request-timeout-delayed-body.js index fdfbbb2f4cb4e8..2bc6b55a6fcb76 100644 --- a/test/parallel/test-http-server-request-timeout-delayed-body.js +++ b/test/parallel/test-http-server-request-timeout-delayed-body.js @@ -45,27 +45,30 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - client.resume(); - client.write('POST / HTTP/1.1\r\n'); - client.write('Host: example.com\r\n'); - client.write('Content-Length: 20\r\n'); - client.write('Connection: close\r\n'); - client.write('\r\n'); - - sendDelayedRequestBody = common.mustCall(() => { - setTimeout(() => { - client.write('12345678901234567890\r\n\r\n'); - }, common.platformTimeout(requestTimeout * 2)).unref(); + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. }); - const errOrEnd = common.mustSucceed(function(err) { + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); + })); - client.on('end', errOrEnd); - client.on('error', errOrEnd); + client.resume(); + client.write( + 'POST / HTTP/1.1\r\n' + + 'Host: example.com\r\n' + + 'Content-Length: 20\r\n' + + 'Connection: close\r\n\r\n' + ); + + sendDelayedRequestBody = common.mustCall(() => { + setTimeout(() => { + client.write('12345678901234567890\r\n\r\n'); + }, common.platformTimeout(requestTimeout * 2)).unref(); + }); })); diff --git a/test/parallel/test-http-server-request-timeout-delayed-headers.js b/test/parallel/test-http-server-request-timeout-delayed-headers.js index 304a78b96a77d3..e0d4945ec927e1 100644 --- a/test/parallel/test-http-server-request-timeout-delayed-headers.js +++ b/test/parallel/test-http-server-request-timeout-delayed-headers.js @@ -33,25 +33,29 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - const errOrEnd = common.mustSucceed(function(err) { + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. + }); + + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); - - client.on('end', errOrEnd); - client.on('error', errOrEnd); + })); client.resume(); sendDelayedRequestHeaders = common.mustCall(() => { setTimeout(() => { - client.write('POST / HTTP/1.1\r\n'); - client.write('Content-Length: 20\r\n'); - client.write('Connection: close\r\n\r\n'); - client.write('12345678901234567890\r\n\r\n'); + client.write( + 'POST / HTTP/1.1\r\n' + + 'Content-Length: 20\r\n' + + 'Connection: close\r\n\r\n' + + '12345678901234567890\r\n\r\n' + ); }, common.platformTimeout(requestTimeout * 2)).unref(); }); })); diff --git a/test/parallel/test-http-server-request-timeout-interrupted-body.js b/test/parallel/test-http-server-request-timeout-interrupted-body.js index 82c2f3171736a6..97e0a21d53d747 100644 --- a/test/parallel/test-http-server-request-timeout-interrupted-body.js +++ b/test/parallel/test-http-server-request-timeout-interrupted-body.js @@ -45,24 +45,27 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - const errOrEnd = common.mustSucceed(function(err) { + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. + }); + + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); - - client.on('error', errOrEnd); - client.on('end', errOrEnd); + })); client.resume(); - client.write('POST / HTTP/1.1\r\n'); - client.write('Host: example.com\r\n'); - client.write('Content-Length: 20\r\n'); - client.write('Connection: close\r\n'); - client.write('\r\n'); - client.write('1234567890'); + client.write( + 'POST / HTTP/1.1\r\n' + + 'Host: example.com\r\n' + + 'Content-Length: 20\r\n' + + 'Connection: close\r\n\r\n' + + '1234567890' + ); sendDelayedRequestBody = common.mustCall(() => { setTimeout(() => { diff --git a/test/parallel/test-http-server-request-timeout-interrupted-headers.js b/test/parallel/test-http-server-request-timeout-interrupted-headers.js index eb9914dad1f56a..752156ed0ed9da 100644 --- a/test/parallel/test-http-server-request-timeout-interrupted-headers.js +++ b/test/parallel/test-http-server-request-timeout-interrupted-headers.js @@ -33,21 +33,25 @@ server.listen(0, common.mustCall(() => { response += chunk; })); - const errOrEnd = common.mustSucceed(function(err) { + client.on('error', () => { + // Ignore errors like 'write EPIPE' that might occur while the request is + // sent. + }); + + client.on('close', common.mustCall(() => { assert.strictEqual( response, 'HTTP/1.1 408 Request Timeout\r\nConnection: close\r\n\r\n' ); server.close(); - }); - - client.on('end', errOrEnd); - client.on('error', errOrEnd); + })); client.resume(); - client.write('GET / HTTP/1.1\r\n'); - client.write('Connection: close\r\n'); - client.write('X-CRASH: '); + client.write( + 'GET / HTTP/1.1\r\n' + + 'Connection: close\r\n' + + 'X-CRASH: ' + ); sendDelayedRequestHeaders = common.mustCall(() => { setTimeout(() => { diff --git a/test/parallel/test-http2-connect-options.js b/test/parallel/test-http2-connect-options.js index 233ced016974e2..1abcee99e06433 100644 --- a/test/parallel/test-http2-connect-options.js +++ b/test/parallel/test-http2-connect-options.js @@ -4,8 +4,10 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -if (!common.hasMultiLocalhost()) +const { hasMultiLocalhost } = require('../common/net'); +if (!hasMultiLocalhost()) { common.skip('platform-specific test.'); +} const http2 = require('http2'); const assert = require('assert'); diff --git a/test/parallel/test-http2-createwritereq.js b/test/parallel/test-http2-createwritereq.js index 3015ad6c642801..6d2b07d5849ad0 100644 --- a/test/parallel/test-http2-createwritereq.js +++ b/test/parallel/test-http2-createwritereq.js @@ -69,7 +69,7 @@ server.listen(0, common.mustCall(function() { req.destroy = function(...args) { // Schedule a garbage collection event at the end of the current // MakeCallback() run. - process.nextTick(global.gc); + process.nextTick(globalThis.gc); return origDestroy.call(this, ...args); }; diff --git a/test/parallel/test-http2-ip-address-host.js b/test/parallel/test-http2-ip-address-host.js new file mode 100644 index 00000000000000..c0699a89169153 --- /dev/null +++ b/test/parallel/test-http2-ip-address-host.js @@ -0,0 +1,53 @@ +'use strict'; + +const common = require('../common'); +if (!common.hasCrypto) { common.skip('missing crypto'); }; +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const h2 = require('http2'); + +function loadKey(keyname) { + return fixtures.readKey(keyname, 'binary'); +} + +const key = loadKey('agent8-key.pem'); +const cert = fixtures.readKey('agent8-cert.pem'); + +const server = h2.createSecureServer({ key, cert }); +const hasIPv6 = common.hasIPv6; +const testCount = hasIPv6 ? 2 : 1; + +server.on('stream', common.mustCall((stream) => { + const session = stream.session; + assert.strictEqual(session.servername, undefined); + stream.respond({ 'content-type': 'application/json' }); + stream.end(JSON.stringify({ + servername: session.servername, + originSet: session.originSet + }) + ); +}, testCount)); + +let done = 0; + +server.listen(0, common.mustCall(() => { + function handleRequest(url) { + const client = h2.connect(url, + { rejectUnauthorized: false }); + const req = client.request(); + let data = ''; + req.setEncoding('utf8'); + req.on('data', (d) => data += d); + req.on('end', common.mustCall(() => { + const originSet = req.session.originSet; + assert.strictEqual(originSet[0], url); + client.close(); + if (++done === testCount) server.close(); + })); + } + + const ipv4Url = `https://127.0.0.1:${server.address().port}`; + const ipv6Url = `https://[::1]:${server.address().port}`; + handleRequest(ipv4Url); + if (hasIPv6) handleRequest(ipv6Url); +})); diff --git a/test/parallel/test-http2-session-gc-while-write-scheduled.js b/test/parallel/test-http2-session-gc-while-write-scheduled.js index 62379f7d7ed678..9693ded17c0a18 100644 --- a/test/parallel/test-http2-session-gc-while-write-scheduled.js +++ b/test/parallel/test-http2-session-gc-while-write-scheduled.js @@ -23,6 +23,6 @@ const tick = require('../common/tick'); // This schedules a write. client.settings(http2.getDefaultSettings()); client = null; - global.gc(); + globalThis.gc(); }); } diff --git a/test/parallel/test-http2-write-finishes-after-stream-destroy.js b/test/parallel/test-http2-write-finishes-after-stream-destroy.js index ed8833fdb926b1..bf9de8f9291917 100644 --- a/test/parallel/test-http2-write-finishes-after-stream-destroy.js +++ b/test/parallel/test-http2-write-finishes-after-stream-destroy.js @@ -9,7 +9,7 @@ const { duplexPair } = require('stream'); // Make sure the Http2Stream destructor works, since we don't clean the // stream up like we would otherwise do. -process.on('exit', global.gc); +process.on('exit', globalThis.gc); { const [ clientSide, serverSide ] = duplexPair(); diff --git a/test/parallel/test-https-agent-session-eviction.js b/test/parallel/test-https-agent-session-eviction.js index e0986e53c1103b..6f88e81e9ff29d 100644 --- a/test/parallel/test-https-agent-session-eviction.js +++ b/test/parallel/test-https-agent-session-eviction.js @@ -2,10 +2,13 @@ 'use strict'; const common = require('../common'); -const { readKey } = require('../common/fixtures'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { readKey } = require('../common/fixtures'); +const { hasOpenSSL } = require('../common/crypto'); const https = require('https'); const { SSL_OP_NO_TICKET } = require('crypto').constants; @@ -56,7 +59,7 @@ function faultyServer(port) { function second(server, session) { const req = https.request({ port: server.address().port, - ciphers: (common.hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), + ciphers: (hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), rejectUnauthorized: false }, function(res) { res.resume(); diff --git a/test/parallel/test-https-client-renegotiation-limit.js b/test/parallel/test-https-client-renegotiation-limit.js index 35fcc6bfcc6e43..18a602d738c316 100644 --- a/test/parallel/test-https-client-renegotiation-limit.js +++ b/test/parallel/test-https-client-renegotiation-limit.js @@ -21,11 +21,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} const assert = require('assert'); const tls = require('tls'); diff --git a/test/parallel/test-https-foafssl.js b/test/parallel/test-https-foafssl.js index d6dde97a41da9c..df375e7d22201e 100644 --- a/test/parallel/test-https-foafssl.js +++ b/test/parallel/test-https-foafssl.js @@ -21,11 +21,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} -if (!common.opensslCli) +const { opensslCli } = require('../common/crypto'); + +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} const assert = require('assert'); const fixtures = require('../common/fixtures'); @@ -67,7 +71,7 @@ server.listen(0, function() { '-cert', fixtures.path('keys/rsa_cert_foafssl_b.crt'), '-key', fixtures.path('keys/rsa_private_b.pem')]; - const client = spawn(common.opensslCli, args); + const client = spawn(opensslCli, args); client.stdout.on('data', function(data) { console.log('response received'); diff --git a/test/parallel/test-https-localaddress.js b/test/parallel/test-https-localaddress.js index 0de0974dc69b04..2a4629b34e4105 100644 --- a/test/parallel/test-https-localaddress.js +++ b/test/parallel/test-https-localaddress.js @@ -25,8 +25,10 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -if (!common.hasMultiLocalhost()) +const { hasMultiLocalhost } = require('../common/net'); +if (!hasMultiLocalhost()) { common.skip('platform-specific test.'); +} const fixtures = require('../common/fixtures'); const assert = require('assert'); diff --git a/test/parallel/test-https-server-connections-checking-leak.js b/test/parallel/test-https-server-connections-checking-leak.js index e920c8e403705f..f79149ef70a9ab 100644 --- a/test/parallel/test-https-server-connections-checking-leak.js +++ b/test/parallel/test-https-server-connections-checking-leak.js @@ -25,5 +25,5 @@ for (let i = 0; i < max; i++) { } setImmediate(() => { - global.gc(); + globalThis.gc(); }); diff --git a/test/parallel/test-icu-env.js b/test/parallel/test-icu-env.js index afa36132f60e8d..26075a3d0acec2 100644 --- a/test/parallel/test-icu-env.js +++ b/test/parallel/test-icu-env.js @@ -4,7 +4,7 @@ const assert = require('assert'); const { execFileSync } = require('child_process'); const { readFileSync, globSync } = require('fs'); const { path } = require('../common/fixtures'); - +const { isMainThread } = require('worker_threads'); // This test checks for regressions in environment variable handling and // caching, but the localization data originated from ICU might change @@ -169,7 +169,7 @@ if (isMockable) { // Tests with process.env mutated inside { // process.env.TZ is not intercepted in Workers - if (common.isMainThread) { + if (isMainThread) { assert.strictEqual( isSet(zones.map((TZ) => runEnvInside({ TZ }, () => new Date(333333333333).toString()))), true diff --git a/test/parallel/test-inspector-already-activated-cli.js b/test/parallel/test-inspector-already-activated-cli.js index ba76d5168c14b9..9de226cedca60c 100644 --- a/test/parallel/test-inspector-already-activated-cli.js +++ b/test/parallel/test-inspector-already-activated-cli.js @@ -3,7 +3,12 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const inspector = require('inspector'); diff --git a/test/parallel/test-inspector-async-hook-after-done.js b/test/parallel/test-inspector-async-hook-after-done.js index 9f96fdb7b0da84..b49fe32982e132 100644 --- a/test/parallel/test-inspector-async-hook-after-done.js +++ b/test/parallel/test-inspector-async-hook-after-done.js @@ -3,7 +3,12 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { Worker } = require('worker_threads'); diff --git a/test/parallel/test-inspector-async-hook-setup-at-signal.js b/test/parallel/test-inspector-async-hook-setup-at-signal.js index 43f50d00615723..64a3835e415746 100644 --- a/test/parallel/test-inspector-async-hook-setup-at-signal.js +++ b/test/parallel/test-inspector-async-hook-setup-at-signal.js @@ -6,7 +6,11 @@ common.skipIf32Bits(); const { NodeInstance } = require('../common/inspector-helper.js'); const assert = require('assert'); -common.skipIfWorker(); // Signal starts a server for a main thread inspector +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const script = ` process._rawDebug('Waiting until a signal enables the inspector...'); diff --git a/test/parallel/test-inspector-connect-main-thread.js b/test/parallel/test-inspector-connect-main-thread.js index b724bf3cd9d62f..2281b5efcf3ed8 100644 --- a/test/parallel/test-inspector-connect-main-thread.js +++ b/test/parallel/test-inspector-connect-main-thread.js @@ -10,8 +10,8 @@ const { pathToFileURL } = require('url'); const { isMainThread, parentPort, Worker, workerData } = require('worker_threads'); -if (!workerData) { - common.skipIfWorker(); +if (!workerData && !isMainThread) { + common.skip('This test only works on a main thread'); } function toDebug() { diff --git a/test/parallel/test-inspector-connect-to-main-thread.js b/test/parallel/test-inspector-connect-to-main-thread.js index 7254145a2733f0..9244a85f21b15a 100644 --- a/test/parallel/test-inspector-connect-to-main-thread.js +++ b/test/parallel/test-inspector-connect-to-main-thread.js @@ -6,8 +6,8 @@ common.skipIfInspectorDisabled(); const { Session } = require('inspector'); const { Worker, isMainThread, workerData } = require('worker_threads'); -if (!workerData) { - common.skipIfWorker(); +if (!workerData && !isMainThread) { + common.skip('This test only works on a main thread'); } if (isMainThread) { diff --git a/test/parallel/test-inspector-contexts.js b/test/parallel/test-inspector-contexts.js index 9cdf2d0017c4be..9ab2c515b4a9de 100644 --- a/test/parallel/test-inspector-contexts.js +++ b/test/parallel/test-inspector-contexts.js @@ -8,6 +8,8 @@ common.skipIfInspectorDisabled(); const assert = require('assert'); const vm = require('vm'); const { Session } = require('inspector'); +const { gcUntil } = require('../common/gc'); +const { isMainThread } = require('worker_threads'); const session = new Session(); session.connect(); @@ -34,7 +36,7 @@ async function testContextCreatedAndDestroyed() { assert.strictEqual(name.includes(`[${process.pid}]`), true); } else { let expects = `${process.argv0}[${process.pid}]`; - if (!common.isMainThread) { + if (!isMainThread) { expects = `Worker[${require('worker_threads').threadId}]`; } assert.strictEqual(expects, name); @@ -66,8 +68,7 @@ async function testContextCreatedAndDestroyed() { // GC is unpredictable... console.log('Checking/waiting for GC.'); - while (!contextDestroyed) - global.gc(); + await gcUntil('context destruction', () => contextDestroyed, Infinity, { type: 'major', execution: 'async' }); console.log('Context destroyed.'); assert.strictEqual(contextDestroyed.params.executionContextId, id, @@ -98,8 +99,7 @@ async function testContextCreatedAndDestroyed() { // GC is unpredictable... console.log('Checking/waiting for GC again.'); - while (!contextDestroyed) - global.gc(); + await gcUntil('context destruction', () => contextDestroyed, Infinity, { type: 'major', execution: 'async' }); console.log('Other context destroyed.'); } @@ -124,8 +124,7 @@ async function testContextCreatedAndDestroyed() { // GC is unpredictable... console.log('Checking/waiting for GC a third time.'); - while (!contextDestroyed) - global.gc(); + await gcUntil('context destruction', () => contextDestroyed, Infinity, { type: 'major', execution: 'async' }); console.log('Context destroyed once again.'); } @@ -148,8 +147,7 @@ async function testContextCreatedAndDestroyed() { // GC is unpredictable... console.log('Checking/waiting for GC a fourth time.'); - while (!contextDestroyed) - global.gc(); + await gcUntil('context destruction', () => contextDestroyed, Infinity, { type: 'major', execution: 'async' }); console.log('Context destroyed a fourth time.'); } } diff --git a/test/parallel/test-inspector-exit-worker-in-wait-for-connection.js b/test/parallel/test-inspector-exit-worker-in-wait-for-connection.js index 4fcbb092fd23cf..9215d4969fb92f 100644 --- a/test/parallel/test-inspector-exit-worker-in-wait-for-connection.js +++ b/test/parallel/test-inspector-exit-worker-in-wait-for-connection.js @@ -3,9 +3,15 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -const { parentPort, workerData, Worker } = require('node:worker_threads'); -if (!workerData) { - common.skipIfWorker(); +const { + isMainThread, + parentPort, + workerData, + Worker, +} = require('node:worker_threads'); + +if (!workerData && !isMainThread) { + common.skip('This test only works on a main thread'); } const inspector = require('node:inspector'); diff --git a/test/parallel/test-inspector-exit-worker-in-wait-for-connection2.js b/test/parallel/test-inspector-exit-worker-in-wait-for-connection2.js index fb13fc3f969304..cf485ae3a4318f 100644 --- a/test/parallel/test-inspector-exit-worker-in-wait-for-connection2.js +++ b/test/parallel/test-inspector-exit-worker-in-wait-for-connection2.js @@ -3,9 +3,9 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -const { workerData, Worker } = require('node:worker_threads'); -if (!workerData) { - common.skipIfWorker(); +const { isMainThread, workerData, Worker } = require('node:worker_threads'); +if (!workerData && !isMainThread) { + common.skip('This test only works on a main thread'); } const assert = require('node:assert'); diff --git a/test/parallel/test-inspector-network-domain.js b/test/parallel/test-inspector-network-fetch.js similarity index 79% rename from test/parallel/test-inspector-network-domain.js rename to test/parallel/test-inspector-network-fetch.js index d2a56dca95a4ff..26f6d52ff40694 100644 --- a/test/parallel/test-inspector-network-domain.js +++ b/test/parallel/test-inspector-network-fetch.js @@ -11,15 +11,25 @@ const http = require('node:http'); const https = require('node:https'); const inspector = require('node:inspector/promises'); +// Disable certificate validation for the global fetch. +const undici = require('../../deps/undici/src/index.js'); +undici.setGlobalDispatcher(new undici.Agent({ + connect: { + rejectUnauthorized: false, + }, +})); + const session = new inspector.Session(); session.connect(); -const requestHeaders = { - 'accept-language': 'en-US', - 'Cookie': ['k1=v1', 'k2=v2'], - 'age': 1000, - 'x-header1': ['value1', 'value2'] -}; +const requestHeaders = [ + ['accept-language', 'en-US'], + ['cookie', 'k1=v1'], + ['cookie', 'k2=v2'], + ['age', 1000], + ['x-header1', 'value1'], + ['x-header1', 'value2'], +]; const setResponseHeaders = (res) => { res.setHeader('server', 'node'); @@ -28,7 +38,7 @@ const setResponseHeaders = (res) => { res.setHeader('x-header2', ['value1', 'value2']); }; -const httpServer = http.createServer((req, res) => { +const handleRequest = (req, res) => { const path = req.url; switch (path) { case '/hello-world': @@ -39,23 +49,14 @@ const httpServer = http.createServer((req, res) => { default: assert(false, `Unexpected path: ${path}`); } -}); +}; + +const httpServer = http.createServer(handleRequest); const httpsServer = https.createServer({ key: fixtures.readKey('agent1-key.pem'), cert: fixtures.readKey('agent1-cert.pem') -}, (req, res) => { - const path = req.url; - switch (path) { - case '/hello-world': - setResponseHeaders(res); - res.writeHead(200); - res.end('hello world\n'); - break; - default: - assert(false, `Unexpected path: ${path}`); - } -}); +}, handleRequest); const terminate = () => { session.disconnect(); @@ -67,7 +68,7 @@ const terminate = () => { const testHttpGet = () => new Promise((resolve, reject) => { session.on('Network.requestWillBeSent', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); - assert.strictEqual(params.request.url, 'http://127.0.0.1/hello-world'); + assert.strictEqual(params.request.url, `http://127.0.0.1:${httpServer.address().port}/hello-world`); assert.strictEqual(params.request.method, 'GET'); assert.strictEqual(typeof params.request.headers, 'object'); assert.strictEqual(params.request.headers['accept-language'], 'en-US'); @@ -80,14 +81,14 @@ const testHttpGet = () => new Promise((resolve, reject) => { session.on('Network.responseReceived', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); assert.strictEqual(typeof params.timestamp, 'number'); - assert.strictEqual(params.type, 'Other'); + assert.strictEqual(params.type, 'Fetch'); assert.strictEqual(params.response.status, 200); assert.strictEqual(params.response.statusText, 'OK'); - assert.strictEqual(params.response.url, 'http://127.0.0.1/hello-world'); + assert.strictEqual(params.response.url, `http://127.0.0.1:${httpServer.address().port}/hello-world`); assert.strictEqual(typeof params.response.headers, 'object'); assert.strictEqual(params.response.headers.server, 'node'); assert.strictEqual(params.response.headers.etag, '12345'); - assert.strictEqual(params.response.headers['set-cookie'], 'key1=value1\nkey2=value2'); + assert.strictEqual(params.response.headers['Set-Cookie'], 'key1=value1\nkey2=value2'); assert.strictEqual(params.response.headers['x-header2'], 'value1, value2'); })); session.on('Network.loadingFinished', common.mustCall(({ params }) => { @@ -96,18 +97,15 @@ const testHttpGet = () => new Promise((resolve, reject) => { resolve(); })); - http.get({ - host: '127.0.0.1', - port: httpServer.address().port, - path: '/hello-world', - headers: requestHeaders - }, common.mustCall()); + fetch(`http://127.0.0.1:${httpServer.address().port}/hello-world`, { + headers: requestHeaders, + }).then(common.mustCall()); }); const testHttpsGet = () => new Promise((resolve, reject) => { session.on('Network.requestWillBeSent', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); - assert.strictEqual(params.request.url, 'https://127.0.0.1/hello-world'); + assert.strictEqual(params.request.url, `https://127.0.0.1:${httpsServer.address().port}/hello-world`); assert.strictEqual(params.request.method, 'GET'); assert.strictEqual(typeof params.request.headers, 'object'); assert.strictEqual(params.request.headers['accept-language'], 'en-US'); @@ -120,14 +118,14 @@ const testHttpsGet = () => new Promise((resolve, reject) => { session.on('Network.responseReceived', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); assert.strictEqual(typeof params.timestamp, 'number'); - assert.strictEqual(params.type, 'Other'); + assert.strictEqual(params.type, 'Fetch'); assert.strictEqual(params.response.status, 200); assert.strictEqual(params.response.statusText, 'OK'); - assert.strictEqual(params.response.url, 'https://127.0.0.1/hello-world'); + assert.strictEqual(params.response.url, `https://127.0.0.1:${httpsServer.address().port}/hello-world`); assert.strictEqual(typeof params.response.headers, 'object'); assert.strictEqual(params.response.headers.server, 'node'); assert.strictEqual(params.response.headers.etag, '12345'); - assert.strictEqual(params.response.headers['set-cookie'], 'key1=value1\nkey2=value2'); + assert.strictEqual(params.response.headers['Set-Cookie'], 'key1=value1\nkey2=value2'); assert.strictEqual(params.response.headers['x-header2'], 'value1, value2'); })); session.on('Network.loadingFinished', common.mustCall(({ params }) => { @@ -136,13 +134,9 @@ const testHttpsGet = () => new Promise((resolve, reject) => { resolve(); })); - https.get({ - host: '127.0.0.1', - port: httpsServer.address().port, - path: '/hello-world', - rejectUnauthorized: false, + fetch(`https://127.0.0.1:${httpsServer.address().port}/hello-world`, { headers: requestHeaders, - }, common.mustCall()); + }).then(common.mustCall()); }); const testHttpError = () => new Promise((resolve, reject) => { @@ -150,16 +144,14 @@ const testHttpError = () => new Promise((resolve, reject) => { session.on('Network.loadingFailed', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); assert.strictEqual(typeof params.timestamp, 'number'); - assert.strictEqual(params.type, 'Other'); + assert.strictEqual(params.type, 'Fetch'); assert.strictEqual(typeof params.errorText, 'string'); resolve(); })); session.on('Network.responseReceived', common.mustNotCall()); session.on('Network.loadingFinished', common.mustNotCall()); - http.get({ - host: addresses.INVALID_HOST, - }, common.mustNotCall()).on('error', common.mustCall()); + fetch(`http://${addresses.INVALID_HOST}`).catch(common.mustCall()); }); @@ -168,16 +160,14 @@ const testHttpsError = () => new Promise((resolve, reject) => { session.on('Network.loadingFailed', common.mustCall(({ params }) => { assert.ok(params.requestId.startsWith('node-network-event-')); assert.strictEqual(typeof params.timestamp, 'number'); - assert.strictEqual(params.type, 'Other'); + assert.strictEqual(params.type, 'Fetch'); assert.strictEqual(typeof params.errorText, 'string'); resolve(); })); session.on('Network.responseReceived', common.mustNotCall()); session.on('Network.loadingFinished', common.mustNotCall()); - https.get({ - host: addresses.INVALID_HOST, - }, common.mustNotCall()).on('error', common.mustCall()); + fetch(`https://${addresses.INVALID_HOST}`).catch(common.mustCall()); }); const testNetworkInspection = async () => { diff --git a/test/parallel/test-inspector-network-http.js b/test/parallel/test-inspector-network-http.js new file mode 100644 index 00000000000000..e1e987cdd71e28 --- /dev/null +++ b/test/parallel/test-inspector-network-http.js @@ -0,0 +1,241 @@ +// Flags: --inspect=0 --experimental-network-inspection +'use strict'; +const common = require('../common'); + +common.skipIfInspectorDisabled(); + +const assert = require('node:assert'); +const { once } = require('node:events'); +const { addresses } = require('../common/internet'); +const fixtures = require('../common/fixtures'); +const http = require('node:http'); +const https = require('node:https'); +const inspector = require('node:inspector/promises'); + +const session = new inspector.Session(); +session.connect(); + +const requestHeaders = { + 'accept-language': 'en-US', + 'Cookie': ['k1=v1', 'k2=v2'], + 'age': 1000, + 'x-header1': ['value1', 'value2'] +}; + +const setResponseHeaders = (res) => { + res.setHeader('server', 'node'); + res.setHeader('etag', 12345); + res.setHeader('Set-Cookie', ['key1=value1', 'key2=value2']); + res.setHeader('x-header2', ['value1', 'value2']); +}; + +const kTimeout = 1000; +const kDelta = 200; + +const handleRequest = (req, res) => { + const path = req.url; + switch (path) { + case '/hello-world': + setResponseHeaders(res); + res.writeHead(200); + // Ensure the header is sent. + res.write('\n'); + + setTimeout(() => { + res.end('hello world\n'); + }, kTimeout); + break; + default: + assert(false, `Unexpected path: ${path}`); + } +}; + +const httpServer = http.createServer(handleRequest); + +const httpsServer = https.createServer({ + key: fixtures.readKey('agent1-key.pem'), + cert: fixtures.readKey('agent1-cert.pem') +}, handleRequest); + +const terminate = () => { + session.disconnect(); + httpServer.close(); + httpsServer.close(); + inspector.close(); +}; + +function verifyRequestWillBeSent({ method, params }, expect) { + assert.strictEqual(method, 'Network.requestWillBeSent'); + + assert.ok(params.requestId.startsWith('node-network-event-')); + assert.strictEqual(params.request.url, expect.url); + assert.strictEqual(params.request.method, 'GET'); + assert.strictEqual(typeof params.request.headers, 'object'); + assert.strictEqual(params.request.headers['accept-language'], 'en-US'); + assert.strictEqual(params.request.headers.cookie, 'k1=v1; k2=v2'); + assert.strictEqual(params.request.headers.age, '1000'); + assert.strictEqual(params.request.headers['x-header1'], 'value1, value2'); + assert.strictEqual(typeof params.timestamp, 'number'); + assert.strictEqual(typeof params.wallTime, 'number'); + + return params; +} + +function verifyResponseReceived({ method, params }, expect) { + assert.strictEqual(method, 'Network.responseReceived'); + + assert.ok(params.requestId.startsWith('node-network-event-')); + assert.strictEqual(typeof params.timestamp, 'number'); + assert.strictEqual(params.type, 'Other'); + assert.strictEqual(params.response.status, 200); + assert.strictEqual(params.response.statusText, 'OK'); + assert.strictEqual(params.response.url, expect.url); + assert.strictEqual(typeof params.response.headers, 'object'); + assert.strictEqual(params.response.headers.server, 'node'); + assert.strictEqual(params.response.headers.etag, '12345'); + assert.strictEqual(params.response.headers['set-cookie'], 'key1=value1\nkey2=value2'); + assert.strictEqual(params.response.headers['x-header2'], 'value1, value2'); + + return params; +} + +function verifyLoadingFinished({ method, params }) { + assert.strictEqual(method, 'Network.loadingFinished'); + + assert.ok(params.requestId.startsWith('node-network-event-')); + assert.strictEqual(typeof params.timestamp, 'number'); + return params; +} + +function verifyLoadingFailed({ method, params }) { + assert.strictEqual(method, 'Network.loadingFailed'); + + assert.ok(params.requestId.startsWith('node-network-event-')); + assert.strictEqual(typeof params.timestamp, 'number'); + assert.strictEqual(params.type, 'Other'); + assert.strictEqual(typeof params.errorText, 'string'); +} + +async function testHttpGet() { + const url = `http://127.0.0.1:${httpServer.address().port}/hello-world`; + const requestWillBeSentFuture = once(session, 'Network.requestWillBeSent') + .then(([event]) => verifyRequestWillBeSent(event, { url })); + + const responseReceivedFuture = once(session, 'Network.responseReceived') + .then(([event]) => verifyResponseReceived(event, { url })); + + const loadingFinishedFuture = once(session, 'Network.loadingFinished') + .then(([event]) => verifyLoadingFinished(event)); + + http.get({ + host: '127.0.0.1', + port: httpServer.address().port, + path: '/hello-world', + headers: requestHeaders + }, common.mustCall((res) => { + // Dump the response. + res.on('data', () => {}); + res.on('end', () => {}); + })); + + await requestWillBeSentFuture; + const responseReceived = await responseReceivedFuture; + const loadingFinished = await loadingFinishedFuture; + + const delta = (loadingFinished.timestamp - responseReceived.timestamp) * 1000; + assert.ok(delta > kDelta); +} + +async function testHttpsGet() { + const url = `https://127.0.0.1:${httpsServer.address().port}/hello-world`; + const requestWillBeSentFuture = once(session, 'Network.requestWillBeSent') + .then(([event]) => verifyRequestWillBeSent(event, { url })); + + const responseReceivedFuture = once(session, 'Network.responseReceived') + .then(([event]) => verifyResponseReceived(event, { url })); + + const loadingFinishedFuture = once(session, 'Network.loadingFinished') + .then(([event]) => verifyLoadingFinished(event)); + + https.get({ + host: '127.0.0.1', + port: httpsServer.address().port, + path: '/hello-world', + rejectUnauthorized: false, + headers: requestHeaders, + }, common.mustCall((res) => { + // Dump the response. + res.on('data', () => {}); + res.on('end', () => {}); + })); + + await requestWillBeSentFuture; + const responseReceived = await responseReceivedFuture; + const loadingFinished = await loadingFinishedFuture; + + const delta = (loadingFinished.timestamp - responseReceived.timestamp) * 1000; + assert.ok(delta > kDelta); +} + +async function testHttpError() { + const url = `http://${addresses.INVALID_HOST}/`; + const requestWillBeSentFuture = once(session, 'Network.requestWillBeSent') + .then(([event]) => verifyRequestWillBeSent(event, { url })); + session.on('Network.responseReceived', common.mustNotCall()); + session.on('Network.loadingFinished', common.mustNotCall()); + + const loadingFailedFuture = once(session, 'Network.loadingFailed') + .then(([event]) => verifyLoadingFailed(event)); + + http.get({ + host: addresses.INVALID_HOST, + headers: requestHeaders, + }, common.mustNotCall()).on('error', common.mustCall()); + + await requestWillBeSentFuture; + await loadingFailedFuture; +} + +async function testHttpsError() { + const url = `https://${addresses.INVALID_HOST}/`; + const requestWillBeSentFuture = once(session, 'Network.requestWillBeSent') + .then(([event]) => verifyRequestWillBeSent(event, { url })); + session.on('Network.responseReceived', common.mustNotCall()); + session.on('Network.loadingFinished', common.mustNotCall()); + + const loadingFailedFuture = once(session, 'Network.loadingFailed') + .then(([event]) => verifyLoadingFailed(event)); + + https.get({ + host: addresses.INVALID_HOST, + headers: requestHeaders, + }, common.mustNotCall()).on('error', common.mustCall()); + + await requestWillBeSentFuture; + await loadingFailedFuture; +} + +const testNetworkInspection = async () => { + await testHttpGet(); + session.removeAllListeners(); + await testHttpsGet(); + session.removeAllListeners(); + await testHttpError(); + session.removeAllListeners(); + await testHttpsError(); + session.removeAllListeners(); +}; + +httpServer.listen(0, () => { + httpsServer.listen(0, async () => { + try { + await session.post('Network.enable'); + await testNetworkInspection(); + await session.post('Network.disable'); + } catch (e) { + assert.fail(e); + } finally { + terminate(); + } + }); +}); diff --git a/test/parallel/test-inspector-open-coverage.js b/test/parallel/test-inspector-open-coverage.js index 259049c36822ab..33f50bfc3f53c4 100644 --- a/test/parallel/test-inspector-open-coverage.js +++ b/test/parallel/test-inspector-open-coverage.js @@ -7,7 +7,12 @@ const fixtures = require('../common/fixtures'); const tmpdir = require('../common/tmpdir'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} tmpdir.refresh(); diff --git a/test/parallel/test-inspector-open-port-integer-overflow.js b/test/parallel/test-inspector-open-port-integer-overflow.js index 0f9a4799d0642a..a1b5c640c4c18d 100644 --- a/test/parallel/test-inspector-open-port-integer-overflow.js +++ b/test/parallel/test-inspector-open-port-integer-overflow.js @@ -5,7 +5,12 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const inspector = require('inspector'); diff --git a/test/parallel/test-inspector-overwrite-config.js b/test/parallel/test-inspector-overwrite-config.js index c20df083256120..53599b31df8acc 100644 --- a/test/parallel/test-inspector-overwrite-config.js +++ b/test/parallel/test-inspector-overwrite-config.js @@ -13,9 +13,11 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('--require does not work with Workers'); +} const inspector = require('inspector'); const msg = 'Test inspector logging'; diff --git a/test/parallel/test-inspector-port-zero-cluster.js b/test/parallel/test-inspector-port-zero-cluster.js index 8e2db0b69d5ca0..5ee7bcf7417345 100644 --- a/test/parallel/test-inspector-port-zero-cluster.js +++ b/test/parallel/test-inspector-port-zero-cluster.js @@ -3,7 +3,12 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} // Assert that even when started with `--inspect=0` workers are assigned // consecutive (i.e. deterministically predictable) debug ports diff --git a/test/parallel/test-inspector-scriptparsed-context.js b/test/parallel/test-inspector-scriptparsed-context.js index bd86ba53d4c986..31ae896c818b82 100644 --- a/test/parallel/test-inspector-scriptparsed-context.js +++ b/test/parallel/test-inspector-scriptparsed-context.js @@ -8,8 +8,8 @@ const script = ` 'use strict'; const assert = require('assert'); const vm = require('vm'); - global.outer = true; - global.inner = false; + globalThis.outer = true; + globalThis.inner = false; const context = vm.createContext({ outer: false, inner: true diff --git a/test/parallel/test-inspector-tracing-domain.js b/test/parallel/test-inspector-tracing-domain.js index f5ac6875a0f643..aa31d63a01577d 100644 --- a/test/parallel/test-inspector-tracing-domain.js +++ b/test/parallel/test-inspector-tracing-domain.js @@ -3,7 +3,13 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); // https://github.com/nodejs/node/issues/22767 + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + // https://github.com/nodejs/node/issues/22767 + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { Session } = require('inspector'); diff --git a/test/parallel/test-inspector-vm-global-accessors-getter-sideeffect.js b/test/parallel/test-inspector-vm-global-accessors-getter-sideeffect.js index 8b367e98c37f49..89414e50346871 100644 --- a/test/parallel/test-inspector-vm-global-accessors-getter-sideeffect.js +++ b/test/parallel/test-inspector-vm-global-accessors-getter-sideeffect.js @@ -14,7 +14,7 @@ session.connect(); const context = vm.createContext({ get a() { - global.foo = '1'; + globalThis.foo = '1'; return 100; } }); diff --git a/test/parallel/test-inspector-workers-flat-list.js b/test/parallel/test-inspector-workers-flat-list.js index 9f6495d10fb147..a7b57fbb0a353b 100644 --- a/test/parallel/test-inspector-workers-flat-list.js +++ b/test/parallel/test-inspector-workers-flat-list.js @@ -6,8 +6,8 @@ common.skipIfInspectorDisabled(); const { Worker, isMainThread, parentPort, workerData } = require('worker_threads'); -if (isMainThread || workerData !== 'launched by test') { - common.skipIfWorker(); +if (!isMainThread || workerData !== 'launched by test') { + common.skip('This test only works on a main thread'); } const { Session } = require('inspector'); diff --git a/test/parallel/test-internal-module-require.js b/test/parallel/test-internal-module-require.js index 058273c7ea4304..213838150b96d9 100644 --- a/test/parallel/test-internal-module-require.js +++ b/test/parallel/test-internal-module-require.js @@ -8,8 +8,9 @@ // 3. Deprecated modules are properly deprecated. const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) { +if (!isMainThread) { common.skip('Cannot test the existence of --expose-internals from worker'); } diff --git a/test/parallel/test-is-internal-thread.mjs b/test/parallel/test-is-internal-thread.mjs new file mode 100644 index 00000000000000..dd8af897c219ba --- /dev/null +++ b/test/parallel/test-is-internal-thread.mjs @@ -0,0 +1,36 @@ +import { spawnPromisified } from '../common/index.mjs'; +import * as fixtures from '../common/fixtures.mjs'; +import assert from 'node:assert'; +import { execPath } from 'node:process'; +import { describe, it } from 'node:test'; +import { isInternalThread, Worker } from 'node:worker_threads'; +import * as common from '../common/index.mjs'; + +describe('worker_threads.isInternalThread', { concurrency: !process.env.TEST_PARALLEL }, () => { + it('should be true inside the loader thread', async () => { + const { code, signal, stdout, stderr } = await spawnPromisified(execPath, [ + '--no-warnings', + '--experimental-loader', + fixtures.fileURL('loader-is-internal-thread.js'), + '--eval', + 'setTimeout(() => {},99)', + ]); + + assert.strictEqual(stderr, ''); + assert.match(stdout, /isInternalThread: true/); + assert.strictEqual(code, 0); + assert.strictEqual(signal, null); + }); + + it('should be false inside the main thread', async () => { + assert.strictEqual(isInternalThread, false); + }); + + it('should be false inside a regular worker thread', async () => { + const worker = new Worker(fixtures.path('worker-is-internal-thread.js')); + + worker.on('message', common.mustCall((message) => { + assert.strictEqual(message, 'isInternalThread: false'); + })); + }); +}); diff --git a/test/parallel/test-module-create-require-multibyte.js b/test/parallel/test-module-create-require-multibyte.js new file mode 100644 index 00000000000000..f9c4b6345dc59e --- /dev/null +++ b/test/parallel/test-module-create-require-multibyte.js @@ -0,0 +1,24 @@ +'use strict'; + +require('../common'); +const fixtures = require('../common/fixtures'); +const assert = require('assert'); + +// This test ensures that the module can be resolved +// even if the path given to createRequire contains multibyte characters. + +const { createRequire } = require('module'); + +{ + const u = fixtures.fileURL('あ.js'); + + const reqToo = createRequire(u); + assert.deepStrictEqual(reqToo('./experimental'), { ofLife: 42 }); +} + +{ + const u = fixtures.fileURL('copy/utf/新建文件夹/index.js'); + + const reqToo = createRequire(u); + assert.deepStrictEqual(reqToo('./experimental'), { ofLife: 42 }); +} diff --git a/test/parallel/test-module-relative-lookup.js b/test/parallel/test-module-relative-lookup.js index 675c12c541fd4d..76af2b3b30c2e0 100644 --- a/test/parallel/test-module-relative-lookup.js +++ b/test/parallel/test-module-relative-lookup.js @@ -2,7 +2,7 @@ const common = require('../common'); const assert = require('assert'); -const _module = require('module'); // Avoid collision with global.module +const _module = require('module'); // Avoid collision with globalThis.module // Current directory gets highest priority for local modules function testFirstInPath(moduleName, isLocalModule) { diff --git a/test/parallel/test-module-setsourcemapssupport.js b/test/parallel/test-module-setsourcemapssupport.js new file mode 100644 index 00000000000000..ea3e396a5c5960 --- /dev/null +++ b/test/parallel/test-module-setsourcemapssupport.js @@ -0,0 +1,43 @@ +'use strict'; +require('../common'); +const assert = require('node:assert'); +const Module = require('node:module'); + +// This test verifies that the `Module.setSourceMapsSupport` throws on invalid +// argument inputs. + +{ + const unexpectedValues = [ + undefined, + null, + 1, + {}, + () => {}, + ]; + for (const it of unexpectedValues) { + assert.throws(() => { + Module.setSourceMapsSupport(it); + }, /ERR_INVALID_ARG_TYPE/); + } +} + +{ + const unexpectedValues = [ + null, + 1, + {}, + () => {}, + ]; + for (const it of unexpectedValues) { + assert.throws(() => { + Module.setSourceMapsSupport(true, { + nodeModules: it, + }); + }, /ERR_INVALID_ARG_TYPE/); + assert.throws(() => { + Module.setSourceMapsSupport(true, { + generatedCode: it, + }); + }, /ERR_INVALID_ARG_TYPE/); + } +} diff --git a/test/parallel/test-net-connect-memleak.js b/test/parallel/test-net-connect-memleak.js index 84f643746838b6..079e45f7223a8b 100644 --- a/test/parallel/test-net-connect-memleak.js +++ b/test/parallel/test-net-connect-memleak.js @@ -49,7 +49,7 @@ const gcListener = { ongc() { collected = true; } }; } function done(sock) { - global.gc(); + globalThis.gc(); setImmediate(() => { assert.strictEqual(collected, true); sock.end(); diff --git a/test/parallel/test-net-write-fully-async-buffer.js b/test/parallel/test-net-write-fully-async-buffer.js index 0dddb51bd76ade..042dd79cb03127 100644 --- a/test/parallel/test-net-write-fully-async-buffer.js +++ b/test/parallel/test-net-write-fully-async-buffer.js @@ -23,7 +23,7 @@ const server = net.createServer(common.mustCall(function(conn) { } while (conn.write(Buffer.from(data))); - global.gc({ type: 'minor' }); + globalThis.gc({ type: 'minor' }); // The buffer allocated above should still be alive. } diff --git a/test/parallel/test-net-write-fully-async-hex-string.js b/test/parallel/test-net-write-fully-async-hex-string.js index 37b5cd75c1385c..b80b09f3244585 100644 --- a/test/parallel/test-net-write-fully-async-hex-string.js +++ b/test/parallel/test-net-write-fully-async-hex-string.js @@ -21,7 +21,7 @@ const server = net.createServer(common.mustCall(function(conn) { } while (conn.write(data, 'hex')); - global.gc({ type: 'minor' }); + globalThis.gc({ type: 'minor' }); // The buffer allocated inside the .write() call should still be alive. } diff --git a/test/parallel/test-node-output-errors.mjs b/test/parallel/test-node-output-errors.mjs index 1f93330834ea64..3d913475d8d2a0 100644 --- a/test/parallel/test-node-output-errors.mjs +++ b/test/parallel/test-node-output-errors.mjs @@ -63,6 +63,8 @@ describe('errors output', { concurrency: !process.env.TEST_PARALLEL }, () => { { name: 'errors/if-error-has-good-stack.js', transform: errTransform }, { name: 'errors/throw_custom_error.js', transform: errTransform }, { name: 'errors/throw_error_with_getter_throw.js', transform: errTransform }, + { name: 'errors/throw_in_eval_anonymous.js', transform: errTransform }, + { name: 'errors/throw_in_eval_named.js', transform: errTransform }, { name: 'errors/throw_in_line_with_tabs.js', transform: errTransform }, { name: 'errors/throw_non_error.js', transform: errTransform }, { name: 'errors/throw_null.js', transform: errTransform }, diff --git a/test/parallel/test-node-output-sourcemaps.mjs b/test/parallel/test-node-output-sourcemaps.mjs index e9104db220867f..29cc5eb711f176 100644 --- a/test/parallel/test-node-output-sourcemaps.mjs +++ b/test/parallel/test-node-output-sourcemaps.mjs @@ -27,7 +27,10 @@ describe('sourcemaps output', { concurrency: !process.env.TEST_PARALLEL }, () => const tests = [ { name: 'source-map/output/source_map_disabled_by_api.js' }, + { name: 'source-map/output/source_map_disabled_by_process_api.js' }, { name: 'source-map/output/source_map_enabled_by_api.js' }, + { name: 'source-map/output/source_map_enabled_by_api_node_modules.js' }, + { name: 'source-map/output/source_map_enabled_by_process_api.js' }, { name: 'source-map/output/source_map_enclosing_function.js' }, { name: 'source-map/output/source_map_eval.js' }, { name: 'source-map/output/source_map_no_source_file.js' }, diff --git a/test/parallel/test-performance-gc.js b/test/parallel/test-performance-gc.js index 9c4a3a850a22dd..9dddf7207f59d2 100644 --- a/test/parallel/test-performance-gc.js +++ b/test/parallel/test-performance-gc.js @@ -40,7 +40,7 @@ const kinds = [ obs.disconnect(); })); obs.observe({ entryTypes: ['gc'] }); - global.gc(); + globalThis.gc(); // Keep the event loop alive to witness the GC async callback happen. setImmediate(() => setImmediate(() => 0)); } @@ -51,6 +51,6 @@ const kinds = [ process.on('beforeExit', () => { assert(!didCall); didCall = true; - global.gc(); + globalThis.gc(); }); } diff --git a/test/parallel/test-performance-nodetiming-uvmetricsinfo.js b/test/parallel/test-performance-nodetiming-uvmetricsinfo.js index 3d32e0deb72e94..b67682b0ff3559 100644 --- a/test/parallel/test-performance-nodetiming-uvmetricsinfo.js +++ b/test/parallel/test-performance-nodetiming-uvmetricsinfo.js @@ -1,7 +1,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const { spawnSync } = require('node:child_process'); const assert = require('node:assert'); diff --git a/test/parallel/test-permission-allow-addons-cli.js b/test/parallel/test-permission-allow-addons-cli.js index 484f16e0acb3b5..342bdb6bc01e35 100644 --- a/test/parallel/test-permission-allow-addons-cli.js +++ b/test/parallel/test-permission-allow-addons-cli.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const { createRequire } = require('node:module'); const assert = require('node:assert'); diff --git a/test/parallel/test-permission-allow-child-process-cli.js b/test/parallel/test-permission-allow-child-process-cli.js index 1569b2b5e87459..cf7e79e208d389 100644 --- a/test/parallel/test-permission-allow-child-process-cli.js +++ b/test/parallel/test-permission-allow-child-process-cli.js @@ -2,11 +2,24 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + const assert = require('assert'); const childProcess = require('child_process'); +const fs = require('fs'); if (process.argv[2] === 'child') { + assert.throws(() => { + fs.writeFileSync(__filename, 'should not write'); + }, common.expectsError({ + code: 'ERR_ACCESS_DENIED', + permission: 'FileSystemWrite', + })); process.exit(0); } @@ -21,6 +34,7 @@ if (process.argv[2] === 'child') { // doesNotThrow childProcess.spawnSync(process.execPath, ['--version']); childProcess.execSync(...common.escapePOSIXShell`"${process.execPath}" --version`); - childProcess.fork(__filename, ['child']); + const child = childProcess.fork(__filename, ['child']); + child.on('close', common.mustCall()); childProcess.execFileSync(process.execPath, ['--version']); } diff --git a/test/parallel/test-permission-allow-wasi-cli.js b/test/parallel/test-permission-allow-wasi-cli.js index c6bea9fb39cf0a..20aca9292533d5 100644 --- a/test/parallel/test-permission-allow-wasi-cli.js +++ b/test/parallel/test-permission-allow-wasi-cli.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { WASI } = require('wasi'); diff --git a/test/parallel/test-permission-child-process-cli.js b/test/parallel/test-permission-child-process-cli.js index dfea008a60407b..7d8fbf0564d5ef 100644 --- a/test/parallel/test-permission-child-process-cli.js +++ b/test/parallel/test-permission-child-process-cli.js @@ -2,7 +2,12 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + const assert = require('assert'); const childProcess = require('child_process'); diff --git a/test/parallel/test-permission-dc-worker-threads.js b/test/parallel/test-permission-dc-worker-threads.js index 73cbf02981fa88..4fdb566f9e1701 100644 --- a/test/parallel/test-permission-dc-worker-threads.js +++ b/test/parallel/test-permission-dc-worker-threads.js @@ -1,4 +1,4 @@ -// Flags: --experimental-permission --allow-fs-read=* --experimental-test-module-mocks +// Flags: --permission --allow-fs-read=* --experimental-test-module-mocks 'use strict'; const common = require('../common'); diff --git a/test/parallel/test-permission-fs-absolute-path.js b/test/parallel/test-permission-fs-absolute-path.js index 2c2257052c8b02..c3bf9ef5cfb2d1 100644 --- a/test/parallel/test-permission-fs-absolute-path.js +++ b/test/parallel/test-permission-fs-absolute-path.js @@ -3,7 +3,11 @@ const common = require('../common'); const path = require('path'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { spawnSync } = require('child_process'); diff --git a/test/parallel/test-permission-fs-internal-module-stat.js b/test/parallel/test-permission-fs-internal-module-stat.js index fd0222cc34fa2e..ef99e4cca73a4f 100644 --- a/test/parallel/test-permission-fs-internal-module-stat.js +++ b/test/parallel/test-permission-fs-internal-module-stat.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} if (!common.hasCrypto) { common.skip('no crypto'); diff --git a/test/parallel/test-permission-fs-read.js b/test/parallel/test-permission-fs-read.js index ed8e866a6a4c10..b719207bdbd820 100644 --- a/test/parallel/test-permission-fs-read.js +++ b/test/parallel/test-permission-fs-read.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} if (!common.hasCrypto) { common.skip('no crypto'); diff --git a/test/parallel/test-permission-fs-relative-path.js b/test/parallel/test-permission-fs-relative-path.js index 3b115ee35d1227..9f4ce25f0f7d37 100644 --- a/test/parallel/test-permission-fs-relative-path.js +++ b/test/parallel/test-permission-fs-relative-path.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { spawnSync } = require('child_process'); diff --git a/test/parallel/test-permission-fs-repeat-path.js b/test/parallel/test-permission-fs-repeat-path.js new file mode 100644 index 00000000000000..d24197e905063d --- /dev/null +++ b/test/parallel/test-permission-fs-repeat-path.js @@ -0,0 +1,44 @@ +// Flags: --permission --allow-fs-read=* --allow-child-process +'use strict'; + +const common = require('../common'); +const path = require('path'); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +const assert = require('assert'); +const { spawnSync } = require('child_process'); + +{ + // Relative path as CLI args are supported + const { status, stdout } = spawnSync( + process.execPath, + [ + '--permission', + '--allow-fs-write', path.resolve('../fixtures/permission/deny/regular-file.md'), + '--allow-fs-write', path.resolve('../fixtures/permission/deny/regular-file.md'), + '--allow-fs-read', path.resolve('../fixtures/permission/deny/regular-file.md'), + '--allow-fs-read', path.resolve('../fixtures/permission/deny/regular-file.md'), + '-e', + ` + const path = require("path"); + const absolutePath = path.resolve("../fixtures/permission/deny/regular-file.md"); + const blockedPath = path.resolve("../fixtures/permission/deny/protected-file.md"); + console.log(process.permission.has("fs.write", absolutePath)); + console.log(process.permission.has("fs.read", absolutePath)); + console.log(process.permission.has("fs.read", blockedPath)); + console.log(process.permission.has("fs.write", blockedPath)); + `, + ] + ); + + const [fsWrite, fsRead, fsBlockedRead, fsBlockedWrite] = stdout.toString().split('\n'); + assert.strictEqual(status, 0); + assert.strictEqual(fsWrite, 'true'); + assert.strictEqual(fsRead, 'true'); + assert.strictEqual(fsBlockedRead, 'false'); + assert.strictEqual(fsBlockedWrite, 'false'); +} diff --git a/test/parallel/test-permission-fs-require.js b/test/parallel/test-permission-fs-require.js index 5d3a407708371e..8406f9ec052eae 100644 --- a/test/parallel/test-permission-fs-require.js +++ b/test/parallel/test-permission-fs-require.js @@ -2,7 +2,13 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + const fixtures = require('../common/fixtures'); const assert = require('node:assert'); diff --git a/test/parallel/test-permission-fs-symlink-relative.js b/test/parallel/test-permission-fs-symlink-relative.js index cf9b37ea79b059..e1fe5d064a8756 100644 --- a/test/parallel/test-permission-fs-symlink-relative.js +++ b/test/parallel/test-permission-fs-symlink-relative.js @@ -2,7 +2,12 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const path = require('path'); diff --git a/test/parallel/test-permission-fs-symlink-target-write.js b/test/parallel/test-permission-fs-symlink-target-write.js index f55b19fa764a89..1cffead4dd7e71 100644 --- a/test/parallel/test-permission-fs-symlink-target-write.js +++ b/test/parallel/test-permission-fs-symlink-target-write.js @@ -2,11 +2,19 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); -if (!common.canCreateSymLink()) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +if (!common.canCreateSymLink()) { common.skip('insufficient privileges'); -if (!common.hasCrypto) +} + +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); const fs = require('fs'); @@ -15,9 +23,7 @@ const tmpdir = require('../common/tmpdir'); const fixtures = require('../common/fixtures'); const { spawnSync } = require('child_process'); -{ - tmpdir.refresh(); -} +tmpdir.refresh(); const readOnlyFolder = tmpdir.resolve('read-only'); const readWriteFolder = tmpdir.resolve('read-write'); diff --git a/test/parallel/test-permission-fs-symlink.js b/test/parallel/test-permission-fs-symlink.js index 92965c960177d4..e5a80dba44ddf4 100644 --- a/test/parallel/test-permission-fs-symlink.js +++ b/test/parallel/test-permission-fs-symlink.js @@ -2,13 +2,19 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const fixtures = require('../common/fixtures'); -if (!common.canCreateSymLink()) +if (!common.canCreateSymLink()) { common.skip('insufficient privileges'); -if (!common.hasCrypto) +} +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-permission-fs-traversal-path.js b/test/parallel/test-permission-fs-traversal-path.js index 03571c2d01c861..ed9e434b6b862b 100644 --- a/test/parallel/test-permission-fs-traversal-path.js +++ b/test/parallel/test-permission-fs-traversal-path.js @@ -2,13 +2,20 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const fixtures = require('../common/fixtures'); -if (!common.canCreateSymLink()) +if (!common.canCreateSymLink()) { common.skip('insufficient privileges'); -if (!common.hasCrypto) +} + +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); const fs = require('fs'); diff --git a/test/parallel/test-permission-fs-wildcard.js b/test/parallel/test-permission-fs-wildcard.js index adca56ed0dba6d..1b67f37c2dcda2 100644 --- a/test/parallel/test-permission-fs-wildcard.js +++ b/test/parallel/test-permission-fs-wildcard.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const path = require('path'); diff --git a/test/parallel/test-permission-fs-windows-path.js b/test/parallel/test-permission-fs-windows-path.js index 6869b347cf283f..c3b3683b6479f7 100644 --- a/test/parallel/test-permission-fs-windows-path.js +++ b/test/parallel/test-permission-fs-windows-path.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const { spawnSync } = require('child_process'); diff --git a/test/parallel/test-permission-fs-write-report.js b/test/parallel/test-permission-fs-write-report.js index 111f73b7bcc1ed..a5f8d74904fedc 100644 --- a/test/parallel/test-permission-fs-write-report.js +++ b/test/parallel/test-permission-fs-write-report.js @@ -2,9 +2,15 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); -if (!common.hasCrypto) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); diff --git a/test/parallel/test-permission-fs-write-v8.js b/test/parallel/test-permission-fs-write-v8.js index 85cb9a5519b3af..1b8691969b7afb 100644 --- a/test/parallel/test-permission-fs-write-v8.js +++ b/test/parallel/test-permission-fs-write-v8.js @@ -2,9 +2,15 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); -if (!common.hasCrypto) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); const v8 = require('v8'); diff --git a/test/parallel/test-permission-fs-write.js b/test/parallel/test-permission-fs-write.js index 34eab7a40005db..385a37e2a92d86 100644 --- a/test/parallel/test-permission-fs-write.js +++ b/test/parallel/test-permission-fs-write.js @@ -2,9 +2,15 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); -if (!common.hasCrypto) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +if (!common.hasCrypto) { common.skip('no crypto'); +} const assert = require('assert'); const path = require('path'); diff --git a/test/parallel/test-permission-inspector-brk.js b/test/parallel/test-permission-inspector-brk.js index 61c9c799ba7eb6..3cc7caabd42ba1 100644 --- a/test/parallel/test-permission-inspector-brk.js +++ b/test/parallel/test-permission-inspector-brk.js @@ -5,8 +5,12 @@ const assert = require('assert'); const { spawnSync } = require('child_process'); const fixtures = require('../common/fixtures'); const file = fixtures.path('permission', 'inspector-brk.js'); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} -common.skipIfWorker(); common.skipIfInspectorDisabled(); // See https://github.com/nodejs/node/issues/53385 diff --git a/test/parallel/test-permission-inspector.js b/test/parallel/test-permission-inspector.js index 9d3bf485fc4348..4b52e12abca090 100644 --- a/test/parallel/test-permission-inspector.js +++ b/test/parallel/test-permission-inspector.js @@ -2,7 +2,12 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + common.skipIfInspectorDisabled(); const { Session } = require('inspector'); diff --git a/test/parallel/test-permission-no-addons.js b/test/parallel/test-permission-no-addons.js index a3ae6f4be10641..df08c4aa9f9db5 100644 --- a/test/parallel/test-permission-no-addons.js +++ b/test/parallel/test-permission-no-addons.js @@ -2,7 +2,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const { createRequire } = require('node:module'); const assert = require('node:assert'); diff --git a/test/parallel/test-permission-processbinding.js b/test/parallel/test-permission-processbinding.js index 47a1364f19e303..f5e33dac4deb52 100644 --- a/test/parallel/test-permission-processbinding.js +++ b/test/parallel/test-permission-processbinding.js @@ -1,7 +1,11 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} if (!common.hasCrypto) { common.skip('no crypto'); diff --git a/test/parallel/test-permission-worker-threads-cli.js b/test/parallel/test-permission-worker-threads-cli.js index efd98b2a3881aa..cf397c280474c1 100644 --- a/test/parallel/test-permission-worker-threads-cli.js +++ b/test/parallel/test-permission-worker-threads-cli.js @@ -2,13 +2,17 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); -const assert = require('assert'); const { Worker, isMainThread, } = require('worker_threads'); +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +const assert = require('assert'); + // Guarantee the initial state { assert.ok(!process.permission.has('worker')); diff --git a/test/parallel/test-pipe-file-to-http.js b/test/parallel/test-pipe-file-to-http.js index 82bdbe6a832a98..ffbab21f71fd9d 100644 --- a/test/parallel/test-pipe-file-to-http.js +++ b/test/parallel/test-pipe-file-to-http.js @@ -54,7 +54,12 @@ const server = http.createServer((req, res) => { server.listen(0); server.on('listening', () => { - common.createZeroFilledFile(filename); + + // Create a zero-filled file + const fd = fs.openSync(filename, 'w'); + fs.ftruncateSync(fd, 10 * 1024 * 1024); + fs.closeSync(fd); + makeRequest(); }); diff --git a/test/parallel/test-preload-self-referential.js b/test/parallel/test-preload-self-referential.js index 867e1c67983c83..68681332978ea6 100644 --- a/test/parallel/test-preload-self-referential.js +++ b/test/parallel/test-preload-self-referential.js @@ -4,11 +4,13 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); const assert = require('assert'); const { exec } = require('child_process'); +const { isMainThread } = require('worker_threads'); const nodeBinary = process.argv[0]; -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const selfRefModule = fixtures.path('self_ref_module'); const fixtureA = fixtures.path('printA.js'); diff --git a/test/parallel/test-primitive-timer-leak.js b/test/parallel/test-primitive-timer-leak.js index d590a0347b9cac..a0fe2765e1282d 100644 --- a/test/parallel/test-primitive-timer-leak.js +++ b/test/parallel/test-primitive-timer-leak.js @@ -5,7 +5,7 @@ const { onGC } = require('../common/gc'); // See https://github.com/nodejs/node/issues/53335 const poller = setInterval(() => { - global.gc(); + globalThis.gc(); }, 100); let count = 0; diff --git a/test/parallel/test-process-abort.js b/test/parallel/test-process-abort.js index 665e1399a3f362..34353befb02a44 100644 --- a/test/parallel/test-process-abort.js +++ b/test/parallel/test-process-abort.js @@ -2,9 +2,11 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.abort() is not available in Workers'); +} // Check that our built-in methods do not have a prototype/constructor behaviour // if they don't need to. This could be tested for any of our C++ methods. diff --git a/test/parallel/test-process-beforeexit-throw-exit.js b/test/parallel/test-process-beforeexit-throw-exit.js index 6e9d764be90baa..c967d3a62712a7 100644 --- a/test/parallel/test-process-beforeexit-throw-exit.js +++ b/test/parallel/test-process-beforeexit-throw-exit.js @@ -1,6 +1,10 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} // Test that 'exit' is emitted if 'beforeExit' throws. diff --git a/test/parallel/test-process-chdir-errormessage.js b/test/parallel/test-process-chdir-errormessage.js index 0ed368287b377e..727a13f6f63f16 100644 --- a/test/parallel/test-process-chdir-errormessage.js +++ b/test/parallel/test-process-chdir-errormessage.js @@ -1,8 +1,11 @@ 'use strict'; const common = require('../common'); -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); assert.throws( diff --git a/test/parallel/test-process-chdir.js b/test/parallel/test-process-chdir.js index ee59df853b24ce..42d2a60c8ec63e 100644 --- a/test/parallel/test-process-chdir.js +++ b/test/parallel/test-process-chdir.js @@ -4,9 +4,11 @@ const common = require('../common'); const assert = require('assert'); const fs = require('fs'); const path = require('path'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const tmpdir = require('../common/tmpdir'); diff --git a/test/parallel/test-process-env-allowed-flags-are-documented.js b/test/parallel/test-process-env-allowed-flags-are-documented.js index 2a40a821314ff3..070a88bca8c12c 100644 --- a/test/parallel/test-process-env-allowed-flags-are-documented.js +++ b/test/parallel/test-process-env-allowed-flags-are-documented.js @@ -5,6 +5,7 @@ const common = require('../common'); const assert = require('assert'); const fs = require('fs'); const path = require('path'); +const { hasOpenSSL3 } = require('../common/crypto'); const rootDir = path.resolve(__dirname, '..', '..'); const cliMd = path.join(rootDir, 'doc', 'api', 'cli.md'); @@ -43,7 +44,7 @@ for (const line of [...nodeOptionsLines, ...v8OptionsLines]) { } } -if (!common.hasOpenSSL3) { +if (!hasOpenSSL3) { documented.delete('--openssl-legacy-provider'); documented.delete('--openssl-shared-config'); } @@ -55,8 +56,8 @@ const conditionalOpts = [ filter: (opt) => { return [ '--openssl-config', - common.hasOpenSSL3 ? '--openssl-legacy-provider' : '', - common.hasOpenSSL3 ? '--openssl-shared-config' : '', + hasOpenSSL3 ? '--openssl-legacy-provider' : '', + hasOpenSSL3 ? '--openssl-shared-config' : '', '--tls-cipher-list', '--use-bundled-ca', '--use-openssl-ca', diff --git a/test/parallel/test-process-env-tz.js b/test/parallel/test-process-env-tz.js index dcc69ed4bf1d3b..b7bf730a9afa38 100644 --- a/test/parallel/test-process-env-tz.js +++ b/test/parallel/test-process-env-tz.js @@ -1,12 +1,15 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.env.TZ is not intercepted in Workers'); +} -if (common.isWindows) // Using a different TZ format. +if (common.isWindows) { // Using a different TZ format. common.skip('todo: test on Windows'); +} const date = new Date('2018-04-14T12:34:56.789Z'); diff --git a/test/parallel/test-process-euid-egid.js b/test/parallel/test-process-euid-egid.js index 11a8cfa0ed2b3c..3f4934233a6308 100644 --- a/test/parallel/test-process-euid-egid.js +++ b/test/parallel/test-process-euid-egid.js @@ -3,6 +3,8 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); + if (common.isWindows) { assert.strictEqual(process.geteuid, undefined); assert.strictEqual(process.getegid, undefined); @@ -11,8 +13,9 @@ if (common.isWindows) { return; } -if (!common.isMainThread) +if (!isMainThread) { return; +} assert.throws(() => { process.seteuid({}); diff --git a/test/parallel/test-process-exit-handler.js b/test/parallel/test-process-exit-handler.js index d74e320fe63082..2546aa60a5cf89 100644 --- a/test/parallel/test-process-exit-handler.js +++ b/test/parallel/test-process-exit-handler.js @@ -1,8 +1,10 @@ 'use strict'; const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('execArgv does not affect Workers'); +} // This test ensures that no asynchronous operations are performed in the 'exit' // handler. diff --git a/test/parallel/test-process-get-builtin.mjs b/test/parallel/test-process-get-builtin.mjs index 3cf8179f7286bb..74089c07221688 100644 --- a/test/parallel/test-process-get-builtin.mjs +++ b/test/parallel/test-process-get-builtin.mjs @@ -1,6 +1,7 @@ -import { isMainThread, hasCrypto, hasIntl } from '../common/index.mjs'; +import { hasCrypto, hasIntl } from '../common/index.mjs'; import assert from 'node:assert'; import { builtinModules } from 'node:module'; +import { isMainThread } from 'node:worker_threads'; for (const invalid of [1, undefined, null, false, [], {}, () => {}, Symbol('test')]) { assert.throws(() => process.getBuiltinModule(invalid), { code: 'ERR_INVALID_ARG_TYPE' }); diff --git a/test/parallel/test-process-initgroups.js b/test/parallel/test-process-initgroups.js index 6b4e3bdf1470b4..52597e096175e9 100644 --- a/test/parallel/test-process-initgroups.js +++ b/test/parallel/test-process-initgroups.js @@ -7,8 +7,11 @@ if (common.isWindows) { return; } -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { return; +} [undefined, null, true, {}, [], () => {}].forEach((val) => { assert.throws( diff --git a/test/parallel/test-process-load-env-file.js b/test/parallel/test-process-load-env-file.js index 1dada3aa9b7016..ec99c099d11b80 100644 --- a/test/parallel/test-process-load-env-file.js +++ b/test/parallel/test-process-load-env-file.js @@ -5,6 +5,7 @@ const fixtures = require('../../test/common/fixtures'); const assert = require('node:assert'); const { describe, it } = require('node:test'); const { join } = require('node:path'); +const { isMainThread } = require('worker_threads'); const basicValidEnvFilePath = fixtures.path('dotenv/basic-valid.env'); const validEnvFilePath = fixtures.path('dotenv/valid.env'); @@ -58,7 +59,7 @@ describe('process.loadEnvFile()', () => { const originalCwd = process.cwd(); try { - if (common.isMainThread) { + if (isMainThread) { process.chdir(join(originalCwd, 'lib')); } @@ -66,7 +67,7 @@ describe('process.loadEnvFile()', () => { process.loadEnvFile(); }, { code: 'ENOENT', syscall: 'open', path: '.env' }); } finally { - if (common.isMainThread) { + if (isMainThread) { process.chdir(originalCwd); } } diff --git a/test/parallel/test-process-ref-unref.js b/test/parallel/test-process-ref-unref.js index e9db4d56eefc58..6bd508c1dbb9cb 100644 --- a/test/parallel/test-process-ref-unref.js +++ b/test/parallel/test-process-ref-unref.js @@ -23,6 +23,18 @@ class Foo { } class Foo2 { + refCalled = 0; + unrefCalled = 0; + [Symbol.for('nodejs.ref')]() { + this.refCalled++; + } + [Symbol.for('nodejs.unref')]() { + this.unrefCalled++; + } +} + +// TODO(aduh95): remove support for undocumented symbol +class Foo3 { refCalled = 0; unrefCalled = 0; [Symbol.for('node:ref')]() { @@ -39,14 +51,19 @@ describe('process.ref/unref work as expected', () => { // just work. const foo1 = new Foo(); const foo2 = new Foo2(); + const foo3 = new Foo3(); process.ref(foo1); process.unref(foo1); process.ref(foo2); process.unref(foo2); + process.ref(foo3); + process.unref(foo3); strictEqual(foo1.refCalled, 1); strictEqual(foo1.unrefCalled, 1); strictEqual(foo2.refCalled, 1); strictEqual(foo2.unrefCalled, 1); + strictEqual(foo3.refCalled, 1); + strictEqual(foo3.unrefCalled, 1); // Objects that implement the legacy API also just work. const i = setInterval(() => {}, 1000); diff --git a/test/parallel/test-process-setgroups.js b/test/parallel/test-process-setgroups.js index 9506f24a5f3447..49d147b6c2ddf5 100644 --- a/test/parallel/test-process-setgroups.js +++ b/test/parallel/test-process-setgroups.js @@ -1,14 +1,16 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); if (common.isWindows) { assert.strictEqual(process.setgroups, undefined); return; } -if (!common.isMainThread) +if (!isMainThread) { return; +} assert.throws( () => { diff --git a/test/parallel/test-process-uid-gid.js b/test/parallel/test-process-uid-gid.js index 54e87a6ff5c6e0..10eee45af1555b 100644 --- a/test/parallel/test-process-uid-gid.js +++ b/test/parallel/test-process-uid-gid.js @@ -23,6 +23,7 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); if (common.isWindows) { // uid/gid functions are POSIX only. @@ -33,8 +34,9 @@ if (common.isWindows) { return; } -if (!common.isMainThread) +if (!isMainThread) { return; +} assert.throws(() => { process.setuid({}); diff --git a/test/parallel/test-process-umask-mask.js b/test/parallel/test-process-umask-mask.js index d599379761fd40..f0a67b8f14e895 100644 --- a/test/parallel/test-process-umask-mask.js +++ b/test/parallel/test-process-umask-mask.js @@ -5,8 +5,9 @@ const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) common.skip('Setting process.umask is not supported in Workers'); let mask; diff --git a/test/parallel/test-process-umask.js b/test/parallel/test-process-umask.js index e90955f394df4e..594f75ebebed2b 100644 --- a/test/parallel/test-process-umask.js +++ b/test/parallel/test-process-umask.js @@ -22,8 +22,9 @@ 'use strict'; const common = require('../common'); const assert = require('assert'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) { +if (!isMainThread) { assert.strictEqual(typeof process.umask(), 'number'); assert.throws(() => { process.umask('0664'); diff --git a/test/parallel/test-process-versions.js b/test/parallel/test-process-versions.js index 3b8af4b5b52526..0a2a4014f18d6b 100644 --- a/test/parallel/test-process-versions.js +++ b/test/parallel/test-process-versions.js @@ -85,11 +85,12 @@ assert.match(process.versions.modules, /^\d+$/); assert.match(process.versions.cjs_module_lexer, commonTemplate); if (common.hasCrypto) { + const { hasOpenSSL3 } = require('../common/crypto'); assert.match(process.versions.ncrypto, commonTemplate); if (process.config.variables.node_shared_openssl) { assert.ok(process.versions.openssl); } else { - const versionRegex = common.hasOpenSSL3 ? + const versionRegex = hasOpenSSL3 ? // The following also matches a development version of OpenSSL 3.x which // can be in the format '3.0.0-alpha4-dev'. This can be handy when // building and linking against the main development branch of OpenSSL. diff --git a/test/parallel/test-readline-interface-no-trailing-newline.js b/test/parallel/test-readline-interface-no-trailing-newline.js index b3392db8619c95..398b85838c8b71 100644 --- a/test/parallel/test-readline-interface-no-trailing-newline.js +++ b/test/parallel/test-readline-interface-no-trailing-newline.js @@ -3,7 +3,9 @@ const common = require('../common'); const ArrayStream = require('../common/arraystream'); const assert = require('assert'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const readline = require('readline'); const rli = new readline.Interface({ diff --git a/test/parallel/test-readline-interface-recursive-writes.js b/test/parallel/test-readline-interface-recursive-writes.js index 3a0aee5be9d619..ea3df1968d08d8 100644 --- a/test/parallel/test-readline-interface-recursive-writes.js +++ b/test/parallel/test-readline-interface-recursive-writes.js @@ -3,7 +3,9 @@ const common = require('../common'); const ArrayStream = require('../common/arraystream'); const assert = require('assert'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const readline = require('readline'); const rli = new readline.Interface({ diff --git a/test/parallel/test-readline-interface.js b/test/parallel/test-readline-interface.js index a90e07d235030f..12ba0c709622e9 100644 --- a/test/parallel/test-readline-interface.js +++ b/test/parallel/test-readline-interface.js @@ -22,7 +22,10 @@ // Flags: --expose-internals 'use strict'; const common = require('../common'); -common.skipIfDumbTerminal(); + +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const assert = require('assert'); const readline = require('readline'); diff --git a/test/parallel/test-readline-position.js b/test/parallel/test-readline-position.js index 3603a42ecedc68..ac2fe43b37a097 100644 --- a/test/parallel/test-readline-position.js +++ b/test/parallel/test-readline-position.js @@ -7,7 +7,9 @@ const assert = require('assert'); const ctrlU = { ctrl: true, name: 'u' }; -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} { const input = new PassThrough(); diff --git a/test/parallel/test-readline-promises-interface.js b/test/parallel/test-readline-promises-interface.js index 8e42d977301267..97424c1372629c 100644 --- a/test/parallel/test-readline-promises-interface.js +++ b/test/parallel/test-readline-promises-interface.js @@ -1,7 +1,10 @@ // Flags: --expose-internals 'use strict'; const common = require('../common'); -common.skipIfDumbTerminal(); + +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const assert = require('assert'); const readline = require('readline/promises'); diff --git a/test/parallel/test-readline-promises-tab-complete.js b/test/parallel/test-readline-promises-tab-complete.js index fd32900e71d096..d8b0ac30ee779d 100644 --- a/test/parallel/test-readline-promises-tab-complete.js +++ b/test/parallel/test-readline-promises-tab-complete.js @@ -8,7 +8,9 @@ const assert = require('assert'); const { EventEmitter } = require('events'); const { getStringWidth } = require('internal/util/inspect'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} // This test verifies that the tab completion supports unicode and the writes // are limited to the minimum. diff --git a/test/parallel/test-readline-tab-complete.js b/test/parallel/test-readline-tab-complete.js index 64df237d56ad44..5b7b19102f412a 100644 --- a/test/parallel/test-readline-tab-complete.js +++ b/test/parallel/test-readline-tab-complete.js @@ -8,7 +8,9 @@ const assert = require('assert'); const EventEmitter = require('events').EventEmitter; const { getStringWidth } = require('internal/util/inspect'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} // This test verifies that the tab completion supports unicode and the writes // are limited to the minimum. diff --git a/test/parallel/test-readline-undefined-columns.js b/test/parallel/test-readline-undefined-columns.js index 25bafe957fa40a..d7000a16dd88a7 100644 --- a/test/parallel/test-readline-undefined-columns.js +++ b/test/parallel/test-readline-undefined-columns.js @@ -5,7 +5,9 @@ const assert = require('assert'); const PassThrough = require('stream').PassThrough; const readline = require('readline'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} // Checks that tab completion still works // when output column size is undefined diff --git a/test/parallel/test-readline.js b/test/parallel/test-readline.js index 77799fc14cf75f..0cf577942915a6 100644 --- a/test/parallel/test-readline.js +++ b/test/parallel/test-readline.js @@ -4,7 +4,9 @@ const { PassThrough } = require('stream'); const readline = require('readline'); const assert = require('assert'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} { const input = new PassThrough(); diff --git a/test/parallel/test-repl-autocomplete.js b/test/parallel/test-repl-autocomplete.js index cb17523494b2ff..a68322c501e264 100644 --- a/test/parallel/test-repl-autocomplete.js +++ b/test/parallel/test-repl-autocomplete.js @@ -9,7 +9,9 @@ const assert = require('assert'); const fs = require('fs'); const { inspect } = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); diff --git a/test/parallel/test-repl-autolibs.js b/test/parallel/test-repl-autolibs.js index 5cf3b1497221d0..a1eb476ef530b1 100644 --- a/test/parallel/test-repl-autolibs.js +++ b/test/parallel/test-repl-autolibs.js @@ -41,7 +41,7 @@ function test1() { assert.strictEqual(data, `${util.inspect(require('fs'), null, 2, false)}\n`); // Globally added lib matches required lib - assert.strictEqual(global.fs, require('fs')); + assert.strictEqual(globalThis.fs, require('fs')); test2(); } }; @@ -58,11 +58,11 @@ function test2() { // REPL response error message assert.strictEqual(data, '{}\n'); // Original value wasn't overwritten - assert.strictEqual(val, global.url); + assert.strictEqual(val, globalThis.url); } }; const val = {}; - global.url = val; + globalThis.url = val; common.allowGlobals(val); assert(!gotWrite); putIn.run(['url']); diff --git a/test/parallel/test-repl-editor.js b/test/parallel/test-repl-editor.js index e260f5e89174a8..fee647d0478e50 100644 --- a/test/parallel/test-repl-editor.js +++ b/test/parallel/test-repl-editor.js @@ -5,7 +5,9 @@ const assert = require('assert'); const repl = require('repl'); const ArrayStream = require('../common/arraystream'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} // \u001b[nG - Moves the cursor to n st column // \u001b[0J - Clear screen diff --git a/test/parallel/test-repl-history-navigation.js b/test/parallel/test-repl-history-navigation.js index 4df120d7cb9eae..64317be960e8d1 100644 --- a/test/parallel/test-repl-history-navigation.js +++ b/test/parallel/test-repl-history-navigation.js @@ -9,7 +9,9 @@ const assert = require('assert'); const fs = require('fs'); const { inspect } = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); diff --git a/test/parallel/test-repl-load-multiline-no-trailing-newline.js b/test/parallel/test-repl-load-multiline-no-trailing-newline.js index f57638d2521bbe..8fda91e35d1030 100644 --- a/test/parallel/test-repl-load-multiline-no-trailing-newline.js +++ b/test/parallel/test-repl-load-multiline-no-trailing-newline.js @@ -5,7 +5,9 @@ const fixtures = require('../common/fixtures'); const assert = require('assert'); const repl = require('repl'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const command = `.load ${fixtures.path('repl-load-multiline-no-trailing-newline.js')}`; const terminalCode = '\u001b[1G\u001b[0J \u001b[1G'; diff --git a/test/parallel/test-repl-load-multiline.js b/test/parallel/test-repl-load-multiline.js index 4fcf206bef1be1..920f4b1c25d144 100644 --- a/test/parallel/test-repl-load-multiline.js +++ b/test/parallel/test-repl-load-multiline.js @@ -5,7 +5,9 @@ const fixtures = require('../common/fixtures'); const assert = require('assert'); const repl = require('repl'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const command = `.load ${fixtures.path('repl-load-multiline.js')}`; const terminalCode = '\u001b[1G\u001b[0J \u001b[1G'; diff --git a/test/parallel/test-repl-mode.js b/test/parallel/test-repl-mode.js index aca8418904d082..f8a54d34089b00 100644 --- a/test/parallel/test-repl-mode.js +++ b/test/parallel/test-repl-mode.js @@ -4,7 +4,9 @@ const assert = require('assert'); const Stream = require('stream'); const repl = require('repl'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const tests = [ testSloppyMode, diff --git a/test/parallel/test-repl-permission-model.js b/test/parallel/test-repl-permission-model.js index 938f5121163a23..ab5c7bff06cde8 100644 --- a/test/parallel/test-repl-permission-model.js +++ b/test/parallel/test-repl-permission-model.js @@ -8,7 +8,9 @@ const REPL = require('internal/repl'); const assert = require('assert'); const { inspect } = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} // Create an input stream specialized for testing an array of actions class ActionStream extends stream.Stream { diff --git a/test/parallel/test-repl-persistent-history.js b/test/parallel/test-repl-persistent-history.js index 99ba92eda4cf3d..f5e2d48139f449 100644 --- a/test/parallel/test-repl-persistent-history.js +++ b/test/parallel/test-repl-persistent-history.js @@ -11,7 +11,9 @@ const fs = require('fs'); const os = require('os'); const util = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); diff --git a/test/parallel/test-repl-programmatic-history.js b/test/parallel/test-repl-programmatic-history.js index 1ae5123c6c8ea1..aae15eb752c862 100644 --- a/test/parallel/test-repl-programmatic-history.js +++ b/test/parallel/test-repl-programmatic-history.js @@ -9,7 +9,9 @@ const fs = require('fs'); const os = require('os'); const util = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); diff --git a/test/parallel/test-repl-require-self-referential.js b/test/parallel/test-repl-require-self-referential.js index 7ced6dbf11721e..9a4fe000bbb7e3 100644 --- a/test/parallel/test-repl-require-self-referential.js +++ b/test/parallel/test-repl-require-self-referential.js @@ -4,9 +4,11 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); const assert = require('assert'); const { spawn } = require('child_process'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const selfRefModule = fixtures.path('self_ref_module'); const child = spawn(process.execPath, diff --git a/test/parallel/test-repl-require.js b/test/parallel/test-repl-require.js index fc431dea9f0f69..e740acef08b068 100644 --- a/test/parallel/test-repl-require.js +++ b/test/parallel/test-repl-require.js @@ -4,9 +4,11 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); const assert = require('assert'); const net = require('net'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} process.chdir(fixtures.fixturesDir); const repl = require('repl'); diff --git a/test/parallel/test-repl-reverse-search.js b/test/parallel/test-repl-reverse-search.js index 93fb037c392c01..246488cbd0ef5f 100644 --- a/test/parallel/test-repl-reverse-search.js +++ b/test/parallel/test-repl-reverse-search.js @@ -9,7 +9,10 @@ const assert = require('assert'); const fs = require('fs'); const { inspect } = require('util'); -common.skipIfDumbTerminal(); +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} + common.allowGlobals('aaaa'); const tmpdir = require('../common/tmpdir'); diff --git a/test/parallel/test-repl-sigint-nested-eval.js b/test/parallel/test-repl-sigint-nested-eval.js index 62eb46e0af6759..7955cf413f7c49 100644 --- a/test/parallel/test-repl-sigint-nested-eval.js +++ b/test/parallel/test-repl-sigint-nested-eval.js @@ -4,8 +4,12 @@ if (common.isWindows) { // No way to send CTRL_C_EVENT to processes from JS right now. common.skip('platform not supported'); } -if (!common.isMainThread) + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('No signal handling available in Workers'); +} const assert = require('assert'); const spawn = require('child_process').spawn; diff --git a/test/parallel/test-repl-sigint.js b/test/parallel/test-repl-sigint.js index 8ad0b2f5c2c853..f4087b11d488d6 100644 --- a/test/parallel/test-repl-sigint.js +++ b/test/parallel/test-repl-sigint.js @@ -4,8 +4,12 @@ if (common.isWindows) { // No way to send CTRL_C_EVENT to processes from JS right now. common.skip('platform not supported'); } -if (!common.isMainThread) + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('No signal handling available in Workers'); +} const assert = require('assert'); const spawn = require('child_process').spawn; diff --git a/test/parallel/test-repl-strict-mode-previews.js b/test/parallel/test-repl-strict-mode-previews.js index a05e11b39cf3ee..e7fc1ea5191ea3 100644 --- a/test/parallel/test-repl-strict-mode-previews.js +++ b/test/parallel/test-repl-strict-mode-previews.js @@ -5,7 +5,10 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfDumbTerminal(); + +if (process.env.TERM === 'dumb') { + common.skip('skipping - dumb terminal'); +} if (process.argv[2] === 'child') { const stream = require('stream'); diff --git a/test/parallel/test-repl-tab-complete-import.js b/test/parallel/test-repl-tab-complete-import.js index fe9f7a3d11795b..f4ef408c89174c 100644 --- a/test/parallel/test-repl-tab-complete-import.js +++ b/test/parallel/test-repl-tab-complete-import.js @@ -7,8 +7,11 @@ const assert = require('assert'); const { builtinModules } = require('module'); const publicUnprefixedModules = builtinModules.filter((lib) => !lib.startsWith('_') && !lib.startsWith('node:')); -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} // We have to change the directory to ../fixtures before requiring repl // in order to make the tests for completion of node_modules work properly diff --git a/test/parallel/test-repl-tab-complete.js b/test/parallel/test-repl-tab-complete.js index ff1e927078ddf5..c79162129bd69b 100644 --- a/test/parallel/test-repl-tab-complete.js +++ b/test/parallel/test-repl-tab-complete.js @@ -34,9 +34,11 @@ const { builtinModules } = require('module'); const publicModules = builtinModules.filter((lib) => !lib.startsWith('_')); const hasInspector = process.features.inspector; +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} // We have to change the directory to ../fixtures before requiring repl // in order to make the tests for completion of node_modules work properly diff --git a/test/parallel/test-repl-underscore.js b/test/parallel/test-repl-underscore.js index 0f8103ce4573cd..8ce9de5563acfb 100644 --- a/test/parallel/test-repl-underscore.js +++ b/test/parallel/test-repl-underscore.js @@ -150,8 +150,8 @@ function testResetContextGlobal() { ]); // Delete globals leaked by REPL when `useGlobal` is `true` - delete global.module; - delete global.require; + delete globalThis.module; + delete globalThis.require; } function testError() { diff --git a/test/parallel/test-repl-use-global.js b/test/parallel/test-repl-use-global.js index 3457d0c5ba7210..06cda54f4d6fa2 100644 --- a/test/parallel/test-repl-use-global.js +++ b/test/parallel/test-repl-use-global.js @@ -20,10 +20,10 @@ const globalTest = (useGlobal, cb, output) => (err, repl) => { let str = ''; output.on('data', (data) => (str += data)); - global.lunch = 'tacos'; - repl.write('global.lunch;\n'); + globalThis.lunch = 'tacos'; + repl.write('globalThis.lunch;\n'); repl.close(); - delete global.lunch; + delete globalThis.lunch; cb(null, str.trim()); }; diff --git a/test/parallel/test-repl.js b/test/parallel/test-repl.js index c2670c6cc942b4..16cead7c7251dc 100644 --- a/test/parallel/test-repl.js +++ b/test/parallel/test-repl.js @@ -36,7 +36,7 @@ const prompt_tcp = 'node via TCP socket> '; const moduleFilename = fixtures.path('a'); // Function for REPL to run -global.invoke_me = function(arg) { +globalThis.invoke_me = function(arg) { return `invoked ${arg}`; }; @@ -794,7 +794,10 @@ const errorTests = [ expect: [ 'Object [console] {', ' log: [Function: log],', + ' info: [Function: info],', + ' debug: [Function: debug],', ' warn: [Function: warn],', + ' error: [Function: error],', ' dir: [Function: dir],', ' time: [Function: time],', ' timeEnd: [Function: timeEnd],', @@ -807,10 +810,7 @@ const errorTests = [ ' group: [Function: group],', ' groupEnd: [Function: groupEnd],', ' table: [Function: table],', - / {2}debug: \[Function: (debug|log)],/, - / {2}info: \[Function: (info|log)],/, / {2}dirxml: \[Function: (dirxml|log)],/, - / {2}error: \[Function: (error|warn)],/, / {2}groupCollapsed: \[Function: (groupCollapsed|group)],/, / {2}Console: \[Function: Console],?/, ...process.features.inspector ? [ @@ -939,8 +939,8 @@ alternatively use dynamic import: const { default: alias, namedExport } = await socket.end(); } - common.allowGlobals(global.invoke_me, global.message, global.a, global.blah, - global.I, global.f, global.path, global.x, global.name, global.foo); + common.allowGlobals(globalThis.invoke_me, globalThis.message, globalThis.a, globalThis.blah, + globalThis.I, globalThis.f, globalThis.path, globalThis.x, globalThis.name, globalThis.foo); })().then(common.mustCall()); function startTCPRepl() { diff --git a/test/parallel/test-require-resolve-opts-paths-relative.js b/test/parallel/test-require-resolve-opts-paths-relative.js new file mode 100644 index 00000000000000..13d17d478b753d --- /dev/null +++ b/test/parallel/test-require-resolve-opts-paths-relative.js @@ -0,0 +1,44 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) + common.skip('process.chdir is not available in Workers'); + +const subdir = fixtures.path('module-require', 'relative', 'subdir'); + +process.chdir(subdir); + +// Parent directory paths (`..`) work as intended +{ + assert(require.resolve('.', { paths: ['../'] }).endsWith('index.js')); + assert(require.resolve('./index.js', { paths: ['../'] }).endsWith('index.js')); + + // paths: [".."] should resolve like paths: ["../"] + assert(require.resolve('.', { paths: ['..'] }).endsWith('index.js')); + assert(require.resolve('./index.js', { paths: ['..'] }).endsWith('index.js')); +} + +process.chdir('..'); + +// Current directory paths (`.`) work as intended +{ + assert(require.resolve('.', { paths: ['.'] }).endsWith('index.js')); + assert(require.resolve('./index.js', { paths: ['./'] }).endsWith('index.js')); + + // paths: ["."] should resolve like paths: ["../"] + assert(require.resolve('.', { paths: ['.'] }).endsWith('index.js')); + assert(require.resolve('./index.js', { paths: ['.'] }).endsWith('index.js')); +} + +// Sub directory paths work as intended +{ + // assert.deepStrictEqual(fs.readdirSync('./subdir'), [5]); + assert(require.resolve('./relative-subdir.js', { paths: ['./subdir'] }).endsWith('relative-subdir.js')); + + // paths: ["subdir"] should resolve like paths: ["./subdir"] + assert(require.resolve('./relative-subdir.js', { paths: ['subdir'] }).endsWith('relative-subdir.js')); +} diff --git a/test/parallel/test-require-symlink.js b/test/parallel/test-require-symlink.js index 0c4477023bc90b..9ca543e8d64ca4 100644 --- a/test/parallel/test-require-symlink.js +++ b/test/parallel/test-require-symlink.js @@ -2,10 +2,14 @@ 'use strict'; const common = require('../common'); -if (!common.canCreateSymLink()) +if (!common.canCreateSymLink()) { common.skip('insufficient privileges'); -if (!common.isMainThread) +} +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const assert = require('assert'); const { spawn } = require('child_process'); diff --git a/test/parallel/test-runner-assert.js b/test/parallel/test-runner-assert.js index 73d3b107251b50..74384947278e4e 100644 --- a/test/parallel/test-runner-assert.js +++ b/test/parallel/test-runner-assert.js @@ -10,7 +10,7 @@ test('expected methods are on t.assert', (t) => { 'strict', ]; const assertKeys = Object.keys(assert).filter((key) => !uncopiedKeys.includes(key)); - const expectedKeys = ['snapshot'].concat(assertKeys).sort(); + const expectedKeys = ['snapshot', 'fileSnapshot'].concat(assertKeys).sort(); assert.deepStrictEqual(Object.keys(t.assert).sort(), expectedKeys); }); diff --git a/test/parallel/test-runner-custom-assertions.js b/test/parallel/test-runner-custom-assertions.js new file mode 100644 index 00000000000000..a4bdf0f548be80 --- /dev/null +++ b/test/parallel/test-runner-custom-assertions.js @@ -0,0 +1,63 @@ +'use strict'; +require('../common'); +const assert = require('node:assert'); +const { test, assert: testAssertions } = require('node:test'); + +testAssertions.register('isOdd', (n) => { + assert.strictEqual(n % 2, 1); +}); + +testAssertions.register('ok', () => { + return 'ok'; +}); + +testAssertions.register('snapshot', () => { + return 'snapshot'; +}); + +testAssertions.register('deepStrictEqual', () => { + return 'deepStrictEqual'; +}); + +testAssertions.register('context', function() { + return this; +}); + +test('throws if name is not a string', () => { + assert.throws(() => { + testAssertions.register(5); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: 'The "name" argument must be of type string. Received type number (5)' + }); +}); + +test('throws if fn is not a function', () => { + assert.throws(() => { + testAssertions.register('foo', 5); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: 'The "fn" argument must be of type function. Received type number (5)' + }); +}); + +test('invokes a custom assertion as part of the test plan', (t) => { + t.plan(2); + t.assert.isOdd(5); + assert.throws(() => { + t.assert.isOdd(4); + }, { + code: 'ERR_ASSERTION', + message: /Expected values to be strictly equal/ + }); +}); + +test('can override existing assertions', (t) => { + assert.strictEqual(t.assert.ok(), 'ok'); + assert.strictEqual(t.assert.snapshot(), 'snapshot'); + assert.strictEqual(t.assert.deepStrictEqual(), 'deepStrictEqual'); +}); + +test('"this" is set to the TestContext', (t) => { + assert.strictEqual(t.assert.context(), t); +}); diff --git a/test/parallel/test-runner-error-reporter.js b/test/parallel/test-runner-error-reporter.js new file mode 100644 index 00000000000000..84ae37fbc86a9d --- /dev/null +++ b/test/parallel/test-runner-error-reporter.js @@ -0,0 +1,32 @@ +'use strict'; + +require('../common'); +const fixtures = require('../common/fixtures'); +const assert = require('node:assert'); +const { spawnSync } = require('node:child_process'); +const { test } = require('node:test'); +const cwd = fixtures.path('test-runner', 'error-reporter-fail-fast'); + +test('all tests failures reported without FAIL_FAST flag', async () => { + const args = [ + '--test-reporter=./test/common/test-error-reporter.js', + '--test-concurrency=1', + '--test', + `${cwd}/*.mjs`, + ]; + const cp = spawnSync(process.execPath, args); + const failureCount = (cp.stdout.toString().match(/Test failure:/g) || []).length; + assert.strictEqual(failureCount, 2); +}); + +test('FAIL_FAST stops test execution after first failure', async () => { + const args = [ + '--test-reporter=./test/common/test-error-reporter.js', + '--test-concurrency=1', + '--test', + `${cwd}/*.mjs`, + ]; + const cp = spawnSync(process.execPath, args, { env: { ...process.env, FAIL_FAST: 'true' } }); + const failureCount = (cp.stdout.toString().match(/Test failure:/g) || []).length; + assert.strictEqual(failureCount, 1); +}); diff --git a/test/parallel/test-runner-mock-timers.js b/test/parallel/test-runner-mock-timers.js index 87b8ba7e3784d2..da7458b4c46dd3 100644 --- a/test/parallel/test-runner-mock-timers.js +++ b/test/parallel/test-runner-mock-timers.js @@ -69,7 +69,7 @@ describe('Mock Timers Test Suite', () => { 'clearImmediate', ]; - const globalTimersDescriptors = timers.map((fn) => getDescriptor(global, fn)); + const globalTimersDescriptors = timers.map((fn) => getDescriptor(globalThis, fn)); const nodeTimersDescriptors = timers.map((fn) => getDescriptor(nodeTimers, fn)); const nodeTimersPromisesDescriptors = timers .filter((fn) => !fn.includes('clear')) @@ -116,7 +116,7 @@ describe('Mock Timers Test Suite', () => { it('should reset all timers when calling .reset function', (t) => { t.mock.timers.enable(); const fn = t.mock.fn(); - global.setTimeout(fn, 1000); + globalThis.setTimeout(fn, 1000); t.mock.timers.reset(); assert.deepStrictEqual(Date.now, globalThis.Date.now); assert.throws(() => { @@ -131,7 +131,7 @@ describe('Mock Timers Test Suite', () => { it('should reset all timers when calling Symbol.dispose', (t) => { t.mock.timers.enable(); const fn = t.mock.fn(); - global.setTimeout(fn, 1000); + globalThis.setTimeout(fn, 1000); // TODO(benjamingr) refactor to `using` t.mock.timers[Symbol.dispose](); assert.throws(() => { @@ -148,8 +148,8 @@ describe('Mock Timers Test Suite', () => { const order = []; const fn1 = t.mock.fn(() => order.push('f1')); const fn2 = t.mock.fn(() => order.push('f2')); - global.setTimeout(fn1, 1000); - global.setTimeout(fn2, 1000); + globalThis.setTimeout(fn1, 1000); + globalThis.setTimeout(fn2, 1000); t.mock.timers.tick(1000); assert.strictEqual(fn1.mock.callCount(), 1); assert.strictEqual(fn2.mock.callCount(), 1); @@ -170,11 +170,11 @@ describe('Mock Timers Test Suite', () => { const intervalFn = t.mock.fn(); t.mock.timers.enable(); - global.setTimeout(timeoutFn, 1111); - const id = global.setInterval(intervalFn, 9999); + globalThis.setTimeout(timeoutFn, 1111); + const id = globalThis.setInterval(intervalFn, 9999); t.mock.timers.runAll(); - global.clearInterval(id); + globalThis.clearInterval(id); assert.strictEqual(timeoutFn.mock.callCount(), 1); assert.strictEqual(intervalFn.mock.callCount(), 1); }); @@ -184,11 +184,11 @@ describe('Mock Timers Test Suite', () => { const intervalFn = t.mock.fn(); t.mock.timers.enable(); - global.setTimeout(timeoutFn, 1111); - const id = global.setInterval(intervalFn, 9999); + globalThis.setTimeout(timeoutFn, 1111); + const id = globalThis.setInterval(intervalFn, 9999); t.mock.timers.runAll(); - global.clearInterval(id); + globalThis.clearInterval(id); assert.strictEqual(timeoutFn.mock.callCount(), 1); assert.strictEqual(intervalFn.mock.callCount(), 1); assert.strictEqual(Date.now(), 9999); @@ -209,7 +209,7 @@ describe('Mock Timers Test Suite', () => { const fn = mock.fn(); - global.setTimeout(fn, 4000); + globalThis.setTimeout(fn, 4000); mock.timers.tick(4000); assert.strictEqual(fn.mock.callCount(), 1); @@ -220,7 +220,7 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setTimeout'] }); const fn = t.mock.fn(); - global.setTimeout(fn, 2000); + globalThis.setTimeout(fn, 2000); t.mock.timers.tick(1000); assert.strictEqual(fn.mock.callCount(), 0); @@ -234,7 +234,7 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setTimeout'] }); const fn = t.mock.fn(); const args = ['a', 'b', 'c']; - global.setTimeout(fn, 2000, ...args); + globalThis.setTimeout(fn, 2000, ...args); t.mock.timers.tick(1000); t.mock.timers.tick(500); @@ -248,7 +248,7 @@ describe('Mock Timers Test Suite', () => { const now = Date.now(); const timeout = 2; const expected = () => now - timeout; - global.setTimeout(common.mustCall(() => { + globalThis.setTimeout(common.mustCall(() => { assert.strictEqual(now - timeout, expected()); done(); }), timeout); @@ -257,7 +257,7 @@ describe('Mock Timers Test Suite', () => { it('should change timeout to 1ms when it is > TIMEOUT_MAX', (t) => { t.mock.timers.enable({ apis: ['setTimeout'] }); const fn = t.mock.fn(); - global.setTimeout(fn, TIMEOUT_MAX + 1); + globalThis.setTimeout(fn, TIMEOUT_MAX + 1); t.mock.timers.tick(1); assert.strictEqual(fn.mock.callCount(), 1); }); @@ -265,7 +265,7 @@ describe('Mock Timers Test Suite', () => { it('should change the delay to one if timeout < 0', (t) => { t.mock.timers.enable({ apis: ['setTimeout'] }); const fn = t.mock.fn(); - global.setTimeout(fn, -1); + globalThis.setTimeout(fn, -1); t.mock.timers.tick(1); assert.strictEqual(fn.mock.callCount(), 1); }); @@ -277,8 +277,8 @@ describe('Mock Timers Test Suite', () => { const fn = mock.fn(); - const id = global.setTimeout(fn, 4000); - global.clearTimeout(id); + const id = globalThis.setTimeout(fn, 4000); + globalThis.clearTimeout(id); t.mock.timers.tick(4000); assert.strictEqual(fn.mock.callCount(), 0); @@ -297,13 +297,13 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setInterval'] }); const fn = t.mock.fn(); - const id = global.setInterval(fn, 200); + const id = globalThis.setInterval(fn, 200); t.mock.timers.tick(200); t.mock.timers.tick(200); t.mock.timers.tick(200); - global.clearInterval(id); + globalThis.clearInterval(id); assert.strictEqual(fn.mock.callCount(), 3); }); @@ -312,13 +312,13 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setInterval'] }); const fn = t.mock.fn(); const args = ['a', 'b', 'c']; - const id = global.setInterval(fn, 200, ...args); + const id = globalThis.setInterval(fn, 200, ...args); t.mock.timers.tick(200); t.mock.timers.tick(200); t.mock.timers.tick(200); - global.clearInterval(id); + globalThis.clearInterval(id); assert.strictEqual(fn.mock.callCount(), 3); assert.deepStrictEqual(fn.mock.calls[0].arguments, args); @@ -332,8 +332,8 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setInterval'] }); const fn = mock.fn(); - const id = global.setInterval(fn, 200); - global.clearInterval(id); + const id = globalThis.setInterval(fn, 200); + globalThis.clearInterval(id); t.mock.timers.tick(200); assert.strictEqual(fn.mock.callCount(), 0); @@ -352,7 +352,7 @@ describe('Mock Timers Test Suite', () => { const now = Date.now(); const timeout = 2; const expected = () => now - timeout; - global.setImmediate(common.mustCall(() => { + globalThis.setImmediate(common.mustCall(() => { assert.strictEqual(now - timeout, expected()); done(); })); @@ -362,7 +362,7 @@ describe('Mock Timers Test Suite', () => { t.mock.timers.enable({ apis: ['setImmediate'] }); const fn = t.mock.fn(); const args = ['a', 'b', 'c']; - global.setImmediate(fn, ...args); + globalThis.setImmediate(fn, ...args); t.mock.timers.tick(9999); assert.strictEqual(fn.mock.callCount(), 1); @@ -372,14 +372,14 @@ describe('Mock Timers Test Suite', () => { it('should not advance in time if clearImmediate was invoked', (t) => { t.mock.timers.enable({ apis: ['setImmediate'] }); - const id = global.setImmediate(common.mustNotCall()); - global.clearImmediate(id); + const id = globalThis.setImmediate(common.mustNotCall()); + globalThis.clearImmediate(id); t.mock.timers.tick(200); }); it('should advance in time and trigger timers when calling the .tick function', (t) => { t.mock.timers.enable({ apis: ['setImmediate'] }); - global.setImmediate(common.mustCall(1)); + globalThis.setImmediate(common.mustCall(1)); t.mock.timers.tick(0); }); @@ -389,8 +389,8 @@ describe('Mock Timers Test Suite', () => { const fn1 = t.mock.fn(common.mustCall(() => order.push('f1'), 1)); const fn2 = t.mock.fn(common.mustCall(() => order.push('f2'), 1)); - global.setImmediate(fn1); - global.setImmediate(fn2); + globalThis.setImmediate(fn1); + globalThis.setImmediate(fn2); t.mock.timers.tick(0); @@ -403,8 +403,8 @@ describe('Mock Timers Test Suite', () => { const fn1 = t.mock.fn(common.mustCall(() => order.push('f1'), 1)); const fn2 = t.mock.fn(common.mustCall(() => order.push('f2'), 1)); - global.setTimeout(fn2, 0); - global.setImmediate(fn1); + globalThis.setTimeout(fn2, 0); + globalThis.setImmediate(fn1); t.mock.timers.tick(100); diff --git a/test/parallel/test-runner-module-mocking.js b/test/parallel/test-runner-module-mocking.js index 7e9e49eefeb58e..8502d4aa99a9b6 100644 --- a/test/parallel/test-runner-module-mocking.js +++ b/test/parallel/test-runner-module-mocking.js @@ -1,8 +1,9 @@ // Flags: --experimental-test-module-mocks --experimental-require-module 'use strict'; const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) { +if (!isMainThread) { common.skip('registering customization hooks in Workers does not work'); } @@ -655,7 +656,7 @@ test('should throw ERR_ACCESS_DENIED when permission model is enabled', async (t const cwd = fixtures.path('test-runner'); const fixture = fixtures.path('test-runner', 'mock-nm.js'); const args = [ - '--experimental-permission', + '--permission', '--allow-fs-read=*', '--experimental-test-module-mocks', fixture, @@ -674,7 +675,7 @@ test('should work when --allow-worker is passed and permission model is enabled' const cwd = fixtures.path('test-runner'); const fixture = fixtures.path('test-runner', 'mock-nm.js'); const args = [ - '--experimental-permission', + '--permission', '--allow-fs-read=*', '--allow-worker', '--experimental-test-module-mocks', diff --git a/test/parallel/test-runner-run.mjs b/test/parallel/test-runner-run.mjs index 9f13e1a1e56420..29b39049c1af0f 100644 --- a/test/parallel/test-runner-run.mjs +++ b/test/parallel/test-runner-run.mjs @@ -194,6 +194,33 @@ describe('require(\'node:test\').run', { concurrency: true }, () => { }); }); + it('should include test type in enqueue, dequeue events', async (t) => { + const stream = await run({ + files: [join(testFixtures, 'default-behavior/test/suite_and_test.cjs')], + }); + t.plan(4); + + stream.on('test:enqueue', common.mustCall((data) => { + if (data.name === 'this is a suite') { + t.assert.strictEqual(data.type, 'suite'); + } + if (data.name === 'this is a test') { + t.assert.strictEqual(data.type, 'test'); + } + }, 2)); + stream.on('test:dequeue', common.mustCall((data) => { + if (data.name === 'this is a suite') { + t.assert.strictEqual(data.type, 'suite'); + } + if (data.name === 'this is a test') { + t.assert.strictEqual(data.type, 'test'); + } + }, 2)); + + // eslint-disable-next-line no-unused-vars + for await (const _ of stream); + }); + describe('AbortSignal', () => { it('should accept a signal', async () => { const stream = run({ signal: AbortSignal.timeout(50), files: [ diff --git a/test/parallel/test-runner-snapshot-file-tests.js b/test/parallel/test-runner-snapshot-file-tests.js new file mode 100644 index 00000000000000..38984956695b82 --- /dev/null +++ b/test/parallel/test-runner-snapshot-file-tests.js @@ -0,0 +1,82 @@ +'use strict'; +const common = require('../common'); +const fixtures = require('../common/fixtures'); +const tmpdir = require('../common/tmpdir'); +const { suite, test } = require('node:test'); + +tmpdir.refresh(); + +suite('t.assert.fileSnapshot() validation', () => { + test('path must be a string', (t) => { + t.assert.throws(() => { + t.assert.fileSnapshot({}, 5); + }, /The "path" argument must be of type string/); + }); + + test('options must be an object', (t) => { + t.assert.throws(() => { + t.assert.fileSnapshot({}, '', null); + }, /The "options" argument must be of type object/); + }); + + test('options.serializers must be an array if present', (t) => { + t.assert.throws(() => { + t.assert.fileSnapshot({}, '', { serializers: 5 }); + }, /The "options\.serializers" property must be an instance of Array/); + }); + + test('options.serializers must only contain functions', (t) => { + t.assert.throws(() => { + t.assert.fileSnapshot({}, '', { serializers: [() => {}, ''] }); + }, /The "options\.serializers\[1\]" property must be of type function/); + }); +}); + +suite('t.assert.fileSnapshot() update/read flow', () => { + const fixture = fixtures.path( + 'test-runner', 'snapshots', 'file-snapshots.js' + ); + + test('fails prior to snapshot generation', async (t) => { + const child = await common.spawnPromisified( + process.execPath, + [fixture], + { cwd: tmpdir.path }, + ); + + t.assert.strictEqual(child.code, 1); + t.assert.strictEqual(child.signal, null); + t.assert.match(child.stdout, /tests 3/); + t.assert.match(child.stdout, /pass 0/); + t.assert.match(child.stdout, /fail 3/); + t.assert.match(child.stdout, /Missing snapshots can be generated/); + }); + + test('passes when regenerating snapshots', async (t) => { + const child = await common.spawnPromisified( + process.execPath, + ['--test-update-snapshots', fixture], + { cwd: tmpdir.path }, + ); + + t.assert.strictEqual(child.code, 0); + t.assert.strictEqual(child.signal, null); + t.assert.match(child.stdout, /tests 3/); + t.assert.match(child.stdout, /pass 3/); + t.assert.match(child.stdout, /fail 0/); + }); + + test('passes when snapshots exist', async (t) => { + const child = await common.spawnPromisified( + process.execPath, + [fixture], + { cwd: tmpdir.path }, + ); + + t.assert.strictEqual(child.code, 0); + t.assert.strictEqual(child.signal, null); + t.assert.match(child.stdout, /tests 3/); + t.assert.match(child.stdout, /pass 3/); + t.assert.match(child.stdout, /fail 0/); + }); +}); diff --git a/test/parallel/test-runner-wait-for.js b/test/parallel/test-runner-wait-for.js new file mode 100644 index 00000000000000..8f1e28f12868e4 --- /dev/null +++ b/test/parallel/test-runner-wait-for.js @@ -0,0 +1,124 @@ +'use strict'; +require('../common'); +const { suite, test } = require('node:test'); + +suite('input validation', () => { + test('throws if condition is not a function', (t) => { + t.assert.throws(() => { + t.waitFor(5); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: /The "condition" argument must be of type function/, + }); + }); + + test('throws if options is not an object', (t) => { + t.assert.throws(() => { + t.waitFor(() => {}, null); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: /The "options" argument must be of type object/, + }); + }); + + test('throws if options.interval is not a number', (t) => { + t.assert.throws(() => { + t.waitFor(() => {}, { interval: 'foo' }); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: /The "options\.interval" property must be of type number/, + }); + }); + + test('throws if options.timeout is not a number', (t) => { + t.assert.throws(() => { + t.waitFor(() => {}, { timeout: 'foo' }); + }, { + code: 'ERR_INVALID_ARG_TYPE', + message: /The "options\.timeout" property must be of type number/, + }); + }); +}); + +test('returns the result of the condition function', async (t) => { + const result = await t.waitFor(() => { + return 42; + }); + + t.assert.strictEqual(result, 42); +}); + +test('returns the result of an async condition function', async (t) => { + const result = await t.waitFor(async () => { + return 84; + }); + + t.assert.strictEqual(result, 84); +}); + +test('errors if the condition times out', async (t) => { + await t.assert.rejects(async () => { + await t.waitFor(() => { + return new Promise(() => {}); + }, { + interval: 60_000, + timeout: 1, + }); + }, { + message: /waitFor\(\) timed out/, + }); +}); + +test('polls until the condition returns successfully', async (t) => { + let count = 0; + const result = await t.waitFor(() => { + ++count; + if (count < 4) { + throw new Error('resource is not ready yet'); + } + + return 'success'; + }, { + interval: 1, + timeout: 60_000, + }); + + t.assert.strictEqual(result, 'success'); + t.assert.strictEqual(count, 4); +}); + +test('sets last failure as error cause on timeouts', async (t) => { + const error = new Error('boom'); + await t.assert.rejects(async () => { + await t.waitFor(() => { + return new Promise((_, reject) => { + reject(error); + }); + }); + }, (err) => { + t.assert.match(err.message, /timed out/); + t.assert.strictEqual(err.cause, error); + return true; + }); +}); + +test('limits polling if condition takes longer than interval', async (t) => { + let count = 0; + + function condition() { + count++; + return new Promise((resolve) => { + setTimeout(() => { + resolve('success'); + }, 200); + }); + } + + const result = await t.waitFor(condition, { + interval: 1, + timeout: 60_000, + }); + + t.assert.strictEqual(result, 'success'); + t.assert.strictEqual(count, 1); +}); diff --git a/test/parallel/test-set-http-max-http-headers.js b/test/parallel/test-set-http-max-http-headers.js index c4df779d2bd4fa..01061a0916595c 100644 --- a/test/parallel/test-set-http-max-http-headers.js +++ b/test/parallel/test-set-http-max-http-headers.js @@ -4,17 +4,10 @@ const common = require('../common'); const assert = require('assert'); const { spawn } = require('child_process'); const path = require('path'); +const { suite, test } = require('node:test'); const testName = path.join(__dirname, 'test-http-max-http-headers.js'); -const timeout = common.platformTimeout(100); - -const tests = []; - -function test(fn) { - tests.push(fn); -} - -test(function(cb) { +test(function(_, cb) { console.log('running subtest expecting failure'); // Validate that the test fails if the max header size is too small. @@ -30,7 +23,7 @@ test(function(cb) { })); }); -test(function(cb) { +test(function(_, cb) { console.log('running subtest expecting success'); const env = Object.assign({}, process.env, { @@ -54,13 +47,13 @@ test(function(cb) { })); }); -// Next, repeat the same checks using NODE_OPTIONS if it is supported. -if (!process.config.variables.node_without_node_options) { +const skip = process.config.variables.node_without_node_options; +suite('same checks using NODE_OPTIONS if it is supported', { skip }, () => { const env = Object.assign({}, process.env, { NODE_OPTIONS: '--max-http-header-size=1024' }); - test(function(cb) { + test(function(_, cb) { console.log('running subtest expecting failure'); // Validate that the test fails if the max header size is too small. @@ -74,7 +67,7 @@ if (!process.config.variables.node_without_node_options) { })); }); - test(function(cb) { + test(function(_, cb) { // Validate that the test now passes if the same limit is large enough. const args = ['--expose-internals', testName, '1024']; const cp = spawn(process.execPath, args, { env, stdio: 'inherit' }); @@ -85,18 +78,4 @@ if (!process.config.variables.node_without_node_options) { cb(); })); }); -} - -function runTest() { - const fn = tests.shift(); - - if (!fn) { - return; - } - - fn(() => { - setTimeout(runTest, timeout); - }); -} - -runTest(); +}); diff --git a/test/parallel/test-set-process-debug-port.js b/test/parallel/test-set-process-debug-port.js index d00a1ddf68ebb6..7f0cbe068549d0 100644 --- a/test/parallel/test-set-process-debug-port.js +++ b/test/parallel/test-set-process-debug-port.js @@ -2,7 +2,11 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); const kMinPort = 1024; diff --git a/test/parallel/test-setproctitle.js b/test/parallel/test-setproctitle.js index 7c4287829f7c0a..b08302e0a35ac0 100644 --- a/test/parallel/test-setproctitle.js +++ b/test/parallel/test-setproctitle.js @@ -1,15 +1,16 @@ 'use strict'; // Original test written by Jakub Lekstan <kuebzky@gmail.com> const common = require('../common'); +const { isMainThread } = require('worker_threads'); // FIXME add sunos support -if (common.isSunOS) +if (common.isSunOS || common.isIBMi) { common.skip(`Unsupported platform [${process.platform}]`); -// FIXME add IBMi support -if (common.isIBMi) - common.skip('Unsupported platform IBMi'); -if (!common.isMainThread) +} + +if (!isMainThread) { common.skip('Setting the process title from Workers is not supported'); +} const assert = require('assert'); const { exec, execSync } = require('child_process'); @@ -25,8 +26,9 @@ process.title = title; assert.strictEqual(process.title, title); // Test setting the title but do not try to run `ps` on Windows. -if (common.isWindows) +if (common.isWindows) { common.skip('Windows does not have "ps" utility'); +} try { execSync('command -v ps'); diff --git a/test/parallel/test-shadow-realm-import-value-resolve.js b/test/parallel/test-shadow-realm-import-value-resolve.js index ee1c17d67c12f1..eeb00509d53a6c 100644 --- a/test/parallel/test-shadow-realm-import-value-resolve.js +++ b/test/parallel/test-shadow-realm-import-value-resolve.js @@ -3,8 +3,11 @@ const common = require('../common'); const assert = require('assert'); const path = require('path'); +const { isMainThread } = require('worker_threads'); -common.skipIfWorker('process.chdir is not supported in workers.'); +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} async function main() { const realm = new ShadowRealm(); diff --git a/test/parallel/test-signal-args.js b/test/parallel/test-signal-args.js index 7b72ed6dcb92d5..28a077ecc1c7d9 100644 --- a/test/parallel/test-signal-args.js +++ b/test/parallel/test-signal-args.js @@ -3,10 +3,15 @@ const common = require('../common'); const assert = require('assert'); -if (common.isWindows) +if (common.isWindows) { common.skip('Sending signals with process.kill is not supported on Windows'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('No signal handling available in Workers'); +} process.once('SIGINT', common.mustCall((signal) => { assert.strictEqual(signal, 'SIGINT'); diff --git a/test/parallel/test-signal-handler.js b/test/parallel/test-signal-handler.js index 05ec4e7f73faf5..b84d2063a288db 100644 --- a/test/parallel/test-signal-handler.js +++ b/test/parallel/test-signal-handler.js @@ -23,10 +23,15 @@ const common = require('../common'); -if (common.isWindows) +if (common.isWindows) { common.skip('SIGUSR1 and SIGHUP signals are not supported'); -if (!common.isMainThread) +} + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('Signal handling in Workers is not supported'); +} console.log(`process.pid: ${process.pid}`); diff --git a/test/parallel/test-source-map-enable.js b/test/parallel/test-source-map-enable.js index 46c25d26cfa8e7..64f4254fcddbc6 100644 --- a/test/parallel/test-source-map-enable.js +++ b/test/parallel/test-source-map-enable.js @@ -242,6 +242,7 @@ function nextdir() { // Persists line lengths for in-memory representation of source file. { + const checkoutEOL = fs.readFileSync(__filename).includes('\r\n') ? '\r\n' : '\n'; const coverageDirectory = nextdir(); spawnSync(process.execPath, [ require.resolve('../fixtures/source-map/istanbul-throw.js'), @@ -250,7 +251,7 @@ function nextdir() { 'istanbul-throw.js', coverageDirectory ); - if (common.checkoutEOL === '\r\n') { + if (checkoutEOL === '\r\n') { assert.deepStrictEqual(sourceMap.lineLengths, [1086, 31, 185, 649, 0]); } else { assert.deepStrictEqual(sourceMap.lineLengths, [1085, 30, 184, 648, 0]); diff --git a/test/parallel/test-sqlite-typed-array-and-data-view.js b/test/parallel/test-sqlite-typed-array-and-data-view.js new file mode 100644 index 00000000000000..1cc75c541b6261 --- /dev/null +++ b/test/parallel/test-sqlite-typed-array-and-data-view.js @@ -0,0 +1,61 @@ +'use strict'; +require('../common'); +const tmpdir = require('../common/tmpdir'); +const { join } = require('node:path'); +const { DatabaseSync } = require('node:sqlite'); +const { suite, test } = require('node:test'); +let cnt = 0; + +tmpdir.refresh(); + +function nextDb() { + return join(tmpdir.path, `database-${cnt++}.db`); +} + +const arrayBuffer = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]).buffer; +const TypedArrays = [ + ['Int8Array', Int8Array], + ['Uint8Array', Uint8Array], + ['Uint8ClampedArray', Uint8ClampedArray], + ['Int16Array', Int16Array], + ['Uint16Array', Uint16Array], + ['Int32Array', Int32Array], + ['Uint32Array', Uint32Array], + ['Float32Array', Float32Array], + ['Float64Array', Float64Array], + ['BigInt64Array', BigInt64Array], + ['BigUint64Array', BigUint64Array], + ['DataView', DataView], +]; + +suite('StatementSync with TypedArray/DataView', () => { + for (const [displayName, TypedArray] of TypedArrays) { + test(displayName, (t) => { + const db = new DatabaseSync(nextDb()); + t.after(() => { db.close(); }); + db.exec('CREATE TABLE test (data BLOB)'); + // insert + { + const stmt = db.prepare('INSERT INTO test VALUES (?)'); + stmt.run(new TypedArray(arrayBuffer)); + } + // select all + { + const stmt = db.prepare('SELECT * FROM test'); + const row = stmt.get(); + t.assert.ok(row.data instanceof Uint8Array); + t.assert.strictEqual(row.data.length, 8); + t.assert.deepStrictEqual(row.data, new Uint8Array(arrayBuffer)); + } + // query + { + const stmt = db.prepare('SELECT * FROM test WHERE data = ?'); + const rows = stmt.all(new TypedArray(arrayBuffer)); + t.assert.strictEqual(rows.length, 1); + t.assert.ok(rows[0].data instanceof Uint8Array); + t.assert.strictEqual(rows[0].data.length, 8); + t.assert.deepStrictEqual(rows[0].data, new Uint8Array(arrayBuffer)); + } + }); + } +}); diff --git a/test/parallel/test-sqlite.js b/test/parallel/test-sqlite.js index 87162526ffadcd..c9a45fa22aecc2 100644 --- a/test/parallel/test-sqlite.js +++ b/test/parallel/test-sqlite.js @@ -103,3 +103,11 @@ test('PRAGMAs are supported', (t) => { { __proto__: null, journal_mode: 'wal' }, ); }); + +test('math functions are enabled', (t) => { + const db = new DatabaseSync(':memory:'); + t.assert.deepStrictEqual( + db.prepare('SELECT PI() AS pi').get(), + { __proto__: null, pi: 3.141592653589793 }, + ); +}); diff --git a/test/parallel/test-stdio-pipe-access.js b/test/parallel/test-stdio-pipe-access.js index ac0e22c399a1b9..6bf6b107c60e92 100644 --- a/test/parallel/test-stdio-pipe-access.js +++ b/test/parallel/test-stdio-pipe-access.js @@ -1,7 +1,10 @@ 'use strict'; const common = require('../common'); -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip("Workers don't have process-like stdio"); +} // Test if Node handles accessing process.stdin if it is a redirected // pipe without deadlocking diff --git a/test/parallel/test-stdio-pipe-redirect.js b/test/parallel/test-stdio-pipe-redirect.js index 8b48133c8b0317..69367119ed3402 100644 --- a/test/parallel/test-stdio-pipe-redirect.js +++ b/test/parallel/test-stdio-pipe-redirect.js @@ -1,7 +1,10 @@ 'use strict'; const common = require('../common'); -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip("Workers don't have process-like stdio"); +} // Test if Node handles redirecting one child process stdout to another // process stdin without crashing. diff --git a/test/parallel/test-stream-compose.js b/test/parallel/test-stream-compose.js index 1ff8c39b7a2234..d7a54e177668a2 100644 --- a/test/parallel/test-stream-compose.js +++ b/test/parallel/test-stream-compose.js @@ -1,5 +1,3 @@ -// Flags: --expose-internals - 'use strict'; const common = require('../common'); @@ -9,9 +7,9 @@ const { Transform, Writable, finished, + compose, PassThrough } = require('stream'); -const compose = require('internal/streams/compose'); const assert = require('assert'); { diff --git a/test/parallel/test-timers-api-refs.js b/test/parallel/test-timers-api-refs.js index 3c55a05ac4c20a..a6a541963110bb 100644 --- a/test/parallel/test-timers-api-refs.js +++ b/test/parallel/test-timers-api-refs.js @@ -4,12 +4,12 @@ const timers = require('timers'); // Delete global APIs to make sure they're not relied on by the internal timers // code -delete global.setTimeout; -delete global.clearTimeout; -delete global.setInterval; -delete global.clearInterval; -delete global.setImmediate; -delete global.clearImmediate; +delete globalThis.setTimeout; +delete globalThis.clearTimeout; +delete globalThis.setInterval; +delete globalThis.clearInterval; +delete globalThis.setImmediate; +delete globalThis.clearImmediate; const timeoutCallback = () => { timers.clearTimeout(timeout); }; const timeout = timers.setTimeout(common.mustCall(timeoutCallback), 1); diff --git a/test/parallel/test-timers-immediate-unref-simple.js b/test/parallel/test-timers-immediate-unref-simple.js index 369894fcdebbae..fae8ad3eaea801 100644 --- a/test/parallel/test-timers-immediate-unref-simple.js +++ b/test/parallel/test-timers-immediate-unref-simple.js @@ -1,8 +1,9 @@ 'use strict'; const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) { +if (!isMainThread) { // Note that test-timers-immediate-unref-nested-once works instead. common.skip('Worker bootstrapping works differently -> different timing'); } diff --git a/test/parallel/test-timers-process-tampering.js b/test/parallel/test-timers-process-tampering.js index 766cc9f3560c82..8632e7c96fa086 100644 --- a/test/parallel/test-timers-process-tampering.js +++ b/test/parallel/test-timers-process-tampering.js @@ -3,6 +3,6 @@ 'use strict'; const common = require('../common'); -global.process = {}; // Boom! -common.allowGlobals(global.process); +globalThis.process = {}; // Boom! +common.allowGlobals(globalThis.process); setImmediate(common.mustCall()); diff --git a/test/parallel/test-tls-alert-handling.js b/test/parallel/test-tls-alert-handling.js index b14438bc92d7e6..eec072796063dc 100644 --- a/test/parallel/test-tls-alert-handling.js +++ b/test/parallel/test-tls-alert-handling.js @@ -1,11 +1,19 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { + hasOpenSSL, + hasOpenSSL3, + opensslCli, +} = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI'); +} const assert = require('assert'); const net = require('net'); @@ -33,14 +41,14 @@ let iter = 0; const errorHandler = common.mustCall((err) => { let expectedErrorCode = 'ERR_SSL_WRONG_VERSION_NUMBER'; let expectedErrorReason = 'wrong version number'; - if (common.hasOpenSSL(3, 2)) { + if (hasOpenSSL(3, 2)) { expectedErrorCode = 'ERR_SSL_PACKET_LENGTH_TOO_LONG'; expectedErrorReason = 'packet length too long'; }; assert.strictEqual(err.code, expectedErrorCode); assert.strictEqual(err.library, 'SSL routines'); - if (!common.hasOpenSSL3) assert.strictEqual(err.function, 'ssl3_get_record'); + if (!hasOpenSSL3) assert.strictEqual(err.function, 'ssl3_get_record'); assert.strictEqual(err.reason, expectedErrorReason); errorReceived = true; if (canCloseServer()) @@ -96,13 +104,13 @@ function sendBADTLSRecord() { client.on('error', common.mustCall((err) => { let expectedErrorCode = 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION'; let expectedErrorReason = 'tlsv1 alert protocol version'; - if (common.hasOpenSSL(3, 2)) { + if (hasOpenSSL(3, 2)) { expectedErrorCode = 'ERR_SSL_TLSV1_ALERT_RECORD_OVERFLOW'; expectedErrorReason = 'tlsv1 alert record overflow'; } assert.strictEqual(err.code, expectedErrorCode); assert.strictEqual(err.library, 'SSL routines'); - if (!common.hasOpenSSL3) + if (!hasOpenSSL3) assert.strictEqual(err.function, 'ssl3_read_bytes'); assert.strictEqual(err.reason, expectedErrorReason); })); diff --git a/test/parallel/test-tls-alert.js b/test/parallel/test-tls-alert.js index e6aaaedfe59d72..23c92e7293458f 100644 --- a/test/parallel/test-tls-alert.js +++ b/test/parallel/test-tls-alert.js @@ -21,11 +21,18 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { + hasOpenSSL, + opensslCli, +} = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} const assert = require('assert'); const { execFile } = require('child_process'); @@ -42,10 +49,10 @@ const server = tls.Server({ cert: loadPEM('agent2-cert') }, null).listen(0, common.mustCall(() => { const args = ['s_client', '-quiet', '-tls1_1', - '-cipher', (common.hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), + '-cipher', (hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), '-connect', `127.0.0.1:${server.address().port}`]; - execFile(common.opensslCli, args, common.mustCall((err, _, stderr) => { + execFile(opensslCli, args, common.mustCall((err, _, stderr) => { assert.strictEqual(err.code, 1); assert.match(stderr, /SSL alert number 70/); server.close(); diff --git a/test/parallel/test-tls-alpn-server-client.js b/test/parallel/test-tls-alpn-server-client.js index 8f1a4b8e439aab..b7cd2806471e67 100644 --- a/test/parallel/test-tls-alpn-server-client.js +++ b/test/parallel/test-tls-alpn-server-client.js @@ -1,8 +1,9 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const { spawn } = require('child_process'); @@ -198,7 +199,7 @@ function TestFatalAlert() { // OpenSSL's s_client should output the TLS alert number, which is 120 // for the 'no_application_protocol' alert. - const { opensslCli } = common; + const { opensslCli } = require('../common/crypto'); if (opensslCli) { const addr = `${serverIP}:${port}`; let stderr = ''; diff --git a/test/parallel/test-tls-cert-ext-encoding.js b/test/parallel/test-tls-cert-ext-encoding.js index 4556b5791851c5..154e0cdcf02294 100644 --- a/test/parallel/test-tls-cert-ext-encoding.js +++ b/test/parallel/test-tls-cert-ext-encoding.js @@ -3,7 +3,9 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); -if (common.hasOpenSSL3) +const { hasOpenSSL3 } = require('../common/crypto'); + +if (hasOpenSSL3) // TODO(danbev) This test fails with the following error: // error:0D00008F:asn1 encoding routines::no matching choice type // diff --git a/test/parallel/test-tls-client-auth.js b/test/parallel/test-tls-client-auth.js index de4c8f038ec073..b347c0a88df571 100644 --- a/test/parallel/test-tls-client-auth.js +++ b/test/parallel/test-tls-client-auth.js @@ -3,6 +3,11 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); +if (!common.hasCrypto) { + common.skip('missing crypto'); +} +const { hasOpenSSL } = require('../common/crypto'); + const { assert, connect, keys, tls } = require(fixtures.path('tls-connect')); @@ -79,7 +84,7 @@ connect({ }, function(err, pair, cleanup) { assert.strictEqual(pair.server.err.code, 'ERR_SSL_PEER_DID_NOT_RETURN_A_CERTIFICATE'); - const expectedErr = common.hasOpenSSL(3, 2) ? + const expectedErr = hasOpenSSL(3, 2) ? 'ERR_SSL_SSL/TLS_ALERT_HANDSHAKE_FAILURE' : 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE'; assert.strictEqual(pair.client.err.code, expectedErr); diff --git a/test/parallel/test-tls-client-getephemeralkeyinfo.js b/test/parallel/test-tls-client-getephemeralkeyinfo.js index 0bacd8702fc650..0f132c565e4400 100644 --- a/test/parallel/test-tls-client-getephemeralkeyinfo.js +++ b/test/parallel/test-tls-client-getephemeralkeyinfo.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const fixtures = require('../common/fixtures'); +const { hasOpenSSL } = require('../common/crypto'); const assert = require('assert'); const { X509Certificate } = require('crypto'); @@ -69,7 +70,7 @@ function test(size, type, name, cipher) { test(undefined, undefined, undefined, 'AES256-SHA256'); test('auto', 'DH', undefined, 'DHE-RSA-AES256-GCM-SHA384'); -if (!common.hasOpenSSL(3, 2)) { +if (!hasOpenSSL(3, 2)) { test(1024, 'DH', undefined, 'DHE-RSA-AES256-GCM-SHA384'); } else { test(3072, 'DH', undefined, 'DHE-RSA-AES256-GCM-SHA384'); diff --git a/test/parallel/test-tls-client-mindhsize.js b/test/parallel/test-tls-client-mindhsize.js index 15c086842e1e4a..1ab5b5fe1bffd7 100644 --- a/test/parallel/test-tls-client-mindhsize.js +++ b/test/parallel/test-tls-client-mindhsize.js @@ -3,6 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const { hasOpenSSL } = require('../common/crypto'); const assert = require('assert'); const tls = require('tls'); const fixtures = require('../common/fixtures'); @@ -38,7 +39,7 @@ function test(size, err, next) { // Client set minimum DH parameter size to 2048 or 3072 bits // so that it fails when it makes a connection to the tls // server where is too small - const minDHSize = common.hasOpenSSL(3, 2) ? 3072 : 2048; + const minDHSize = hasOpenSSL(3, 2) ? 3072 : 2048; const client = tls.connect({ minDHSize: minDHSize, port: this.address().port, @@ -76,7 +77,7 @@ function testDHE3072() { test(3072, false, null); } -if (common.hasOpenSSL(3, 2)) { +if (hasOpenSSL(3, 2)) { // Minimum size for OpenSSL 3.2 is 2048 by default testDHE2048(true, testDHE3072); } else { diff --git a/test/parallel/test-tls-client-renegotiation-13.js b/test/parallel/test-tls-client-renegotiation-13.js index a32baed0249a0a..38a72fb525b430 100644 --- a/test/parallel/test-tls-client-renegotiation-13.js +++ b/test/parallel/test-tls-client-renegotiation-13.js @@ -1,6 +1,12 @@ 'use strict'; const common = require('../common'); + +if (!common.hasCrypto) { + common.skip('missing crypto'); +} +const { hasOpenSSL3 } = require('../common/crypto'); + const fixtures = require('../common/fixtures'); // Confirm that for TLSv1.3, renegotiate() is disallowed. @@ -29,7 +35,7 @@ connect({ const ok = client.renegotiate({}, common.mustCall((err) => { assert.throws(() => { throw err; }, { - message: common.hasOpenSSL3 ? + message: hasOpenSSL3 ? 'error:0A00010A:SSL routines::wrong ssl version' : 'error:1420410A:SSL routines:SSL_renegotiate:wrong ssl version', code: 'ERR_SSL_WRONG_SSL_VERSION', diff --git a/test/parallel/test-tls-client-renegotiation-limit.js b/test/parallel/test-tls-client-renegotiation-limit.js index 71d7a85bae468b..b35140e8964ac1 100644 --- a/test/parallel/test-tls-client-renegotiation-limit.js +++ b/test/parallel/test-tls-client-renegotiation-limit.js @@ -21,11 +21,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} const assert = require('assert'); const tls = require('tls'); diff --git a/test/parallel/test-tls-connect-memleak.js b/test/parallel/test-tls-connect-memleak.js index 5bdcbe89f785f6..7b9cb71d8df0ba 100644 --- a/test/parallel/test-tls-connect-memleak.js +++ b/test/parallel/test-tls-connect-memleak.js @@ -57,7 +57,7 @@ const gcListener = { ongc() { collected = true; } }; } function done(sock) { - global.gc(); + globalThis.gc(); setImmediate(() => { assert.strictEqual(collected, true); sock.end(); diff --git a/test/parallel/test-tls-dhe.js b/test/parallel/test-tls-dhe.js index 21739ce42428eb..25b58191e1d413 100644 --- a/test/parallel/test-tls-dhe.js +++ b/test/parallel/test-tls-dhe.js @@ -22,11 +22,18 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { + hasOpenSSL, + opensslCli, +} = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('missing openssl-cli'); +} const assert = require('assert'); const { X509Certificate } = require('crypto'); @@ -43,7 +50,7 @@ const dheCipher = 'DHE-RSA-AES128-SHA256'; const ecdheCipher = 'ECDHE-RSA-AES128-SHA256'; const ciphers = `${dheCipher}:${ecdheCipher}`; -if (!common.hasOpenSSL(3, 2)) { +if (!hasOpenSSL(3, 2)) { // Test will emit a warning because the DH parameter size is < 2048 bits // when the test is run on versions lower than OpenSSL32 common.expectWarning('SecurityWarning', @@ -70,7 +77,7 @@ function test(dhparam, keylen, expectedCipher) { const args = ['s_client', '-connect', `127.0.0.1:${server.address().port}`, '-cipher', `${ciphers}:@SECLEVEL=1`]; - execFile(common.opensslCli, args, common.mustSucceed((stdout) => { + execFile(opensslCli, args, common.mustSucceed((stdout) => { assert(keylen === null || stdout.includes(`Server Temp Key: DH, ${keylen} bits`)); assert(stdout.includes(`Cipher : ${expectedCipher}`)); @@ -107,7 +114,7 @@ function testCustomParam(keylen, expectedCipher) { }, /DH parameter is less than 1024 bits/); // Custom DHE parameters are supported (but discouraged). - if (!common.hasOpenSSL(3, 2)) { + if (!hasOpenSSL(3, 2)) { await testCustomParam(1024, dheCipher); } else { await testCustomParam(3072, dheCipher); diff --git a/test/parallel/test-tls-ecdh-auto.js b/test/parallel/test-tls-ecdh-auto.js index 11c588d8ac8ce1..adc7817b729aa8 100644 --- a/test/parallel/test-tls-ecdh-auto.js +++ b/test/parallel/test-tls-ecdh-auto.js @@ -4,11 +4,15 @@ const common = require('../common'); // This test ensures that the value "auto" on ecdhCurve option is // supported to enable automatic curve selection in TLS server. -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('missing openssl-cli'); +} const assert = require('assert'); const tls = require('tls'); @@ -36,7 +40,7 @@ const server = tls.createServer(options, (conn) => { '-cipher', `${options.ciphers}`, '-connect', `127.0.0.1:${server.address().port}`]; - execFile(common.opensslCli, args, common.mustSucceed((stdout) => { + execFile(opensslCli, args, common.mustSucceed((stdout) => { assert(stdout.includes(reply)); server.close(); })); diff --git a/test/parallel/test-tls-ecdh-multiple.js b/test/parallel/test-tls-ecdh-multiple.js index 5bf119f48bacad..957f8e0407a6de 100644 --- a/test/parallel/test-tls-ecdh-multiple.js +++ b/test/parallel/test-tls-ecdh-multiple.js @@ -4,11 +4,16 @@ const common = require('../common'); // This test ensures that ecdhCurve option of TLS server supports colon // separated ECDH curve names as value. -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); +const crypto = require('crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('missing openssl-cli'); +} const assert = require('assert'); const tls = require('tls'); @@ -36,7 +41,7 @@ const server = tls.createServer(options, (conn) => { '-cipher', `${options.ciphers}`, '-connect', `127.0.0.1:${server.address().port}`]; - execFile(common.opensslCli, args, common.mustSucceed((stdout) => { + execFile(opensslCli, args, common.mustSucceed((stdout) => { assert(stdout.includes(reply)); server.close(); })); @@ -51,8 +56,9 @@ const server = tls.createServer(options, (conn) => { ]; // Brainpool is not supported in FIPS mode. - if (common.hasFipsCrypto) + if (crypto.getFips()) { unsupportedCurves.push('brainpoolP256r1'); + } unsupportedCurves.forEach((ecdhCurve) => { assert.throws(() => tls.createServer({ ecdhCurve }), diff --git a/test/parallel/test-tls-ecdh.js b/test/parallel/test-tls-ecdh.js index 276b713f5ecf70..4d45e7f024586e 100644 --- a/test/parallel/test-tls-ecdh.js +++ b/test/parallel/test-tls-ecdh.js @@ -23,11 +23,15 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} -if (!common.opensslCli) +const { opensslCli } = require('../common/crypto'); + +if (!opensslCli) { common.skip('missing openssl-cli'); +} const assert = require('assert'); const tls = require('tls'); @@ -49,7 +53,7 @@ const server = tls.createServer(options, common.mustCall(function(conn) { })); server.listen(0, '127.0.0.1', common.mustCall(function() { - const cmd = common.escapePOSIXShell`"${common.opensslCli}" s_client -cipher ${ + const cmd = common.escapePOSIXShell`"${opensslCli}" s_client -cipher ${ options.ciphers} -connect 127.0.0.1:${this.address().port}`; exec(...cmd, common.mustSucceed((stdout, stderr) => { diff --git a/test/parallel/test-tls-empty-sni-context.js b/test/parallel/test-tls-empty-sni-context.js index 093e5cca712d2c..79f1ddd341d938 100644 --- a/test/parallel/test-tls-empty-sni-context.js +++ b/test/parallel/test-tls-empty-sni-context.js @@ -3,7 +3,7 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); - +const { hasOpenSSL } = require('../common/crypto'); const assert = require('assert'); const tls = require('tls'); @@ -26,7 +26,7 @@ const server = tls.createServer(options, (c) => { }, common.mustNotCall()); c.on('error', common.mustCall((err) => { - const expectedErr = common.hasOpenSSL(3, 2) ? + const expectedErr = hasOpenSSL(3, 2) ? 'ERR_SSL_SSL/TLS_ALERT_HANDSHAKE_FAILURE' : 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE'; assert.strictEqual(err.code, expectedErr); })); diff --git a/test/parallel/test-tls-error-stack.js b/test/parallel/test-tls-error-stack.js new file mode 100644 index 00000000000000..36deb05b511234 --- /dev/null +++ b/test/parallel/test-tls-error-stack.js @@ -0,0 +1,18 @@ +'use strict'; + +// This tests that the crypto error stack can be correctly converted. +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const tls = require('tls'); + +assert.throws(() => { + tls.createSecureContext({ clientCertEngine: 'x' }); +}, (err) => { + return err.name === 'Error' && + /could not load the shared library/.test(err.message) && + Array.isArray(err.opensslErrorStack) && + err.opensslErrorStack.length > 0; +}); diff --git a/test/parallel/test-tls-getprotocol.js b/test/parallel/test-tls-getprotocol.js index a9c8775e2f112f..b1eab88fd6517e 100644 --- a/test/parallel/test-tls-getprotocol.js +++ b/test/parallel/test-tls-getprotocol.js @@ -3,6 +3,8 @@ const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); +const { hasOpenSSL } = require('../common/crypto'); + // This test ensures that `getProtocol` returns the right protocol // from a TLS connection @@ -14,11 +16,11 @@ const clientConfigs = [ { secureProtocol: 'TLSv1_method', version: 'TLSv1', - ciphers: (common.hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') + ciphers: (hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') }, { secureProtocol: 'TLSv1_1_method', version: 'TLSv1.1', - ciphers: (common.hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') + ciphers: (hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT') }, { secureProtocol: 'TLSv1_2_method', version: 'TLSv1.2' diff --git a/test/parallel/test-tls-junk-server.js b/test/parallel/test-tls-junk-server.js index cc520383ede45f..0e536a66884e94 100644 --- a/test/parallel/test-tls-junk-server.js +++ b/test/parallel/test-tls-junk-server.js @@ -1,8 +1,11 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { hasOpenSSL } = require('../common/crypto'); const assert = require('assert'); const https = require('https'); @@ -21,7 +24,7 @@ server.listen(0, function() { req.end(); let expectedErrorMessage = new RegExp('wrong version number'); - if (common.hasOpenSSL(3, 2)) { + if (hasOpenSSL(3, 2)) { expectedErrorMessage = new RegExp('packet length too long'); }; req.once('error', common.mustCall(function(err) { diff --git a/test/parallel/test-tls-key-mismatch.js b/test/parallel/test-tls-key-mismatch.js index fdbb3676267a9d..df8848a03de4a9 100644 --- a/test/parallel/test-tls-key-mismatch.js +++ b/test/parallel/test-tls-key-mismatch.js @@ -22,14 +22,16 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const fixtures = require('../common/fixtures'); +const { hasOpenSSL3 } = require('../common/crypto'); const assert = require('assert'); const tls = require('tls'); -const errorMessageRegex = common.hasOpenSSL3 ? +const errorMessageRegex = hasOpenSSL3 ? /^Error: error:05800074:x509 certificate routines::key values mismatch$/ : /^Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch$/; diff --git a/test/parallel/test-tls-legacy-pfx.js b/test/parallel/test-tls-legacy-pfx.js index 33b4c58fc6ccc3..5106217718dbdc 100644 --- a/test/parallel/test-tls-legacy-pfx.js +++ b/test/parallel/test-tls-legacy-pfx.js @@ -1,9 +1,14 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); -if (!common.hasOpenSSL3) +} + +const { hasOpenSSL3 } = require('../common/crypto'); + +if (!hasOpenSSL3) { common.skip('OpenSSL legacy failures are only testable with OpenSSL 3+'); +} const fixtures = require('../common/fixtures'); diff --git a/test/parallel/test-tls-min-max-version.js b/test/parallel/test-tls-min-max-version.js index af32468eea6a68..4903d92f5c5700 100644 --- a/test/parallel/test-tls-min-max-version.js +++ b/test/parallel/test-tls-min-max-version.js @@ -1,5 +1,13 @@ 'use strict'; const common = require('../common'); + +if (!common.hasCrypto) { + common.skip('missing crypto'); +} +const { + hasOpenSSL, + hasOpenSSL3, +} = require('../common/crypto'); const fixtures = require('../common/fixtures'); const { inspect } = require('util'); @@ -16,13 +24,13 @@ function test(cmin, cmax, cprot, smin, smax, sprot, proto, cerr, serr) { assert(proto || cerr || serr, 'test missing any expectations'); let ciphers; - if (common.hasOpenSSL3 && (proto === 'TLSv1' || proto === 'TLSv1.1' || + if (hasOpenSSL3 && (proto === 'TLSv1' || proto === 'TLSv1.1' || proto === 'TLSv1_1_method' || proto === 'TLSv1_method' || sprot === 'TLSv1_1_method' || sprot === 'TLSv1_method')) { if (serr !== 'ERR_SSL_UNSUPPORTED_PROTOCOL') ciphers = 'ALL@SECLEVEL=0'; } - if (common.hasOpenSSL(3, 1) && cerr === 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION') { + if (hasOpenSSL(3, 1) && cerr === 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION') { ciphers = 'DEFAULT@SECLEVEL=0'; } // Report where test was called from. Strip leading garbage from @@ -125,9 +133,9 @@ test(U, U, 'TLS_method', U, U, 'TLSv1_method', 'TLSv1'); // OpenSSL 1.1.1 and 3.0 use a different error code and alert (sent to the // client) when no protocols are enabled on the server. -const NO_PROTOCOLS_AVAILABLE_SERVER = common.hasOpenSSL3 ? +const NO_PROTOCOLS_AVAILABLE_SERVER = hasOpenSSL3 ? 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' : 'ERR_SSL_INTERNAL_ERROR'; -const NO_PROTOCOLS_AVAILABLE_SERVER_ALERT = common.hasOpenSSL3 ? +const NO_PROTOCOLS_AVAILABLE_SERVER_ALERT = hasOpenSSL3 ? 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' : 'ERR_SSL_TLSV1_ALERT_INTERNAL_ERROR'; // SSLv23 also means "any supported protocol" greater than the default diff --git a/test/parallel/test-tls-no-sslv3.js b/test/parallel/test-tls-no-sslv3.js index 9282beb4bdac2c..cd5f4ad944a6c5 100644 --- a/test/parallel/test-tls-no-sslv3.js +++ b/test/parallel/test-tls-no-sslv3.js @@ -1,10 +1,14 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} -if (common.opensslCli === false) +const { opensslCli } = require('../common/crypto'); + +if (opensslCli === false) { common.skip('node compiled without OpenSSL CLI.'); +} const assert = require('assert'); const tls = require('tls'); @@ -23,7 +27,7 @@ server.listen(0, '127.0.0.1', function() { '-ssl3', '-connect', address]; - const client = spawn(common.opensslCli, args, { stdio: 'pipe' }); + const client = spawn(opensslCli, args, { stdio: 'pipe' }); client.stdout.pipe(process.stdout); client.stderr.pipe(process.stderr); client.stderr.setEncoding('utf8'); diff --git a/test/parallel/test-tls-ocsp-callback.js b/test/parallel/test-tls-ocsp-callback.js index 04a60a0890c506..bdf622d4686ec1 100644 --- a/test/parallel/test-tls-ocsp-callback.js +++ b/test/parallel/test-tls-ocsp-callback.js @@ -22,12 +22,17 @@ 'use strict'; const common = require('../common'); -if (!common.opensslCli) - common.skip('node compiled without OpenSSL CLI.'); - -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); + +if (!opensslCli) { + common.skip('node compiled without OpenSSL CLI.'); +} +const crypto = require('crypto'); const tls = require('tls'); const fixtures = require('../common/fixtures'); @@ -108,6 +113,6 @@ test({ ocsp: true, response: false }); test({ ocsp: true, response: 'hello world' }); test({ ocsp: false }); -if (!common.hasFipsCrypto) { +if (!crypto.getFips()) { test({ ocsp: true, response: 'hello pfx', pfx: pfx, passphrase: 'sample' }); } diff --git a/test/parallel/test-tls-psk-circuit.js b/test/parallel/test-tls-psk-circuit.js index e93db3eb1b4923..61861ecf4dafa6 100644 --- a/test/parallel/test-tls-psk-circuit.js +++ b/test/parallel/test-tls-psk-circuit.js @@ -1,9 +1,11 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} +const { hasOpenSSL } = require('../common/crypto'); const assert = require('assert'); const tls = require('tls'); @@ -62,11 +64,12 @@ test({ psk: USERS.UserA, identity: 'UserA' }, { minVersion: 'TLSv1.3' }); test({ psk: USERS.UserB, identity: 'UserB' }); test({ psk: USERS.UserB, identity: 'UserB' }, { minVersion: 'TLSv1.3' }); // Unrecognized user should fail handshake -const expectedHandshakeErr = common.hasOpenSSL(3, 2) ? +const expectedHandshakeErr = hasOpenSSL(3, 2) ? 'ERR_SSL_SSL/TLS_ALERT_HANDSHAKE_FAILURE' : 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE'; test({ psk: USERS.UserB, identity: 'UserC' }, {}, expectedHandshakeErr); // Recognized user but incorrect secret should fail handshake -const expectedIllegalParameterErr = common.hasOpenSSL(3, 2) ? - 'ERR_SSL_SSL/TLS_ALERT_ILLEGAL_PARAMETER' : 'ERR_SSL_SSLV3_ALERT_ILLEGAL_PARAMETER'; +const expectedIllegalParameterErr = hasOpenSSL(3, 4) ? 'ERR_SSL_TLSV1_ALERT_DECRYPT_ERROR' : + hasOpenSSL(3, 2) ? + 'ERR_SSL_SSL/TLS_ALERT_ILLEGAL_PARAMETER' : 'ERR_SSL_SSLV3_ALERT_ILLEGAL_PARAMETER'; test({ psk: USERS.UserA, identity: 'UserB' }, {}, expectedIllegalParameterErr); test({ psk: USERS.UserB, identity: 'UserB' }); diff --git a/test/parallel/test-tls-psk-server.js b/test/parallel/test-tls-psk-server.js index b9260958401522..87fad86083e1ab 100644 --- a/test/parallel/test-tls-psk-server.js +++ b/test/parallel/test-tls-psk-server.js @@ -1,10 +1,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); -if (!common.opensslCli) +} + +const { opensslCli } = require('../common/crypto'); + +if (!opensslCli) { common.skip('missing openssl cli'); +} const assert = require('assert'); @@ -41,7 +46,7 @@ let sentWorld = false; let gotWorld = false; server.listen(0, () => { - const client = spawn(common.opensslCli, [ + const client = spawn(opensslCli, [ 's_client', '-connect', `127.0.0.1:${server.address().port}`, '-cipher', CIPHERS, diff --git a/test/parallel/test-tls-securepair-leak.js b/test/parallel/test-tls-securepair-leak.js index 98bdcde76ec034..e3d5c2cdf37b5d 100644 --- a/test/parallel/test-tls-securepair-leak.js +++ b/test/parallel/test-tls-securepair-leak.js @@ -17,7 +17,7 @@ const before = process.memoryUsage().external; createSecurePair(context, false, false, false, options).destroy(); } setImmediate(() => { - global.gc(); + globalThis.gc(); const after = process.memoryUsage().external; // It's not an exact science but a SecurePair grows .external by about 45 KiB. diff --git a/test/parallel/test-tls-securepair-server.js b/test/parallel/test-tls-securepair-server.js index 78cd9f725401ed..fb4ebe6a2511cf 100644 --- a/test/parallel/test-tls-securepair-server.js +++ b/test/parallel/test-tls-securepair-server.js @@ -21,11 +21,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('missing openssl-cli'); +} const assert = require('assert'); const tls = require('tls'); @@ -109,7 +113,7 @@ server.listen(0, common.mustCall(function() { const args = ['s_client', '-connect', `127.0.0.1:${this.address().port}`]; - const client = spawn(common.opensslCli, args); + const client = spawn(opensslCli, args); let out = ''; diff --git a/test/parallel/test-tls-server-verify.js b/test/parallel/test-tls-server-verify.js index 51ccd0d747fdf5..2517c7c8dbbb1f 100644 --- a/test/parallel/test-tls-server-verify.js +++ b/test/parallel/test-tls-server-verify.js @@ -22,11 +22,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} // This is a rather complex test which sets up various TLS servers with node // and connects to them using the 'openssl s_client' command line utility @@ -188,7 +192,7 @@ function runClient(prefix, port, options, cb) { } // To test use: openssl s_client -connect localhost:8000 - const client = spawn(common.opensslCli, args); + const client = spawn(opensslCli, args); let out = ''; diff --git a/test/parallel/test-tls-session-cache.js b/test/parallel/test-tls-session-cache.js index b55e150401d8a2..9524764aa609ee 100644 --- a/test/parallel/test-tls-session-cache.js +++ b/test/parallel/test-tls-session-cache.js @@ -21,17 +21,23 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} +const { + hasOpenSSL, + opensslCli, +} = require('../common/crypto'); + +if (!opensslCli) { + common.skip('node compiled without OpenSSL CLI.'); +} + const fixtures = require('../common/fixtures'); const assert = require('assert'); const tls = require('tls'); const { spawn } = require('child_process'); -if (!common.opensslCli) - common.skip('node compiled without OpenSSL CLI.'); - - doTest({ tickets: false }, function() { doTest({ tickets: true }, function() { doTest({ tickets: false, invalidSession: true }, function() { @@ -100,7 +106,7 @@ function doTest(testOptions, callback) { const args = [ 's_client', '-tls1', - '-cipher', (common.hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), + '-cipher', (hasOpenSSL(3, 1) ? 'DEFAULT:@SECLEVEL=0' : 'DEFAULT'), '-connect', `localhost:${this.address().port}`, '-servername', 'ohgod', '-key', fixtures.path('keys/rsa_private.pem'), @@ -109,7 +115,7 @@ function doTest(testOptions, callback) { ].concat(testOptions.tickets ? [] : '-no_ticket'); function spawnClient() { - const client = spawn(common.opensslCli, args, { + const client = spawn(opensslCli, args, { stdio: [ 0, 1, 'pipe' ] }); let err = ''; diff --git a/test/parallel/test-tls-set-ciphers.js b/test/parallel/test-tls-set-ciphers.js index f7062e73c9403c..1e63e9376e134b 100644 --- a/test/parallel/test-tls-set-ciphers.js +++ b/test/parallel/test-tls-set-ciphers.js @@ -1,7 +1,17 @@ 'use strict'; const common = require('../common'); -if (!common.hasOpenSSL3) +if (!common.hasCrypto) { common.skip('missing crypto, or OpenSSL version lower than 3'); +} + +const { + hasOpenSSL, + hasOpenSSL3, +} = require('../common/crypto'); + +if (!hasOpenSSL3) { + common.skip('missing crypto, or OpenSSL version lower than 3'); +} const fixtures = require('../common/fixtures'); const { inspect } = require('util'); @@ -80,7 +90,7 @@ function test(cciphers, sciphers, cipher, cerr, serr, options) { const U = undefined; let expectedTLSAlertError = 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE'; -if (common.hasOpenSSL(3, 2)) { +if (hasOpenSSL(3, 2)) { expectedTLSAlertError = 'ERR_SSL_SSL/TLS_ALERT_HANDSHAKE_FAILURE'; } @@ -117,7 +127,7 @@ test(U, 'AES256-SHA', 'TLS_AES_256_GCM_SHA384', U, U, { maxVersion: 'TLSv1.3' }) // default, but work. // However, for OpenSSL32 AES_128 is not enabled due to the // default security level -if (!common.hasOpenSSL(3, 2)) { +if (!hasOpenSSL(3, 2)) { test('TLS_AES_128_CCM_8_SHA256', U, U, 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE', 'ERR_SSL_NO_SHARED_CIPHER'); diff --git a/test/parallel/test-tls-set-secure-context.js b/test/parallel/test-tls-set-secure-context.js index c056875e14ddfb..3d2de6b3321414 100644 --- a/test/parallel/test-tls-set-secure-context.js +++ b/test/parallel/test-tls-set-secure-context.js @@ -1,8 +1,9 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} // This test verifies the behavior of the tls setSecureContext() method. // It also verifies that existing connections are not disrupted when the @@ -12,6 +13,7 @@ const assert = require('assert'); const events = require('events'); const https = require('https'); const timers = require('timers/promises'); +const { hasOpenSSL3 } = require('../common/crypto'); const fixtures = require('../common/fixtures'); const credentialOptions = [ { @@ -55,7 +57,7 @@ server.listen(0, common.mustCall(() => { server.setSecureContext(credentialOptions[1]); firstResponse.write('request-'); - const errorMessageRegex = common.hasOpenSSL3 ? + const errorMessageRegex = hasOpenSSL3 ? /^Error: self-signed certificate$/ : /^Error: self signed certificate$/; await assert.rejects(makeRequest(port, 3), errorMessageRegex); diff --git a/test/parallel/test-tls-set-sigalgs.js b/test/parallel/test-tls-set-sigalgs.js index 3f3d152f4d877e..985ca13ba2ac7d 100644 --- a/test/parallel/test-tls-set-sigalgs.js +++ b/test/parallel/test-tls-set-sigalgs.js @@ -1,6 +1,9 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) common.skip('missing crypto'); +if (!common.hasCrypto) { + common.skip('missing crypto'); +} +const { hasOpenSSL } = require('../common/crypto'); const fixtures = require('../common/fixtures'); // Test sigalgs: option for TLS. @@ -63,7 +66,7 @@ test('RSA-PSS+SHA256:RSA-PSS+SHA512:ECDSA+SHA256', ['RSA-PSS+SHA256', 'ECDSA+SHA256']); // Do not have shared sigalgs. -const handshakeErr = common.hasOpenSSL(3, 2) ? +const handshakeErr = hasOpenSSL(3, 2) ? 'ERR_SSL_SSL/TLS_ALERT_HANDSHAKE_FAILURE' : 'ERR_SSL_SSLV3_ALERT_HANDSHAKE_FAILURE'; test('RSA-PSS+SHA384', 'ECDSA+SHA256', undefined, handshakeErr, diff --git a/test/parallel/test-tls-transport-destroy-after-own-gc.js b/test/parallel/test-tls-transport-destroy-after-own-gc.js index 17c494ca0b79d1..bcac2c6ebde2b8 100644 --- a/test/parallel/test-tls-transport-destroy-after-own-gc.js +++ b/test/parallel/test-tls-transport-destroy-after-own-gc.js @@ -19,11 +19,11 @@ let clientTLSHandle = clientTLS._handle; // eslint-disable-line no-unused-vars setImmediate(() => { clientTLS = null; - global.gc(); + globalThis.gc(); clientTLSHandle = null; - global.gc(); + globalThis.gc(); setImmediate(() => { clientSide = null; - global.gc(); + globalThis.gc(); }); }); diff --git a/test/parallel/test-trace-env.js b/test/parallel/test-trace-env.js index c67924e5c610d3..7a7b80fa4c1094 100644 --- a/test/parallel/test-trace-env.js +++ b/test/parallel/test-trace-env.js @@ -14,28 +14,30 @@ spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('empty.js')], // If the internals remove any one of them, the checks here can be updated // accordingly. if (common.hasIntl) { - assert.match(output, /get environment variable "NODE_ICU_DATA"/); + assert.match(output, /get "NODE_ICU_DATA"/); } if (common.hasCrypto) { - assert.match(output, /get environment variable "NODE_EXTRA_CA_CERTS"/); - } - if (common.hasOpenSSL3) { - assert.match(output, /get environment variable "OPENSSL_CONF"/); + assert.match(output, /get "NODE_EXTRA_CA_CERTS"/); + + const { hasOpenSSL3 } = require('../common/crypto'); + if (hasOpenSSL3) { + assert.match(output, /get "OPENSSL_CONF"/); + } } - assert.match(output, /get environment variable "NODE_DEBUG_NATIVE"/); - assert.match(output, /get environment variable "NODE_COMPILE_CACHE"/); - assert.match(output, /get environment variable "NODE_NO_WARNINGS"/); - assert.match(output, /get environment variable "NODE_V8_COVERAGE"/); - assert.match(output, /get environment variable "NODE_DEBUG"/); - assert.match(output, /get environment variable "NODE_CHANNEL_FD"/); - assert.match(output, /get environment variable "NODE_UNIQUE_ID"/); + assert.match(output, /get "NODE_DEBUG_NATIVE"/); + assert.match(output, /get "NODE_COMPILE_CACHE"/); + assert.match(output, /get "NODE_NO_WARNINGS"/); + assert.match(output, /get "NODE_V8_COVERAGE"/); + assert.match(output, /get "NODE_DEBUG"/); + assert.match(output, /get "NODE_CHANNEL_FD"/); + assert.match(output, /get "NODE_UNIQUE_ID"/); if (common.isWindows) { - assert.match(output, /get environment variable "USERPROFILE"/); + assert.match(output, /get "USERPROFILE"/); } else { - assert.match(output, /get environment variable "HOME"/); + assert.match(output, /get "HOME"/); } - assert.match(output, /get environment variable "NODE_PATH"/); - assert.match(output, /get environment variable "WATCH_REPORT_DEPENDENCIES"/); + assert.match(output, /get "NODE_PATH"/); + assert.match(output, /get "WATCH_REPORT_DEPENDENCIES"/); } }); @@ -48,22 +50,22 @@ spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('process-env' } }, { stderr(output) { - assert.match(output, /get environment variable "FOO"/); - assert.match(output, /get environment variable "BAR"/); + assert.match(output, /get "FOO"/); + assert.match(output, /get "BAR"/); } }); // Check set from user land. spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('process-env', 'set.js') ], { stderr(output) { - assert.match(output, /set environment variable "FOO"/); + assert.match(output, /set "FOO"/); } }); // Check define from user land. spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('process-env', 'define.js') ], { stderr(output) { - assert.match(output, /set environment variable "FOO"/); + assert.match(output, /set "FOO"/); } }); @@ -77,16 +79,16 @@ spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('process-env' } }, { stderr(output) { - assert.match(output, /query environment variable "FOO": is set/); - assert.match(output, /query environment variable "BAR": is not set/); - assert.match(output, /query environment variable "BAZ": is not set/); + assert.match(output, /query "FOO"/); + assert.match(output, /query "BAR"/); + assert.match(output, /query "BAZ"/); } }); // Check delete from user land. spawnSyncAndAssert(process.execPath, ['--trace-env', fixtures.path('process-env', 'delete.js') ], { stderr(output) { - assert.match(output, /delete environment variable "FOO"/); + assert.match(output, /delete "FOO"/); } }); diff --git a/test/parallel/test-trace-events-api.js b/test/parallel/test-trace-events-api.js index 709f8de9097906..9bffb3b78c4ba3 100644 --- a/test/parallel/test-trace-events-api.js +++ b/test/parallel/test-trace-events-api.js @@ -2,7 +2,12 @@ 'use strict'; const common = require('../common'); -common.skipIfWorker(); // https://github.com/nodejs/node/issues/22767 +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + // https://github.com/nodejs/node/issues/22767 + common.skip('This test only works on a main thread'); +} try { require('trace_events'); @@ -104,7 +109,7 @@ if (isChild) { assert.strictEqual(getEnabledCategories(), 'abc'); tracing3 = undefined; } - global.gc(); + globalThis.gc(); assert.strictEqual(getEnabledCategories(), 'abc'); // Not able to disable the thing after this point, however. } diff --git a/test/parallel/test-trace-events-dynamic-enable.js b/test/parallel/test-trace-events-dynamic-enable.js index 69251944031e1f..5b2ce313421568 100644 --- a/test/parallel/test-trace-events-dynamic-enable.js +++ b/test/parallel/test-trace-events-dynamic-enable.js @@ -4,7 +4,13 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); // https://github.com/nodejs/node/issues/22767 + +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + // https://github.com/nodejs/node/issues/22767 + common.skip('This test only works on a main thread'); +} const { internalBinding } = require('internal/test/binding'); diff --git a/test/parallel/test-util-format.js b/test/parallel/test-util-format.js index 8d2cab5a9c7a1c..6f222d0fea0fb8 100644 --- a/test/parallel/test-util-format.js +++ b/test/parallel/test-util-format.js @@ -197,9 +197,9 @@ assert.strictEqual(util.format('%s', -Infinity), '-Infinity'); util.format('%s', Object.setPrototypeOf(new Foo(), null)), '[Foo: null prototype] {}' ); - global.Foo = Foo; + globalThis.Foo = Foo; assert.strictEqual(util.format('%s', new Foo()), 'Bar'); - delete global.Foo; + delete globalThis.Foo; class Bar { abc = true; } assert.strictEqual(util.format('%s', new Bar()), 'Bar { abc: true }'); class Foobar extends Array { aaa = true; } diff --git a/test/parallel/test-util-getcallsites.js b/test/parallel/test-util-getcallsites.js index aef687c76b3c48..9930661b9022cd 100644 --- a/test/parallel/test-util-getcallsites.js +++ b/test/parallel/test-util-getcallsites.js @@ -79,6 +79,13 @@ const assert = require('node:assert'); ); } +// ScriptId is a string. +{ + const callSites = getCallSites(1); + assert.strictEqual(callSites.length, 1); + assert.strictEqual(typeof callSites[0].scriptId, 'string'); +} + // Guarantee [eval] will appear on stacktraces when using -e { const { status, stderr, stdout } = spawnSync( @@ -126,6 +133,7 @@ const assert = require('node:assert'); assert.strictEqual(stderr.toString(), ''); assert.match(output, /lineNumber: 8/); assert.match(output, /column: 18/); + assert.match(output, /columnNumber: 18/); assert.match(output, /test-get-callsite\.ts/); assert.strictEqual(status, 0); } @@ -143,6 +151,7 @@ const assert = require('node:assert'); // Line should be wrong when sourcemaps are disable assert.match(output, /lineNumber: 2/); assert.match(output, /column: 18/); + assert.match(output, /columnNumber: 18/); assert.match(output, /test-get-callsite\.ts/); assert.strictEqual(status, 0); } @@ -159,6 +168,7 @@ const assert = require('node:assert'); assert.strictEqual(stderr.toString(), ''); assert.match(output, /lineNumber: 2/); assert.match(output, /column: 18/); + assert.match(output, /columnNumber: 18/); assert.match(output, /test-get-callsite-explicit\.ts/); assert.strictEqual(status, 0); } diff --git a/test/parallel/test-util-inspect.js b/test/parallel/test-util-inspect.js index e69c0349dbafa9..48aaad977282fb 100644 --- a/test/parallel/test-util-inspect.js +++ b/test/parallel/test-util-inspect.js @@ -770,23 +770,25 @@ assert.strictEqual(util.inspect(-5e-324), '-5e-324'); // Note: Symbols are not supported by `Error#toString()` which is called by // accessing the `stack` property. [ - [404, '404: foo', '[404]'], - [0, '0: foo', '[RangeError: foo]'], - [0n, '0: foo', '[RangeError: foo]'], + [404, '404 [RangeError]: foo', '[404]'], + [0, '0 [RangeError]: foo', '[RangeError: foo]'], + [0n, '0 [RangeError]: foo', '[RangeError: foo]'], [null, 'null: foo', '[RangeError: foo]'], [undefined, 'RangeError: foo', '[RangeError: foo]'], - [false, 'false: foo', '[RangeError: foo]'], + [false, 'false [RangeError]: foo', '[RangeError: foo]'], ['', 'foo', '[RangeError: foo]'], - [[1, 2, 3], '1,2,3: foo', '[1,2,3]'], + [[1, 2, 3], '1,2,3 [RangeError]: foo', '[[\n 1,\n 2,\n 3\n]]'], ].forEach(([value, outputStart, stack]) => { let err = new RangeError('foo'); err.name = value; + const result = util.inspect(err); assert( - util.inspect(err).startsWith(outputStart), + result.startsWith(outputStart), util.format( - 'The name set to %o did not result in the expected output "%s"', + 'The name set to %o did not result in the expected output "%s", got "%s"', value, - outputStart + outputStart, + result.split('\n')[0] ) ); @@ -1263,9 +1265,9 @@ if (typeof Symbol !== 'undefined') { // a bonafide native Promise. { const oldPromise = Promise; - global.Promise = function() { this.bar = 42; }; + globalThis.Promise = function() { this.bar = 42; }; assert.strictEqual(util.inspect(new Promise()), '{ bar: 42 }'); - global.Promise = oldPromise; + globalThis.Promise = oldPromise; } // Test Map iterators. @@ -3179,7 +3181,7 @@ assert.strictEqual( } // Consistency check. - assert(fullObjectGraph(global).has(Function.prototype)); + assert(fullObjectGraph(globalThis).has(Function.prototype)); } { @@ -3394,3 +3396,35 @@ assert.strictEqual( Object.defineProperty(BuiltinPrototype, 'constructor', desc); } } + +{ + function f() {} + Object.defineProperty(f, 'name', { value: Symbol('f') }); + + assert.strictEqual( + util.inspect(f), + '[Function: Symbol(f)]', + ); +} + +{ + const error = new EvalError(); + const re = /a/g; + error.name = re; + assert.strictEqual(error.name, re); + assert.strictEqual( + util.inspect(error), + `${re} [EvalError] +${error.stack.split('\n').slice(1).join('\n')}`, + ); +} + +{ + const error = new Error(); + error.stack = [Symbol('foo')]; + + assert.strictEqual( + inspect(error), + '[[\n Symbol(foo)\n]]' + ); +} diff --git a/test/parallel/test-vm-basic.js b/test/parallel/test-vm-basic.js index 93c3fbaea631ab..5687987faeb0b9 100644 --- a/test/parallel/test-vm-basic.js +++ b/test/parallel/test-vm-basic.js @@ -59,9 +59,9 @@ const vm = require('vm'); const result = vm.runInThisContext( 'vmResult = "foo"; Object.prototype.toString.call(process);' ); - assert.strictEqual(global.vmResult, 'foo'); + assert.strictEqual(globalThis.vmResult, 'foo'); assert.strictEqual(result, '[object process]'); - delete global.vmResult; + delete globalThis.vmResult; } // vm.runInNewContext @@ -69,7 +69,7 @@ const vm = require('vm'); const result = vm.runInNewContext( 'vmResult = "foo"; typeof process;' ); - assert.strictEqual(global.vmResult, undefined); + assert.strictEqual(globalThis.vmResult, undefined); assert.strictEqual(result, 'undefined'); } diff --git a/test/parallel/test-vm-create-and-run-in-context.js b/test/parallel/test-vm-create-and-run-in-context.js index bd746cf2df7080..314ab9525743dc 100644 --- a/test/parallel/test-vm-create-and-run-in-context.js +++ b/test/parallel/test-vm-create-and-run-in-context.js @@ -45,6 +45,6 @@ assert.strictEqual(context.thing, 'lala'); // Run in contextified sandbox without referencing the context const sandbox = { x: 1 }; vm.createContext(sandbox); -global.gc(); +globalThis.gc(); vm.runInContext('x = 2', sandbox); // Should not crash. diff --git a/test/parallel/test-vm-cross-context.js b/test/parallel/test-vm-cross-context.js index b7cf1309d3689f..abdfde32a8d847 100644 --- a/test/parallel/test-vm-cross-context.js +++ b/test/parallel/test-vm-cross-context.js @@ -23,7 +23,7 @@ require('../common'); const vm = require('vm'); -const ctx = vm.createContext(global); +const ctx = vm.createContext(globalThis); // Should not throw. vm.runInContext('!function() { var x = console.log; }()', ctx); diff --git a/test/parallel/test-vm-global-get-own.js b/test/parallel/test-vm-global-get-own.js index 246fcbf866b8b6..de5e0a9619af65 100644 --- a/test/parallel/test-vm-global-get-own.js +++ b/test/parallel/test-vm-global-get-own.js @@ -9,7 +9,7 @@ const vm = require('vm'); // Related to: // - https://github.com/nodejs/node/issues/45983 -const global = vm.runInContext('this', vm.createContext()); +const contextGlobal = vm.runInContext('this', vm.createContext()); function runAssertions(data, property, viaDefine, value1, value2, value3) { // Define the property for the first time @@ -35,20 +35,20 @@ function runAssertionsOnSandbox(builder) { } // Assertions on: define property -runAssertions(global, 'toto', true, 1, 2, 3); -runAssertions(global, Symbol.for('toto'), true, 1, 2, 3); -runAssertions(global, 'tutu', true, fun1, fun2, fun3); -runAssertions(global, Symbol.for('tutu'), true, fun1, fun2, fun3); -runAssertions(global, 'tyty', true, fun1, 2, 3); -runAssertions(global, Symbol.for('tyty'), true, fun1, 2, 3); +runAssertions(contextGlobal, 'toto', true, 1, 2, 3); +runAssertions(contextGlobal, Symbol.for('toto'), true, 1, 2, 3); +runAssertions(contextGlobal, 'tutu', true, fun1, fun2, fun3); +runAssertions(contextGlobal, Symbol.for('tutu'), true, fun1, fun2, fun3); +runAssertions(contextGlobal, 'tyty', true, fun1, 2, 3); +runAssertions(contextGlobal, Symbol.for('tyty'), true, fun1, 2, 3); // Assertions on: direct assignment -runAssertions(global, 'titi', false, 1, 2, 3); -runAssertions(global, Symbol.for('titi'), false, 1, 2, 3); -runAssertions(global, 'tata', false, fun1, fun2, fun3); -runAssertions(global, Symbol.for('tata'), false, fun1, fun2, fun3); -runAssertions(global, 'tztz', false, fun1, 2, 3); -runAssertions(global, Symbol.for('tztz'), false, fun1, 2, 3); +runAssertions(contextGlobal, 'titi', false, 1, 2, 3); +runAssertions(contextGlobal, Symbol.for('titi'), false, 1, 2, 3); +runAssertions(contextGlobal, 'tata', false, fun1, fun2, fun3); +runAssertions(contextGlobal, Symbol.for('tata'), false, fun1, fun2, fun3); +runAssertions(contextGlobal, 'tztz', false, fun1, 2, 3); +runAssertions(contextGlobal, Symbol.for('tztz'), false, fun1, 2, 3); // Assertions on: define property from sandbox runAssertionsOnSandbox( diff --git a/test/parallel/test-vm-measure-memory-lazy.js b/test/parallel/test-vm-measure-memory-lazy.js index 513cfbc3672451..7f85f8d6ca9656 100644 --- a/test/parallel/test-vm-measure-memory-lazy.js +++ b/test/parallel/test-vm-measure-memory-lazy.js @@ -10,28 +10,28 @@ const vm = require('vm'); expectExperimentalWarning(); -// Test lazy memory measurement - we will need to global.gc() +// Test lazy memory measurement - we will need to globalThis.gc() // or otherwise these may not resolve. { vm.measureMemory() .then(common.mustCall(assertSummaryShape)); - global.gc(); + globalThis.gc(); } { vm.measureMemory({}) .then(common.mustCall(assertSummaryShape)); - global.gc(); + globalThis.gc(); } { vm.measureMemory({ mode: 'summary' }) .then(common.mustCall(assertSummaryShape)); - global.gc(); + globalThis.gc(); } { vm.measureMemory({ mode: 'detailed' }) .then(common.mustCall(assertSummaryShape)); - global.gc(); + globalThis.gc(); } diff --git a/test/parallel/test-vm-module-basic.js b/test/parallel/test-vm-module-basic.js index cba1e037ac455a..53fed6536079a0 100644 --- a/test/parallel/test-vm-module-basic.js +++ b/test/parallel/test-vm-module-basic.js @@ -37,15 +37,15 @@ const util = require('util'); (async () => { const m = new SourceTextModule(` - global.vmResultFoo = "foo"; - global.vmResultTypeofProcess = Object.prototype.toString.call(process); + globalThis.vmResultFoo = "foo"; + globalThis.vmResultTypeofProcess = Object.prototype.toString.call(process); `); await m.link(common.mustNotCall()); await m.evaluate(); - assert.strictEqual(global.vmResultFoo, 'foo'); - assert.strictEqual(global.vmResultTypeofProcess, '[object process]'); - delete global.vmResultFoo; - delete global.vmResultTypeofProcess; + assert.strictEqual(globalThis.vmResultFoo, 'foo'); + assert.strictEqual(globalThis.vmResultTypeofProcess, '[object process]'); + delete globalThis.vmResultFoo; + delete globalThis.vmResultTypeofProcess; })().then(common.mustCall()); (async () => { diff --git a/test/parallel/test-vm-new-script-new-context.js b/test/parallel/test-vm-new-script-new-context.js index 482b4130d615d9..b4221d81d98dcb 100644 --- a/test/parallel/test-vm-new-script-new-context.js +++ b/test/parallel/test-vm-new-script-new-context.js @@ -49,43 +49,43 @@ const Script = require('vm').Script; } { - global.hello = 5; + globalThis.hello = 5; const script = new Script('hello = 2'); script.runInNewContext(); - assert.strictEqual(global.hello, 5); + assert.strictEqual(globalThis.hello, 5); // Cleanup - delete global.hello; + delete globalThis.hello; } { - global.code = 'foo = 1;' + + globalThis.code = 'foo = 1;' + 'bar = 2;' + 'if (baz !== 3) throw new Error(\'test fail\');'; - global.foo = 2; - global.obj = { foo: 0, baz: 3 }; - const script = new Script(global.code); + globalThis.foo = 2; + globalThis.obj = { foo: 0, baz: 3 }; + const script = new Script(globalThis.code); /* eslint-disable no-unused-vars */ - const baz = script.runInNewContext(global.obj); + const baz = script.runInNewContext(globalThis.obj); /* eslint-enable no-unused-vars */ - assert.strictEqual(global.obj.foo, 1); - assert.strictEqual(global.obj.bar, 2); - assert.strictEqual(global.foo, 2); + assert.strictEqual(globalThis.obj.foo, 1); + assert.strictEqual(globalThis.obj.bar, 2); + assert.strictEqual(globalThis.foo, 2); // cleanup - delete global.code; - delete global.foo; - delete global.obj; + delete globalThis.code; + delete globalThis.foo; + delete globalThis.obj; } { const script = new Script('f()'); - function changeFoo() { global.foo = 100; } + function changeFoo() { globalThis.foo = 100; } script.runInNewContext({ f: changeFoo }); - assert.strictEqual(global.foo, 100); + assert.strictEqual(globalThis.foo, 100); // cleanup - delete global.foo; + delete globalThis.foo; } { diff --git a/test/parallel/test-vm-new-script-this-context.js b/test/parallel/test-vm-new-script-this-context.js index 18f39f9086ae2a..30b220e3d4a2c2 100644 --- a/test/parallel/test-vm-new-script-this-context.js +++ b/test/parallel/test-vm-new-script-this-context.js @@ -35,34 +35,34 @@ assert.throws(() => { script.runInThisContext(script); }, /^Error: test$/); -global.hello = 5; +globalThis.hello = 5; script = new Script('hello = 2'); script.runInThisContext(script); -assert.strictEqual(global.hello, 2); +assert.strictEqual(globalThis.hello, 2); // Pass values -global.code = 'foo = 1;' + +globalThis.code = 'foo = 1;' + 'bar = 2;' + 'if (typeof baz !== "undefined") throw new Error("test fail");'; -global.foo = 2; -global.obj = { foo: 0, baz: 3 }; -script = new Script(global.code); +globalThis.foo = 2; +globalThis.obj = { foo: 0, baz: 3 }; +script = new Script(globalThis.code); script.runInThisContext(script); -assert.strictEqual(global.obj.foo, 0); -assert.strictEqual(global.bar, 2); -assert.strictEqual(global.foo, 1); +assert.strictEqual(globalThis.obj.foo, 0); +assert.strictEqual(globalThis.bar, 2); +assert.strictEqual(globalThis.foo, 1); // Call a function -global.f = function() { global.foo = 100; }; +globalThis.f = function() { globalThis.foo = 100; }; script = new Script('f()'); script.runInThisContext(script); -assert.strictEqual(global.foo, 100); +assert.strictEqual(globalThis.foo, 100); common.allowGlobals( - global.hello, - global.code, - global.foo, - global.obj, - global.f + globalThis.hello, + globalThis.code, + globalThis.foo, + globalThis.obj, + globalThis.f ); diff --git a/test/parallel/test-vm-run-in-new-context.js b/test/parallel/test-vm-run-in-new-context.js index 6e8c42812bbc88..c6f8fbf893ca9a 100644 --- a/test/parallel/test-vm-run-in-new-context.js +++ b/test/parallel/test-vm-run-in-new-context.js @@ -26,7 +26,7 @@ const common = require('../common'); const assert = require('assert'); const vm = require('vm'); -if (typeof global.gc !== 'function') +if (typeof globalThis.gc !== 'function') assert.fail('Run this test with --expose-gc'); // Run a string @@ -38,28 +38,28 @@ assert.throws(() => { vm.runInNewContext('throw new Error(\'test\');'); }, /^Error: test$/); -global.hello = 5; +globalThis.hello = 5; vm.runInNewContext('hello = 2'); -assert.strictEqual(global.hello, 5); +assert.strictEqual(globalThis.hello, 5); // Pass values in and out -global.code = 'foo = 1;' + +globalThis.code = 'foo = 1;' + 'bar = 2;' + 'if (baz !== 3) throw new Error(\'test fail\');'; -global.foo = 2; -global.obj = { foo: 0, baz: 3 }; +globalThis.foo = 2; +globalThis.obj = { foo: 0, baz: 3 }; /* eslint-disable no-unused-vars */ -const baz = vm.runInNewContext(global.code, global.obj); +const baz = vm.runInNewContext(globalThis.code, globalThis.obj); /* eslint-enable no-unused-vars */ -assert.strictEqual(global.obj.foo, 1); -assert.strictEqual(global.obj.bar, 2); -assert.strictEqual(global.foo, 2); +assert.strictEqual(globalThis.obj.foo, 1); +assert.strictEqual(globalThis.obj.bar, 2); +assert.strictEqual(globalThis.foo, 2); // Call a function by reference -function changeFoo() { global.foo = 100; } +function changeFoo() { globalThis.foo = 100; } vm.runInNewContext('f()', { f: changeFoo }); -assert.strictEqual(global.foo, 100); +assert.strictEqual(globalThis.foo, 100); // Modify an object by reference const f = { a: 1 }; @@ -68,7 +68,7 @@ assert.strictEqual(f.a, 2); // Use function in context without referencing context const fn = vm.runInNewContext('(function() { obj.p = {}; })', { obj: {} }); -global.gc(); +globalThis.gc(); fn(); // Should not crash @@ -93,8 +93,8 @@ for (const arg of [filename, { filename }]) { } common.allowGlobals( - global.hello, - global.code, - global.foo, - global.obj + globalThis.hello, + globalThis.code, + globalThis.foo, + globalThis.obj ); diff --git a/test/parallel/test-vm-static-this.js b/test/parallel/test-vm-static-this.js index e9382d6c3b4c1a..f47c0b5d0d056a 100644 --- a/test/parallel/test-vm-static-this.js +++ b/test/parallel/test-vm-static-this.js @@ -33,9 +33,9 @@ assert.throws(function() { vm.runInThisContext('throw new Error(\'test\');'); }, /test/); -global.hello = 5; +globalThis.hello = 5; vm.runInThisContext('hello = 2'); -assert.strictEqual(global.hello, 2); +assert.strictEqual(globalThis.hello, 2); // pass values @@ -43,23 +43,23 @@ const code = 'foo = 1;' + 'bar = 2;' + 'if (typeof baz !== \'undefined\')' + 'throw new Error(\'test fail\');'; -global.foo = 2; -global.obj = { foo: 0, baz: 3 }; +globalThis.foo = 2; +globalThis.obj = { foo: 0, baz: 3 }; /* eslint-disable no-unused-vars */ const baz = vm.runInThisContext(code); /* eslint-enable no-unused-vars */ -assert.strictEqual(global.obj.foo, 0); -assert.strictEqual(global.bar, 2); -assert.strictEqual(global.foo, 1); +assert.strictEqual(globalThis.obj.foo, 0); +assert.strictEqual(globalThis.bar, 2); +assert.strictEqual(globalThis.foo, 1); // call a function -global.f = function() { global.foo = 100; }; +globalThis.f = function() { globalThis.foo = 100; }; vm.runInThisContext('f()'); -assert.strictEqual(global.foo, 100); +assert.strictEqual(globalThis.foo, 100); common.allowGlobals( - global.hello, - global.foo, - global.obj, - global.f + globalThis.hello, + globalThis.foo, + globalThis.obj, + globalThis.f ); diff --git a/test/parallel/test-warn-sigprof.js b/test/parallel/test-warn-sigprof.js index 36b0db78d82687..929deb69addb17 100644 --- a/test/parallel/test-warn-sigprof.js +++ b/test/parallel/test-warn-sigprof.js @@ -7,10 +7,15 @@ const common = require('../common'); common.skipIfInspectorDisabled(); -if (common.isWindows) +if (common.isWindows) { common.skip('test does not apply to Windows'); +} -common.skipIfWorker(); // Worker inspector never has a server running +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} common.expectWarning('Warning', 'process.on(SIGPROF) is reserved while debugging'); diff --git a/test/parallel/test-webstorage.js b/test/parallel/test-webstorage.js index 4da6b67bd2932b..7f9fe8dfa53391 100644 --- a/test/parallel/test-webstorage.js +++ b/test/parallel/test-webstorage.js @@ -69,7 +69,7 @@ test('sessionStorage is not persisted', async () => { test('localStorage throws without --localstorage-file ', async () => { const cp = await spawnPromisified(process.execPath, [ '--experimental-webstorage', - '-pe', 'localStorage === global.localStorage', + '-pe', 'localStorage === globalThis.localStorage', ]); assert.strictEqual(cp.code, 1); assert.strictEqual(cp.signal, null); @@ -81,7 +81,7 @@ test('localStorage is not persisted if it is unused', async () => { const cp = await spawnPromisified(process.execPath, [ '--experimental-webstorage', '--localstorage-file', nextLocalStorage(), - '-pe', 'localStorage === global.localStorage', + '-pe', 'localStorage === globalThis.localStorage', ]); assert.strictEqual(cp.code, 0); assert.match(cp.stdout, /true/); diff --git a/test/parallel/test-whatwg-url-custom-global.js b/test/parallel/test-whatwg-url-custom-global.js index b99dfd8f3e7d94..16efdfa8df1174 100644 --- a/test/parallel/test-whatwg-url-custom-global.js +++ b/test/parallel/test-whatwg-url-custom-global.js @@ -6,7 +6,7 @@ require('../common'); const assert = require('assert'); assert.deepStrictEqual( - Object.getOwnPropertyDescriptor(global, 'URL'), + Object.getOwnPropertyDescriptor(globalThis, 'URL'), { value: URL, writable: true, @@ -16,7 +16,7 @@ assert.deepStrictEqual( ); assert.deepStrictEqual( - Object.getOwnPropertyDescriptor(global, 'URLSearchParams'), + Object.getOwnPropertyDescriptor(globalThis, 'URLSearchParams'), { value: URLSearchParams, writable: true, diff --git a/test/parallel/test-worker-cli-options.js b/test/parallel/test-worker-cli-options.js index 0c243d251e97bc..3e6ab46db6ea74 100644 --- a/test/parallel/test-worker-cli-options.js +++ b/test/parallel/test-worker-cli-options.js @@ -8,7 +8,7 @@ const CODE = ` // If the --expose-internals flag does not pass to worker // require function will throw an error require('internal/options'); -global.gc(); +globalThis.gc(); `; // Test if the flags is passed to worker threads correctly diff --git a/test/parallel/test-worker-message-channel-sharedarraybuffer.js b/test/parallel/test-worker-message-channel-sharedarraybuffer.js index 220aa978b12051..6ee577d447ec97 100644 --- a/test/parallel/test-worker-message-channel-sharedarraybuffer.js +++ b/test/parallel/test-worker-message-channel-sharedarraybuffer.js @@ -19,7 +19,7 @@ const { Worker } = require('worker_threads'); `, { eval: true }); w.on('message', common.mustCall(() => { assert.strictEqual(local.toString(), 'Hello world!'); - global.gc(); + globalThis.gc(); w.terminate(); })); w.postMessage({ sharedArrayBuffer }); diff --git a/test/parallel/test-worker-message-port-move.js b/test/parallel/test-worker-message-port-move.js index 44efd2e6a6b94f..b8db31b88c7bc4 100644 --- a/test/parallel/test-worker-message-port-move.js +++ b/test/parallel/test-worker-message-port-move.js @@ -48,7 +48,7 @@ vm.runInContext('(' + function() { { let threw = false; try { - port.postMessage(global); + port.postMessage(globalThis); } catch (e) { assert.strictEqual(e.constructor.name, 'DOMException'); assert(e instanceof Object); diff --git a/test/parallel/test-worker-name.js b/test/parallel/test-worker-name.js index 952fcee0e05429..30f3710a826caf 100644 --- a/test/parallel/test-worker-name.js +++ b/test/parallel/test-worker-name.js @@ -4,10 +4,17 @@ const common = require('../common'); const fixtures = require('../common/fixtures'); common.skipIfInspectorDisabled(); -common.skipIfWorker(); // This test requires both main and worker threads. + +const { + Worker, + isMainThread, +} = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} const assert = require('assert'); -const { Worker, isMainThread } = require('worker_threads'); if (isMainThread) { const name = 'Hello Thread'; diff --git a/test/parallel/test-worker-stdio-flush-inflight.js b/test/parallel/test-worker-stdio-flush-inflight.js new file mode 100644 index 00000000000000..34b81152811e7b --- /dev/null +++ b/test/parallel/test-worker-stdio-flush-inflight.js @@ -0,0 +1,24 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { Worker, isMainThread } = require('worker_threads'); + +if (isMainThread) { + const w = new Worker(__filename, { stdout: true }); + const expected = 'hello world'; + + let data = ''; + w.stdout.setEncoding('utf8'); + w.stdout.on('data', (chunk) => { + data += chunk; + }); + + w.on('exit', common.mustCall(() => { + assert.strictEqual(data, expected); + })); +} else { + process.stdout.write('hello'); + process.stdout.write(' '); + process.stdout.write('world'); + process.exit(0); +} diff --git a/test/parallel/test-worker-stdio-flush.js b/test/parallel/test-worker-stdio-flush.js new file mode 100644 index 00000000000000..e52e721fc69483 --- /dev/null +++ b/test/parallel/test-worker-stdio-flush.js @@ -0,0 +1,25 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { Worker, isMainThread } = require('worker_threads'); + +if (isMainThread) { + const w = new Worker(__filename, { stdout: true }); + const expected = 'hello world'; + + let data = ''; + w.stdout.setEncoding('utf8'); + w.stdout.on('data', (chunk) => { + data += chunk; + }); + + w.on('exit', common.mustCall(() => { + assert.strictEqual(data, expected); + })); +} else { + process.on('exit', () => { + process.stdout.write(' '); + process.stdout.write('world'); + }); + process.stdout.write('hello'); +} diff --git a/test/parallel/test-worker-workerdata-sharedarraybuffer.js b/test/parallel/test-worker-workerdata-sharedarraybuffer.js index 4e3d508ac94941..4f1b332461280f 100644 --- a/test/parallel/test-worker-workerdata-sharedarraybuffer.js +++ b/test/parallel/test-worker-workerdata-sharedarraybuffer.js @@ -23,7 +23,7 @@ const { Worker } = require('worker_threads'); }); w.on('message', common.mustCall(() => { assert.strictEqual(local.toString(), 'Hello world!'); - global.gc(); + globalThis.gc(); w.terminate(); })); w.postMessage({}); diff --git a/test/parallel/test-x509-escaping.js b/test/parallel/test-x509-escaping.js index e6ae4d886908cb..b507af88e1f7f3 100644 --- a/test/parallel/test-x509-escaping.js +++ b/test/parallel/test-x509-escaping.js @@ -1,15 +1,16 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} const assert = require('assert'); const { X509Certificate } = require('crypto'); const tls = require('tls'); const fixtures = require('../common/fixtures'); -const { hasOpenSSL3 } = common; +const { hasOpenSSL3 } = require('../common/crypto'); // Test that all certificate chains provided by the reporter are rejected. { diff --git a/test/parallel/test-zlib-const.js b/test/parallel/test-zlib-const.js index 342c8c712a475b..5b9a127f0eaa02 100644 --- a/test/parallel/test-zlib-const.js +++ b/test/parallel/test-zlib-const.js @@ -1,4 +1,4 @@ -/* eslint-disable strict */ +'use strict'; require('../common'); const assert = require('assert'); @@ -9,27 +9,17 @@ assert.strictEqual(zlib.constants.Z_OK, 0, 'Expected Z_OK to be 0;', `got ${zlib.constants.Z_OK}`, ].join(' ')); -zlib.constants.Z_OK = 1; -assert.strictEqual(zlib.constants.Z_OK, 0, - [ - 'Z_OK should be immutable.', - `Expected to get 0, got ${zlib.constants.Z_OK}`, - ].join(' ')); + +assert.throws(() => { zlib.constants.Z_OK = 1; }, + TypeError, 'zlib.constants.Z_OK should be immutable'); assert.strictEqual(zlib.codes.Z_OK, 0, `Expected Z_OK to be 0; got ${zlib.codes.Z_OK}`); -zlib.codes.Z_OK = 1; -assert.strictEqual(zlib.codes.Z_OK, 0, - [ - 'Z_OK should be immutable.', - `Expected to get 0, got ${zlib.codes.Z_OK}`, - ].join(' ')); -zlib.codes = { Z_OK: 1 }; -assert.strictEqual(zlib.codes.Z_OK, 0, - [ - 'Z_OK should be immutable.', - `Expected to get 0, got ${zlib.codes.Z_OK}`, - ].join(' ')); +assert.throws(() => { zlib.codes.Z_OK = 1; }, + TypeError, 'zlib.codes.Z_OK should be immutable'); + +assert.throws(() => { zlib.codes = { Z_OK: 1 }; }, + TypeError, 'zlib.codes should be immutable'); assert.ok(Object.isFrozen(zlib.codes), [ diff --git a/test/parallel/test-zlib-invalid-input-memory.js b/test/parallel/test-zlib-invalid-input-memory.js index 9761e4bbf097d8..ac718395dae184 100644 --- a/test/parallel/test-zlib-invalid-input-memory.js +++ b/test/parallel/test-zlib-invalid-input-memory.js @@ -17,7 +17,7 @@ const ongc = common.mustCall(); strm.once('error', common.mustCall((err) => { assert(err); setImmediate(() => { - global.gc(); + globalThis.gc(); // Keep the event loop alive for seeing the async_hooks destroy hook // we use for GC tracking... // TODO(addaleax): This should maybe not be necessary? diff --git a/test/parallel/test-zlib-unused-weak.js b/test/parallel/test-zlib-unused-weak.js index 2c1e2d729030dd..cd1ab91ceb5c4b 100644 --- a/test/parallel/test-zlib-unused-weak.js +++ b/test/parallel/test-zlib-unused-weak.js @@ -6,12 +6,12 @@ const zlib = require('zlib'); // Tests that native zlib handles start out their life as weak handles. -global.gc(); +globalThis.gc(); const before = process.memoryUsage().external; for (let i = 0; i < 100; ++i) zlib.createGzip(); const afterCreation = process.memoryUsage().external; -global.gc(); +globalThis.gc(); const afterGC = process.memoryUsage().external; assert((afterGC - before) / (afterCreation - before) <= 0.05, diff --git a/test/pseudo-tty/test-assert-colors.js b/test/pseudo-tty/test-assert-colors.js index d43dd60224a06f..889e9a6e006e99 100644 --- a/test/pseudo-tty/test-assert-colors.js +++ b/test/pseudo-tty/test-assert-colors.js @@ -1,11 +1,16 @@ +// Flags: --no-warnings 'use strict'; require('../common'); const assert = require('assert').strict; -assert.throws(() => { +function setup() { process.env.FORCE_COLOR = '1'; delete process.env.NODE_DISABLE_COLORS; delete process.env.NO_COLOR; +} + +assert.throws(() => { + setup(); assert.deepStrictEqual([1, 2, 2, 2, 2], [2, 2, 2, 2, 2]); }, (err) => { const expected = 'Expected values to be strictly deep-equal:\n' + @@ -19,6 +24,48 @@ assert.throws(() => { '\x1B[39m 2,\n' + '\x1B[31m-\x1B[39m 2\n' + '\x1B[39m ]\n'; + assert.strictEqual(err.message, expected); return true; }); + +{ + assert.throws(() => { + setup(); + assert.partialDeepStrictEqual({ a: 1, b: 2, c: 3, d: 5 }, { z: 4, b: 5 }); + }, (err) => { + const expected = 'Expected values to be partially and strictly deep-equal:\n' + + '\x1B[90mactual\x1B[39m \x1B[31m- expected\x1B[39m\n' + + '\n' + + '\x1B[39m {\n' + + '\x1B[90m a: 1,\x1B[39m\n' + + '\x1B[90m b: 2,\x1B[39m\n' + + '\x1B[90m c: 3,\x1B[39m\n' + + '\x1B[90m d: 5\x1B[39m\n' + + '\x1B[31m-\x1B[39m b: 5,\n' + + '\x1B[31m-\x1B[39m z: 4\n' + + '\x1B[39m }\n'; + + assert.strictEqual(err.message, expected); + return true; + }); + + assert.throws(() => { + setup(); + assert.partialDeepStrictEqual([1, 2, 3, 5], [4, 5]); + }, (err) => { + const expected = 'Expected values to be partially and strictly deep-equal:\n' + + '\x1B[90mactual\x1B[39m \x1B[31m- expected\x1B[39m\n' + + '\n' + + '\x1B[39m [\n' + + '\x1B[90m 1,\x1B[39m\n' + + '\x1B[90m 2,\x1B[39m\n' + + '\x1B[90m 3,\x1B[39m\n' + + '\x1B[31m-\x1B[39m 4,\n' + + '\x1B[39m 5\n' + + '\x1B[39m ]\n'; + + assert.strictEqual(err.message, expected); + return true; + }); +} diff --git a/test/pseudo-tty/test-assert-no-color.js b/test/pseudo-tty/test-assert-no-color.js index d488f4e6bfcbe7..c2e79d26701413 100644 --- a/test/pseudo-tty/test-assert-no-color.js +++ b/test/pseudo-tty/test-assert-no-color.js @@ -1,3 +1,4 @@ +// Flags: --no-warnings 'use strict'; require('../common'); const assert = require('assert').strict; @@ -17,3 +18,19 @@ assert.throws( '- foo: \'bar\'\n' + '- }\n', }); + +{ + assert.throws( + () => { + assert.partialDeepStrictEqual({}, { foo: 'bar' }); + }, + { + message: 'Expected values to be partially and strictly deep-equal:\n' + + '+ actual - expected\n' + + '\n' + + '+ {}\n' + + '- {\n' + + "- foo: 'bar'\n" + + '- }\n', + }); +} diff --git a/test/pummel/test-crypto-dh-hash.js b/test/pummel/test-crypto-dh-hash.js index ef5a640688c9bb..b59f556a2042b9 100644 --- a/test/pummel/test-crypto-dh-hash.js +++ b/test/pummel/test-crypto-dh-hash.js @@ -30,7 +30,9 @@ if (common.isPi) { common.skip('Too slow for Raspberry Pi devices'); } -if (!common.hasOpenSSL3) { +const { hasOpenSSL3 } = require('../common/crypto'); + +if (!hasOpenSSL3) { common.skip('Too slow when dynamically linked against OpenSSL 1.1.1'); } diff --git a/test/pummel/test-crypto-dh-keys.js b/test/pummel/test-crypto-dh-keys.js index 2caa4e244a9859..abce6a07acf4ac 100644 --- a/test/pummel/test-crypto-dh-keys.js +++ b/test/pummel/test-crypto-dh-keys.js @@ -36,8 +36,9 @@ const crypto = require('crypto'); [ 'modp1', 'modp2', 'modp5', 'modp14', 'modp15', 'modp16', 'modp17' ] .forEach((name) => { // modp1 is 768 bits, FIPS requires >= 1024 - if (name === 'modp1' && common.hasFipsCrypto) + if (name === 'modp1' && crypto.getFips()) { return; + } const group1 = crypto.getDiffieHellman(name); const group2 = crypto.getDiffieHellman(name); group1.generateKeys(); diff --git a/test/pummel/test-dh-regr.js b/test/pummel/test-dh-regr.js index 41d5bf872f97ec..cfae57d0728bdb 100644 --- a/test/pummel/test-dh-regr.js +++ b/test/pummel/test-dh-regr.js @@ -32,10 +32,11 @@ if (common.isPi) { const assert = require('assert'); const crypto = require('crypto'); +const { hasOpenSSL3 } = require('../common/crypto'); // FIPS requires length >= 1024 but we use 512/256 in this test to keep it from // taking too long and timing out in CI. -const length = (common.hasFipsCrypto) ? 1024 : common.hasOpenSSL3 ? 512 : 256; +const length = crypto.getFips() ? 1024 : hasOpenSSL3 ? 512 : 256; const p = crypto.createDiffieHellman(length).getPrime(); diff --git a/test/report/test-report-signal.js b/test/report/test-report-signal.js index cb5efd9fc39fe2..03908ddcf24f16 100644 --- a/test/report/test-report-signal.js +++ b/test/report/test-report-signal.js @@ -3,11 +3,15 @@ // Test producing a report via signal. const common = require('../common'); -if (common.isWindows) +if (common.isWindows) { return common.skip('Unsupported on Windows.'); +} -if (!common.isMainThread) +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { common.skip('Signal reporting is only supported in the main thread'); +} const assert = require('assert'); const helper = require('../common/report'); diff --git a/test/sequential/sequential.status b/test/sequential/sequential.status index 67f17fec1102f0..a3199b385dd99d 100644 --- a/test/sequential/sequential.status +++ b/test/sequential/sequential.status @@ -28,7 +28,11 @@ test-http-server-request-timeouts-mixed: PASS, FLAKY # https://github.com/nodejs/node/issues/54816 test-single-executable-application-empty: PASS, FLAKY +# https://github.com/nodejs/node/issues/43465 +test-http-server-request-timeouts-mixed: PASS, FLAKY + [$system==solaris] # Also applies to SmartOS +test-worker-prof: PASS, FLAKY [$system==freebsd] diff --git a/test/sequential/test-fs-watch.js b/test/sequential/test-fs-watch.js index cb12acfc115a4b..8db27a79e33d0a 100644 --- a/test/sequential/test-fs-watch.js +++ b/test/sequential/test-fs-watch.js @@ -29,9 +29,11 @@ const fs = require('fs'); const path = require('path'); const tmpdir = require('../common/tmpdir'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const expectFilePath = common.isWindows || common.isLinux || diff --git a/test/sequential/test-heapdump.js b/test/sequential/test-heapdump.js index 1388623e61f939..f9df88375ae596 100644 --- a/test/sequential/test-heapdump.js +++ b/test/sequential/test-heapdump.js @@ -1,9 +1,11 @@ 'use strict'; const common = require('../common'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} const { writeHeapSnapshot, getHeapSnapshot } = require('v8'); const assert = require('assert'); diff --git a/test/sequential/test-init.js b/test/sequential/test-init.js index 7195369e0e4f8e..dd5db5640d1f0c 100644 --- a/test/sequential/test-init.js +++ b/test/sequential/test-init.js @@ -24,9 +24,11 @@ const common = require('../common'); const assert = require('assert'); const child = require('child_process'); const fixtures = require('../common/fixtures'); +const { isMainThread } = require('worker_threads'); -if (!common.isMainThread) +if (!isMainThread) { common.skip('process.chdir is not available in Workers'); +} if (process.env.TEST_INIT) { return process.stdout.write('Loaded successfully!'); diff --git a/test/sequential/test-perf-hooks.js b/test/sequential/test-perf-hooks.js index 1e11f26571480d..847decdef18bfc 100644 --- a/test/sequential/test-perf-hooks.js +++ b/test/sequential/test-perf-hooks.js @@ -1,11 +1,12 @@ 'use strict'; -const common = require('../common'); +require('../common'); const { performance } = require('perf_hooks'); // Get the start time as soon as possible. const testStartTime = performance.now(); const assert = require('assert'); const { writeSync } = require('fs'); +const { isMainThread } = require('worker_threads'); // Use writeSync to stdout to avoid disturbing the loop. function log(str) { @@ -131,7 +132,7 @@ function checkValue(timing, name, min, max) { } let loopStart = initialTiming.loopStart; -if (common.isMainThread) { +if (isMainThread) { // In the main thread, the loop does not start until we start an operation // that requires it, e.g. setTimeout(). assert.strictEqual(initialTiming.loopStart, -1); diff --git a/test/sequential/test-tls-psk-client.js b/test/sequential/test-tls-psk-client.js index ddebc8f8cc9807..c07b1f92d98376 100644 --- a/test/sequential/test-tls-psk-client.js +++ b/test/sequential/test-tls-psk-client.js @@ -1,10 +1,15 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); -if (!common.opensslCli) +} + +const { opensslCli } = require('../common/crypto'); + +if (!opensslCli) { common.skip('missing openssl cli'); +} const assert = require('assert'); const tls = require('tls'); @@ -16,7 +21,7 @@ const KEY = 'd731ef57be09e5204f0b205b60627028'; const IDENTITY = 'Client_identity'; // Hardcoded by `openssl s_server` const useIPv4 = !common.hasIPv6; -const server = spawn(common.opensslCli, [ +const server = spawn(opensslCli, [ 's_server', '-accept', common.PORT, '-cipher', CIPHERS, diff --git a/test/sequential/test-tls-securepair-client.js b/test/sequential/test-tls-securepair-client.js index f3ca42ad6edfb0..262518621b5f3f 100644 --- a/test/sequential/test-tls-securepair-client.js +++ b/test/sequential/test-tls-securepair-client.js @@ -23,14 +23,19 @@ const common = require('../common'); -if (!common.opensslCli) - common.skip('node compiled without OpenSSL CLI.'); - -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); -if (common.isWindows) +if (!opensslCli) { + common.skip('node compiled without OpenSSL CLI.'); +} + +if (common.isWindows) { common.skip('test does not work on Windows'); // ...but it should! +} const net = require('net'); const assert = require('assert'); @@ -63,11 +68,11 @@ function test(keyPath, certPath, check, next) { const key = fixtures.readSync(keyPath).toString(); const cert = fixtures.readSync(certPath).toString(); - const server = spawn(common.opensslCli, ['s_server', - '-accept', 0, - '-cert', fixtures.path(certPath), - '-key', fixtures.path(keyPath), - ...(useIPv4 ? ['-4'] : []), + const server = spawn(opensslCli, ['s_server', + '-accept', 0, + '-cert', fixtures.path(certPath), + '-key', fixtures.path(keyPath), + ...(useIPv4 ? ['-4'] : []), ]); server.stdout.pipe(process.stdout); server.stderr.pipe(process.stdout); diff --git a/test/sequential/test-tls-session-timeout.js b/test/sequential/test-tls-session-timeout.js index 09107011aeda52..a93cdc793a2337 100644 --- a/test/sequential/test-tls-session-timeout.js +++ b/test/sequential/test-tls-session-timeout.js @@ -22,8 +22,11 @@ 'use strict'; const common = require('../common'); -if (!common.hasCrypto) +if (!common.hasCrypto) { common.skip('missing crypto'); +} + +const { opensslCli } = require('../common/crypto'); const tmpdir = require('../common/tmpdir'); tmpdir.refresh(); @@ -56,8 +59,9 @@ const cert = fixtures.readKey('rsa_cert.crt'); } } -if (!common.opensslCli) +if (!opensslCli) { common.skip('node compiled without OpenSSL CLI.'); +} doTest(); @@ -105,7 +109,7 @@ function doTest() { '-sess_in', sessionFileName, '-sess_out', sessionFileName, ]; - const client = spawn(common.opensslCli, flags, { + const client = spawn(opensslCli, flags, { stdio: ['ignore', 'pipe', 'ignore'] }); diff --git a/test/sequential/test-watch-mode.mjs b/test/sequential/test-watch-mode.mjs index 39bc7223dffdfc..324cdd10b3b4ef 100644 --- a/test/sequential/test-watch-mode.mjs +++ b/test/sequential/test-watch-mode.mjs @@ -242,6 +242,32 @@ describe('watch mode', { concurrency: !process.env.TEST_PARALLEL, timeout: 60_00 } }); + it('should load new env variables when --env-file-if-exists changes', async () => { + const envKey = `TEST_ENV_${Date.now()}`; + const envKey2 = `TEST_ENV_2_${Date.now()}`; + const jsFile = createTmpFile(`console.log('ENV: ' + process.env.${envKey} + '\\n' + 'ENV2: ' + process.env.${envKey2});`); + const envFile = createTmpFile(`${envKey}=value1`, '.env'); + const { done, restart } = runInBackground({ args: ['--watch', `--env-file-if-exists=${envFile}`, jsFile] }); + + try { + await restart(); + writeFileSync(envFile, `${envKey}=value1\n${envKey2}=newValue`); + + // Second restart, after env change + const { stderr, stdout } = await restart(); + + assert.strictEqual(stderr, ''); + assert.deepStrictEqual(stdout, [ + `Restarting ${inspect(jsFile)}`, + 'ENV: value1', + 'ENV2: newValue', + `Completed running ${inspect(jsFile)}`, + ]); + } finally { + await done(); + } + }); + it('should watch changes to a failing file', async () => { const file = createTmpFile('throw new Error("fails");'); const { stderr, stdout } = await runWriteSucceed({ diff --git a/test/sqlite/.gitignore b/test/sqlite/.gitignore new file mode 100644 index 00000000000000..378eac25d31170 --- /dev/null +++ b/test/sqlite/.gitignore @@ -0,0 +1 @@ +build diff --git a/test/sqlite/sqlite.status b/test/sqlite/sqlite.status new file mode 100644 index 00000000000000..dae653683a3274 --- /dev/null +++ b/test/sqlite/sqlite.status @@ -0,0 +1,7 @@ +prefix sqlite + +# To mark a test as flaky, list the test name in the appropriate section +# below, without ".js", followed by ": PASS,FLAKY". Example: +# sample-test : PASS,FLAKY + +[true] # This section applies to all platforms diff --git a/test/sqlite/test_sqlite_extensions/binding.gyp b/test/sqlite/test_sqlite_extensions/binding.gyp new file mode 100644 index 00000000000000..aa4de6b8c08d15 --- /dev/null +++ b/test/sqlite/test_sqlite_extensions/binding.gyp @@ -0,0 +1,10 @@ +{ + "targets": [ + { + "target_name": "sqlite_extension", + "type": "shared_library", + "sources": [ "extension.c" ], + "include_dirs": [ "../../../deps/sqlite" ] + } + ] +} diff --git a/test/sqlite/extension.c b/test/sqlite/test_sqlite_extensions/extension.c similarity index 100% rename from test/sqlite/extension.c rename to test/sqlite/test_sqlite_extensions/extension.c diff --git a/test/sqlite/test-sqlite-extensions.mjs b/test/sqlite/test_sqlite_extensions/test.js similarity index 83% rename from test/sqlite/test-sqlite-extensions.mjs rename to test/sqlite/test_sqlite_extensions/test.js index 141f9c9627002c..ece230399c73dc 100644 --- a/test/sqlite/test-sqlite-extensions.mjs +++ b/test/sqlite/test_sqlite_extensions/test.js @@ -1,23 +1,25 @@ -import * as common from '../common/index.mjs'; - -import assert from 'node:assert'; -import path from 'node:path'; -import sqlite from 'node:sqlite'; -import test from 'node:test'; -import fs from 'node:fs'; -import childProcess from 'child_process'; +'use strict'; +const common = require('../../common'); +const assert = require('node:assert'); +const path = require('node:path'); +const sqlite = require('node:sqlite'); +const test = require('node:test'); +const fs = require('node:fs'); +const childProcess = require('node:child_process'); if (process.config.variables.node_shared_sqlite) { common.skip('Missing libsqlite_extension binary'); } // Lib extension binary is named differently on different platforms -function resolveBuiltBinary(binary) { - const targetFile = fs.readdirSync(path.dirname(process.execPath)).find((file) => file.startsWith(binary)); - return path.join(path.dirname(process.execPath), targetFile); +function resolveBuiltBinary() { + const buildDir = `${__dirname}/build/${common.buildType}`; + const lib = 'sqlite_extension'; + const targetFile = fs.readdirSync(buildDir).find((file) => file.startsWith(lib)); + return path.join(buildDir, targetFile); } -const binary = resolveBuiltBinary('libsqlite_extension'); +const binary = resolveBuiltBinary(); test('should load extension successfully', () => { const db = new sqlite.DatabaseSync(':memory:', { diff --git a/test/sqlite/testcfg.py b/test/sqlite/testcfg.py index 3d43abbe89482d..e66cfa69ff89ae 100644 --- a/test/sqlite/testcfg.py +++ b/test/sqlite/testcfg.py @@ -3,4 +3,4 @@ import testpy def GetConfiguration(context, root): - return testpy.SimpleTestConfiguration(context, root, 'sqlite') + return testpy.AddonTestConfiguration(context, root, 'sqlite') diff --git a/test/test426/README.md b/test/test426/README.md new file mode 100644 index 00000000000000..edf4b3a95b8e96 --- /dev/null +++ b/test/test426/README.md @@ -0,0 +1,17 @@ +# test426 (Source Map Tests) + +The tests here are drivers for running the [Source Map Tests][]. This test +suite ensures that the Node.js source map implementation conforms to the +[Source Map Specification][] ([ECMA426][]). + +The [`test/fixtures/test426`](../fixtures/test426/) contains a copy of the set of +[Source Map Tests][] suite. The last updated hash is: + +* <https://github.com/tc39/source-map-tests/commit/cbed127c46330ff4b52525e73b9356e2ad3d6369> + +See the json files in [the `status` folder](./status) for prerequisites, +expected failures, and support status for specific tests. + +[ECMA426]: https://tc39.es/ecma426/ +[Source Map Specification]: https://github.com/tc39/ecma426 +[Source Map Tests]: https://github.com/tc39/source-map-tests diff --git a/test/test426/status/source-map-spec-tests.json b/test/test426/status/source-map-spec-tests.json new file mode 100644 index 00000000000000..967da8e59679af --- /dev/null +++ b/test/test426/status/source-map-spec-tests.json @@ -0,0 +1,14 @@ +{ + "sourceRootResolution": { + "testActions": { + "skip": "sourceRoot is not supported" + } + }, + "mappingSemanticsSingleFieldSegment": { + "testActions": { + "1": { + "skip": "Might be incorrect test" + } + } + } +} diff --git a/test/test426/test-source-map-spec.mjs b/test/test426/test-source-map-spec.mjs new file mode 100644 index 00000000000000..61b51305bf9a85 --- /dev/null +++ b/test/test426/test-source-map-spec.mjs @@ -0,0 +1,58 @@ +import '../common/index.mjs'; +import * as fixtures from '../common/fixtures.mjs'; + +import assert from 'node:assert'; +import test from 'node:test'; +import { SourceMap } from 'node:module'; +import { readFileSync } from 'node:fs'; + +const specJson = fixtures.readSync('test426/source-map-spec-tests.json', 'utf8'); +const spec = JSON.parse(specJson); + +const kStatus = JSON.parse(readFileSync(new URL('./status/source-map-spec-tests.json', import.meta.url), 'utf8')); + +const kActionRunner = { + checkMapping, +}; + +spec.tests.forEach((testSpec) => { + const sourceMapJson = fixtures.readSync(['test426/resources', testSpec.sourceMapFile], 'utf8'); + const sourceMapPayload = JSON.parse(sourceMapJson); + + test(testSpec.name, async (t) => { + let sourceMap; + try { + sourceMap = new SourceMap(sourceMapPayload); + } catch { + // Be lenient with invalid source maps. Some source maps are invalid spec-wise, + // let's try the best to parse them. Maybe a strict parsing mode can be introduced + // for future-proof source map format. + assert.ok(!testSpec.sourceMapIsValid); + return; + } + assert.ok(sourceMap); + + const subtests = (testSpec.testActions ?? []).map((action, idx) => { + const testRunner = kActionRunner[action.actionType]; + const testName = `action#${idx} - ${action.actionType}`; + if (testRunner == null) { + return t.test(testName, { + todo: true, + }); + } + const skip = kStatus[testSpec.name]?.testActions?.skip || kStatus[testSpec.name]?.testActions?.[idx]?.skip; + return t.test(testName, { + skip, + }, testRunner.bind(null, sourceMap, action)); + }); + + await Promise.all(subtests); + }); +}); + +function checkMapping(sourceMap, action) { + const result = sourceMap.findEntry(action.generatedLine, action.generatedColumn); + assert.strictEqual(result.originalSource, action.originalSource); + assert.strictEqual(result.originalLine, action.originalLine); + assert.strictEqual(result.originalColumn, action.originalColumn); +} diff --git a/test/test426/testcfg.py b/test/test426/testcfg.py new file mode 100644 index 00000000000000..235311f0dddde8 --- /dev/null +++ b/test/test426/testcfg.py @@ -0,0 +1,6 @@ +import sys, os +sys.path.append(os.path.join(os.path.dirname(__file__), '..')) +import testpy + +def GetConfiguration(context, root): + return testpy.ParallelTestConfiguration(context, root, 'test426') diff --git a/test/tick-processor/util.js b/test/tick-processor/util.js index 6d118b7c38bc66..9586a81c276a65 100644 --- a/test/tick-processor/util.js +++ b/test/tick-processor/util.js @@ -5,14 +5,21 @@ const { isWindows, isSunOS, isAIX, - isLinuxPPCBE, isFreeBSD, } = require('../common'); +const { endianness } = require('os'); + +function isLinuxPPCBE() { + return (process.platform === 'linux') && + (process.arch === 'ppc64') && + (endianness() === 'BE'); +} + module.exports = { isCPPSymbolsNotMapped: isWindows || isSunOS || isAIX || - isLinuxPPCBE || + isLinuxPPCBE() || isFreeBSD, }; diff --git a/test/wasi/test-wasi-io.js b/test/wasi/test-wasi-io.js index 061ac88a73ece4..f5348644f1cfbf 100644 --- a/test/wasi/test-wasi-io.js +++ b/test/wasi/test-wasi-io.js @@ -1,14 +1,19 @@ 'use strict'; -const common = require('../common'); -const { checkoutEOL } = common; +require('../common'); +const { readFileSync } = require('fs'); const { testWasiPreview1 } = require('../common/wasi'); +const checkoutEOL = readFileSync(__filename).includes('\r\n') ? '\r\n' : '\n'; + +// TODO(@jasnell): It's not entirely clear what this test is asserting. +// More comments would be helpful. + testWasiPreview1(['freopen'], {}, { stdout: `hello from input2.txt${checkoutEOL}` }); testWasiPreview1(['read_file'], {}, { stdout: `hello from input.txt${checkoutEOL}` }); testWasiPreview1(['read_file_twice'], {}, { stdout: `hello from input.txt${checkoutEOL}hello from input.txt${checkoutEOL}`, }); // Tests that are currently unsupported on Windows. -if (!common.isWindows) { +if (process.platform !== 'win32') { testWasiPreview1(['stdin'], { input: 'hello world' }, { stdout: 'hello world' }); } diff --git a/tools/actions/create-release.sh b/tools/actions/create-release-proposal.sh similarity index 100% rename from tools/actions/create-release.sh rename to tools/actions/create-release-proposal.sh diff --git a/tools/actions/lint-release-proposal-commit-list.mjs b/tools/actions/lint-release-proposal-commit-list.mjs new file mode 100755 index 00000000000000..b9745bad3c30c1 --- /dev/null +++ b/tools/actions/lint-release-proposal-commit-list.mjs @@ -0,0 +1,62 @@ +#!/usr/bin/env node + +// Takes a stream of JSON objects as inputs, validates the CHANGELOG contains a +// line corresponding, then outputs the prURL value. +// +// Example: +// $ git log upstream/vXX.x...upstream/vX.X.X-proposal \ +// --format='{"prURL":"%(trailers:key=PR-URL,valueonly,separator=)","title":"%s","smallSha":"%h"}' \ +// | ./lint-release-proposal-commit-list.mjs "path/to/CHANGELOG.md" "$(git rev-parse upstream/vX.X.X-proposal)" + +const [,, CHANGELOG_PATH, RELEASE_COMMIT_SHA] = process.argv; + +import assert from 'node:assert'; +import { readFile } from 'node:fs/promises'; +import { createInterface } from 'node:readline'; + +// Creating the iterator early to avoid missing any data: +const stdinLineByLine = createInterface(process.stdin)[Symbol.asyncIterator](); + +const changelog = await readFile(CHANGELOG_PATH, 'utf-8'); +const commitListingStart = changelog.indexOf('\n### Commits\n'); +const commitListingEnd = changelog.indexOf('\n\n<a', commitListingStart); +const commitList = changelog.slice(commitListingStart, commitListingEnd === -1 ? undefined : commitListingEnd + 1) + // Checking for semverness is too expansive, it is left as a exercice for human reviewers. + .replaceAll('**(SEMVER-MINOR)** ', '') + // Correct Markdown escaping is validated by the linter, getting rid of it here helps. + .replaceAll('\\', ''); + +let expectedNumberOfCommitsLeft = commitList.match(/\n\* \[/g).length; +for await (const line of stdinLineByLine) { + const { smallSha, title, prURL } = JSON.parse(line); + + if (smallSha === RELEASE_COMMIT_SHA.slice(0, 10)) { + assert.strictEqual( + expectedNumberOfCommitsLeft, 0, + 'Some commits are listed without being included in the proposal, or are listed more than once', + ); + continue; + } + + const lineStart = commitList.indexOf(`\n* [[\`${smallSha}\`]`); + assert.notStrictEqual(lineStart, -1, `Cannot find ${smallSha} on the list`); + const lineEnd = commitList.indexOf('\n', lineStart + 1); + + const colonIndex = title.indexOf(':'); + const expectedCommitTitle = `${`**${title.slice(0, colonIndex)}`.replace('**Revert "', '_**Revert**_ "**')}**${title.slice(colonIndex)}`; + try { + assert(commitList.lastIndexOf(`/${smallSha})] - ${expectedCommitTitle} (`, lineEnd) > lineStart, `Commit title doesn't match`); + } catch (e) { + if (e?.code === 'ERR_ASSERTION') { + e.operator = 'includes'; + e.expected = expectedCommitTitle; + e.actual = commitList.slice(lineStart + 1, lineEnd); + } + throw e; + } + assert.strictEqual(commitList.slice(lineEnd - prURL.length - 2, lineEnd), `(${prURL})`, `when checking ${smallSha} ${title}`); + + expectedNumberOfCommitsLeft--; + console.log(prURL); +} +assert.strictEqual(expectedNumberOfCommitsLeft, 0, 'Release commit is not the last commit in the proposal'); diff --git a/tools/certdata.txt b/tools/certdata.txt index 110a814718cfd7..e0f60abcd6cf62 100644 --- a/tools/certdata.txt +++ b/tools/certdata.txt @@ -323,7 +323,10 @@ CKA_VALUE MULTILINE_OCTAL \174\136\232\166\351\131\220\305\174\203\065\021\145\121 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "Entrust.net Premium 2048 Secure Server CA" @@ -627,7 +630,10 @@ CKA_VALUE MULTILINE_OCTAL \036\177\132\264\074 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "Entrust Root Certification Authority" @@ -3808,140 +3814,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "SecureSign RootCA11" -# -# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Serial Number: 1 (0x1) -# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Not Valid Before: Wed Apr 08 04:56:47 2009 -# Not Valid After : Sun Apr 08 04:56:47 2029 -# Fingerprint (SHA-256): BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12 -# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureSign RootCA11" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053 -\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162 -\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006 -\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156 -\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060 -\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064 -\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006 -\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004 -\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054 -\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023 -\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103 -\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063 -\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027 -\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224 -\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074 -\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072 -\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266 -\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225 -\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203 -\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362 -\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175 -\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330 -\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213 -\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342 -\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305 -\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053 -\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002 -\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006 -\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324 -\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 -\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355 -\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241 -\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146 -\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257 -\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073 -\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120 -\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255 -\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102 -\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253 -\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335 -\143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310 -\122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371 -\244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154 -\017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055 -\015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215 -\101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003 -\362 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "SecureSign RootCA11" -# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Serial Number: 1 (0x1) -# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Not Valid Before: Wed Apr 08 04:56:47 2009 -# Not Valid After : Sun Apr 08 04:56:47 2029 -# Fingerprint (SHA-256): BF:0F:EE:FB:9E:3A:58:1A:D5:F9:E9:DB:75:89:98:57:43:D2:61:08:5C:4D:31:4F:6F:5D:72:59:AA:42:16:12 -# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureSign RootCA11" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145 -\307\330\021\263 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046 -END -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "Microsec e-Szigno Root CA 2009" # @@ -4939,7 +4811,10 @@ CKA_VALUE MULTILINE_OCTAL \007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "AffirmTrust Commercial" @@ -5067,7 +4942,10 @@ CKA_VALUE MULTILINE_OCTAL \355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "AffirmTrust Networking" @@ -5227,7 +5105,10 @@ CKA_VALUE MULTILINE_OCTAL \051\340\266\270\011\150\031\034\030\103 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "AffirmTrust Premium" @@ -5335,7 +5216,10 @@ CKA_VALUE MULTILINE_OCTAL \214\171 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "AffirmTrust Premium ECC" @@ -10269,7 +10153,10 @@ CKA_VALUE MULTILINE_OCTAL \105\366 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "Entrust Root Certification Authority - G2" @@ -10416,7 +10303,10 @@ CKA_VALUE MULTILINE_OCTAL \231\267\046\101\133\045\140\256\320\110\032\356\006 END CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +# For Server Distrust After: Sat Nov 30 23:59:59 2024 +CKA_NSS_SERVER_DISTRUST_AFTER MULTILINE_OCTAL +\062\064\061\061\063\060\062\063\065\071\065\071\132 +END CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE # Trust for "Entrust Root Certification Authority - EC1" @@ -15014,7 +14904,7 @@ CKA_SERIAL_NUMBER MULTILINE_OCTAL \002\021\000\331\265\103\177\257\251\071\017\000\000\000\000\125 \145\255\130 END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE @@ -21228,173 +21118,6 @@ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE -# -# Certificate "Security Communication RootCA3" -# -# Issuer: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP -# Serial Number:00:e1:7c:37:40:fd:1b:fe:67 -# Subject: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP -# Not Valid Before: Thu Jun 16 06:17:16 2016 -# Not Valid After : Mon Jan 18 06:17:16 2038 -# Fingerprint (SHA-256): 24:A5:5C:2A:B0:51:44:2D:06:17:76:65:41:23:9A:4A:D0:32:D7:C5:51:75:AA:34:FF:DE:2F:BC:4F:5C:52:94 -# Fingerprint (SHA1): C3:03:C8:22:74:92:E5:61:A2:9C:5F:79:91:2B:1E:44:13:91:30:3A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication RootCA3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\341\174\067\100\375\033\376\147 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\177\060\202\003\147\240\003\002\001\002\002\011\000 -\341\174\067\100\375\033\376\147\060\015\006\011\052\206\110\206 -\367\015\001\001\014\005\000\060\135\061\013\060\011\006\003\125 -\004\006\023\002\112\120\061\045\060\043\006\003\125\004\012\023 -\034\123\105\103\117\115\040\124\162\165\163\164\040\123\171\163 -\164\145\155\163\040\103\117\056\054\114\124\104\056\061\047\060 -\045\006\003\125\004\003\023\036\123\145\143\165\162\151\164\171 -\040\103\157\155\155\165\156\151\143\141\164\151\157\156\040\122 -\157\157\164\103\101\063\060\036\027\015\061\066\060\066\061\066 -\060\066\061\067\061\066\132\027\015\063\070\060\061\061\070\060 -\066\061\067\061\066\132\060\135\061\013\060\011\006\003\125\004 -\006\023\002\112\120\061\045\060\043\006\003\125\004\012\023\034 -\123\105\103\117\115\040\124\162\165\163\164\040\123\171\163\164 -\145\155\163\040\103\117\056\054\114\124\104\056\061\047\060\045 -\006\003\125\004\003\023\036\123\145\143\165\162\151\164\171\040 -\103\157\155\155\165\156\151\143\141\164\151\157\156\040\122\157 -\157\164\103\101\063\060\202\002\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 -\012\002\202\002\001\000\343\311\162\111\367\060\336\011\174\251 -\100\201\130\323\264\072\335\272\141\017\223\120\156\151\074\065 -\302\356\133\163\220\033\147\114\041\354\137\065\273\071\076\053 -\012\140\357\273\155\053\206\373\161\242\310\254\344\126\224\371 -\311\257\261\162\324\040\254\164\322\270\025\255\121\376\205\164 -\241\271\020\376\005\200\371\122\223\263\100\075\165\020\254\300 -\226\267\247\176\166\274\343\033\122\031\316\021\037\013\004\064 -\365\330\365\151\074\167\363\144\364\015\252\205\336\340\011\120 -\004\027\226\204\267\310\212\274\115\162\374\034\273\317\363\006 -\115\371\237\144\367\176\246\146\206\065\161\310\021\200\114\301 -\161\100\130\036\276\240\163\366\374\076\120\341\340\057\046\075 -\176\134\043\265\171\160\336\372\340\321\245\326\014\101\161\173 -\367\352\214\034\210\307\354\213\365\321\057\125\226\106\174\132 -\073\130\073\373\272\330\055\265\045\332\172\116\317\104\256\041 -\246\236\230\312\040\156\174\273\210\205\133\373\300\020\142\273 -\362\371\047\107\357\321\211\071\103\304\337\336\341\101\277\124 -\163\040\227\055\154\332\363\324\007\243\346\271\330\157\256\374 -\214\031\056\323\147\147\053\225\333\130\134\265\152\002\363\270 -\203\136\264\153\276\101\176\127\011\165\104\120\125\315\132\021 -\141\041\012\141\302\251\210\375\023\274\055\211\057\315\141\340 -\225\276\312\265\173\341\173\064\147\013\037\266\014\307\174\036 -\031\123\312\247\261\112\025\040\126\024\160\075\053\202\054\017 -\235\025\035\107\200\107\377\170\231\016\061\257\157\076\217\355 -\206\151\036\173\030\210\024\262\302\374\202\063\056\234\113\055 -\373\160\073\161\252\053\173\046\047\363\032\302\334\373\027\270 -\241\352\313\240\264\256\323\224\176\172\320\253\303\354\070\055 -\021\056\210\277\324\077\255\022\073\102\254\217\002\156\175\314 -\321\137\141\276\241\274\072\152\110\352\046\125\042\026\135\137 -\015\377\047\063\237\030\003\164\212\133\122\040\107\153\105\115 -\042\167\214\125\047\360\257\036\214\311\203\042\124\267\232\320 -\117\331\316\374\331\056\034\226\050\261\002\323\003\275\045\122 -\034\064\146\117\043\253\364\167\202\226\035\321\127\060\010\021 -\005\375\127\321\331\307\002\003\001\000\001\243\102\060\100\060 -\035\006\003\125\035\016\004\026\004\024\144\024\174\374\130\162 -\026\246\012\051\064\025\157\052\313\274\374\257\250\253\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202 -\002\001\000\334\002\043\010\342\357\041\072\307\015\267\046\322 -\142\223\247\245\043\162\007\040\202\140\337\030\327\124\255\151 -\045\222\236\331\024\317\231\271\122\201\317\256\154\212\073\132 -\071\310\154\001\103\302\042\155\002\360\142\315\116\143\103\300 -\024\332\364\143\360\352\364\161\356\116\207\343\161\251\364\311 -\127\345\056\137\034\171\273\043\252\207\104\127\351\275\065\115 -\101\273\113\050\243\230\262\033\331\013\027\007\345\367\352\235 -\365\166\327\277\304\266\201\130\377\310\377\144\151\142\171\255 -\156\016\037\177\356\035\151\345\267\162\161\263\376\245\001\065 -\224\124\053\300\122\155\217\125\304\311\322\270\313\312\064\010 -\121\205\240\365\274\264\027\130\352\012\134\172\275\143\306\072 -\057\377\226\111\031\204\352\147\330\004\261\141\364\000\133\112 -\267\234\161\067\031\205\171\277\201\260\307\023\016\166\161\076 -\072\200\006\256\006\026\247\215\265\302\304\313\377\100\245\134 -\215\245\311\072\355\162\201\312\134\230\074\322\064\003\167\010 -\375\360\051\131\135\041\010\307\140\277\244\161\173\270\331\036 -\202\276\011\257\145\157\050\253\277\113\265\356\076\010\107\047 -\240\017\157\017\213\077\254\225\030\363\271\016\334\147\125\156 -\142\236\106\016\321\004\170\312\162\256\166\331\245\370\262\337 -\210\011\141\213\357\044\116\321\131\077\132\324\075\311\223\074 -\053\144\365\201\015\026\226\367\222\303\376\061\157\350\052\062 -\164\016\364\114\230\112\030\016\060\124\325\305\353\274\305\025 -\236\350\231\041\353\047\053\011\012\333\361\346\160\030\126\273 -\014\344\276\371\350\020\244\023\222\270\034\340\333\147\035\123 -\003\244\042\247\334\135\222\020\074\352\377\374\033\020\032\303 -\330\320\234\235\145\313\320\053\047\061\003\036\066\341\075\166 -\165\014\377\105\046\271\335\121\274\043\307\137\330\330\207\020 -\100\022\015\075\070\067\347\104\074\030\300\123\011\144\217\377 -\325\232\246\174\160\056\163\125\041\350\337\377\203\271\035\076 -\062\036\326\246\175\054\361\146\351\134\035\247\243\316\136\045 -\062\053\343\225\254\052\007\316\264\050\170\206\074\055\246\235 -\115\322\164\060\335\144\121\025\333\203\203\121\327\257\375\063 -\235\115\146 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE -CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE -CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE - -# Trust for "Security Communication RootCA3" -# Issuer: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP -# Serial Number:00:e1:7c:37:40:fd:1b:fe:67 -# Subject: CN=Security Communication RootCA3,O="SECOM Trust Systems CO.,LTD.",C=JP -# Not Valid Before: Thu Jun 16 06:17:16 2016 -# Not Valid After : Mon Jan 18 06:17:16 2038 -# Fingerprint (SHA-256): 24:A5:5C:2A:B0:51:44:2D:06:17:76:65:41:23:9A:4A:D0:32:D7:C5:51:75:AA:34:FF:DE:2F:BC:4F:5C:52:94 -# Fingerprint (SHA1): C3:03:C8:22:74:92:E5:61:A2:9C:5F:79:91:2B:1E:44:13:91:30:3A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication RootCA3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\303\003\310\042\164\222\345\141\242\234\137\171\221\053\036\104 -\023\221\060\072 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\034\232\026\377\236\134\340\115\212\024\001\364\065\135\051\046 -END -CKA_ISSUER MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\003\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\341\174\067\100\375\033\376\147 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - # # Certificate "Security Communication ECC RootCA1" # diff --git a/tools/dep_updaters/update-github-reporter.sh b/tools/dep_updaters/update-github-reporter.sh deleted file mode 100755 index 6ab4d876ede054..00000000000000 --- a/tools/dep_updaters/update-github-reporter.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -# Shell script to update @reporters/github in the source tree to the latest release. - -# This script must be in the tools directory when it runs because it uses the -# script source file path to determine directories to work in. - -set -ex - -ROOT=$(cd "$(dirname "$0")/../.." && pwd) -[ -z "$NODE" ] && NODE="$ROOT/out/Release/node" -[ -x "$NODE" ] || NODE=$(command -v node) -NPM="$ROOT/deps/npm/bin/npm-cli.js" - -# shellcheck disable=SC1091 -. "$ROOT/tools/dep_updaters/utils.sh" - -NEW_VERSION=$("$NODE" "$NPM" view @reporters/github dist-tags.latest) -CURRENT_VERSION=$("$NODE" -p "require('./tools/github_reporter/package.json').version") - -# This function exit with 0 if new version and current version are the same -compare_dependency_version "@reporters/github" "$NEW_VERSION" "$CURRENT_VERSION" - -cd "$( dirname "$0" )/../.." || exit -rm -rf tools/github_reporter - -( - rm -rf github-reporter-tmp - mkdir github-reporter-tmp - cd github-reporter-tmp || exit - - "$NODE" "$NPM" init --yes - "$NODE" "$NPM" install --global-style --no-bin-links --ignore-scripts "@reporters/github@$NEW_VERSION" - "$NODE" "$NPM" exec --package=esbuild@0.17.15 --yes -- esbuild ./node_modules/@reporters/github --bundle --platform=node --outfile=bundle.js -) - -mkdir tools/github_reporter -mv github-reporter-tmp/bundle.js tools/github_reporter/index.js -mv github-reporter-tmp/node_modules/@reporters/github/package.json tools/github_reporter/package.json -rm -rf github-reporter-tmp/ - -# The last line of the script should always print the new version, -# as we need to add it to $GITHUB_ENV variable. -echo "NEW_VERSION=$NEW_VERSION" diff --git a/tools/doc/html.mjs b/tools/doc/html.mjs index 68762d89e048ce..d61d335c7b8957 100644 --- a/tools/doc/html.mjs +++ b/tools/doc/html.mjs @@ -527,11 +527,11 @@ function altDocs(filename, docCreated, versions) { return list ? ` <li class="picker-header"> - <a href="#"> + <a href="#alt-docs" aria-controls="alt-docs"> <span class="picker-arrow"></span> Other versions </a> - <div class="picker"><ol id="alt-docs">${list}</ol></div> + <div class="picker" tabindex="-1"><ol id="alt-docs">${list}</ol></div> </li> ` : ''; } @@ -557,12 +557,12 @@ function gtocPicker(id) { return ` <li class="picker-header"> - <a href="#"> + <a href="#gtoc-picker" aria-controls="gtoc-picker"> <span class="picker-arrow"></span> Index </a> - <div class="picker">${gtoc}</div> + <div class="picker" tabindex="-1" id="gtoc-picker">${gtoc}</div> </li> `; } @@ -574,12 +574,12 @@ function tocPicker(id, content) { return ` <li class="picker-header"> - <a href="#"> + <a href="#toc-picker" aria-controls="toc-picker"> <span class="picker-arrow"></span> Table of contents </a> - <div class="picker">${content.tocPicker}</div> + <div class="picker" tabindex="-1">${content.tocPicker.replace('<ul', '<ul id="toc-picker"')}</div> </li> `; } diff --git a/tools/doc/package-lock.json b/tools/doc/package-lock.json index a7c2088abd3ad5..bbb562ae9c9100 100644 --- a/tools/doc/package-lock.json +++ b/tools/doc/package-lock.json @@ -11,7 +11,7 @@ "node-doc-generator": "generate.js" }, "devDependencies": { - "highlight.js": "^11.9.0", + "highlight.js": "^11.11.1", "js-yaml": "^4.1.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.0", @@ -441,9 +441,9 @@ } }, "node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", "dev": true, "engines": { "node": ">=12.0.0" diff --git a/tools/doc/package.json b/tools/doc/package.json index d27ce6ca5102f9..1bfd9f853d9990 100644 --- a/tools/doc/package.json +++ b/tools/doc/package.json @@ -7,7 +7,7 @@ "node": ">=14.8.0" }, "devDependencies": { - "highlight.js": "^11.9.0", + "highlight.js": "^11.11.1", "js-yaml": "^4.1.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.0", diff --git a/tools/eslint/package-lock.json b/tools/eslint/package-lock.json index ddae8841e1ea39..7d57c1b57129b2 100644 --- a/tools/eslint/package-lock.json +++ b/tools/eslint/package-lock.json @@ -11,12 +11,12 @@ "@babel/core": "^7.26.0", "@babel/eslint-parser": "^7.25.9", "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@stylistic/eslint-plugin-js": "^2.11.0", - "eslint": "^9.16.0", + "@stylistic/eslint-plugin-js": "^2.12.1", + "eslint": "^9.17.0", "eslint-formatter-tap": "^8.40.0", - "eslint-plugin-jsdoc": "^50.6.0", + "eslint-plugin-jsdoc": "^50.6.1", "eslint-plugin-markdown": "^5.1.0", - "globals": "^15.12.0" + "globals": "^15.14.0" } }, "node_modules/@ampproject/remapping": { @@ -382,9 +382,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", - "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -535,9 +535,9 @@ } }, "node_modules/@stylistic/eslint-plugin-js": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.11.0.tgz", - "integrity": "sha512-btchD0P3iij6cIk5RR5QMdEhtCCV0+L6cNheGhGCd//jaHILZMTi/EOqgEDAf1s4ZoViyExoToM+S2Iwa3U9DA==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.12.1.tgz", + "integrity": "sha512-5ybogtEgWIGCR6dMnaabztbWyVdAPDsf/5XOk6jBonWug875Q9/a6gm9QxnU3rhdyDEnckWKX7dduwYJMOWrVA==", "dependencies": { "eslint-visitor-keys": "^4.2.0", "espree": "^10.3.0" @@ -757,9 +757,9 @@ "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -812,16 +812,16 @@ } }, "node_modules/eslint": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz", - "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", + "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.19.0", "@eslint/core": "^0.9.0", "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.16.0", + "@eslint/js": "9.17.0", "@eslint/plugin-kit": "^0.2.3", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -830,7 +830,7 @@ "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.5", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", @@ -882,9 +882,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "50.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.0.tgz", - "integrity": "sha512-tCNp4fR79Le3dYTPB0dKEv7yFyvGkUCa+Z3yuTrrNGGOxBlXo9Pn0PEgroOZikUQOGjxoGMVKNjrOHcYEdfszg==", + "version": "50.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.1.tgz", + "integrity": "sha512-UWyaYi6iURdSfdVVqvfOs2vdCVz0J40O/z/HTsv2sFjdjmdlUI/qlKLOTmwbPQ2tAfQnE5F9vqx+B+poF71DBQ==", "dependencies": { "@es-joy/jsdoccomment": "~0.49.0", "are-docs-informative": "^0.0.2", @@ -1254,9 +1254,9 @@ } }, "node_modules/globals": { - "version": "15.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", - "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", "engines": { "node": ">=18" }, @@ -1364,8 +1364,7 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -1660,7 +1659,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", "engines": { "node": ">=8" } @@ -1708,7 +1706,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -1720,7 +1717,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", "engines": { "node": ">=8" } @@ -1852,7 +1848,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, diff --git a/tools/eslint/package.json b/tools/eslint/package.json index 59b2e661aa96f1..68bedee0cb10f9 100644 --- a/tools/eslint/package.json +++ b/tools/eslint/package.json @@ -6,11 +6,11 @@ "@babel/core": "^7.26.0", "@babel/eslint-parser": "^7.25.9", "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@stylistic/eslint-plugin-js": "^2.11.0", - "eslint": "^9.16.0", + "@stylistic/eslint-plugin-js": "^2.12.1", + "eslint": "^9.17.0", "eslint-formatter-tap": "^8.40.0", - "eslint-plugin-jsdoc": "^50.6.0", + "eslint-plugin-jsdoc": "^50.6.1", "eslint-plugin-markdown": "^5.1.0", - "globals": "^15.12.0" + "globals": "^15.14.0" } } diff --git a/tools/github_reporter/index.js b/tools/github_reporter/index.js deleted file mode 100644 index 3bab152c932229..00000000000000 --- a/tools/github_reporter/index.js +++ /dev/null @@ -1,20230 +0,0 @@ -"use strict"; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; - -// node_modules/@reporters/github/node_modules/@actions/core/lib/utils.js -var require_utils = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.toCommandProperties = exports2.toCommandValue = void 0; - function toCommandValue(input) { - if (input === null || input === void 0) { - return ""; - } else if (typeof input === "string" || input instanceof String) { - return input; - } - return JSON.stringify(input); - } - exports2.toCommandValue = toCommandValue; - function toCommandProperties(annotationProperties) { - if (!Object.keys(annotationProperties).length) { - return {}; - } - return { - title: annotationProperties.title, - file: annotationProperties.file, - line: annotationProperties.startLine, - endLine: annotationProperties.endLine, - col: annotationProperties.startColumn, - endColumn: annotationProperties.endColumn - }; - } - exports2.toCommandProperties = toCommandProperties; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/command.js -var require_command = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/command.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.issue = exports2.issueCommand = void 0; - var os = __importStar(require("os")); - var utils_1 = require_utils(); - function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); - } - exports2.issueCommand = issueCommand; - function issue(name, message = "") { - issueCommand(name, {}, message); - } - exports2.issue = issue; - var CMD_STRING = "::"; - var Command = class { - constructor(command, properties, message) { - if (!command) { - command = "missing.command"; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += " "; - let first = true; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - if (first) { - first = false; - } else { - cmdStr += ","; - } - cmdStr += `${key}=${escapeProperty(val)}`; - } - } - } - } - cmdStr += `${CMD_STRING}${escapeData(this.message)}`; - return cmdStr; - } - }; - function escapeData(s) { - return (0, utils_1.toCommandValue)(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); - } - function escapeProperty(s) { - return (0, utils_1.toCommandValue)(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); - } - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/file-command.js -var require_file_command = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/file-command.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; - var crypto = __importStar(require("crypto")); - var fs = __importStar(require("fs")); - var os = __importStar(require("os")); - var utils_1 = require_utils(); - function issueFileCommand(command, message) { - const filePath = process.env[`GITHUB_${command}`]; - if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command}`); - } - if (!fs.existsSync(filePath)) { - throw new Error(`Missing file at path: ${filePath}`); - } - fs.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, { - encoding: "utf8" - }); - } - exports2.issueFileCommand = issueFileCommand; - function prepareKeyValueMessage(key, value) { - const delimiter = `ghadelimiter_${crypto.randomUUID()}`; - const convertedValue = (0, utils_1.toCommandValue)(value); - if (key.includes(delimiter)) { - throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); - } - if (convertedValue.includes(delimiter)) { - throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); - } - return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; - } - exports2.prepareKeyValueMessage = prepareKeyValueMessage; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/http-client/lib/proxy.js -var require_proxy = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/http-client/lib/proxy.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.checkBypass = exports2.getProxyUrl = void 0; - function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === "https:"; - if (checkBypass(reqUrl)) { - return void 0; - } - const proxyVar = (() => { - if (usingSsl) { - return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; - } else { - return process.env["http_proxy"] || process.env["HTTP_PROXY"]; - } - })(); - if (proxyVar) { - try { - return new DecodedURL(proxyVar); - } catch (_a) { - if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) - return new DecodedURL(`http://${proxyVar}`); - } - } else { - return void 0; - } - } - exports2.getProxyUrl = getProxyUrl; - function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - const reqHost = reqUrl.hostname; - if (isLoopbackAddress(reqHost)) { - return true; - } - const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; - if (!noProxy) { - return false; - } - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } else if (reqUrl.protocol === "http:") { - reqPort = 80; - } else if (reqUrl.protocol === "https:") { - reqPort = 443; - } - const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === "number") { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) { - if (upperNoProxyItem === "*" || upperReqHosts.some((x) => x === upperNoProxyItem || x.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x.endsWith(`${upperNoProxyItem}`))) { - return true; - } - } - return false; - } - exports2.checkBypass = checkBypass; - function isLoopbackAddress(host) { - const hostLower = host.toLowerCase(); - return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]"); - } - var DecodedURL = class extends URL { - constructor(url, base) { - super(url, base); - this._decodedUsername = decodeURIComponent(super.username); - this._decodedPassword = decodeURIComponent(super.password); - } - get username() { - return this._decodedUsername; - } - get password() { - return this._decodedPassword; - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/tunnel/lib/tunnel.js -var require_tunnel = __commonJS({ - "node_modules/@reporters/github/node_modules/tunnel/lib/tunnel.js"(exports2) { - "use strict"; - var net = require("net"); - var tls = require("tls"); - var http = require("http"); - var https = require("https"); - var events = require("events"); - var assert = require("assert"); - var util2 = require("util"); - exports2.httpOverHttp = httpOverHttp; - exports2.httpsOverHttp = httpsOverHttp; - exports2.httpOverHttps = httpOverHttps; - exports2.httpsOverHttps = httpsOverHttps; - function httpOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - return agent; - } - function httpsOverHttp(options) { - var agent = new TunnelingAgent(options); - agent.request = http.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; - } - function httpOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - return agent; - } - function httpsOverHttps(options) { - var agent = new TunnelingAgent(options); - agent.request = https.request; - agent.createSocket = createSecureSocket; - agent.defaultPort = 443; - return agent; - } - function TunnelingAgent(options) { - var self = this; - self.options = options || {}; - self.proxyOptions = self.options.proxy || {}; - self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; - self.requests = []; - self.sockets = []; - self.on("free", function onFree(socket, host, port, localAddress) { - var options2 = toOptions(host, port, localAddress); - for (var i = 0, len = self.requests.length; i < len; ++i) { - var pending = self.requests[i]; - if (pending.host === options2.host && pending.port === options2.port) { - self.requests.splice(i, 1); - pending.request.onSocket(socket); - return; - } - } - socket.destroy(); - self.removeSocket(socket); - }); - } - util2.inherits(TunnelingAgent, events.EventEmitter); - TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { - var self = this; - var options = mergeOptions({ request: req }, self.options, toOptions(host, port, localAddress)); - if (self.sockets.length >= this.maxSockets) { - self.requests.push(options); - return; - } - self.createSocket(options, function(socket) { - socket.on("free", onFree); - socket.on("close", onCloseOrRemove); - socket.on("agentRemove", onCloseOrRemove); - req.onSocket(socket); - function onFree() { - self.emit("free", socket, options); - } - function onCloseOrRemove(err) { - self.removeSocket(socket); - socket.removeListener("free", onFree); - socket.removeListener("close", onCloseOrRemove); - socket.removeListener("agentRemove", onCloseOrRemove); - } - }); - }; - TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { - var self = this; - var placeholder = {}; - self.sockets.push(placeholder); - var connectOptions = mergeOptions({}, self.proxyOptions, { - method: "CONNECT", - path: options.host + ":" + options.port, - agent: false, - headers: { - host: options.host + ":" + options.port - } - }); - if (options.localAddress) { - connectOptions.localAddress = options.localAddress; - } - if (connectOptions.proxyAuth) { - connectOptions.headers = connectOptions.headers || {}; - connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); - } - debug("making CONNECT request"); - var connectReq = self.request(connectOptions); - connectReq.useChunkedEncodingByDefault = false; - connectReq.once("response", onResponse); - connectReq.once("upgrade", onUpgrade); - connectReq.once("connect", onConnect); - connectReq.once("error", onError); - connectReq.end(); - function onResponse(res) { - res.upgrade = true; - } - function onUpgrade(res, socket, head) { - process.nextTick(function() { - onConnect(res, socket, head); - }); - } - function onConnect(res, socket, head) { - connectReq.removeAllListeners(); - socket.removeAllListeners(); - if (res.statusCode !== 200) { - debug( - "tunneling socket could not be established, statusCode=%d", - res.statusCode - ); - socket.destroy(); - var error = new Error("tunneling socket could not be established, statusCode=" + res.statusCode); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); - return; - } - if (head.length > 0) { - debug("got illegal response body from proxy"); - socket.destroy(); - var error = new Error("got illegal response body from proxy"); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); - return; - } - debug("tunneling connection has established"); - self.sockets[self.sockets.indexOf(placeholder)] = socket; - return cb(socket); - } - function onError(cause) { - connectReq.removeAllListeners(); - debug( - "tunneling socket could not be established, cause=%s\n", - cause.message, - cause.stack - ); - var error = new Error("tunneling socket could not be established, cause=" + cause.message); - error.code = "ECONNRESET"; - options.request.emit("error", error); - self.removeSocket(placeholder); - } - }; - TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { - var pos = this.sockets.indexOf(socket); - if (pos === -1) { - return; - } - this.sockets.splice(pos, 1); - var pending = this.requests.shift(); - if (pending) { - this.createSocket(pending, function(socket2) { - pending.request.onSocket(socket2); - }); - } - }; - function createSecureSocket(options, cb) { - var self = this; - TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { - var hostHeader = options.request.getHeader("host"); - var tlsOptions = mergeOptions({}, self.options, { - socket, - servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host - }); - var secureSocket = tls.connect(0, tlsOptions); - self.sockets[self.sockets.indexOf(socket)] = secureSocket; - cb(secureSocket); - }); - } - function toOptions(host, port, localAddress) { - if (typeof host === "string") { - return { - host, - port, - localAddress - }; - } - return host; - } - function mergeOptions(target) { - for (var i = 1, len = arguments.length; i < len; ++i) { - var overrides = arguments[i]; - if (typeof overrides === "object") { - var keys = Object.keys(overrides); - for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { - var k = keys[j]; - if (overrides[k] !== void 0) { - target[k] = overrides[k]; - } - } - } - } - return target; - } - var debug; - if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { - debug = function() { - var args = Array.prototype.slice.call(arguments); - if (typeof args[0] === "string") { - args[0] = "TUNNEL: " + args[0]; - } else { - args.unshift("TUNNEL:"); - } - console.error.apply(console, args); - }; - } else { - debug = function() { - }; - } - exports2.debug = debug; - } -}); - -// node_modules/@reporters/github/node_modules/tunnel/index.js -var require_tunnel2 = __commonJS({ - "node_modules/@reporters/github/node_modules/tunnel/index.js"(exports2, module2) { - module2.exports = require_tunnel(); - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/symbols.js -var require_symbols = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/symbols.js"(exports2, module2) { - module2.exports = { - kClose: Symbol("close"), - kDestroy: Symbol("destroy"), - kDispatch: Symbol("dispatch"), - kUrl: Symbol("url"), - kWriting: Symbol("writing"), - kResuming: Symbol("resuming"), - kQueue: Symbol("queue"), - kConnect: Symbol("connect"), - kConnecting: Symbol("connecting"), - kHeadersList: Symbol("headers list"), - kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: Symbol("keep alive timeout"), - kKeepAlive: Symbol("keep alive"), - kHeadersTimeout: Symbol("headers timeout"), - kBodyTimeout: Symbol("body timeout"), - kServerName: Symbol("server name"), - kLocalAddress: Symbol("local address"), - kHost: Symbol("host"), - kNoRef: Symbol("no ref"), - kBodyUsed: Symbol("used"), - kRunning: Symbol("running"), - kBlocking: Symbol("blocking"), - kPending: Symbol("pending"), - kSize: Symbol("size"), - kBusy: Symbol("busy"), - kQueued: Symbol("queued"), - kFree: Symbol("free"), - kConnected: Symbol("connected"), - kClosed: Symbol("closed"), - kNeedDrain: Symbol("need drain"), - kReset: Symbol("reset"), - kDestroyed: Symbol.for("nodejs.stream.destroyed"), - kMaxHeadersSize: Symbol("max headers size"), - kRunningIdx: Symbol("running index"), - kPendingIdx: Symbol("pending index"), - kError: Symbol("error"), - kClients: Symbol("clients"), - kClient: Symbol("client"), - kParser: Symbol("parser"), - kOnDestroyed: Symbol("destroy callbacks"), - kPipelining: Symbol("pipelining"), - kSocket: Symbol("socket"), - kHostHeader: Symbol("host header"), - kConnector: Symbol("connector"), - kStrictContentLength: Symbol("strict content length"), - kMaxRedirections: Symbol("maxRedirections"), - kMaxRequests: Symbol("maxRequestsPerClient"), - kProxy: Symbol("proxy agent options"), - kCounter: Symbol("socket request counter"), - kInterceptors: Symbol("dispatch interceptors"), - kMaxResponseSize: Symbol("max response size"), - kHTTP2Session: Symbol("http2Session"), - kHTTP2SessionState: Symbol("http2Session state"), - kHTTP2BuildRequest: Symbol("http2 build request"), - kHTTP1BuildRequest: Symbol("http1 build request"), - kHTTP2CopyHeaders: Symbol("http2 copy headers"), - kHTTPConnVersion: Symbol("http connection version"), - kRetryHandlerDefaultRetry: Symbol("retry agent default retry"), - kConstruct: Symbol("constructable") - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/errors.js -var require_errors = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/errors.js"(exports2, module2) { - "use strict"; - var UndiciError = class extends Error { - constructor(message) { - super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; - } - }; - var ConnectTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ConnectTimeoutError); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; - } - }; - var HeadersTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, HeadersTimeoutError); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; - } - }; - var HeadersOverflowError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, HeadersOverflowError); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; - } - }; - var BodyTimeoutError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, BodyTimeoutError); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; - } - }; - var ResponseStatusCodeError = class extends UndiciError { - constructor(message, statusCode, headers, body) { - super(message); - Error.captureStackTrace(this, ResponseStatusCodeError); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; - this.body = body; - this.status = statusCode; - this.statusCode = statusCode; - this.headers = headers; - } - }; - var InvalidArgumentError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InvalidArgumentError); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; - } - }; - var InvalidReturnValueError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InvalidReturnValueError); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; - } - }; - var RequestAbortedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, RequestAbortedError); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; - } - }; - var InformationalError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, InformationalError); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; - } - }; - var RequestContentLengthMismatchError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, RequestContentLengthMismatchError); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; - } - }; - var ResponseContentLengthMismatchError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ResponseContentLengthMismatchError); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; - } - }; - var ClientDestroyedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ClientDestroyedError); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; - } - }; - var ClientClosedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ClientClosedError); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; - } - }; - var SocketError = class extends UndiciError { - constructor(message, socket) { - super(message); - Error.captureStackTrace(this, SocketError); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; - this.socket = socket; - } - }; - var NotSupportedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; - } - }; - var BalancedPoolMissingUpstreamError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; - } - }; - var HTTPParserError = class extends Error { - constructor(message, code, data) { - super(message); - Error.captureStackTrace(this, HTTPParserError); - this.name = "HTTPParserError"; - this.code = code ? `HPE_${code}` : void 0; - this.data = data ? data.toString() : void 0; - } - }; - var ResponseExceededMaxSizeError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, ResponseExceededMaxSizeError); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; - } - }; - var RequestRetryError = class extends UndiciError { - constructor(message, code, { headers, data }) { - super(message); - Error.captureStackTrace(this, RequestRetryError); - this.name = "RequestRetryError"; - this.message = message || "Request retry error"; - this.code = "UND_ERR_REQ_RETRY"; - this.statusCode = code; - this.data = data; - this.headers = headers; - } - }; - module2.exports = { - HTTPParserError, - UndiciError, - HeadersTimeoutError, - HeadersOverflowError, - BodyTimeoutError, - RequestContentLengthMismatchError, - ConnectTimeoutError, - ResponseStatusCodeError, - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError, - ClientDestroyedError, - ClientClosedError, - InformationalError, - SocketError, - NotSupportedError, - ResponseContentLengthMismatchError, - BalancedPoolMissingUpstreamError, - ResponseExceededMaxSizeError, - RequestRetryError - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/constants.js -var require_constants = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/constants.js"(exports2, module2) { - "use strict"; - var headerNameLowerCasedRecord = {}; - var wellknownHeaderNames = [ - "Accept", - "Accept-Encoding", - "Accept-Language", - "Accept-Ranges", - "Access-Control-Allow-Credentials", - "Access-Control-Allow-Headers", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin", - "Access-Control-Expose-Headers", - "Access-Control-Max-Age", - "Access-Control-Request-Headers", - "Access-Control-Request-Method", - "Age", - "Allow", - "Alt-Svc", - "Alt-Used", - "Authorization", - "Cache-Control", - "Clear-Site-Data", - "Connection", - "Content-Disposition", - "Content-Encoding", - "Content-Language", - "Content-Length", - "Content-Location", - "Content-Range", - "Content-Security-Policy", - "Content-Security-Policy-Report-Only", - "Content-Type", - "Cookie", - "Cross-Origin-Embedder-Policy", - "Cross-Origin-Opener-Policy", - "Cross-Origin-Resource-Policy", - "Date", - "Device-Memory", - "Downlink", - "ECT", - "ETag", - "Expect", - "Expect-CT", - "Expires", - "Forwarded", - "From", - "Host", - "If-Match", - "If-Modified-Since", - "If-None-Match", - "If-Range", - "If-Unmodified-Since", - "Keep-Alive", - "Last-Modified", - "Link", - "Location", - "Max-Forwards", - "Origin", - "Permissions-Policy", - "Pragma", - "Proxy-Authenticate", - "Proxy-Authorization", - "RTT", - "Range", - "Referer", - "Referrer-Policy", - "Refresh", - "Retry-After", - "Sec-WebSocket-Accept", - "Sec-WebSocket-Extensions", - "Sec-WebSocket-Key", - "Sec-WebSocket-Protocol", - "Sec-WebSocket-Version", - "Server", - "Server-Timing", - "Service-Worker-Allowed", - "Service-Worker-Navigation-Preload", - "Set-Cookie", - "SourceMap", - "Strict-Transport-Security", - "Supports-Loading-Mode", - "TE", - "Timing-Allow-Origin", - "Trailer", - "Transfer-Encoding", - "Upgrade", - "Upgrade-Insecure-Requests", - "User-Agent", - "Vary", - "Via", - "WWW-Authenticate", - "X-Content-Type-Options", - "X-DNS-Prefetch-Control", - "X-Frame-Options", - "X-Permitted-Cross-Domain-Policies", - "X-Powered-By", - "X-Requested-With", - "X-XSS-Protection" - ]; - for (let i = 0; i < wellknownHeaderNames.length; ++i) { - const key = wellknownHeaderNames[i]; - const lowerCasedKey = key.toLowerCase(); - headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; - } - Object.setPrototypeOf(headerNameLowerCasedRecord, null); - module2.exports = { - wellknownHeaderNames, - headerNameLowerCasedRecord - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/util.js -var require_util = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); - var { InvalidArgumentError } = require_errors(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify } = require("querystring"); - var { headerNameLowerCasedRecord } = require_constants(); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v)); - function nop() { - } - function isStream(obj) { - return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; - } - function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); - } - function buildURL(url, queryParams) { - if (url.includes("?") || url.includes("#")) { - throw new Error('Query params cannot be passed when url already contains "?" or "#".'); - } - const stringified = stringify(queryParams); - if (stringified) { - url += "?" + stringified; - } - return url; - } - function parseURL(url) { - if (typeof url === "string") { - url = new URL(url); - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - return url; - } - if (!url || typeof url !== "object") { - throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); - } - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); - } - if (url.path != null && typeof url.path !== "string") { - throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); - } - if (url.pathname != null && typeof url.pathname !== "string") { - throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); - } - if (url.hostname != null && typeof url.hostname !== "string") { - throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); - } - if (url.origin != null && typeof url.origin !== "string") { - throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); - } - const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; - let path2 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); - } - if (path2 && !path2.startsWith("/")) { - path2 = `/${path2}`; - } - url = new URL(origin + path2); - } - return url; - } - function parseOrigin(url) { - url = parseURL(url); - if (url.pathname !== "/" || url.search || url.hash) { - throw new InvalidArgumentError("invalid url"); - } - return url; - } - function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); - assert(idx2 !== -1); - return host.substring(1, idx2); - } - const idx = host.indexOf(":"); - if (idx === -1) - return host; - return host.substring(0, idx); - } - function getServerName(host) { - if (!host) { - return null; - } - assert.strictEqual(typeof host, "string"); - const servername = getHostname(host); - if (net.isIP(servername)) { - return ""; - } - return servername; - } - function deepClone(obj) { - return JSON.parse(JSON.stringify(obj)); - } - function isAsyncIterable(obj) { - return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); - } - function isIterable(obj) { - return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); - } - function bodyLength(body) { - if (body == null) { - return 0; - } else if (isStream(body)) { - const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; - } else if (isBlobLike(body)) { - return body.size != null ? body.size : null; - } else if (isBuffer(body)) { - return body.byteLength; - } - return null; - } - function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); - } - function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; - } - function destroy(stream2, err) { - if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { - return; - } - if (typeof stream2.destroy === "function") { - if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { - stream2.socket = null; - } - stream2.destroy(err); - } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); - } - if (stream2.destroyed !== true) { - stream2[kDestroyed] = true; - } - } - var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; - function parseKeepAliveTimeout(val) { - const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); - return m ? parseInt(m[1], 10) * 1e3 : null; - } - function headerNameToString(value) { - return headerNameLowerCasedRecord[value] || value.toLowerCase(); - } - function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) - return headers; - for (let i = 0; i < headers.length; i += 2) { - const key = headers[i].toString().toLowerCase(); - let val = obj[key]; - if (!val) { - if (Array.isArray(headers[i + 1])) { - obj[key] = headers[i + 1].map((x) => x.toString("utf8")); - } else { - obj[key] = headers[i + 1].toString("utf8"); - } - } else { - if (!Array.isArray(val)) { - val = [val]; - obj[key] = val; - } - val.push(headers[i + 1].toString("utf8")); - } - } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); - } - return obj; - } - function parseRawHeaders(headers) { - const ret = []; - let hasContentLength = false; - let contentDispositionIdx = -1; - for (let n = 0; n < headers.length; n += 2) { - const key = headers[n + 0].toString(); - const val = headers[n + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); - hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; - } else { - ret.push(key, val); - } - } - if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); - } - return ret; - } - function isBuffer(buffer) { - return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); - } - function validateHandler(handler, method, upgrade) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - if (typeof handler.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); - } - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); - } - if (upgrade || method === "CONNECT") { - if (typeof handler.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); - } - } else { - if (typeof handler.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); - } - if (typeof handler.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); - } - if (typeof handler.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); - } - } - } - function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); - } - function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); - } - function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); - } - function getSocketInfo(socket) { - return { - localAddress: socket.localAddress, - localPort: socket.localPort, - remoteAddress: socket.remoteAddress, - remotePort: socket.remotePort, - remoteFamily: socket.remoteFamily, - timeout: socket.timeout, - bytesWritten: socket.bytesWritten, - bytesRead: socket.bytesRead - }; - } - async function* convertIterableToBuffer(iterable) { - for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); - } - } - var ReadableStream; - function ReadableStreamFrom(iterable) { - if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; - } - if (ReadableStream.from) { - return ReadableStream.from(convertIterableToBuffer(iterable)); - } - let iterator; - return new ReadableStream( - { - async start() { - iterator = iterable[Symbol.asyncIterator](); - }, - async pull(controller) { - const { done, value } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - } - }, - 0 - ); - } - function isFormDataLike(object) { - return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; - } - function throwIfAborted(signal) { - if (!signal) { - return; - } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); - } else { - if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; - } - } - } - function addAbortListener(signal, listener) { - if ("addEventListener" in signal) { - signal.addEventListener("abort", listener, { once: true }); - return () => signal.removeEventListener("abort", listener); - } - signal.addListener("abort", listener); - return () => signal.removeListener("abort", listener); - } - var hasToWellFormed = !!String.prototype.toWellFormed; - function toUSVString(val) { - if (hasToWellFormed) { - return `${val}`.toWellFormed(); - } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); - } - return `${val}`; - } - function parseRangeHeader(range) { - if (range == null || range === "") - return { start: 0, end: null, size: null }; - const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; - return m ? { - start: parseInt(m[1]), - end: m[2] ? parseInt(m[2]) : null, - size: m[3] ? parseInt(m[3]) : null - } : null; - } - var kEnumerableProperty = /* @__PURE__ */ Object.create(null); - kEnumerableProperty.enumerable = true; - module2.exports = { - kEnumerableProperty, - nop, - isDisturbed, - isErrored, - isReadable, - toUSVString, - isReadableAborted, - isBlobLike, - parseOrigin, - parseURL, - getServerName, - isStream, - isIterable, - isAsyncIterable, - isDestroyed, - headerNameToString, - parseRawHeaders, - parseHeaders, - parseKeepAliveTimeout, - destroy, - bodyLength, - deepClone, - ReadableStreamFrom, - isBuffer, - validateHandler, - getSocketInfo, - isFormDataLike, - buildURL, - throwIfAborted, - addAbortListener, - parseRangeHeader, - nodeMajor, - nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/timers.js -var require_timers = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/timers.js"(exports2, module2) { - "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; - function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; - while (idx < len) { - const timer = fastTimers[idx]; - if (timer.state === 0) { - timer.state = fastNow + timer.delay; - } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); - } - if (timer.state === -1) { - timer.state = -2; - if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); - } else { - fastTimers.pop(); - } - len -= 1; - } else { - idx += 1; - } - } - if (fastTimers.length > 0) { - refreshTimeout(); - } - } - function refreshTimeout() { - if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); - } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); - if (fastNowTimeout.unref) { - fastNowTimeout.unref(); - } - } - } - var Timeout = class { - constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); - } - refresh() { - if (this.state === -2) { - fastTimers.push(this); - if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); - } - } - this.state = 0; - } - clear() { - this.state = -1; - } - }; - module2.exports = { - setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); - }, - clearTimeout(timeout) { - if (timeout instanceof Timeout) { - timeout.clear(); - } else { - clearTimeout(timeout); - } - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); - } - if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); - } - const needleLength = needle.length; - if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); - } - if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); - for (var i = 0; i < needleLength - 1; ++i) { - this._occ[needle[i]] = needleLength - 1 - i; - } - } - inherits(SBMH, EventEmitter); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { - if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); - } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r; - while (r !== chlen && this.matches < this.maxMatches) { - r = this._sbmh_feed(chunk); - } - return r; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch; - if (pos < 0) { - while (pos < 0 && pos <= len - needleLength) { - ch = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; - } - pos += this._occ[ch]; - } - if (pos < 0) { - while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; - } - } - if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; - } else { - const bytesToCutOff = this._lookbehind_size + pos; - if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); - } - this._lookbehind.copy( - this._lookbehind, - 0, - bytesToCutOff, - this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; - } - } - pos += (pos >= 0) * this._bufpos; - if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; - if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); - } else { - this.emit("info", true); - } - return this._bufpos = pos + needleLength; - } else { - pos = len - needleLength; - } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; - } - if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; - } - if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); - } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { - for (var i = 0; i < len; ++i) { - if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { - return false; - } - } - return true; - }; - module2.exports = SBMH; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js -var require_PartStream = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) { - "use strict"; - var inherits = require("node:util").inherits; - var ReadableStream = require("node:stream").Readable; - function PartStream(opts) { - ReadableStream.call(this, opts); - } - inherits(PartStream, ReadableStream); - PartStream.prototype._read = function(n) { - }; - module2.exports = PartStream; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/getLimit.js -var require_getLimit = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) { - "use strict"; - module2.exports = function getLimit(limits, name, defaultLimit) { - if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; - } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); - } - return limits[name]; - }; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js -var require_HeaderParser = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; - function HeaderParser(cfg) { - EventEmitter.call(this); - cfg = cfg || {}; - const self = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { - if (data && !self.maxed) { - if (self.nread + end - start >= self.maxHeaderSize) { - end = self.maxHeaderSize - self.nread + start; - self.nread = self.maxHeaderSize; - self.maxed = true; - } else { - self.nread += end - start; - } - self.buffer += data.toString("binary", start, end); - } - if (isMatch) { - self._finish(); - } - }); - } - inherits(HeaderParser, EventEmitter); - HeaderParser.prototype.push = function(data) { - const r = this.ss.push(data); - if (this.finished) { - return r; - } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { - if (this.buffer) { - this._parseHeader(); - } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); - }; - HeaderParser.prototype._parseHeader = function() { - if (this.npairs === this.maxHeaderPairs) { - return; - } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m, h; - for (var i = 0; i < len; ++i) { - if (lines[i].length === 0) { - continue; - } - if (lines[i][0] === " " || lines[i][0] === " ") { - if (h) { - this.header[h][this.header[h].length - 1] += lines[i]; - continue; - } - } - const posColon = lines[i].indexOf(":"); - if (posColon === -1 || posColon === 0) { - return; - } - m = RE_HDR.exec(lines[i]); - h = m[1].toLowerCase(); - this.header[h] = this.header[h] || []; - this.header[h].push(m[2] || ""); - if (++this.npairs === this.maxHeaderPairs) { - break; - } - } - }; - module2.exports = HeaderParser; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js -var require_Dicer = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var inherits = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; - function Dicer(cfg) { - if (!(this instanceof Dicer)) { - return new Dicer(cfg); - } - WritableStream.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); - } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); - } else { - this._bparser = void 0; - } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self._inHeader = false; - self._part.emit("header", header); - }); - } - inherits(Dicer, WritableStream); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { - if (!this._finished) { - const self = this; - process.nextTick(function() { - self.emit("error", new Error("Unexpected end of multipart data")); - if (self._part && !self._ignoreData) { - const type = self._isPreamble ? "Preamble" : "Part"; - self._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); - self._part.push(null); - process.nextTick(function() { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); - return; - } - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); - } - } else { - WritableStream.prototype.emit.apply(this, arguments); - } - }; - Dicer.prototype._write = function(data, encoding, cb) { - if (!this._hparser && !this._bparser) { - return cb(); - } - if (this._headerFirst && this._isPreamble) { - if (!this._part) { - this._part = new PartStream(this._partOpts); - if (this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else { - this._ignore(); - } - } - const r = this._hparser.push(data); - if (!this._inHeader && r !== void 0 && r < data.length) { - data = data.slice(r); - } else { - return cb(); - } - } - if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; - } - this._bparser.push(data); - if (this._pause) { - this._cb = cb; - } else { - cb(); - } - }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { - if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); - } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self = this; - let i = 0; - let r; - let shouldWriteMore = true; - if (!this._part && this._justMatched && data) { - while (this._dashes < 2 && start + i < end) { - if (data[start + i] === DASH) { - ++i; - ++this._dashes; - } else { - if (this._dashes) { - buf = B_ONEDASH; - } - this._dashes = 0; - break; - } - } - if (this._dashes === 2) { - if (start + i < end && this.listenerCount("trailer") !== 0) { - this.emit("trailer", data.slice(start + i, end)); - } - this.reset(); - this._finished = true; - if (self._parts === 0) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - } - } - if (this._dashes) { - return; - } - } - if (this._justMatched) { - this._justMatched = false; - } - if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n) { - self._unpause(); - }; - if (this._isPreamble && this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { - this.emit("part", this._part); - } else { - this._ignore(); - } - if (!this._isPreamble) { - this._inHeader = true; - } - } - if (data && start < end && !this._ignoreData) { - if (this._isPreamble || !this._inHeader) { - if (buf) { - shouldWriteMore = this._part.push(buf); - } - shouldWriteMore = this._part.push(data.slice(start, end)); - if (!shouldWriteMore) { - this._pause = true; - } - } else if (!this._isPreamble && this._inHeader) { - if (buf) { - this._hparser.push(buf); - } - r = this._hparser.push(data.slice(start, end)); - if (!this._inHeader && r !== void 0 && r < end) { - this._oninfo(false, data, start + r, end); - } - } - } - if (isMatch) { - this._hparser.reset(); - if (this._isPreamble) { - this._isPreamble = false; - } else { - if (start !== end) { - ++this._parts; - this._part.on("end", function() { - if (--self._parts === 0) { - if (self._finished) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - } else { - self._unpause(); - } - } - }); - } - } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; - } - }; - Dicer.prototype._unpause = function() { - if (!this._pause) { - return; - } - this._pause = false; - if (this._cb) { - const cb = this._cb; - this._cb = void 0; - cb(); - } - }; - module2.exports = Dicer; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/decodeText.js -var require_decodeText = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) { - "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); - var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); - function getDecoder(charset) { - let lc; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc === void 0) { - lc = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); - } - } - } - var decoders = { - utf8: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - return data; - } - return data.latin1Slice(0, data.length); - }, - utf16le: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.ucs2Slice(0, data.length); - }, - base64: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.base64Slice(0, data.length); - }, - other: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - if (textDecoders.has(exports2.toString())) { - try { - return textDecoders.get(exports2).decode(data); - } catch { - } - } - return typeof data === "string" ? data : data.toString(); - } - }; - function decodeText(text, sourceEncoding, destEncoding) { - if (text) { - return getDecoder(destEncoding)(text, sourceEncoding); - } - return text; - } - module2.exports = decodeText; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/parseParams.js -var require_parseParams = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) { - "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; - var EncodedLookup = { - "%00": "\0", - "%01": "", - "%02": "", - "%03": "", - "%04": "", - "%05": "", - "%06": "", - "%07": "\x07", - "%08": "\b", - "%09": " ", - "%0a": "\n", - "%0A": "\n", - "%0b": "\v", - "%0B": "\v", - "%0c": "\f", - "%0C": "\f", - "%0d": "\r", - "%0D": "\r", - "%0e": "", - "%0E": "", - "%0f": "", - "%0F": "", - "%10": "", - "%11": "", - "%12": "", - "%13": "", - "%14": "", - "%15": "", - "%16": "", - "%17": "", - "%18": "", - "%19": "", - "%1a": "", - "%1A": "", - "%1b": "\x1B", - "%1B": "\x1B", - "%1c": "", - "%1C": "", - "%1d": "", - "%1D": "", - "%1e": "", - "%1E": "", - "%1f": "", - "%1F": "", - "%20": " ", - "%21": "!", - "%22": '"', - "%23": "#", - "%24": "$", - "%25": "%", - "%26": "&", - "%27": "'", - "%28": "(", - "%29": ")", - "%2a": "*", - "%2A": "*", - "%2b": "+", - "%2B": "+", - "%2c": ",", - "%2C": ",", - "%2d": "-", - "%2D": "-", - "%2e": ".", - "%2E": ".", - "%2f": "/", - "%2F": "/", - "%30": "0", - "%31": "1", - "%32": "2", - "%33": "3", - "%34": "4", - "%35": "5", - "%36": "6", - "%37": "7", - "%38": "8", - "%39": "9", - "%3a": ":", - "%3A": ":", - "%3b": ";", - "%3B": ";", - "%3c": "<", - "%3C": "<", - "%3d": "=", - "%3D": "=", - "%3e": ">", - "%3E": ">", - "%3f": "?", - "%3F": "?", - "%40": "@", - "%41": "A", - "%42": "B", - "%43": "C", - "%44": "D", - "%45": "E", - "%46": "F", - "%47": "G", - "%48": "H", - "%49": "I", - "%4a": "J", - "%4A": "J", - "%4b": "K", - "%4B": "K", - "%4c": "L", - "%4C": "L", - "%4d": "M", - "%4D": "M", - "%4e": "N", - "%4E": "N", - "%4f": "O", - "%4F": "O", - "%50": "P", - "%51": "Q", - "%52": "R", - "%53": "S", - "%54": "T", - "%55": "U", - "%56": "V", - "%57": "W", - "%58": "X", - "%59": "Y", - "%5a": "Z", - "%5A": "Z", - "%5b": "[", - "%5B": "[", - "%5c": "\\", - "%5C": "\\", - "%5d": "]", - "%5D": "]", - "%5e": "^", - "%5E": "^", - "%5f": "_", - "%5F": "_", - "%60": "`", - "%61": "a", - "%62": "b", - "%63": "c", - "%64": "d", - "%65": "e", - "%66": "f", - "%67": "g", - "%68": "h", - "%69": "i", - "%6a": "j", - "%6A": "j", - "%6b": "k", - "%6B": "k", - "%6c": "l", - "%6C": "l", - "%6d": "m", - "%6D": "m", - "%6e": "n", - "%6E": "n", - "%6f": "o", - "%6F": "o", - "%70": "p", - "%71": "q", - "%72": "r", - "%73": "s", - "%74": "t", - "%75": "u", - "%76": "v", - "%77": "w", - "%78": "x", - "%79": "y", - "%7a": "z", - "%7A": "z", - "%7b": "{", - "%7B": "{", - "%7c": "|", - "%7C": "|", - "%7d": "}", - "%7D": "}", - "%7e": "~", - "%7E": "~", - "%7f": "\x7F", - "%7F": "\x7F", - "%80": "\x80", - "%81": "\x81", - "%82": "\x82", - "%83": "\x83", - "%84": "\x84", - "%85": "\x85", - "%86": "\x86", - "%87": "\x87", - "%88": "\x88", - "%89": "\x89", - "%8a": "\x8A", - "%8A": "\x8A", - "%8b": "\x8B", - "%8B": "\x8B", - "%8c": "\x8C", - "%8C": "\x8C", - "%8d": "\x8D", - "%8D": "\x8D", - "%8e": "\x8E", - "%8E": "\x8E", - "%8f": "\x8F", - "%8F": "\x8F", - "%90": "\x90", - "%91": "\x91", - "%92": "\x92", - "%93": "\x93", - "%94": "\x94", - "%95": "\x95", - "%96": "\x96", - "%97": "\x97", - "%98": "\x98", - "%99": "\x99", - "%9a": "\x9A", - "%9A": "\x9A", - "%9b": "\x9B", - "%9B": "\x9B", - "%9c": "\x9C", - "%9C": "\x9C", - "%9d": "\x9D", - "%9D": "\x9D", - "%9e": "\x9E", - "%9E": "\x9E", - "%9f": "\x9F", - "%9F": "\x9F", - "%a0": "\xA0", - "%A0": "\xA0", - "%a1": "\xA1", - "%A1": "\xA1", - "%a2": "\xA2", - "%A2": "\xA2", - "%a3": "\xA3", - "%A3": "\xA3", - "%a4": "\xA4", - "%A4": "\xA4", - "%a5": "\xA5", - "%A5": "\xA5", - "%a6": "\xA6", - "%A6": "\xA6", - "%a7": "\xA7", - "%A7": "\xA7", - "%a8": "\xA8", - "%A8": "\xA8", - "%a9": "\xA9", - "%A9": "\xA9", - "%aa": "\xAA", - "%Aa": "\xAA", - "%aA": "\xAA", - "%AA": "\xAA", - "%ab": "\xAB", - "%Ab": "\xAB", - "%aB": "\xAB", - "%AB": "\xAB", - "%ac": "\xAC", - "%Ac": "\xAC", - "%aC": "\xAC", - "%AC": "\xAC", - "%ad": "\xAD", - "%Ad": "\xAD", - "%aD": "\xAD", - "%AD": "\xAD", - "%ae": "\xAE", - "%Ae": "\xAE", - "%aE": "\xAE", - "%AE": "\xAE", - "%af": "\xAF", - "%Af": "\xAF", - "%aF": "\xAF", - "%AF": "\xAF", - "%b0": "\xB0", - "%B0": "\xB0", - "%b1": "\xB1", - "%B1": "\xB1", - "%b2": "\xB2", - "%B2": "\xB2", - "%b3": "\xB3", - "%B3": "\xB3", - "%b4": "\xB4", - "%B4": "\xB4", - "%b5": "\xB5", - "%B5": "\xB5", - "%b6": "\xB6", - "%B6": "\xB6", - "%b7": "\xB7", - "%B7": "\xB7", - "%b8": "\xB8", - "%B8": "\xB8", - "%b9": "\xB9", - "%B9": "\xB9", - "%ba": "\xBA", - "%Ba": "\xBA", - "%bA": "\xBA", - "%BA": "\xBA", - "%bb": "\xBB", - "%Bb": "\xBB", - "%bB": "\xBB", - "%BB": "\xBB", - "%bc": "\xBC", - "%Bc": "\xBC", - "%bC": "\xBC", - "%BC": "\xBC", - "%bd": "\xBD", - "%Bd": "\xBD", - "%bD": "\xBD", - "%BD": "\xBD", - "%be": "\xBE", - "%Be": "\xBE", - "%bE": "\xBE", - "%BE": "\xBE", - "%bf": "\xBF", - "%Bf": "\xBF", - "%bF": "\xBF", - "%BF": "\xBF", - "%c0": "\xC0", - "%C0": "\xC0", - "%c1": "\xC1", - "%C1": "\xC1", - "%c2": "\xC2", - "%C2": "\xC2", - "%c3": "\xC3", - "%C3": "\xC3", - "%c4": "\xC4", - "%C4": "\xC4", - "%c5": "\xC5", - "%C5": "\xC5", - "%c6": "\xC6", - "%C6": "\xC6", - "%c7": "\xC7", - "%C7": "\xC7", - "%c8": "\xC8", - "%C8": "\xC8", - "%c9": "\xC9", - "%C9": "\xC9", - "%ca": "\xCA", - "%Ca": "\xCA", - "%cA": "\xCA", - "%CA": "\xCA", - "%cb": "\xCB", - "%Cb": "\xCB", - "%cB": "\xCB", - "%CB": "\xCB", - "%cc": "\xCC", - "%Cc": "\xCC", - "%cC": "\xCC", - "%CC": "\xCC", - "%cd": "\xCD", - "%Cd": "\xCD", - "%cD": "\xCD", - "%CD": "\xCD", - "%ce": "\xCE", - "%Ce": "\xCE", - "%cE": "\xCE", - "%CE": "\xCE", - "%cf": "\xCF", - "%Cf": "\xCF", - "%cF": "\xCF", - "%CF": "\xCF", - "%d0": "\xD0", - "%D0": "\xD0", - "%d1": "\xD1", - "%D1": "\xD1", - "%d2": "\xD2", - "%D2": "\xD2", - "%d3": "\xD3", - "%D3": "\xD3", - "%d4": "\xD4", - "%D4": "\xD4", - "%d5": "\xD5", - "%D5": "\xD5", - "%d6": "\xD6", - "%D6": "\xD6", - "%d7": "\xD7", - "%D7": "\xD7", - "%d8": "\xD8", - "%D8": "\xD8", - "%d9": "\xD9", - "%D9": "\xD9", - "%da": "\xDA", - "%Da": "\xDA", - "%dA": "\xDA", - "%DA": "\xDA", - "%db": "\xDB", - "%Db": "\xDB", - "%dB": "\xDB", - "%DB": "\xDB", - "%dc": "\xDC", - "%Dc": "\xDC", - "%dC": "\xDC", - "%DC": "\xDC", - "%dd": "\xDD", - "%Dd": "\xDD", - "%dD": "\xDD", - "%DD": "\xDD", - "%de": "\xDE", - "%De": "\xDE", - "%dE": "\xDE", - "%DE": "\xDE", - "%df": "\xDF", - "%Df": "\xDF", - "%dF": "\xDF", - "%DF": "\xDF", - "%e0": "\xE0", - "%E0": "\xE0", - "%e1": "\xE1", - "%E1": "\xE1", - "%e2": "\xE2", - "%E2": "\xE2", - "%e3": "\xE3", - "%E3": "\xE3", - "%e4": "\xE4", - "%E4": "\xE4", - "%e5": "\xE5", - "%E5": "\xE5", - "%e6": "\xE6", - "%E6": "\xE6", - "%e7": "\xE7", - "%E7": "\xE7", - "%e8": "\xE8", - "%E8": "\xE8", - "%e9": "\xE9", - "%E9": "\xE9", - "%ea": "\xEA", - "%Ea": "\xEA", - "%eA": "\xEA", - "%EA": "\xEA", - "%eb": "\xEB", - "%Eb": "\xEB", - "%eB": "\xEB", - "%EB": "\xEB", - "%ec": "\xEC", - "%Ec": "\xEC", - "%eC": "\xEC", - "%EC": "\xEC", - "%ed": "\xED", - "%Ed": "\xED", - "%eD": "\xED", - "%ED": "\xED", - "%ee": "\xEE", - "%Ee": "\xEE", - "%eE": "\xEE", - "%EE": "\xEE", - "%ef": "\xEF", - "%Ef": "\xEF", - "%eF": "\xEF", - "%EF": "\xEF", - "%f0": "\xF0", - "%F0": "\xF0", - "%f1": "\xF1", - "%F1": "\xF1", - "%f2": "\xF2", - "%F2": "\xF2", - "%f3": "\xF3", - "%F3": "\xF3", - "%f4": "\xF4", - "%F4": "\xF4", - "%f5": "\xF5", - "%F5": "\xF5", - "%f6": "\xF6", - "%F6": "\xF6", - "%f7": "\xF7", - "%F7": "\xF7", - "%f8": "\xF8", - "%F8": "\xF8", - "%f9": "\xF9", - "%F9": "\xF9", - "%fa": "\xFA", - "%Fa": "\xFA", - "%fA": "\xFA", - "%FA": "\xFA", - "%fb": "\xFB", - "%Fb": "\xFB", - "%fB": "\xFB", - "%FB": "\xFB", - "%fc": "\xFC", - "%Fc": "\xFC", - "%fC": "\xFC", - "%FC": "\xFC", - "%fd": "\xFD", - "%Fd": "\xFD", - "%fD": "\xFD", - "%FD": "\xFD", - "%fe": "\xFE", - "%Fe": "\xFE", - "%fE": "\xFE", - "%FE": "\xFE", - "%ff": "\xFF", - "%Ff": "\xFF", - "%fF": "\xFF", - "%FF": "\xFF" - }; - function encodedReplacer(match) { - return EncodedLookup[match]; - } - var STATE_KEY = 0; - var STATE_VALUE = 1; - var STATE_CHARSET = 2; - var STATE_LANG = 3; - function parseParams(str) { - const res = []; - let state = STATE_KEY; - let charset = ""; - let inquote = false; - let escaping = false; - let p = 0; - let tmp = ""; - const len = str.length; - for (var i = 0; i < len; ++i) { - const char = str[i]; - if (char === "\\" && inquote) { - if (escaping) { - escaping = false; - } else { - escaping = true; - continue; - } - } else if (char === '"') { - if (!escaping) { - if (inquote) { - inquote = false; - state = STATE_KEY; - } else { - inquote = true; - } - continue; - } else { - escaping = false; - } - } else { - if (escaping && inquote) { - tmp += "\\"; - } - escaping = false; - if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { - if (state === STATE_CHARSET) { - state = STATE_LANG; - charset = tmp.substring(1); - } else { - state = STATE_VALUE; - } - tmp = ""; - continue; - } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { - state = char === "*" ? STATE_CHARSET : STATE_VALUE; - res[p] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = STATE_KEY; - if (charset) { - if (tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } - charset = ""; - } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p] === void 0) { - res[p] = tmp; - } else { - res[p][1] = tmp; - } - tmp = ""; - ++p; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; - } - } - tmp += char; - } - if (charset && tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p] === void 0) { - if (tmp) { - res[p] = tmp; - } - } else { - res[p][1] = tmp; - } - return res; - } - module2.exports = parseParams; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/basename.js -var require_basename = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) { - "use strict"; - module2.exports = function basename(path2) { - if (typeof path2 !== "string") { - return ""; - } - for (var i = path2.length - 1; i >= 0; --i) { - switch (path2.charCodeAt(i)) { - case 47: - case 92: - path2 = path2.slice(i + 1); - return path2 === ".." || path2 === "." ? "" : path2; - } - } - return path2 === ".." || path2 === "." ? "" : path2; - }; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/types/multipart.js -var require_multipart = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) { - "use strict"; - var { Readable } = require("node:stream"); - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; - function Multipart(boy, cfg) { - let i; - let len; - const self = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; - for (i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) { - boundary = parsedConType[i][1]; - break; - } - } - function checkFinished() { - if (nends === 0 && finished && !boy._done) { - finished = false; - self.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; - const parserCfg = { - boundary, - maxHeaderPairs: headerPairsLimit, - maxHeaderSize: headerSizeLimit, - partHwm: fileOpts.highWaterMark, - highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self._needDrain = false; - if (self._cb && !self._pause) { - const cb = self._cb; - self._cb = void 0; - cb(); - } - }).on("part", function onPart(part) { - if (++self._nparts > partsLimit) { - self.parser.removeListener("part", onPart); - self.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_CHARSET.test(parsed[i][0])) { - charset = parsed[i][1].toLowerCase(); - break; - } - } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i = 0, len = parsed.length; i < len; ++i) { - if (RE_NAME.test(parsed[i][0])) { - fieldname = parsed[i][1]; - } else if (RE_FILENAME.test(parsed[i][0])) { - filename = parsed[i][1]; - if (!preservePath) { - filename = basename(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (boy.listenerCount("file") === 0) { - self.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self._pause = false; - checkFinished(); - if (self._cb && !self._needDrain) { - const cb = self._cb; - self._cb = void 0; - cb(); - } - }); - file._read = function(n) { - if (!self._pause) { - return; - } - self._pause = false; - if (self._cb && !self._needDrain) { - const cb = self._cb; - self._cb = void 0; - cb(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); - } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self._pause = true; - } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); - } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); - } else { - buffer += data.toString("binary"); - } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); - } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb) { - const r = this.parser.write(chunk); - if (r && !this._pause) { - cb(); - } else { - this._needDrain = !r; - this._cb = cb; - } - }; - Multipart.prototype.end = function() { - const self = this; - if (self.parser.writable) { - self.parser.end(); - } else if (!self._boy._done) { - process.nextTick(function() { - self._boy._done = true; - self._boy.emit("finish"); - }); - } - }; - function skipPart(part) { - part.resume(); - } - function FileStream(opts) { - Readable.call(this, opts); - this.bytesRead = 0; - this.truncated = false; - } - inherits(FileStream, Readable); - FileStream.prototype._read = function(n) { - }; - module2.exports = Multipart; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/Decoder.js -var require_Decoder = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) { - "use strict"; - var RE_PLUS = /\+/g; - var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - function Decoder() { - this.buffer = void 0; - } - Decoder.prototype.write = function(str) { - str = str.replace(RE_PLUS, " "); - let res = ""; - let i = 0; - let p = 0; - const len = str.length; - for (; i < len; ++i) { - if (this.buffer !== void 0) { - if (!HEX[str.charCodeAt(i)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i; - } else { - this.buffer += str[i]; - ++p; - if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; - } - } - } else if (str[i] === "%") { - if (i > p) { - res += str.substring(p, i); - p = i; - } - this.buffer = ""; - ++p; - } - } - if (p < len && this.buffer === void 0) { - res += str.substring(p); - } - return res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; - }; - module2.exports = Decoder; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/types/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) { - "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; - function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; - for (var i = 0, len = parsedConType.length; i < len; ++i) { - if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) { - charset = parsedConType[i][1].toLowerCase(); - break; - } - } - if (charset === void 0) { - charset = cfg.defCharset || "utf8"; - } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; - } - UrlEncoded.prototype.write = function(data, cb) { - if (this._fields === this.fieldsLimit) { - if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); - } - return cb(); - } - let idxeq; - let idxamp; - let i; - let p = 0; - const len = data.length; - while (p < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 61) { - idxeq = i; - break; - } else if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesKey; - } - } - if (idxeq !== void 0) { - if (idxeq > p) { - this._key += this.decoder.write(data.toString("binary", p, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p = idxeq + 1; - } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; - if (idxamp > p) { - key = this._key += this.decoder.write(data.toString("binary", p, idxamp)); - } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - if (key.length) { - this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", - keyTrunc, - false - ); - } - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._key += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; - } - } else { - if (p < len) { - this._key += this.decoder.write(data.toString("binary", p)); - } - p = len; - } - } else { - idxamp = void 0; - for (i = p; i < len; ++i) { - if (!this._checkingBytes) { - ++p; - } - if (data[i] === 38) { - idxamp = i; - break; - } - if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesVal; - } - } - if (idxamp !== void 0) { - ++this._fields; - if (idxamp > p) { - this._val += this.decoder.write(data.toString("binary", p, idxamp)); - } - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb(); - } - } else if (this._hitLimit) { - if (i > p) { - this._val += this.decoder.write(data.toString("binary", p, i)); - } - p = i; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; - } - } else { - if (p < len) { - this._val += this.decoder.write(data.toString("binary", p)); - } - p = len; - } - } - } - cb(); - }; - UrlEncoded.prototype.end = function() { - if (this.boy._done) { - return; - } - if (this._state === "key" && this._key.length > 0) { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", - this._keyTrunc, - false - ); - } else if (this._state === "val") { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; - } -}); - -// node_modules/@reporters/github/node_modules/@fastify/busboy/lib/main.js -var require_main = __commonJS({ - "node_modules/@reporters/github/node_modules/@fastify/busboy/lib/main.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); - function Busboy(opts) { - if (!(this instanceof Busboy)) { - return new Busboy(opts); - } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); - } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); - } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); - } - const { - headers, - ...streamOptions - } = opts; - this.opts = { - autoDestroy: false, - ...streamOptions - }; - WritableStream.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; - } - inherits(Busboy, WritableStream); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { - if (!this._done) { - this._parser?.end(); - return; - } else if (this._finished) { - return; - } - this._finished = true; - } - WritableStream.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); - const cfg = { - defCharset: this.opts.defCharset, - fileHwm: this.opts.fileHwm, - headers, - highWaterMark: this.opts.highWaterMark, - isPartAFile: this.opts.isPartAFile, - limits: this.opts.limits, - parsedConType: parsed, - preservePath: this.opts.preservePath - }; - if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); - } - if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); - } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb) { - this._parser.write(chunk, cb); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/constants.js -var require_constants2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/constants.js"(exports2, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); - var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); - var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; - var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; - var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", - // See https://github.com/nodejs/undici/issues/2021 - // 'Content-Length' is a forbidden header name, which is typically - // removed in the Headers implementation. However, undici doesn't - // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; - } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); - } - if (!channel) { - channel = new MessageChannel(); - } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; - module2.exports = { - DOMException: DOMException2, - structuredClone, - subresource, - forbiddenMethods, - requestBodyHeader, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - redirectStatus, - corsSafeListedMethods, - nullBodyStatus, - safeMethods, - badPorts, - requestDuplex, - subresourceSet, - badPortsSet, - redirectStatusSet, - corsSafeListedMethodsSet, - safeMethodsSet, - forbiddenMethodsSet, - referrerPolicySet - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/global.js -var require_global = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/global.js"(exports2, module2) { - "use strict"; - var globalOrigin = Symbol.for("undici.globalOrigin.1"); - function getGlobalOrigin() { - return globalThis[globalOrigin]; - } - function setGlobalOrigin(newOrigin) { - if (newOrigin === void 0) { - Object.defineProperty(globalThis, globalOrigin, { - value: void 0, - writable: true, - enumerable: false, - configurable: false - }); - return; - } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); - } - Object.defineProperty(globalThis, globalOrigin, { - value: parsedURL, - writable: true, - enumerable: false, - configurable: false - }); - } - module2.exports = { - getGlobalOrigin, - setGlobalOrigin - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/util.js -var require_util2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/util.js"(exports2, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); - var { getGlobalOrigin } = require_global(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var supportedHashes = []; - var crypto; - try { - crypto = require("crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); - } catch { - } - function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); - } - function responseLocationURL(response, requestFragment) { - if (!redirectStatusSet.has(response.status)) { - return null; - } - let location = response.headersList.get("location"); - if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); - } - if (location && !location.hash) { - location.hash = requestFragment; - } - return location; - } - function requestCurrentURL(request) { - return request.urlList[request.urlList.length - 1]; - } - function requestBadPort(request) { - const url = requestCurrentURL(request); - if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { - return "blocked"; - } - return "allowed"; - } - function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); - } - function isValidReasonPhrase(statusText) { - for (let i = 0; i < statusText.length; ++i) { - const c = statusText.charCodeAt(i); - if (!(c === 9 || // HTAB - c >= 32 && c <= 126 || // SP / VCHAR - c >= 128 && c <= 255)) { - return false; - } - } - return true; - } - function isTokenCharCode(c) { - switch (c) { - case 34: - case 40: - case 41: - case 44: - case 47: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 91: - case 92: - case 93: - case 123: - case 125: - return false; - default: - return c >= 33 && c <= 126; - } - } - function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; - } - for (let i = 0; i < characters.length; ++i) { - if (!isTokenCharCode(characters.charCodeAt(i))) { - return false; - } - } - return true; - } - function isValidHeaderName(potentialValue) { - return isValidHTTPToken(potentialValue); - } - function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; - } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; - } - return true; - } - function setRequestReferrerPolicyOnRedirect(request, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; - if (policyHeader.length > 0) { - for (let i = policyHeader.length; i !== 0; i--) { - const token = policyHeader[i - 1].trim(); - if (referrerPolicyTokens.has(token)) { - policy = token; - break; - } - } - } - if (policy !== "") { - request.referrerPolicy = policy; - } - } - function crossOriginResourcePolicyCheck() { - return "allowed"; - } - function corsCheck() { - return "success"; - } - function TAOCheck() { - return "success"; - } - function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); - } - function appendRequestOriginHeader(request) { - let serializedOrigin = request.origin; - if (request.responseTainting === "cors" || request.mode === "websocket") { - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } else if (request.method !== "GET" && request.method !== "HEAD") { - switch (request.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - case "same-origin": - if (!sameOrigin(request, requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - default: - } - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } - } - function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); - } - function createOpaqueTimingInfo(timingInfo) { - return { - startTime: timingInfo.startTime ?? 0, - redirectStartTime: 0, - redirectEndTime: 0, - postRedirectStartTime: timingInfo.startTime ?? 0, - finalServiceWorkerStartTime: 0, - finalNetworkResponseStartTime: 0, - finalNetworkRequestStartTime: 0, - endTime: 0, - encodedBodySize: 0, - decodedBodySize: 0, - finalConnectionTimingInfo: null - }; - } - function makePolicyContainer() { - return { - referrerPolicy: "strict-origin-when-cross-origin" - }; - } - function clonePolicyContainer(policyContainer) { - return { - referrerPolicy: policyContainer.referrerPolicy - }; - } - function determineRequestsReferrer(request) { - const policy = request.referrerPolicy; - assert(policy); - let referrerSource = null; - if (request.referrer === "client") { - const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; - } - referrerSource = new URL(globalOrigin); - } else if (request.referrer instanceof URL) { - referrerSource = request.referrer; - } - let referrerURL = stripURLForReferrer(referrerSource); - const referrerOrigin = stripURLForReferrer(referrerSource, true); - if (referrerURL.toString().length > 4096) { - referrerURL = referrerOrigin; - } - const areSameOrigin = sameOrigin(request, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); - switch (policy) { - case "origin": - return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": - return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": - return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { - const currentURL = requestCurrentURL(request); - if (sameOrigin(referrerURL, currentURL)) { - return referrerURL; - } - if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; - } - return referrerOrigin; - } - case "strict-origin": - case "no-referrer-when-downgrade": - default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; - } - } - function stripURLForReferrer(url, originOnly) { - assert(url instanceof URL); - if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { - return "no-referrer"; - } - url.username = ""; - url.password = ""; - url.hash = ""; - if (originOnly) { - url.pathname = ""; - url.search = ""; - } - return url; - } - function isURLPotentiallyTrustworthy(url) { - if (!(url instanceof URL)) { - return false; - } - if (url.href === "about:blank" || url.href === "about:srcdoc") { - return true; - } - if (url.protocol === "data:") - return true; - if (url.protocol === "file:") - return true; - return isOriginPotentiallyTrustworthy(url.origin); - function isOriginPotentiallyTrustworthy(origin) { - if (origin == null || origin === "null") - return false; - const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { - return true; - } - if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) { - return true; - } - return false; - } - } - function bytesMatch(bytes, metadataList) { - if (crypto === void 0) { - return true; - } - const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { - return true; - } - if (parsedMetadata.length === 0) { - return true; - } - const strongest = getStrongestMetadata(parsedMetadata); - const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); - for (const item of metadata) { - const algorithm = item.algo; - const expectedValue = item.hash; - let actualValue = crypto.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue[actualValue.length - 1] === "=") { - if (actualValue[actualValue.length - 2] === "=") { - actualValue = actualValue.slice(0, -2); - } else { - actualValue = actualValue.slice(0, -1); - } - } - if (compareBase64Mixed(actualValue, expectedValue)) { - return true; - } - } - return false; - } - var parseHashWithOptions = /(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; - function parseMetadata(metadata) { - const result = []; - let empty = true; - for (const token of metadata.split(" ")) { - empty = false; - const parsedToken = parseHashWithOptions.exec(token); - if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { - continue; - } - const algorithm = parsedToken.groups.algo.toLowerCase(); - if (supportedHashes.includes(algorithm)) { - result.push(parsedToken.groups); - } - } - if (empty === true) { - return "no metadata"; - } - return result; - } - function getStrongestMetadata(metadataList) { - let algorithm = metadataList[0].algo; - if (algorithm[3] === "5") { - return algorithm; - } - for (let i = 1; i < metadataList.length; ++i) { - const metadata = metadataList[i]; - if (metadata.algo[3] === "5") { - algorithm = "sha512"; - break; - } else if (algorithm[3] === "3") { - continue; - } else if (metadata.algo[3] === "3") { - algorithm = "sha384"; - } - } - return algorithm; - } - function filterMetadataListByAlgorithm(metadataList, algorithm) { - if (metadataList.length === 1) { - return metadataList; - } - let pos = 0; - for (let i = 0; i < metadataList.length; ++i) { - if (metadataList[i].algo === algorithm) { - metadataList[pos++] = metadataList[i]; - } - } - metadataList.length = pos; - return metadataList; - } - function compareBase64Mixed(actualValue, expectedValue) { - if (actualValue.length !== expectedValue.length) { - return false; - } - for (let i = 0; i < actualValue.length; ++i) { - if (actualValue[i] !== expectedValue[i]) { - if (actualValue[i] === "+" && expectedValue[i] === "-" || actualValue[i] === "/" && expectedValue[i] === "_") { - continue; - } - return false; - } - } - return true; - } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { - } - function sameOrigin(A, B) { - if (A.origin === B.origin && A.origin === "null") { - return true; - } - if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) { - return true; - } - return false; - } - function createDeferredPromise() { - let res; - let rej; - const promise = new Promise((resolve, reject) => { - res = resolve; - rej = reject; - }); - return { promise, resolve: res, reject: rej }; - } - function isAborted(fetchParams) { - return fetchParams.controller.state === "aborted"; - } - function isCancelled(fetchParams) { - return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; - } - var normalizeMethodRecord = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" - }; - Object.setPrototypeOf(normalizeMethodRecord, null); - function normalizeMethod(method) { - return normalizeMethodRecord[method.toLowerCase()] ?? method; - } - function serializeJavascriptValueToJSONString(value) { - const result = JSON.stringify(value); - if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); - } - assert(typeof result === "string"); - return result; - } - var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); - function makeIterator(iterator, name, kind) { - const object = { - index: 0, - kind, - target: iterator - }; - const i = { - next() { - if (Object.getPrototypeOf(this) !== i) { - throw new TypeError( - `'next' called on an object that does not implement interface ${name} Iterator.` - ); - } - const { index, kind: kind2, target } = object; - const values = target(); - const len = values.length; - if (index >= len) { - return { value: void 0, done: true }; - } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); - }, - // The class string of an iterator prototype object for a given interface is the - // result of concatenating the identifier of the interface and the string " Iterator". - [Symbol.toStringTag]: `${name} Iterator` - }; - Object.setPrototypeOf(i, esIteratorPrototype); - return Object.setPrototypeOf({}, i); - } - function iteratorResult(pair, kind) { - let result; - switch (kind) { - case "key": { - result = pair[0]; - break; - } - case "value": { - result = pair[1]; - break; - } - case "key+value": { - result = pair; - break; - } - } - return { value: result, done: false }; - } - async function fullyReadBody(body, processBody, processBodyError) { - const successSteps = processBody; - const errorSteps = processBodyError; - let reader; - try { - reader = body.stream.getReader(); - } catch (e) { - errorSteps(e); - return; - } - try { - const result = await readAllBytes(reader); - successSteps(result); - } catch (e) { - errorSteps(e); - } - } - var ReadableStream = globalThis.ReadableStream; - function isReadableStreamLike(stream) { - if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; - } - return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; - } - var MAXIMUM_ARGUMENT_LENGTH = 65535; - function isomorphicDecode(input) { - if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); - } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); - } - function readableStreamClose(controller) { - try { - controller.close(); - } catch (err) { - if (!err.message.includes("Controller is already closed")) { - throw err; - } - } - } - function isomorphicEncode(input) { - for (let i = 0; i < input.length; i++) { - assert(input.charCodeAt(i) <= 255); - } - return input; - } - async function readAllBytes(reader) { - const bytes = []; - let byteLength = 0; - while (true) { - const { done, value: chunk } = await reader.read(); - if (done) { - return Buffer.concat(bytes, byteLength); - } - if (!isUint8Array(chunk)) { - throw new TypeError("Received non-Uint8Array chunk"); - } - bytes.push(chunk); - byteLength += chunk.length; - } - } - function urlIsLocal(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; - } - function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); - } - return url.protocol === "https:"; - } - function urlIsHttpHttpsScheme(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "http:" || protocol === "https:"; - } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); - module2.exports = { - isAborted, - isCancelled, - createDeferredPromise, - ReadableStreamFrom, - toUSVString, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - coarsenedSharedCurrentTime, - determineRequestsReferrer, - makePolicyContainer, - clonePolicyContainer, - appendFetchMetadata, - appendRequestOriginHeader, - TAOCheck, - corsCheck, - crossOriginResourcePolicyCheck, - createOpaqueTimingInfo, - setRequestReferrerPolicyOnRedirect, - isValidHTTPToken, - requestBadPort, - requestCurrentURL, - responseURL, - responseLocationURL, - isBlobLike, - isURLPotentiallyTrustworthy, - isValidReasonPhrase, - sameOrigin, - normalizeMethod, - serializeJavascriptValueToJSONString, - makeIterator, - isValidHeaderName, - isValidHeaderValue, - hasOwn, - isErrorLike, - fullyReadBody, - bytesMatch, - isReadableStreamLike, - readableStreamClose, - isomorphicEncode, - isomorphicDecode, - urlIsLocal, - urlHasHttpsScheme, - urlIsHttpHttpsScheme, - readAllBytes, - normalizeMethodRecord, - parseMetadata - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/symbols.js -var require_symbols2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kUrl: Symbol("url"), - kHeaders: Symbol("headers"), - kSignal: Symbol("signal"), - kState: Symbol("state"), - kGuard: Symbol("guard"), - kRealm: Symbol("realm") - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/webidl.js -var require_webidl = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/webidl.js"(exports2, module2) { - "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util2(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context) { - const plural = context.types.length === 1 ? "" : " one of"; - const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`; - return webidl.errors.exception({ - header: context.prefix, - message - }); - }; - webidl.errors.invalidArgument = function(context) { - return webidl.errors.exception({ - header: context.prefix, - message: `"${context.value}" is an invalid ${context.type}.` - }); - }; - webidl.brandCheck = function(V, I, opts = void 0) { - if (opts?.strict !== false && !(V instanceof I)) { - throw new TypeError("Illegal invocation"); - } else { - return V?.[Symbol.toStringTag] === I.prototype[Symbol.toStringTag]; - } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { - if (length < min) { - throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, - ...ctx - }); - } - }; - webidl.illegalConstructor = function() { - throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V) { - switch (typeof V) { - case "undefined": - return "Undefined"; - case "boolean": - return "Boolean"; - case "string": - return "String"; - case "symbol": - return "Symbol"; - case "number": - return "Number"; - case "bigint": - return "BigInt"; - case "function": - case "object": { - if (V === null) { - return "Null"; - } - return "Object"; - } - } - }; - webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; - if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; - } else { - lowerBound = Math.pow(-2, 53) + 1; - } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; - } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; - } - let x = Number(V); - if (x === 0) { - x = 0; - } - if (opts.enforceRange === true) { - if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Could not convert ${V} to an integer.` - }); - } - x = webidl.util.IntegerPart(x); - if (x < lowerBound || x > upperBound) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.` - }); - } - return x; - } - if (!Number.isNaN(x) && opts.clamp === true) { - x = Math.min(Math.max(x, lowerBound), upperBound); - if (Math.floor(x) % 2 === 0) { - x = Math.floor(x); - } else { - x = Math.ceil(x); - } - return x; - } - if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) { - return 0; - } - x = webidl.util.IntegerPart(x); - x = x % Math.pow(2, bitLength); - if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { - return x - Math.pow(2, bitLength); - } - return x; - }; - webidl.util.IntegerPart = function(n) { - const r = Math.floor(Math.abs(n)); - if (n < 0) { - return -1 * r; - } - return r; - }; - webidl.sequenceConverter = function(converter) { - return (V) => { - if (webidl.util.Type(V) !== "Object") { - throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V)} is not an Object.` - }); - } - const method = V?.[Symbol.iterator]?.(); - const seq = []; - if (method === void 0 || typeof method.next !== "function") { - throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." - }); - } - while (true) { - const { done, value } = method.next(); - if (done) { - break; - } - seq.push(converter(value)); - } - return seq; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { - return (O) => { - if (webidl.util.Type(O) !== "Object") { - throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O)} is not an Object.` - }); - } - const result = {}; - if (!types.isProxy(O)) { - const keys2 = Object.keys(O); - for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; - } - return result; - } - const keys = Reflect.ownKeys(O); - for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O, key); - if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O[key]); - result[typedKey] = typedValue; - } - } - return result; - }; - }; - webidl.interfaceConverter = function(i) { - return (V, opts = {}) => { - if (opts.strict !== false && !(V instanceof i)) { - throw webidl.errors.exception({ - header: i.name, - message: `Expected ${V} to be an instance of ${i.name}.` - }); - } - return V; - }; - }; - webidl.dictionaryConverter = function(converters) { - return (dictionary) => { - const type = webidl.util.Type(dictionary); - const dict = {}; - if (type === "Null" || type === "Undefined") { - return dict; - } else if (type !== "Object") { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); - } - for (const options of converters) { - const { key, defaultValue, required, converter } = options; - if (required === true) { - if (!hasOwn(dictionary, key)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Missing required key "${key}".` - }); - } - } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); - if (hasDefault && value !== null) { - value = value ?? defaultValue; - } - if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); - } - dict[key] = value; - } - } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { - return (V) => { - if (V === null) { - return V; - } - return converter(V); - }; - }; - webidl.converters.DOMString = function(V, opts = {}) { - if (V === null && opts.legacyNullToEmptyString) { - return ""; - } - if (typeof V === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); - } - return String(V); - }; - webidl.converters.ByteString = function(V) { - const x = webidl.converters.DOMString(V); - for (let index = 0; index < x.length; index++) { - if (x.charCodeAt(index) > 255) { - throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.` - ); - } - } - return x; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V) { - const x = Boolean(V); - return x; - }; - webidl.converters.any = function(V) { - return V; - }; - webidl.converters["long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "signed"); - return x; - }; - webidl.converters["unsigned long long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 64, "unsigned"); - return x; - }; - webidl.converters["unsigned long"] = function(V) { - const x = webidl.util.ConvertToInt(V, 32, "unsigned"); - return x; - }; - webidl.converters["unsigned short"] = function(V, opts) { - const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts); - return x; - }; - webidl.converters.ArrayBuffer = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) { - throw webidl.errors.conversionFailed({ - prefix: `${V}`, - argument: `${V}`, - types: ["ArrayBuffer"] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.TypedArray = function(V, T, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) { - throw webidl.errors.conversionFailed({ - prefix: `${T.name}`, - argument: `${V}`, - types: [T.name] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.DataView = function(V, opts = {}) { - if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) { - throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V; - }; - webidl.converters.BufferSource = function(V, opts = {}) { - if (types.isAnyArrayBuffer(V)) { - return webidl.converters.ArrayBuffer(V, opts); - } - if (types.isTypedArray(V)) { - return webidl.converters.TypedArray(V, V.constructor); - } - if (types.isDataView(V)) { - return webidl.converters.DataView(V, opts); - } - throw new TypeError(`Could not convert ${V} to a BufferSource.`); - }; - webidl.converters["sequence<ByteString>"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence<sequence<ByteString>>"] = webidl.sequenceConverter( - webidl.converters["sequence<ByteString>"] - ); - webidl.converters["record<ByteString, ByteString>"] = webidl.recordConverter( - webidl.converters.ByteString, - webidl.converters.ByteString - ); - module2.exports = { - webidl - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/dataURL.js -var require_dataURL = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util2(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; - function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); - if (position.position >= input.length) { - return "failure"; - } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; - } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); - } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; - } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); - } - return { mimeType: mimeTypeRecord, body }; - } - function URLSerializer(url, excludeFragment = false) { - if (!excludeFragment) { - return url.href; - } - const href = url.href; - const hashLength = url.hash.length; - return hashLength === 0 ? href : href.substring(0, href.length - hashLength); - } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } - function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); - } - function percentDecode(input) { - const output = []; - for (let i = 0; i < input.length; i++) { - const byte = input[i]; - if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) { - output.push(37); - } else { - const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i += 2; - } - } - return Uint8Array.from(output); - } - function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); - if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { - return "failure"; - } - if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); - if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; - } - const typeLowercase = type.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); - const mimeType = { - type: typeLowercase, - subtype: subtypeLowercase, - /** @type {Map<string, string>} */ - parameters: /* @__PURE__ */ new Map(), - // https://mimesniff.spec.whatwg.org/#mime-type-essence - essence: `${typeLowercase}/${subtypeLowercase}` - }; - while (position.position < input.length) { - position.position++; - collectASequenceOfCodePoints( - // https://fetch.spec.whatwg.org/#http-whitespace - (char) => HTTP_WHITESPACE_REGEX.test(char), - input, - position - ); - let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", - input, - position - ); - parameterName = parameterName.toLowerCase(); - if (position.position < input.length) { - if (input[position.position] === ";") { - continue; - } - position.position++; - } - if (position.position > input.length) { - break; - } - let parameterValue = null; - if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); - } else { - parameterValue = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); - if (parameterValue.length === 0) { - continue; - } - } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); - } - } - return mimeType; - } - function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); - if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); - } - if (data.length % 4 === 1) { - return "failure"; - } - if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; - } - const binary = atob2(data); - const bytes = new Uint8Array(binary.length); - for (let byte = 0; byte < binary.length; byte++) { - bytes[byte] = binary.charCodeAt(byte); - } - return bytes; - } - function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; - while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); - if (position.position >= input.length) { - break; - } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { - if (position.position >= input.length) { - value += "\\"; - break; - } - value += input[position.position]; - position.position++; - } else { - assert(quoteOrBackslash === '"'); - break; - } - } - if (extractValue) { - return value; - } - return input.slice(positionStart, position.position); - } - function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; - for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; - if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; - } - serialization += value; - } - return serialization; - } - function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; - } - function removeHTTPWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) - ; - } - if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) - ; - } - return str.slice(lead, trail + 1); - } - function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; - } - function removeASCIIWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) - ; - } - if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) - ; - } - return str.slice(lead, trail + 1); - } - module2.exports = { - dataURLProcessor, - URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, - stringPercentDecode, - parseMIMEType, - collectAnHTTPQuotedString, - serializeAMimeType - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/file.js -var require_file = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/file.js"(exports2, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols2(); - var { isBlobLike } = require_util2(); - var { webidl } = require_webidl(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util(); - var encoder = new TextEncoder(); - var File = class extends Blob2 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence<BlobPart>"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n = fileName; - let t = options.type; - let d; - substep: { - if (t) { - t = parseMIMEType(t); - if (t === "failure") { - t = ""; - break substep; - } - t = serializeAMimeType(t).toLowerCase(); - } - d = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t }); - this[kState] = { - name: n, - lastModified: d, - type: t - }; - } - get name() { - webidl.brandCheck(this, File); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, File); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, File); - return this[kState].type; - } - }; - var FileLike = class { - constructor(blobLike, fileName, options = {}) { - const n = fileName; - const t = options.type; - const d = options.lastModified ?? Date.now(); - this[kState] = { - blobLike, - name: n, - type: t, - lastModified: d - }; - } - stream(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.stream(...args); - } - arrayBuffer(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.arrayBuffer(...args); - } - slice(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.slice(...args); - } - text(...args) { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.text(...args); - } - get size() { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.size; - } - get type() { - webidl.brandCheck(this, FileLike); - return this[kState].blobLike.type; - } - get name() { - webidl.brandCheck(this, FileLike); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, FileLike); - return this[kState].lastModified; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - Object.defineProperties(File.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V, opts) { - if (webidl.util.Type(V) === "Object") { - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V, opts); - } - } - return webidl.converters.USVString(V, opts); - }; - webidl.converters["sequence<BlobPart>"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s = element; - if (options.endings === "native") { - s = convertLineEndingsNative(s); - } - bytes.push(encoder.encode(s)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { - if (!element.buffer) { - bytes.push(new Uint8Array(element)); - } else { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } - } else if (isBlobLike(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; - } - return s.replace(/\r?\n/g, nativeLineEnding); - } - function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File, FileLike, isFileLike }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/formdata.js -var require_formdata = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/formdata.js"(exports2, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util2(); - var { kState } = require_symbols2(); - var { File: UndiciFile, FileLike, isFileLike } = require_file(); - var { webidl } = require_webidl(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File = NativeFile ?? UndiciFile; - var FormData = class { - constructor(form) { - if (form !== void 0) { - throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); - } - this[kState] = []; - } - append(name, value, filename = void 0) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - this[kState].push(entry); - } - delete(name) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); - this[kState] = this[kState].filter((entry) => entry.name !== name); - } - get(name) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); - const idx = this[kState].findIndex((entry) => entry.name === name); - if (idx === -1) { - return null; - } - return this[kState][idx].value; - } - getAll(name) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); - } - has(name) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); - return this[kState].findIndex((entry) => entry.name === name) !== -1; - } - set(name, value, filename = void 0) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); - if (idx !== -1) { - this[kState] = [ - ...this[kState].slice(0, idx), - entry, - ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) - ]; - } else { - this[kState].push(entry); - } - } - entries() { - webidl.brandCheck(this, FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); - } - keys() { - webidl.brandCheck(this, FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); - } - values() { - webidl.brandCheck(this, FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); - } - /** - * @param {(value: string, key: string, self: FormData) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - }; - FormData.prototype[Symbol.iterator] = FormData.prototype.entries; - Object.defineProperties(FormData.prototype, { - [Symbol.toStringTag]: { - value: "FormData", - configurable: true - } - }); - function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); - if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); - } else { - if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); - } - if (filename !== void 0) { - const options = { - type: value.type, - lastModified: value.lastModified - }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options); - } - } - return { name, value }; - } - module2.exports = { FormData }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/body.js -var require_body = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/body.js"(exports2, module2) { - "use strict"; - var Busboy = require_main(); - var util2 = require_util(); - var { - ReadableStreamFrom, - isBlobLike, - isReadableStreamLike, - readableStreamClose, - createDeferredPromise, - fullyReadBody - } = require_util2(); - var { FormData } = require_formdata(); - var { kState } = require_symbols2(); - var { webidl } = require_webidl(); - var { DOMException: DOMException2, structuredClone } = require_constants2(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { isErrored } = require_util(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var ReadableStream = globalThis.ReadableStream; - var File = NativeFile ?? UndiciFile; - var textEncoder = new TextEncoder(); - var textDecoder = new TextDecoder(); - function extractBody(object, keepalive = false) { - if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; - } - let stream = null; - if (object instanceof ReadableStream) { - stream = object; - } else if (isBlobLike(object)) { - stream = object.stream(); - } else { - stream = new ReadableStream({ - async pull(controller) { - controller.enqueue( - typeof source === "string" ? textEncoder.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { - }, - type: void 0 - }); - } - assert(isReadableStreamLike(stream)); - let action = null; - let source = null; - let length = null; - let type = null; - if (typeof object === "string") { - source = object; - type = "text/plain;charset=UTF-8"; - } else if (object instanceof URLSearchParams) { - source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isArrayBuffer(object)) { - source = new Uint8Array(object.slice()); - } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); - } else if (util2.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`; - const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const blobParts = []; - const rn = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; - for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r -\r -${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; - } else { - const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r -\r -`); - blobParts.push(chunk2, value, rn); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn.byteLength; - } else { - hasUnknownSizeValue = true; - } - } - } - const chunk = textEncoder.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; - if (hasUnknownSizeValue) { - length = null; - } - source = object; - action = async function* () { - for (const part of blobParts) { - if (part.stream) { - yield* part.stream(); - } else { - yield part; - } - } - }; - type = "multipart/form-data; boundary=" + boundary; - } else if (isBlobLike(object)) { - source = object; - length = object.size; - if (object.type) { - type = object.type; - } - } else if (typeof object[Symbol.asyncIterator] === "function") { - if (keepalive) { - throw new TypeError("keepalive"); - } - if (util2.isDisturbed(object) || object.locked) { - throw new TypeError( - "Response body object should not be disturbed or locked" - ); - } - stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object); - } - if (typeof source === "string" || util2.isBuffer(source)) { - length = Buffer.byteLength(source); - } - if (action != null) { - let iterator; - stream = new ReadableStream({ - async start() { - iterator = action(object)[Symbol.asyncIterator](); - }, - async pull(controller) { - const { value, done } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); - } - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - }, - type: void 0 - }); - } - const body = { stream, source, length }; - return [body, type]; - } - function safelyExtractBody(object, keepalive = false) { - if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; - } - if (object instanceof ReadableStream) { - assert(!util2.isDisturbed(object), "The body has already been consumed."); - assert(!object.locked, "The stream is locked."); - } - return extractBody(object, keepalive); - } - function cloneBody(body) { - const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); - body.stream = out1; - return { - stream: finalClone, - length: body.length, - source: body.source - }; - } - async function* consumeBody(body) { - if (body) { - if (isUint8Array(body)) { - yield body; - } else { - const stream = body.stream; - if (util2.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); - } - if (stream.locked) { - throw new TypeError("The stream is locked."); - } - stream[kBodyUsed] = true; - yield* stream; - } - } - } - function throwIfAborted(state) { - if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); - } - } - function bodyMixinMethods(instance) { - const methods = { - blob() { - return specConsumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === "failure") { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob2([bytes], { type: mimeType }); - }, instance); - }, - arrayBuffer() { - return specConsumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); - }, - text() { - return specConsumeBody(this, utf8DecodeBytes, instance); - }, - json() { - return specConsumeBody(this, parseJSONFromBytes, instance); - }, - async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); - if (/multipart\/form-data/.test(contentType)) { - const headers = {}; - for (const [key, value] of this.headers) - headers[key.toLowerCase()] = value; - const responseFormData = new FormData(); - let busboy; - try { - busboy = new Busboy({ - headers, - preservePath: true - }); - } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); - } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); - } - }); - const busboyResolve = new Promise((resolve, reject) => { - busboy.on("finish", resolve); - busboy.on("error", (err) => reject(new TypeError(err))); - }); - if (this.body !== null) - for await (const chunk of consumeBody(this[kState].body)) - busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; - } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; - try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - for await (const chunk of consumeBody(this[kState].body)) { - if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); - } - text += streamingDecoder.decode(chunk, { stream: true }); - } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); - } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); - } - const formData = new FormData(); - for (const [name, value] of entries) { - formData.append(name, value); - } - return formData; - } else { - await Promise.resolve(); - throwIfAborted(this[kState]); - throw webidl.errors.exception({ - header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); - } - } - }; - return methods; - } - function mixinBody(prototype) { - Object.assign(prototype.prototype, bodyMixinMethods(prototype)); - } - async function specConsumeBody(object, convertBytesToJSValue, instance) { - webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); - if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); - } - const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); - const successSteps = (data) => { - try { - promise.resolve(convertBytesToJSValue(data)); - } catch (e) { - errorSteps(e); - } - }; - if (object[kState].body == null) { - successSteps(new Uint8Array()); - return promise.promise; - } - await fullyReadBody(object[kState].body, successSteps, errorSteps); - return promise.promise; - } - function bodyUnusable(body) { - return body != null && (body.stream.locked || util2.isDisturbed(body.stream)); - } - function utf8DecodeBytes(buffer) { - if (buffer.length === 0) { - return ""; - } - if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); - } - const output = textDecoder.decode(buffer); - return output; - } - function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); - } - function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); - if (contentType === null) { - return "failure"; - } - return parseMIMEType(contentType); - } - module2.exports = { - extractBody, - safelyExtractBody, - cloneBody, - mixinBody - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/request.js -var require_request = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/request.js"(exports2, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); - var util2 = require_util(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = Symbol("handler"); - var channels = {}; - var extractBody; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); - } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; - } - var Request = class { - constructor(origin, { - path: path2, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler) { - if (typeof path2 !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path2[0] !== "/" && !(path2.startsWith("http://") || path2.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.exec(path2) !== null) { - throw new InvalidArgumentError("invalid request path"); - } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); - } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); - } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; - if (body == null) { - this.body = null; - } else if (util2.isStream(body)) { - this.body = body; - const rState = this.body._readableState; - if (!rState || !rState.autoDestroy) { - this.endHandler = function autoDestroy() { - util2.destroy(this); - }; - this.body.on("end", this.endHandler); - } - this.errorHandler = (err) => { - if (this.abort) { - this.abort(err); - } else { - this.error = err; - } - }; - this.body.on("error", this.errorHandler); - } else if (util2.isBuffer(body)) { - this.body = body.byteLength ? body : null; - } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; - } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util2.isFormDataLike(body) || util2.isIterable(body) || util2.isBlobLike(body)) { - this.body = body; - } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util2.buildURL(path2, query) : path2; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i = 0; i < headers.length; i += 2) { - processHeader(this, headers[i], headers[i + 1]); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(this, key, headers[key]); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - if (util2.isFormDataLike(this.body)) { - if (util2.nodeMajor < 16 || util2.nodeMajor === 16 && util2.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); - } - if (!extractBody) { - extractBody = require_body().extractBody; - } - const [bodyStream, contentType] = extractBody(body); - if (this.contentType == null) { - this.contentType = contentType; - this.headers += `content-type: ${contentType}\r -`; - } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util2.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; - this.headers += `content-type: ${body.type}\r -`; - } - util2.validateHandler(handler, method, upgrade); - this.servername = util2.getServerName(this.host); - this[kHandler] = handler; - if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); - } - } - onBodySent(chunk) { - if (this[kHandler].onBodySent) { - try { - return this[kHandler].onBodySent(chunk); - } catch (err) { - this.abort(err); - } - } - } - onRequestSent() { - if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); - } - if (this[kHandler].onRequestSent) { - try { - return this[kHandler].onRequestSent(); - } catch (err) { - this.abort(err); - } - } - } - onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - if (this.error) { - abort(this.error); - } else { - this.abort = abort; - return this[kHandler].onConnect(abort); - } - } - onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); - if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); - } - try { - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); - } catch (err) { - this.abort(err); - } - } - onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - try { - return this[kHandler].onData(chunk); - } catch (err) { - this.abort(err); - return false; - } - } - onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); - } - onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; - if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); - } - try { - return this[kHandler].onComplete(trailers); - } catch (err) { - this.onError(err); - } - } - onError(error) { - this.onFinally(); - if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error }); - } - if (this.aborted) { - return; - } - this.aborted = true; - return this[kHandler].onError(error); - } - onFinally() { - if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; - } - if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; - } - } - // TODO: adjust to support H2 - addHeader(key, value) { - processHeader(this, key, value); - return this; - } - static [kHTTP1BuildRequest](origin, opts, handler) { - return new Request(origin, opts, handler); - } - static [kHTTP2BuildRequest](origin, opts, handler) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request = new Request(origin, opts, handler); - request.headers = {}; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i = 0; i < headers.length; i += 2) { - processHeader(request, headers[i], headers[i + 1], true); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - processHeader(request, key, headers[key], true); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - return request; - } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; - for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) - continue; - if (headers[key]) - headers[key] += `,${value}`; - else - headers[key] = value; - } - return headers; - } - }; - function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); - } - val = val != null ? `${val}` : ""; - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - return skipAppend ? val : `${key}: ${val}\r -`; - } - function processHeader(request, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); - } else if (val === void 0) { - return; - } - if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - request.host = val; - } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request.contentLength = parseInt(val, 10); - if (!Number.isFinite(request.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); - } - } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request.contentType = val; - if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request.reset = true; - } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); - } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); - } else { - if (Array.isArray(val)) { - for (let i = 0; i < val.length; i++) { - if (skipAppend) { - if (request.headers[key]) - request.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`; - else - request.headers[key] = processHeaderValue(key, val[i], skipAppend); - } else { - request.headers += processHeaderValue(key, val[i]); - } - } - } else { - if (skipAppend) - request.headers[key] = processHeaderValue(key, val, skipAppend); - else - request.headers += processHeaderValue(key, val); - } - } - } - module2.exports = Request; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/dispatcher.js -var require_dispatcher = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/dispatcher.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("events"); - var Dispatcher = class extends EventEmitter { - dispatch() { - throw new Error("not implemented"); - } - close() { - throw new Error("not implemented"); - } - destroy() { - throw new Error("not implemented"); - } - }; - module2.exports = Dispatcher; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/dispatcher-base.js -var require_dispatcher_base = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/dispatcher-base.js"(exports2, module2) { - "use strict"; - var Dispatcher = require_dispatcher(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); - var kDestroyed = Symbol("destroyed"); - var kClosed = Symbol("closed"); - var kOnDestroyed = Symbol("onDestroyed"); - var kOnClosed = Symbol("onClosed"); - var kInterceptedDispatch = Symbol("Intercepted Dispatch"); - var DispatcherBase = class extends Dispatcher { - constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; - } - get destroyed() { - return this[kDestroyed]; - } - get closed() { - return this[kClosed]; - } - get interceptors() { - return this[kInterceptors]; - } - set interceptors(newInterceptors) { - if (newInterceptors) { - for (let i = newInterceptors.length - 1; i >= 0; i--) { - const interceptor = this[kInterceptors][i]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); - } - } - } - this[kInterceptors] = newInterceptors; - } - close(callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - this.close((err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); - return; - } - if (this[kClosed]) { - if (this[kOnClosed]) { - this[kOnClosed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - this[kClosed] = true; - this[kOnClosed].push(callback); - const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; - for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); - } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); - } - destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; - } - if (callback === void 0) { - return new Promise((resolve, reject) => { - this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - if (!err) { - err = new ClientDestroyedError(); - } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); - const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; - for (let i = 0; i < callbacks.length; i++) { - callbacks[i](null, null); - } - }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); - } - [kInterceptedDispatch](opts, handler) { - if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler); - } - let dispatch = this[kDispatch].bind(this); - for (let i = this[kInterceptors].length - 1; i >= 0; i--) { - dispatch = this[kInterceptors][i](dispatch); - } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler); - } - dispatch(opts, handler) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); - } - if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); - } - if (this[kClosed]) { - throw new ClientClosedError(); - } - return this[kInterceptedDispatch](opts, handler); - } catch (err) { - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - handler.onError(err); - return false; - } - } - }; - module2.exports = DispatcherBase; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/core/connect.js -var require_connect = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/core/connect.js"(exports2, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util2 = require_util(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); - var tls; - var SessionCache; - if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { - SessionCache = class WeakSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - this._sessionRegistry = new global.FinalizationRegistry((key) => { - if (this._sessionCache.size < this._maxCachedSessions) { - return; - } - const ref = this._sessionCache.get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); - } - }); - } - get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); - } - }; - } else { - SessionCache = class SimpleSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - } - get(sessionKey) { - return this._sessionCache.get(sessionKey); - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); - } - this._sessionCache.set(sessionKey, session); - } - }; - } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); - } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { - if (!tls) { - tls = require("tls"); - } - servername = servername || options.servername || util2.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); - socket = tls.connect({ - highWaterMark: 16384, - // TLS in node can't have bigger HWM anyway... - ...options, - servername, - session, - localAddress, - // TODO(HTTP/2): Add support for h2c - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], - socket: httpSocket, - // upgrade socket connection - port: port || 443, - host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); - } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); - socket = net.connect({ - highWaterMark: 64 * 1024, - // Same as nodejs fs streams. - ...options, - localAddress, - port: port || 80, - host: hostname - }); - } - if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); - return socket; - }; - } - function setupTimeout(onConnectTimeout2, timeout) { - if (!timeout) { - return () => { - }; - } - let s1 = null; - let s2 = null; - const timeoutId = setTimeout(() => { - s1 = setImmediate(() => { - if (process.platform === "win32") { - s2 = setImmediate(() => onConnectTimeout2()); - } else { - onConnectTimeout2(); - } - }); - }, timeout); - return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s2); - }; - } - function onConnectTimeout(socket) { - util2.destroy(socket, new ConnectTimeoutError()); - } - module2.exports = buildConnector; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/llhttp/utils.js -var require_utils2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/llhttp/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.enumToMap = void 0; - function enumToMap(obj) { - const res = {}; - Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; - } - }); - return res; - } - exports2.enumToMap = enumToMap; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/llhttp/constants.js -var require_constants3 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/llhttp/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; - var utils_1 = require_utils2(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports2.ERROR || (exports2.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports2.TYPE || (exports2.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports2.METHODS || (exports2.METHODS = {})); - exports2.METHODS_HTTP = [ - METHODS.DELETE, - METHODS.GET, - METHODS.HEAD, - METHODS.POST, - METHODS.PUT, - METHODS.CONNECT, - METHODS.OPTIONS, - METHODS.TRACE, - METHODS.COPY, - METHODS.LOCK, - METHODS.MKCOL, - METHODS.MOVE, - METHODS.PROPFIND, - METHODS.PROPPATCH, - METHODS.SEARCH, - METHODS.UNLOCK, - METHODS.BIND, - METHODS.REBIND, - METHODS.UNBIND, - METHODS.ACL, - METHODS.REPORT, - METHODS.MKACTIVITY, - METHODS.CHECKOUT, - METHODS.MERGE, - METHODS["M-SEARCH"], - METHODS.NOTIFY, - METHODS.SUBSCRIBE, - METHODS.UNSUBSCRIBE, - METHODS.PATCH, - METHODS.PURGE, - METHODS.MKCALENDAR, - METHODS.LINK, - METHODS.UNLINK, - METHODS.PRI, - // TODO(indutny): should we allow it with HTTP? - METHODS.SOURCE - ]; - exports2.METHODS_ICE = [ - METHODS.SOURCE - ]; - exports2.METHODS_RTSP = [ - METHODS.OPTIONS, - METHODS.DESCRIBE, - METHODS.ANNOUNCE, - METHODS.SETUP, - METHODS.PLAY, - METHODS.PAUSE, - METHODS.TEARDOWN, - METHODS.GET_PARAMETER, - METHODS.SET_PARAMETER, - METHODS.REDIRECT, - METHODS.RECORD, - METHODS.FLUSH, - // For AirPlay - METHODS.GET, - METHODS.POST - ]; - exports2.METHOD_MAP = utils_1.enumToMap(METHODS); - exports2.H_METHOD_MAP = {}; - Object.keys(exports2.METHOD_MAP).forEach((key) => { - if (/^H/.test(key)) { - exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key]; - } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports2.FINISH || (exports2.FINISH = {})); - exports2.ALPHA = []; - for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) { - exports2.ALPHA.push(String.fromCharCode(i)); - exports2.ALPHA.push(String.fromCharCode(i + 32)); - } - exports2.NUM_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9 - }; - exports2.HEX_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9, - A: 10, - B: 11, - C: 12, - D: 13, - E: 14, - F: 15, - a: 10, - b: 11, - c: 12, - d: 13, - e: 14, - f: 15 - }; - exports2.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); - exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); - exports2.STRICT_URL_CHAR = [ - "!", - '"', - "$", - "%", - "&", - "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports2.ALPHANUM); - exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); - for (let i = 128; i <= 255; i++) { - exports2.URL_CHAR.push(i); - } - exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); - exports2.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", - "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports2.ALPHANUM); - exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); - exports2.HEADER_CHARS = [" "]; - for (let i = 32; i <= 255; i++) { - if (i !== 127) { - exports2.HEADER_CHARS.push(i); - } - } - exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c) => c !== 44); - exports2.MAJOR = exports2.NUM_MAP; - exports2.MINOR = exports2.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {})); - exports2.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/handler/RedirectHandler.js -var require_RedirectHandler = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) { - "use strict"; - var util2 = require_util(); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { InvalidArgumentError } = require_errors(); - var EE = require("events"); - var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = Symbol("body"); - var BodyAsyncIterable = class { - constructor(body) { - this[kBody] = body; - this[kBodyUsed] = false; - } - async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); - this[kBodyUsed] = true; - yield* this[kBody]; - } - }; - var RedirectHandler = class { - constructor(dispatch, maxRedirections, opts, handler) { - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - util2.validateHandler(handler, opts.method, opts.upgrade); - this.dispatch = dispatch; - this.location = null; - this.abort = null; - this.opts = { ...opts, maxRedirections: 0 }; - this.maxRedirections = maxRedirections; - this.handler = handler; - this.history = []; - if (util2.isStream(this.opts.body)) { - if (util2.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { - assert(false); - }); - } - if (typeof this.opts.body.readableDidRead !== "boolean") { - this.opts.body[kBodyUsed] = false; - EE.prototype.on.call(this.opts.body, "data", function() { - this[kBodyUsed] = true; - }); - } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util2.isIterable(this.opts.body)) { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } - } - onConnect(abort) { - this.abort = abort; - this.handler.onConnect(abort, { history: this.history }); - } - onUpgrade(statusCode, headers, socket) { - this.handler.onUpgrade(statusCode, headers, socket); - } - onError(error) { - this.handler.onError(error); - } - onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util2.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); - if (this.opts.origin) { - this.history.push(new URL(this.opts.path, this.opts.origin)); - } - if (!this.location) { - return this.handler.onHeaders(statusCode, headers, resume, statusText); - } - const { origin, pathname, search } = util2.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path2 = search ? `${pathname}${search}` : pathname; - this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path2; - this.opts.origin = origin; - this.opts.maxRedirections = 0; - this.opts.query = null; - if (statusCode === 303 && this.opts.method !== "HEAD") { - this.opts.method = "GET"; - this.opts.body = null; - } - } - onData(chunk) { - if (this.location) { - } else { - return this.handler.onData(chunk); - } - } - onComplete(trailers) { - if (this.location) { - this.location = null; - this.abort = null; - this.dispatch(this.opts, this); - } else { - this.handler.onComplete(trailers); - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) { - this.handler.onBodySent(chunk); - } - } - }; - function parseLocation(statusCode, headers) { - if (redirectableStatusCodes.indexOf(statusCode) === -1) { - return null; - } - for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toString().toLowerCase() === "location") { - return headers[i + 1]; - } - } - } - function shouldRemoveHeader(header, removeContent, unknownOrigin) { - if (header.length === 4) { - return util2.headerNameToString(header) === "host"; - } - if (removeContent && util2.headerNameToString(header).startsWith("content-")) { - return true; - } - if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { - const name = util2.headerNameToString(header); - return name === "authorization" || name === "cookie" || name === "proxy-authorization"; - } - return false; - } - function cleanRequestHeaders(headers, removeContent, unknownOrigin) { - const ret = []; - if (Array.isArray(headers)) { - for (let i = 0; i < headers.length; i += 2) { - if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) { - ret.push(headers[i], headers[i + 1]); - } - } - } else if (headers && typeof headers === "object") { - for (const key of Object.keys(headers)) { - if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { - ret.push(key, headers[key]); - } - } - } else { - assert(headers == null, "headers must be an object or an array"); - } - return ret; - } - module2.exports = RedirectHandler; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/interceptor/redirectInterceptor.js -var require_redirectInterceptor = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) { - "use strict"; - var RedirectHandler = require_RedirectHandler(); - function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { - return (dispatch) => { - return function Intercept(opts, handler) { - const { maxRedirections = defaultMaxRedirections } = opts; - if (!maxRedirections) { - return dispatch(opts, handler); - } - const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); - opts = { ...opts, maxRedirections: 0 }; - return dispatch(opts, redirectHandler); - }; - }; - } - module2.exports = createRedirectInterceptor; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/llhttp/llhttp-wasm.js -var require_llhttp_wasm = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js -var require_llhttp_simd_wasm = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/client.js -var require_client = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/client.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); - var util2 = require_util(); - var timers = require_timers(); - var Request = require_request(); - var DispatcherBase = require_dispatcher_base(); - var { - RequestContentLengthMismatchError, - ResponseContentLengthMismatchError, - InvalidArgumentError, - RequestAbortedError, - HeadersTimeoutError, - HeadersOverflowError, - SocketError, - InformationalError, - BodyTimeoutError, - HTTPParserError, - ResponseExceededMaxSizeError, - ClientDestroyedError - } = require_errors(); - var buildConnector = require_connect(); - var { - kUrl, - kReset, - kServerName, - kClient, - kBusy, - kParser, - kConnect, - kBlocking, - kResuming, - kRunning, - kPending, - kSize, - kWriting, - kQueue, - kConnected, - kConnecting, - kNeedDrain, - kNoRef, - kKeepAliveDefaultTimeout, - kHostHeader, - kPendingIdx, - kRunningIdx, - kError, - kPipelining, - kSocket, - kKeepAliveTimeoutValue, - kMaxHeadersSize, - kKeepAliveMaxTimeout, - kKeepAliveTimeoutThreshold, - kHeadersTimeout, - kBodyTimeout, - kStrictContentLength, - kConnector, - kMaxRedirections, - kMaxRequests, - kCounter, - kClose, - kDestroy, - kDispatch, - kInterceptors, - kLocalAddress, - kMaxResponseSize, - kHTTPConnVersion, - // HTTP2 - kHost, - kHTTP2Session, - kHTTP2SessionState, - kHTTP2BuildRequest, - kHTTP2CopyHeaders, - kHTTP1BuildRequest - } = require_symbols(); - var http2; - try { - http2 = require("http2"); - } catch { - http2 = { constants: {} }; - } - var { - constants: { - HTTP2_HEADER_AUTHORITY, - HTTP2_HEADER_METHOD, - HTTP2_HEADER_PATH, - HTTP2_HEADER_SCHEME, - HTTP2_HEADER_CONTENT_LENGTH, - HTTP2_HEADER_EXPECT, - HTTP2_HEADER_STATUS - } - } = http2; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; - var kClosedResolve = Symbol("kClosedResolve"); - var channels = {}; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); - } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; - } - var Client = class extends DispatcherBase { - /** - * - * @param {string|URL} url - * @param {import('../types/client').Client.Options} options - */ - constructor(url, { - interceptors, - maxHeaderSize, - headersTimeout, - socketTimeout, - requestTimeout, - connectTimeout, - bodyTimeout, - idleTimeout, - keepAlive, - keepAliveTimeout, - maxKeepAliveTimeout, - keepAliveMaxTimeout, - keepAliveTimeoutThreshold, - socketPath, - pipelining, - tls, - strictContentLength, - maxCachedSessions, - maxRedirections, - connect: connect2, - maxRequestsPerClient, - localAddress, - maxResponseSize, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - // h2 - allowH2, - maxConcurrentStreams - } = {}) { - super(); - if (keepAlive !== void 0) { - throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); - } - if (socketTimeout !== void 0) { - throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); - } - if (requestTimeout !== void 0) { - throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); - } - if (idleTimeout !== void 0) { - throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); - } - if (maxKeepAliveTimeout !== void 0) { - throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); - } - if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { - throw new InvalidArgumentError("invalid maxHeaderSize"); - } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); - } - if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); - } - if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); - } - if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); - } - if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); - } - if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); - } - if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); - } - if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { - throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); - } - if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { - throw new InvalidArgumentError("localAddress must be valid string IP address"); - } - if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { - throw new InvalidArgumentError("maxResponseSize must be a positive number"); - } - if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { - throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); - } - if (allowH2 != null && typeof allowH2 !== "boolean") { - throw new InvalidArgumentError("allowH2 must be a valid boolean value"); - } - if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); - } - if (typeof connect2 !== "function") { - connect2 = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect2 - }); - } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; - this[kUrl] = util2.parseOrigin(url); - this[kConnector] = connect2; - this[kSocket] = null; - this[kPipelining] = pipelining != null ? pipelining : 1; - this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; - this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; - this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; - this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; - this[kServerName] = null; - this[kLocalAddress] = localAddress != null ? localAddress : null; - this[kResuming] = 0; - this[kNeedDrain] = 0; - this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r -`; - this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; - this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; - this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; - this[kMaxRedirections] = maxRedirections; - this[kMaxRequests] = maxRequestsPerClient; - this[kClosedResolve] = null; - this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; - this[kQueue] = []; - this[kRunningIdx] = 0; - this[kPendingIdx] = 0; - } - get pipelining() { - return this[kPipelining]; - } - set pipelining(value) { - this[kPipelining] = value; - resume(this, true); - } - get [kPending]() { - return this[kQueue].length - this[kPendingIdx]; - } - get [kRunning]() { - return this[kPendingIdx] - this[kRunningIdx]; - } - get [kSize]() { - return this[kQueue].length - this[kRunningIdx]; - } - get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; - } - get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; - } - /* istanbul ignore: only used for test */ - [kConnect](cb) { - connect(this); - this.once("connect", cb); - } - [kDispatch](opts, handler) { - const origin = opts.origin || this[kUrl].origin; - const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler); - this[kQueue].push(request); - if (this[kResuming]) { - } else if (util2.bodyLength(request.body) == null && util2.isIterable(request.body)) { - this[kResuming] = 1; - process.nextTick(resume, this); - } else { - resume(this, true); - } - if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { - this[kNeedDrain] = 2; - } - return this[kNeedDrain] < 2; - } - async [kClose]() { - return new Promise((resolve) => { - if (!this[kSize]) { - resolve(null); - } else { - this[kClosedResolve] = resolve; - } - }); - } - async [kDestroy](err) { - return new Promise((resolve) => { - const requests = this[kQueue].splice(this[kPendingIdx]); - for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); - } - const callback = () => { - if (this[kClosedResolve]) { - this[kClosedResolve](); - this[kClosedResolve] = null; - } - resolve(); - }; - if (this[kHTTP2Session] != null) { - util2.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; - } - if (!this[kSocket]) { - queueMicrotask(callback); - } else { - util2.destroy(this[kSocket].on("close", callback), err); - } - resume(this); - }); - } - }; - function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); - } - function onHttp2FrameError(type, code, id) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - if (id === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); - } - } - function onHttp2SessionEnd() { - util2.destroy(this, new SocketError("other side closed")); - util2.destroy(this[kSocket], new SocketError("other side closed")); - } - function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; - if (client.destroyed) { - assert(this[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(this, request, err); - } - } else if (client[kRunning] > 0) { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants = require_constants3(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); - async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; - let mod; - try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); - } catch (e) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); - } - return await WebAssembly.instantiate(mod, { - env: { - /* eslint-disable camelcase */ - wasm_on_url: (p, at, len) => { - return 0; - }, - wasm_on_status: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_begin: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageBegin() || 0; - }, - wasm_on_header_field: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_header_value: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; - }, - wasm_on_body: (p, at, len) => { - assert.strictEqual(currentParser.ptr, p); - const start = at - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_complete: (p) => { - assert.strictEqual(currentParser.ptr, p); - return currentParser.onMessageComplete() || 0; - } - /* eslint-enable camelcase */ - } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; - var Parser = class { - constructor(client, socket, { exports: exports3 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports3; - this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; - } - setTimeout(value, type) { - this.timeoutType = type; - if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); - if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); - if (this.timeout.unref) { - this.timeout.unref(); - } - } else { - this.timeout = null; - } - this.timeoutValue = value; - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - } - resume() { - if (this.socket.destroyed || !this.paused) { - return; - } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); - } - readMore() { - while (!this.paused && this.ptr) { - const chunk = this.socket.read(); - if (chunk === null) { - break; - } - this.execute(chunk); - } - } - execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; - if (data.length > currentBufferSize) { - if (currentBufferPtr) { - llhttp.free(currentBufferPtr); - } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); - } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); - try { - let ret; - try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); - } catch (err) { - throw err; - } finally { - currentParser = null; - currentBufferRef = null; - } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; - if (ret === constants.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); - } else if (ret === constants.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); - } else if (ret !== constants.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; - } - throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset)); - } - } catch (err) { - util2.destroy(socket, err); - } - } - destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; - } - onStatus(buf) { - this.statusText = buf.toString(); - } - onMessageBegin() { - const { socket, client } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - } - onHeaderField(buf) { - const len = this.headers.length; - if ((len & 1) === 0) { - this.headers.push(buf); - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - this.trackHeader(buf.length); - } - onHeaderValue(buf) { - let len = this.headers.length; - if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); - } - trackHeader(len) { - this.headersSize += len; - if (this.headersSize >= this.headersMaxSize) { - util2.destroy(this.socket, new HeadersOverflowError()); - } - } - onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request.upgrade || request.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); - try { - request.onUpgrade(statusCode, headers, socket); - } catch (err) { - util2.destroy(socket, err); - } - resume(client); - } - onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - assert(!this.upgrade); - assert(this.statusCode < 200); - if (statusCode === 100) { - util2.destroy(socket, new SocketError("bad response", util2.getSocketInfo(socket))); - return -1; - } - if (upgrade && !request.upgrade) { - util2.destroy(socket, new SocketError("bad upgrade", util2.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; - if (this.statusCode >= 200) { - const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - if (request.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util2.parseKeepAliveTimeout(this.keepAlive) : null; - if (keepAliveTimeout != null) { - const timeout = Math.min( - keepAliveTimeout - client[kKeepAliveTimeoutThreshold], - client[kKeepAliveMaxTimeout] - ); - if (timeout <= 0) { - socket[kReset] = true; - } else { - client[kKeepAliveTimeoutValue] = timeout; - } - } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; - } - } else { - socket[kReset] = true; - } - const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; - if (request.aborted) { - return -1; - } - if (request.method === "HEAD") { - return 1; - } - if (statusCode < 200) { - return 1; - } - if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); - } - return pause ? constants.ERROR.PAUSED : 0; - } - onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util2.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; - } - this.bytesRead += buf.length; - if (request.onData(buf) === false) { - return constants.ERROR.PAUSED; - } - } - onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; - if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; - } - if (upgrade) { - return; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (statusCode < 200) { - return; - } - if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util2.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; - } - request.onComplete(headers); - client[kQueue][client[kRunningIdx]++] = null; - if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (!shouldKeepAlive) { - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (socket[kReset] && client[kRunning] === 0) { - util2.destroy(socket, new InformationalError("reset")); - return constants.ERROR.PAUSED; - } else if (client[kPipelining] === 1) { - setImmediate(resume, client); - } else { - resume(client); - } - } - }; - function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; - if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util2.destroy(socket, new HeadersTimeoutError()); - } - } else if (timeoutType === TIMEOUT_BODY) { - if (!parser.paused) { - util2.destroy(socket, new BodyTimeoutError()); - } - } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util2.destroy(socket, new InformationalError("socket idle timeout")); - } - } - function onSocketReadable() { - const { [kParser]: parser } = this; - if (parser) { - parser.readMore(); - } - } - function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - this[kError] = err; - onError(this[kClient], err); - } - function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); - } - assert(client[kSize] === 0); - } - } - function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { - if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - util2.destroy(this, new SocketError("other side closed", util2.getSocketInfo(this))); - } - function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { - if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - } - this[kParser].destroy(); - this[kParser] = null; - } - const err = this[kError] || new SocketError("closed", util2.getSocketInfo(this)); - client[kSocket] = null; - if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i = 0; i < requests.length; i++) { - const request = requests[i]; - errorRequest(client, request, err); - } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); - } - async function connect(client) { - assert(!client[kConnecting]); - assert(!client[kSocket]); - let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); - assert(idx !== -1); - const ip = hostname.substring(1, idx); - assert(net.isIP(ip)); - hostname = ip; - } - client[kConnecting] = true; - if (channels.beforeConnect.hasSubscribers) { - channels.beforeConnect.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector] - }); - } - try { - const socket = await new Promise((resolve, reject) => { - client[kConnector]({ - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, (err, socket2) => { - if (err) { - reject(err); - } else { - resolve(socket2); - } - }); - }); - if (client.destroyed) { - util2.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); - return; - } - client[kConnecting] = false; - assert(socket); - const isH2 = socket.alpnProtocol === "h2"; - if (isH2) { - if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); - } - const session = http2.connect(client[kUrl], { - createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; - } else { - if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); - } - socket[kCounter] = 0; - socket[kMaxRequests] = client[kMaxRequests]; - socket[kClient] = client; - socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; - if (channels.connected.hasSubscribers) { - channels.connected.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - socket - }); - } - client.emit("connect", client[kUrl], [client]); - } catch (err) { - if (client.destroyed) { - return; - } - client[kConnecting] = false; - if (channels.connectError.hasSubscribers) { - channels.connectError.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - error: err - }); - } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { - assert(client[kRunning] === 0); - while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { - const request = client[kQueue][client[kPendingIdx]++]; - errorRequest(client, request, err); - } - } else { - onError(client, err); - } - client.emit("connectionError", client[kUrl], [client], err); - } - resume(client); - } - function emitDrain(client) { - client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); - } - function resume(client, sync) { - if (client[kResuming] === 2) { - return; - } - client[kResuming] = 2; - _resume(client, sync); - client[kResuming] = 0; - if (client[kRunningIdx] > 256) { - client[kQueue].splice(0, client[kRunningIdx]); - client[kPendingIdx] -= client[kRunningIdx]; - client[kRunningIdx] = 0; - } - } - function _resume(client, sync) { - while (true) { - if (client.destroyed) { - assert(client[kPending] === 0); - return; - } - if (client[kClosedResolve] && !client[kSize]) { - client[kClosedResolve](); - client[kClosedResolve] = null; - return; - } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { - if (client[kSize] === 0) { - if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; - } - } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; - } - if (client[kSize] === 0) { - if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); - } - } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { - if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request2 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); - } - } - } - if (client[kBusy]) { - client[kNeedDrain] = 2; - } else if (client[kNeedDrain] === 2) { - if (sync) { - client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); - } else { - emitDrain(client); - } - continue; - } - if (client[kPending] === 0) { - return; - } - if (client[kRunning] >= (client[kPipelining] || 1)) { - return; - } - const request = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { - if (client[kRunning] > 0) { - return; - } - client[kServerName] = request.servername; - if (socket && socket.servername !== request.servername) { - util2.destroy(socket, new InformationalError("servername changed")); - return; - } - } - if (client[kConnecting]) { - return; - } - if (!socket && !client[kHTTP2Session]) { - connect(client); - return; - } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; - } - if (client[kRunning] > 0 && !request.idempotent) { - return; - } - if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { - return; - } - if (client[kRunning] > 0 && util2.bodyLength(request.body) !== 0 && (util2.isStream(request.body) || util2.isAsyncIterable(request.body))) { - return; - } - if (!request.aborted && write(client, request)) { - client[kPendingIdx]++; - } else { - client[kQueue].splice(client[kPendingIdx], 1); - } - } - } - function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; - } - function write(client, request) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request); - return; - } - const { body, method, path: path2, host, upgrade, headers, blocking, reset } = request; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - const bodyLength = util2.bodyLength(body); - let contentLength = bodyLength; - if (contentLength === null) { - contentLength = request.contentLength; - } - if (contentLength === 0 && !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - const socket = client[kSocket]; - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - util2.destroy(socket, new InformationalError("aborted")); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - if (method === "HEAD") { - socket[kReset] = true; - } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; - } - if (reset != null) { - socket[kReset] = reset; - } - if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; - } - if (blocking) { - socket[kBlocking] = true; - } - let header = `${method} ${path2} HTTP/1.1\r -`; - if (typeof host === "string") { - header += `host: ${host}\r -`; - } else { - header += client[kHostHeader]; - } - if (upgrade) { - header += `connection: upgrade\r -upgrade: ${upgrade}\r -`; - } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; - } else { - header += "connection: close\r\n"; - } - if (headers) { - header += headers; - } - if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request, headers: header, socket }); - } - if (!body || bodyLength === 0) { - if (contentLength === 0) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); - } - request.onRequestSent(); - } else if (util2.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(body); - socket.uncork(); - request.onBodySent(body); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - } else if (util2.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); - } else { - writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); - } - } else if (util2.isStream(body)) { - writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); - } else if (util2.isIterable(body)) { - writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); - } else { - assert(false); - } - return true; - } - function writeH2(client, session, request) { - const { body, method, path: path2, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; - let headers; - if (typeof reqHeaders === "string") - headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else - headers = reqHeaders; - if (upgrade) { - errorRequest(client, request, new Error("Upgrade not supported for H2")); - return false; - } - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); - if (stream.id && !stream.pending) { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - } else { - stream.once("ready", () => { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - }); - } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) - session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path2; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util2.bodyLength(body); - if (contentLength == null) { - contentLength = request.contentLength; - } - if (contentLength === 0 || !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; - } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; - if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); - } else { - stream = session.request(headers, { - endStream: shouldEndStream, - signal - }); - writeBodyH2(); - } - ++h2State.openStreams; - stream.once("response", (headers2) => { - const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; - if (request.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request.onData(chunk) === false) { - stream.pause(); - } - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) { - session.unref(); - } - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util2.destroy(stream, err); - } - }); - stream.once("frameError", (type, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - errorRequest(client, request, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util2.destroy(stream, err); - } - }); - return true; - function writeBodyH2() { - if (!body) { - request.onRequestSent(); - } else if (util2.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request.onBodySent(body); - request.onRequestSent(); - } else if (util2.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ - client, - request, - contentLength, - h2stream: stream, - expectsPayload, - body: body.stream(), - socket: client[kSocket], - header: "" - }); - } else { - writeBlob({ - body, - client, - request, - contentLength, - expectsPayload, - h2stream: stream, - header: "", - socket: client[kSocket] - }); - } - } else if (util2.isStream(body)) { - writeStream({ - body, - client, - request, - contentLength, - expectsPayload, - socket: client[kSocket], - h2stream: stream, - header: "" - }); - } else if (util2.isIterable(body)) { - writeIterable({ - body, - client, - request, - contentLength, - expectsPayload, - header: "", - h2stream: stream, - socket: client[kSocket] - }); - } else { - assert(false); - } - } - } - function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util2.destroy(body, err); - util2.destroy(h2stream, err); - } else { - request.onRequestSent(); - } - } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util2.destroy(pipe); - }); - return; - } - let finished = false; - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { - if (finished) { - return; - } - try { - if (!writer.write(chunk) && this.pause) { - this.pause(); - } - } catch (err) { - util2.destroy(this, err); - } - }; - const onDrain = function() { - if (finished) { - return; - } - if (body.resume) { - body.resume(); - } - }; - const onAbort = function() { - if (finished) { - return; - } - const err = new RequestAbortedError(); - queueMicrotask(() => onFinished(err)); - }; - const onFinished = function(err) { - if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); - if (!err) { - try { - writer.end(); - } catch (er) { - err = er; - } - } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util2.destroy(body, err); - } else { - util2.destroy(body); - } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); - if (body.resume) { - body.resume(); - } - socket.on("drain", onDrain).on("error", onFinished); - } - async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; - try { - if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); - } - const buffer = Buffer.from(await body.arrayBuffer()); - if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); - } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(buffer); - socket.uncork(); - } - request.onBodySent(buffer); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - resume(client); - } catch (err) { - util2.destroy(isH2 ? h2stream : socket, err); - } - } - async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; - function onDrain() { - if (callback) { - const cb = callback; - callback = null; - cb(); - } - } - const waitForDrain = () => new Promise((resolve, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - const res = h2stream.write(chunk); - request.onBodySent(chunk); - if (!res) { - await waitForDrain(); - } - } - } catch (err) { - h2stream.destroy(err); - } finally { - request.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); - } - return; - } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - if (!writer.write(chunk)) { - await waitForDrain(); - } - } - writer.end(); - } catch (err) { - writer.destroy(err); - } finally { - socket.off("close", onDrain).off("drain", onDrain); - } - } - var AsyncWriter = class { - constructor({ socket, request, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; - } - write(chunk) { - const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return false; - } - const len = Buffer.byteLength(chunk); - if (!len) { - return true; - } - if (contentLength !== null && bytesWritten + len > contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - socket.cork(); - if (bytesWritten === 0) { - if (!expectsPayload) { - socket[kReset] = true; - } - if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); - } else { - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - } - } - if (contentLength === null) { - socket.write(`\r -${len.toString(16)}\r -`, "latin1"); - } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request.onBodySent(chunk); - if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - } - return ret; - } - end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; - request.onRequestSent(); - socket[kWriting] = false; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return; - } - if (bytesWritten === 0) { - if (expectsPayload) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - socket.write(`${header}\r -`, "latin1"); - } - } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); - } - if (contentLength !== null && bytesWritten !== contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } else { - process.emitWarning(new RequestContentLengthMismatchError()); - } - } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - resume(client); - } - destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; - if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util2.destroy(socket, err); - } - } - }; - function errorRequest(client, request, err) { - try { - request.onError(err); - assert(request.aborted); - } catch (err2) { - client.emit("error", err2); - } - } - module2.exports = Client; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/node/fixed-queue.js -var require_fixed_queue = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; - var FixedCircularBuffer = class { - constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; - } - isEmpty() { - return this.top === this.bottom; - } - isFull() { - return (this.top + 1 & kMask) === this.bottom; - } - push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; - } - shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; - module2.exports = class FixedQueue { - constructor() { - this.head = this.tail = new FixedCircularBuffer(); - } - isEmpty() { - return this.head.isEmpty(); - } - push(data) { - if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); - } - this.head.push(data); - } - shift() { - const tail = this.tail; - const next = tail.shift(); - if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; - } - return next; - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/pool-stats.js -var require_pool_stats = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/pool-stats.js"(exports2, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = Symbol("pool"); - var PoolStats = class { - constructor(pool) { - this[kPool] = pool; - } - get connected() { - return this[kPool][kConnected]; - } - get free() { - return this[kPool][kFree]; - } - get pending() { - return this[kPool][kPending]; - } - get queued() { - return this[kPool][kQueued]; - } - get running() { - return this[kPool][kRunning]; - } - get size() { - return this[kPool][kSize]; - } - }; - module2.exports = PoolStats; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/pool-base.js -var require_pool_base = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/pool-base.js"(exports2, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base(); - var FixedQueue = require_fixed_queue(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); - var PoolStats = require_pool_stats(); - var kClients = Symbol("clients"); - var kNeedDrain = Symbol("needDrain"); - var kQueue = Symbol("queue"); - var kClosedResolve = Symbol("closed resolve"); - var kOnDrain = Symbol("onDrain"); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kGetDispatcher = Symbol("get dispatcher"); - var kAddClient = Symbol("add client"); - var kRemoveClient = Symbol("remove client"); - var kStats = Symbol("stats"); - var PoolBase = class extends DispatcherBase { - constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; - this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; - while (!needDrain) { - const item = queue.shift(); - if (!item) { - break; - } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); - } - this[kNeedDrain] = needDrain; - if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); - } - if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]); - } - }; - this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); - } - get [kBusy]() { - return this[kNeedDrain]; - } - get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; - } - get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; - } - get [kPending]() { - let ret = this[kQueued]; - for (const { [kPending]: pending } of this[kClients]) { - ret += pending; - } - return ret; - } - get [kRunning]() { - let ret = 0; - for (const { [kRunning]: running } of this[kClients]) { - ret += running; - } - return ret; - } - get [kSize]() { - let ret = this[kQueued]; - for (const { [kSize]: size } of this[kClients]) { - ret += size; - } - return ret; - } - get stats() { - return this[kStats]; - } - async [kClose]() { - if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c) => c.close())); - } else { - return new Promise((resolve) => { - this[kClosedResolve] = resolve; - }); - } - } - async [kDestroy](err) { - while (true) { - const item = this[kQueue].shift(); - if (!item) { - break; - } - item.handler.onError(err); - } - return Promise.all(this[kClients].map((c) => c.destroy(err))); - } - [kDispatch](opts, handler) { - const dispatcher = this[kGetDispatcher](); - if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler }); - this[kQueued]++; - } else if (!dispatcher.dispatch(opts, handler)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); - } - return !this[kNeedDrain]; - } - [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); - if (this[kNeedDrain]) { - process.nextTick(() => { - if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); - } - }); - } - return this; - } - [kRemoveClient](client) { - client.close(() => { - const idx = this[kClients].indexOf(client); - if (idx !== -1) { - this[kClients].splice(idx, 1); - } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); - } - }; - module2.exports = { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/pool.js -var require_pool = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/pool.js"(exports2, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base(); - var Client = require_client(); - var { - InvalidArgumentError - } = require_errors(); - var util2 = require_util(); - var { kUrl, kInterceptors } = require_symbols(); - var buildConnector = require_connect(); - var kOptions = Symbol("options"); - var kConnections = Symbol("connections"); - var kFactory = Symbol("factory"); - function defaultFactory(origin, opts) { - return new Client(origin, opts); - } - var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (typeof connect !== "function") { - connect = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util2.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect - }); - } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; - this[kConnections] = connections || null; - this[kUrl] = util2.parseOrigin(origin); - this[kOptions] = { ...util2.deepClone(options), connect, allowH2 }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kFactory] = factory; - } - [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); - if (dispatcher) { - return dispatcher; - } - if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); - this[kAddClient](dispatcher); - } - return dispatcher; - } - }; - module2.exports = Pool; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/balanced-pool.js -var require_balanced_pool = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/balanced-pool.js"(exports2, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors(); - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - } = require_pool_base(); - var Pool = require_pool(); - var { kUrl, kInterceptors } = require_symbols(); - var { parseOrigin } = require_util(); - var kFactory = Symbol("factory"); - var kOptions = Symbol("options"); - var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = Symbol("kCurrentWeight"); - var kIndex = Symbol("kIndex"); - var kWeight = Symbol("kWeight"); - var kMaxWeightPerServer = Symbol("kMaxWeightPerServer"); - var kErrorPenalty = Symbol("kErrorPenalty"); - function getGreatestCommonDivisor(a, b) { - if (b === 0) - return a; - return getGreatestCommonDivisor(b, a % b); - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var BalancedPool = class extends PoolBase { - constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { - super(); - this[kOptions] = opts; - this[kIndex] = -1; - this[kCurrentWeight] = 0; - this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; - this[kErrorPenalty] = this[kOptions].errorPenalty || 15; - if (!Array.isArray(upstreams)) { - upstreams = [upstreams]; - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; - this[kFactory] = factory; - for (const upstream of upstreams) { - this.addUpstream(upstream); - } - this._updateBalancedPoolStats(); - } - addUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { - return this; - } - const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); - this[kAddClient](pool); - pool.on("connect", () => { - pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); - }); - pool.on("connectionError", () => { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - }); - pool.on("disconnect", (...args) => { - const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - } - }); - for (const client of this[kClients]) { - client[kWeight] = this[kMaxWeightPerServer]; - } - this._updateBalancedPoolStats(); - return this; - } - _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p) => p[kWeight]).reduce(getGreatestCommonDivisor, 0); - } - removeUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); - if (pool) { - this[kRemoveClient](pool); - } - return this; - } - get upstreams() { - return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p) => p[kUrl].origin); - } - [kGetDispatcher]() { - if (this[kClients].length === 0) { - throw new BalancedPoolMissingUpstreamError(); - } - const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); - if (!dispatcher) { - return; - } - const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a, b) => a && b, true); - if (allClientsBusy) { - return; - } - let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); - while (counter++ < this[kClients].length) { - this[kIndex] = (this[kIndex] + 1) % this[kClients].length; - const pool = this[kClients][this[kIndex]]; - if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { - maxWeightIndex = this[kIndex]; - } - if (this[kIndex] === 0) { - this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; - if (this[kCurrentWeight] <= 0) { - this[kCurrentWeight] = this[kMaxWeightPerServer]; - } - } - if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { - return pool; - } - } - this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; - this[kIndex] = maxWeightIndex; - return this[kClients][maxWeightIndex]; - } - }; - module2.exports = BalancedPool; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/compat/dispatcher-weakref.js -var require_dispatcher_weakref = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols(); - var CompatWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; - } - }; - var CompatFinalizer = class { - constructor(finalizer) { - this.finalizer = finalizer; - } - register(dispatcher, key) { - if (dispatcher.on) { - dispatcher.on("disconnect", () => { - if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); - } - }); - } - } - }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE) { - return { - WeakRef: CompatWeakRef, - FinalizationRegistry: CompatFinalizer - }; - } - return { - WeakRef: global.WeakRef || CompatWeakRef, - FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/agent.js -var require_agent = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/agent.js"(exports2, module2) { - "use strict"; - var { InvalidArgumentError } = require_errors(); - var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); - var DispatcherBase = require_dispatcher_base(); - var Pool = require_pool(); - var Client = require_client(); - var util2 = require_util(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()(); - var kOnConnect = Symbol("onConnect"); - var kOnDisconnect = Symbol("onDisconnect"); - var kOnConnectionError = Symbol("onConnectionError"); - var kMaxRedirections = Symbol("maxRedirections"); - var kOnDrain = Symbol("onDrain"); - var kFactory = Symbol("factory"); - var kFinalizer = Symbol("finalizer"); - var kOptions = Symbol("options"); - function defaultFactory(origin, opts) { - return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); - } - var Agent = class extends DispatcherBase { - constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (connect && typeof connect !== "function") { - connect = { ...connect }; - } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util2.deepClone(options), connect }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kMaxRedirections] = maxRedirections; - this[kFactory] = factory; - this[kClients] = /* @__PURE__ */ new Map(); - this[kFinalizer] = new FinalizationRegistry( - /* istanbul ignore next: gc is undeterministic */ - (key) => { - const ref = this[kClients].get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); - } - } - ); - const agent = this; - this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); - }; - this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); - }; - } - get [kRunning]() { - let ret = 0; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - ret += client[kRunning]; - } - } - return ret; - } - [kDispatch](opts, handler) { - let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { - key = String(opts.origin); - } else { - throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); - } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; - if (!dispatcher) { - dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); - } - return dispatcher.dispatch(opts, handler); - } - async [kClose]() { - const closePromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - closePromises.push(client.close()); - } - } - await Promise.all(closePromises); - } - async [kDestroy](err) { - const destroyPromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - destroyPromises.push(client.destroy(err)); - } - } - await Promise.all(destroyPromises); - } - }; - module2.exports = Agent; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/readable.js -var require_readable = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/readable.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); - var util2 = require_util(); - var { ReadableStreamFrom, toUSVString } = require_util(); - var Blob2; - var kConsume = Symbol("kConsume"); - var kReading = Symbol("kReading"); - var kBody = Symbol("kBody"); - var kAbort = Symbol("abort"); - var kContentType = Symbol("kContentType"); - var noop = () => { - }; - module2.exports = class BodyReadable extends Readable { - constructor({ - resume, - abort, - contentType = "", - highWaterMark = 64 * 1024 - // Same as nodejs fs streams. - }) { - super({ - autoDestroy: true, - read: resume, - highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; - } - destroy(err) { - if (this.destroyed) { - return this; - } - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (err) { - this[kAbort](); - } - return super.destroy(err); - } - emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; - } - return super.emit(ev, ...args); - } - on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; - } - return super.on(ev, ...args); - } - addListener(ev, ...args) { - return this.on(ev, ...args); - } - off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; - } - return ret; - } - removeListener(ev, ...args) { - return this.off(ev, ...args); - } - push(chunk) { - if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; - } - return super.push(chunk); - } - // https://fetch.spec.whatwg.org/#dom-body-text - async text() { - return consume(this, "text"); - } - // https://fetch.spec.whatwg.org/#dom-body-json - async json() { - return consume(this, "json"); - } - // https://fetch.spec.whatwg.org/#dom-body-blob - async blob() { - return consume(this, "blob"); - } - // https://fetch.spec.whatwg.org/#dom-body-arraybuffer - async arrayBuffer() { - return consume(this, "arrayBuffer"); - } - // https://fetch.spec.whatwg.org/#dom-body-formdata - async formData() { - throw new NotSupportedError(); - } - // https://fetch.spec.whatwg.org/#dom-body-bodyused - get bodyUsed() { - return util2.isDisturbed(this); - } - // https://fetch.spec.whatwg.org/#dom-body-body - get body() { - if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); - if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); - } - } - return this[kBody]; - } - dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; - if (signal) { - try { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); - } - util2.throwIfAborted(signal); - } catch (err) { - return Promise.reject(err); - } - } - if (this.closed) { - return Promise.resolve(null); - } - return new Promise((resolve, reject) => { - const signalListenerCleanup = signal ? util2.addAbortListener(signal, () => { - this.destroy(); - }) : noop; - this.on("close", function() { - signalListenerCleanup(); - if (signal && signal.aborted) { - reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); - } else { - resolve(null); - } - }).on("error", noop).on("data", function(chunk) { - limit -= chunk.length; - if (limit <= 0) { - this.destroy(); - } - }).resume(); - }); - } - }; - function isLocked(self) { - return self[kBody] && self[kBody].locked === true || self[kConsume]; - } - function isUnusable(self) { - return util2.isDisturbed(self) || isLocked(self); - } - async function consume(stream, type) { - if (isUnusable(stream)) { - throw new TypeError("unusable"); - } - assert(!stream[kConsume]); - return new Promise((resolve, reject) => { - stream[kConsume] = { - type, - stream, - resolve, - reject, - length: 0, - body: [] - }; - stream.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); - } - }); - process.nextTick(consumeStart, stream[kConsume]); - }); - } - function consumeStart(consume2) { - if (consume2.body === null) { - return; - } - const { _readableState: state } = consume2.stream; - for (const chunk of state.buffer) { - consumePush(consume2, chunk); - } - if (state.endEmitted) { - consumeEnd(this[kConsume]); - } else { - consume2.stream.on("end", function() { - consumeEnd(this[kConsume]); - }); - } - consume2.stream.resume(); - while (consume2.stream.read() != null) { - } - } - function consumeEnd(consume2) { - const { type, body, resolve, stream, length } = consume2; - try { - if (type === "text") { - resolve(toUSVString(Buffer.concat(body))); - } else if (type === "json") { - resolve(JSON.parse(Buffer.concat(body))); - } else if (type === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; - for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; - } - resolve(dst.buffer); - } else if (type === "blob") { - if (!Blob2) { - Blob2 = require("buffer").Blob; - } - resolve(new Blob2(body, { type: stream[kContentType] })); - } - consumeFinish(consume2); - } catch (err) { - stream.destroy(err); - } - } - function consumePush(consume2, chunk) { - consume2.length += chunk.length; - consume2.body.push(chunk); - } - function consumeFinish(consume2, err) { - if (consume2.body === null) { - return; - } - if (err) { - consume2.reject(err); - } else { - consume2.resolve(); - } - consume2.type = null; - consume2.stream = null; - consume2.resolve = null; - consume2.reject = null; - consume2.length = 0; - consume2.body = null; - } - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/util.js -var require_util3 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/util.js"(exports2, module2) { - var assert = require("assert"); - var { - ResponseStatusCodeError - } = require_errors(); - var { toUSVString } = require_util(); - async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { - assert(body); - let chunks = []; - let limit = 0; - for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; - if (limit > 128 * 1024) { - chunks = null; - break; - } - } - if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - return; - } - try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - } - module2.exports = { getResolveErrorBodyCallback }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/abort-signal.js -var require_abort_signal = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { - var { addAbortListener } = require_util(); - var { RequestAbortedError } = require_errors(); - var kListener = Symbol("kListener"); - var kSignal = Symbol("kSignal"); - function abort(self) { - if (self.abort) { - self.abort(); - } else { - self.onError(new RequestAbortedError()); - } - } - function addSignal(self, signal) { - self[kSignal] = null; - self[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self); - return; - } - self[kSignal] = signal; - self[kListener] = () => { - abort(self); - }; - addAbortListener(self[kSignal], self[kListener]); - } - function removeSignal(self) { - if (!self[kSignal]) { - return; - } - if ("removeEventListener" in self[kSignal]) { - self[kSignal].removeEventListener("abort", self[kListener]); - } else { - self[kSignal].removeListener("abort", self[kListener]); - } - self[kSignal] = null; - self[kListener] = null; - } - module2.exports = { - addSignal, - removeSignal - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/api-request.js -var require_api_request = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/api-request.js"(exports2, module2) { - "use strict"; - var Readable = require_readable(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var RequestHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { - throw new InvalidArgumentError("invalid highWaterMark"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_REQUEST"); - } catch (err) { - if (util2.isStream(body)) { - util2.destroy(body.on("error", util2.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.res = null; - this.abort = null; - this.body = body; - this.trailers = {}; - this.context = null; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError; - this.highWaterMark = highWaterMark; - if (util2.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); - this.callback = null; - this.res = body; - if (callback !== null) { - if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body, contentType, statusCode, statusMessage, headers } - ); - } else { - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - trailers: this.trailers, - opaque, - body, - context - }); - } - } - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - util2.parseHeaders(trailers, this.trailers); - res.push(null); - } - onError(err) { - const { res, callback, body, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (res) { - this.res = null; - queueMicrotask(() => { - util2.destroy(res, err); - }); - } - if (body) { - this.body = null; - util2.destroy(body, err); - } - } - }; - function request(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - request.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - this.dispatch(opts, new RequestHandler(opts, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = request; - module2.exports.RequestHandler = RequestHandler; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/api-stream.js -var require_api_stream = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/api-stream.js"(exports2, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var StreamHandler = class extends AsyncResource { - constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_STREAM"); - } catch (err) { - if (util2.isStream(body)) { - util2.destroy(body.on("error", util2.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.factory = factory; - this.callback = callback; - this.res = null; - this.abort = null; - this.context = null; - this.trailers = null; - this.body = body; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError || false; - if (util2.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { factory, opaque, context, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - this.factory = null; - let res; - if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util2.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); - this.callback = null; - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); - } else { - if (factory === null) { - return; - } - res = this.runInAsyncScope(factory, null, { - statusCode, - headers, - opaque, - context - }); - if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { - throw new InvalidReturnValueError("expected Writable"); - } - finished(res, { readable: false }, (err) => { - const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; - this.res = null; - if (err || !res2.readable) { - util2.destroy(res2, err); - } - this.callback = null; - this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); - if (err) { - abort(); - } - }); - } - res.on("drain", resume); - this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; - return needDrain !== true; - } - onData(chunk) { - const { res } = this; - return res ? res.write(chunk) : true; - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - if (!res) { - return; - } - this.trailers = util2.parseHeaders(trailers); - res.end(); - } - onError(err) { - const { res, callback, opaque, body } = this; - removeSignal(this); - this.factory = null; - if (res) { - this.res = null; - util2.destroy(res, err); - } else if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (body) { - this.body = null; - util2.destroy(body, err); - } - } - }; - function stream(opts, factory, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - stream.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - this.dispatch(opts, new StreamHandler(opts, factory, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = stream; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/api-pipeline.js -var require_api_pipeline = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { - "use strict"; - var { - Readable, - Duplex, - PassThrough - } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util2 = require_util(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var kResume = Symbol("resume"); - var PipelineRequest = class extends Readable { - constructor() { - super({ autoDestroy: true }); - this[kResume] = null; - } - _read() { - const { [kResume]: resume } = this; - if (resume) { - this[kResume] = null; - resume(); - } - } - _destroy(err, callback) { - this._read(); - callback(err); - } - }; - var PipelineResponse = class extends Readable { - constructor(resume) { - super({ autoDestroy: true }); - this[kResume] = resume; - } - _read() { - this[kResume](); - } - _destroy(err, callback) { - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - callback(err); - } - }; - var PipelineHandler = class extends AsyncResource { - constructor(opts, handler) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof handler !== "function") { - throw new InvalidArgumentError("invalid handler"); - } - const { signal, method, opaque, onInfo, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_PIPELINE"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.handler = handler; - this.abort = null; - this.context = null; - this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util2.nop); - this.ret = new Duplex({ - readableObjectMode: opts.objectMode, - autoDestroy: true, - read: () => { - const { body } = this; - if (body && body.resume) { - body.resume(); - } - }, - write: (chunk, encoding, callback) => { - const { req } = this; - if (req.push(chunk, encoding) || req._readableState.destroyed) { - callback(); - } else { - req[kResume] = callback; - } - }, - destroy: (err, callback) => { - const { body, req, res, ret, abort } = this; - if (!err && !ret._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (abort && err) { - abort(); - } - util2.destroy(body, err); - util2.destroy(req, err); - util2.destroy(res, err); - removeSignal(this); - callback(err); - } - }).on("prefinish", () => { - const { req } = this; - req.push(null); - }); - this.res = null; - addSignal(this, signal); - } - onConnect(abort, context) { - const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); - if (ret.destroyed) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume) { - const { opaque, handler, context } = this; - if (statusCode < 200) { - if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - this.onInfo({ statusCode, headers }); - } - return; - } - this.res = new PipelineResponse(resume); - let body; - try { - this.handler = null; - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - body = this.runInAsyncScope(handler, null, { - statusCode, - headers, - opaque, - body: this.res, - context - }); - } catch (err) { - this.res.on("error", util2.nop); - throw err; - } - if (!body || typeof body.on !== "function") { - throw new InvalidReturnValueError("expected Readable"); - } - body.on("data", (chunk) => { - const { ret, body: body2 } = this; - if (!ret.push(chunk) && body2.pause) { - body2.pause(); - } - }).on("error", (err) => { - const { ret } = this; - util2.destroy(ret, err); - }).on("end", () => { - const { ret } = this; - ret.push(null); - }).on("close", () => { - const { ret } = this; - if (!ret._readableState.ended) { - util2.destroy(ret, new RequestAbortedError()); - } - }); - this.body = body; - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - res.push(null); - } - onError(err) { - const { ret } = this; - this.handler = null; - util2.destroy(ret, err); - } - }; - function pipeline(opts, handler) { - try { - const pipelineHandler = new PipelineHandler(opts, handler); - this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); - return pipelineHandler.ret; - } catch (err) { - return new PassThrough().destroy(err); - } - } - module2.exports = pipeline; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/api-upgrade.js -var require_api_upgrade = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { - "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var { AsyncResource } = require("async_hooks"); - var util2 = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var UpgradeHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_UPGRADE"); - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.abort = null; - this.context = null; - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = null; - } - onHeaders() { - throw new SocketError("bad upgrade", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - assert.strictEqual(statusCode, 101); - removeSignal(this); - this.callback = null; - const headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - this.runInAsyncScope(callback, null, null, { - headers, - socket, - opaque, - context - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function upgrade(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = upgrade; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/api-connect.js -var require_api_connect = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/api-connect.js"(exports2, module2) { - "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var util2 = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var ConnectHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_CONNECT"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.callback = callback; - this.abort = null; - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders() { - throw new SocketError("bad connect", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - removeSignal(this); - this.callback = null; - let headers = rawHeaders; - if (headers != null) { - headers = this.responseHeaders === "raw" ? util2.parseRawHeaders(rawHeaders) : util2.parseHeaders(rawHeaders); - } - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - socket, - opaque, - context - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function connect(opts, callback) { - if (callback === void 0) { - return new Promise((resolve, reject) => { - connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve(data); - }); - }); - } - try { - const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = connect; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/api/index.js -var require_api = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/api/index.js"(exports2, module2) { - "use strict"; - module2.exports.request = require_api_request(); - module2.exports.stream = require_api_stream(); - module2.exports.pipeline = require_api_pipeline(); - module2.exports.upgrade = require_api_upgrade(); - module2.exports.connect = require_api_connect(); - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-errors.js -var require_mock_errors = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { - "use strict"; - var { UndiciError } = require_errors(); - var MockNotMatchedError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, MockNotMatchedError); - this.name = "MockNotMatchedError"; - this.message = message || "The request does not match any registered mock dispatches"; - this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; - } - }; - module2.exports = { - MockNotMatchedError - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-symbols.js -var require_mock_symbols = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kAgent: Symbol("agent"), - kOptions: Symbol("options"), - kFactory: Symbol("factory"), - kDispatches: Symbol("dispatches"), - kDispatchKey: Symbol("dispatch key"), - kDefaultHeaders: Symbol("default headers"), - kDefaultTrailers: Symbol("default trailers"), - kContentLength: Symbol("content length"), - kMockAgent: Symbol("mock agent"), - kMockAgentSet: Symbol("mock agent set"), - kMockAgentGet: Symbol("mock agent get"), - kMockDispatch: Symbol("mock dispatch"), - kClose: Symbol("close"), - kOriginalClose: Symbol("original agent close"), - kOrigin: Symbol("origin"), - kIsMockActive: Symbol("is mock active"), - kNetConnect: Symbol("net connect"), - kGetNetConnect: Symbol("get net connect"), - kConnected: Symbol("connected") - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-utils.js -var require_mock_utils = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { - "use strict"; - var { MockNotMatchedError } = require_mock_errors(); - var { - kDispatches, - kMockAgent, - kOriginalDispatch, - kOrigin, - kGetNetConnect - } = require_mock_symbols(); - var { buildURL, nop } = require_util(); - var { STATUS_CODES } = require("http"); - var { - types: { - isPromise - } - } = require("util"); - function matchValue(match, value) { - if (typeof match === "string") { - return match === value; - } - if (match instanceof RegExp) { - return match.test(value); - } - if (typeof match === "function") { - return match(value) === true; - } - return false; - } - function lowerCaseEntries(headers) { - return Object.fromEntries( - Object.entries(headers).map(([headerName, headerValue]) => { - return [headerName.toLocaleLowerCase(), headerValue]; - }) - ); - } - function getHeaderByName(headers, key) { - if (Array.isArray(headers)) { - for (let i = 0; i < headers.length; i += 2) { - if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) { - return headers[i + 1]; - } - } - return void 0; - } else if (typeof headers.get === "function") { - return headers.get(key); - } else { - return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; - } - } - function buildHeadersFromArray(headers) { - const clone = headers.slice(); - const entries = []; - for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); - } - return Object.fromEntries(entries); - } - function matchHeaders(mockDispatch2, headers) { - if (typeof mockDispatch2.headers === "function") { - if (Array.isArray(headers)) { - headers = buildHeadersFromArray(headers); - } - return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); - } - if (typeof mockDispatch2.headers === "undefined") { - return true; - } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { - return false; - } - for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { - const headerValue = getHeaderByName(headers, matchHeaderName); - if (!matchValue(matchHeaderValue, headerValue)) { - return false; - } - } - return true; - } - function safeUrl(path2) { - if (typeof path2 !== "string") { - return path2; - } - const pathSegments = path2.split("?"); - if (pathSegments.length !== 2) { - return path2; - } - const qp = new URLSearchParams(pathSegments.pop()); - qp.sort(); - return [...pathSegments, qp.toString()].join("?"); - } - function matchKey(mockDispatch2, { path: path2, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path2); - const methodMatch = matchValue(mockDispatch2.method, method); - const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; - const headersMatch = matchHeaders(mockDispatch2, headers); - return pathMatch && methodMatch && bodyMatch && headersMatch; - } - function getResponseData(data) { - if (Buffer.isBuffer(data)) { - return data; - } else if (typeof data === "object") { - return JSON.stringify(data); - } else { - return data.toString(); - } - } - function getMockDispatch(mockDispatches, key) { - const basePath = key.query ? buildURL(key.path, key.query) : key.path; - const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path2 }) => matchValue(safeUrl(path2), resolvedPath)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); - } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); - } - return matchedMockDispatches[0]; - } - function addMockDispatch(mockDispatches, key, data) { - const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; - const replyData = typeof data === "function" ? { callback: data } : { ...data }; - const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; - mockDispatches.push(newMockDispatch); - return newMockDispatch; - } - function deleteMockDispatch(mockDispatches, key) { - const index = mockDispatches.findIndex((dispatch) => { - if (!dispatch.consumed) { - return false; - } - return matchKey(dispatch, key); - }); - if (index !== -1) { - mockDispatches.splice(index, 1); - } - } - function buildKey(opts) { - const { path: path2, method, body, headers, query } = opts; - return { - path: path2, - method, - body, - headers, - query - }; - } - function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x) => Buffer.from(`${x}`)) : Buffer.from(`${value}`) - ], []); - } - function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; - } - async function getResponse(body) { - const buffers = []; - for await (const data of body) { - buffers.push(data); - } - return Buffer.concat(buffers).toString("utf8"); - } - function mockDispatch(opts, handler) { - const key = buildKey(opts); - const mockDispatch2 = getMockDispatch(this[kDispatches], key); - mockDispatch2.timesInvoked++; - if (mockDispatch2.data.callback) { - mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; - } - const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2; - const { timesInvoked, times } = mockDispatch2; - mockDispatch2.consumed = !persist && timesInvoked >= times; - mockDispatch2.pending = timesInvoked < times; - if (error !== null) { - deleteMockDispatch(this[kDispatches], key); - handler.onError(error); - return true; - } - if (typeof delay === "number" && delay > 0) { - setTimeout(() => { - handleReply(this[kDispatches]); - }, delay); - } else { - handleReply(this[kDispatches]); - } - function handleReply(mockDispatches, _data = data) { - const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; - const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; - if (isPromise(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); - return; - } - const responseData = getResponseData(body); - const responseHeaders = generateKeyValues(headers); - const responseTrailers = generateKeyValues(trailers); - handler.abort = nop; - handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler.onData(Buffer.from(responseData)); - handler.onComplete(responseTrailers); - deleteMockDispatch(mockDispatches, key); - } - function resume() { - } - return true; - } - function buildMockDispatch() { - const agent = this[kMockAgent]; - const origin = this[kOrigin]; - const originalDispatch = this[kOriginalDispatch]; - return function dispatch(opts, handler) { - if (agent.isMockActive) { - try { - mockDispatch.call(this, opts, handler); - } catch (error) { - if (error instanceof MockNotMatchedError) { - const netConnect = agent[kGetNetConnect](); - if (netConnect === false) { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); - } - if (checkNetConnect(netConnect, origin)) { - originalDispatch.call(this, opts, handler); - } else { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); - } - } else { - throw error; - } - } - } else { - originalDispatch.call(this, opts, handler); - } - }; - } - function checkNetConnect(netConnect, origin) { - const url = new URL(origin); - if (netConnect === true) { - return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) { - return true; - } - return false; - } - function buildMockOptions(opts) { - if (opts) { - const { agent, ...mockOptions } = opts; - return mockOptions; - } - } - module2.exports = { - getResponseData, - getMockDispatch, - addMockDispatch, - deleteMockDispatch, - buildKey, - generateKeyValues, - matchValue, - getResponse, - getStatusText, - mockDispatch, - buildMockDispatch, - checkNetConnect, - buildMockOptions, - getHeaderByName - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-interceptor.js -var require_mock_interceptor = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { - "use strict"; - var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); - var { - kDispatches, - kDispatchKey, - kDefaultHeaders, - kDefaultTrailers, - kContentLength, - kMockDispatch - } = require_mock_symbols(); - var { InvalidArgumentError } = require_errors(); - var { buildURL } = require_util(); - var MockScope = class { - constructor(mockDispatch) { - this[kMockDispatch] = mockDispatch; - } - /** - * Delay a reply by a set amount in ms. - */ - delay(waitInMs) { - if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { - throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); - } - this[kMockDispatch].delay = waitInMs; - return this; - } - /** - * For a defined reply, never mark as consumed. - */ - persist() { - this[kMockDispatch].persist = true; - return this; - } - /** - * Allow one to define a reply for a set amount of matching requests. - */ - times(repeatTimes) { - if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { - throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); - } - this[kMockDispatch].times = repeatTimes; - return this; - } - }; - var MockInterceptor = class { - constructor(opts, mockDispatches) { - if (typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object"); - } - if (typeof opts.path === "undefined") { - throw new InvalidArgumentError("opts.path must be defined"); - } - if (typeof opts.method === "undefined") { - opts.method = "GET"; - } - if (typeof opts.path === "string") { - if (opts.query) { - opts.path = buildURL(opts.path, opts.query); - } else { - const parsedURL = new URL(opts.path, "data://"); - opts.path = parsedURL.pathname + parsedURL.search; - } - } - if (typeof opts.method === "string") { - opts.method = opts.method.toUpperCase(); - } - this[kDispatchKey] = buildKey(opts); - this[kDispatches] = mockDispatches; - this[kDefaultHeaders] = {}; - this[kDefaultTrailers] = {}; - this[kContentLength] = false; - } - createMockScopeDispatchData(statusCode, data, responseOptions = {}) { - const responseData = getResponseData(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; - const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; - const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; - return { statusCode, data, headers, trailers }; - } - validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); - } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); - } - if (typeof responseOptions !== "object") { - throw new InvalidArgumentError("responseOptions must be an object"); - } - } - /** - * Mock an undici request with a defined reply. - */ - reply(replyData) { - if (typeof replyData === "function") { - const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { - throw new InvalidArgumentError("reply options callback must return an object"); - } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); - return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) - }; - }; - const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); - return new MockScope(newMockDispatch2); - } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); - return new MockScope(newMockDispatch); - } - /** - * Mock an undici request with a defined error. - */ - replyWithError(error) { - if (typeof error === "undefined") { - throw new InvalidArgumentError("error must be defined"); - } - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); - return new MockScope(newMockDispatch); - } - /** - * Set default reply headers on the interceptor for subsequent replies - */ - defaultReplyHeaders(headers) { - if (typeof headers === "undefined") { - throw new InvalidArgumentError("headers must be defined"); - } - this[kDefaultHeaders] = headers; - return this; - } - /** - * Set default reply trailers on the interceptor for subsequent replies - */ - defaultReplyTrailers(trailers) { - if (typeof trailers === "undefined") { - throw new InvalidArgumentError("trailers must be defined"); - } - this[kDefaultTrailers] = trailers; - return this; - } - /** - * Set reply content length header for replies on the interceptor - */ - replyContentLength() { - this[kContentLength] = true; - return this; - } - }; - module2.exports.MockInterceptor = MockInterceptor; - module2.exports.MockScope = MockScope; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-client.js -var require_mock_client = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { - "use strict"; - var { promisify } = require("util"); - var Client = require_client(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockClient = class extends Client { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - /** - * Sets up the base interceptor for mocking replies from undici. - */ - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockClient; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-pool.js -var require_mock_pool = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { - "use strict"; - var { promisify } = require("util"); - var Pool = require_pool(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockPool = class extends Pool { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - /** - * Sets up the base interceptor for mocking replies from undici. - */ - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockPool; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/pluralizer.js -var require_pluralizer = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { - "use strict"; - var singulars = { - pronoun: "it", - is: "is", - was: "was", - this: "this" - }; - var plurals = { - pronoun: "they", - is: "are", - was: "were", - this: "these" - }; - module2.exports = class Pluralizer { - constructor(singular, plural) { - this.singular = singular; - this.plural = plural; - } - pluralize(count) { - const one = count === 1; - const keys = one ? singulars : plurals; - const noun = one ? this.singular : this.plural; - return { ...keys, count, noun }; - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js -var require_pending_interceptors_formatter = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); - module2.exports = class PendingInterceptorsFormatter { - constructor({ disableColors } = {}) { - this.transform = new Transform({ - transform(chunk, _enc, cb) { - cb(null, chunk); - } - }); - this.logger = new Console({ - stdout: this.transform, - inspectOptions: { - colors: !disableColors && !process.env.CI - } - }); - } - format(pendingInterceptors) { - const withPrettyHeaders = pendingInterceptors.map( - ({ method, path: path2, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ - Method: method, - Origin: origin, - Path: path2, - "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", - Invocations: timesInvoked, - Remaining: persist ? Infinity : times - timesInvoked - }) - ); - this.logger.table(withPrettyHeaders); - return this.transform.read().toString(); - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/mock/mock-agent.js -var require_mock_agent = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { - "use strict"; - var { kClients } = require_symbols(); - var Agent = require_agent(); - var { - kAgent, - kMockAgentSet, - kMockAgentGet, - kDispatches, - kIsMockActive, - kNetConnect, - kGetNetConnect, - kOptions, - kFactory - } = require_mock_symbols(); - var MockClient = require_mock_client(); - var MockPool = require_mock_pool(); - var { matchValue, buildMockOptions } = require_mock_utils(); - var { InvalidArgumentError, UndiciError } = require_errors(); - var Dispatcher = require_dispatcher(); - var Pluralizer = require_pluralizer(); - var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); - var FakeWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value; - } - }; - var MockAgent = class extends Dispatcher { - constructor(opts) { - super(opts); - this[kNetConnect] = true; - this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); - this[kAgent] = agent; - this[kClients] = agent[kClients]; - this[kOptions] = buildMockOptions(opts); - } - get(origin) { - let dispatcher = this[kMockAgentGet](origin); - if (!dispatcher) { - dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - } - return dispatcher; - } - dispatch(opts, handler) { - this.get(opts.origin); - return this[kAgent].dispatch(opts, handler); - } - async close() { - await this[kAgent].close(); - this[kClients].clear(); - } - deactivate() { - this[kIsMockActive] = false; - } - activate() { - this[kIsMockActive] = true; - } - enableNetConnect(matcher) { - if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { - if (Array.isArray(this[kNetConnect])) { - this[kNetConnect].push(matcher); - } else { - this[kNetConnect] = [matcher]; - } - } else if (typeof matcher === "undefined") { - this[kNetConnect] = true; - } else { - throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); - } - } - disableNetConnect() { - this[kNetConnect] = false; - } - // This is required to bypass issues caused by using global symbols - see: - // https://github.com/nodejs/undici/issues/1447 - get isMockActive() { - return this[kIsMockActive]; - } - [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); - } - [kFactory](origin) { - const mockOptions = Object.assign({ agent: this }, this[kOptions]); - return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); - } - [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); - if (ref) { - return ref.deref(); - } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); - this[kMockAgentSet](origin, dispatcher); - return dispatcher; - } - for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { - const dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; - return dispatcher; - } - } - } - [kGetNetConnect]() { - return this[kNetConnect]; - } - pendingInterceptors() { - const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); - } - assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { - const pending = this.pendingInterceptors(); - if (pending.length === 0) { - return; - } - const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); - throw new UndiciError(` -${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: - -${pendingInterceptorsFormatter.format(pending)} -`.trim()); - } - }; - module2.exports = MockAgent; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/proxy-agent.js -var require_proxy_agent = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/proxy-agent.js"(exports2, module2) { - "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); - var { URL: URL2 } = require("url"); - var Agent = require_agent(); - var Pool = require_pool(); - var DispatcherBase = require_dispatcher_base(); - var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var buildConnector = require_connect(); - var kAgent = Symbol("proxy agent"); - var kClient = Symbol("proxy client"); - var kProxyHeaders = Symbol("proxy headers"); - var kRequestTls = Symbol("request tls settings"); - var kProxyTls = Symbol("proxy tls settings"); - var kConnectEndpoint = Symbol("connect endpoint function"); - function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; - } - function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - return { - uri: opts.uri, - protocol: opts.protocol || "https" - }; - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var ProxyAgent = class extends DispatcherBase { - constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); - } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; - const resolvedUrl = new URL2(opts.uri); - const { origin, port, host, username, password } = resolvedUrl; - if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); - } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; - } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; - } else if (username && password) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; - } - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); - this[kAgent] = new Agent({ - ...opts, - connect: async (opts2, callback) => { - let requestedHost = opts2.host; - if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; - } - try { - const { socket, statusCode } = await this[kClient].connect({ - origin, - port, - path: requestedHost, - signal: opts2.signal, - headers: { - ...this[kProxyHeaders], - host - } - }); - if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); - } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; - } - let servername; - if (this[kRequestTls]) { - servername = this[kRequestTls].servername; - } else { - servername = opts2.servername; - } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); - } catch (err) { - callback(err); - } - } - }); - } - dispatch(opts, handler) { - const { host } = new URL2(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); - return this[kAgent].dispatch( - { - ...opts, - headers: { - ...headers, - host - } - }, - handler - ); - } - async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); - } - async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); - } - }; - function buildHeaders(headers) { - if (Array.isArray(headers)) { - const headersPair = {}; - for (let i = 0; i < headers.length; i += 2) { - headersPair[headers[i]] = headers[i + 1]; - } - return headersPair; - } - return headers; - } - function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); - if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); - } - } - module2.exports = ProxyAgent; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/handler/RetryHandler.js -var require_RetryHandler = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) { - var assert = require("assert"); - var { kRetryHandlerDefaultRetry } = require_symbols(); - var { RequestRetryError } = require_errors(); - var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); - function calculateRetryAfterHeader(retryAfter) { - const current = Date.now(); - const diff = new Date(retryAfter).getTime() - current; - return diff; - } - var RetryHandler = class { - constructor(opts, handlers) { - const { retryOptions, ...dispatchOpts } = opts; - const { - // Retry scoped - retry: retryFn, - maxRetries, - maxTimeout, - minTimeout, - timeoutFactor, - // Response scoped - methods, - errorCodes, - retryAfter, - statusCodes - } = retryOptions ?? {}; - this.dispatch = handlers.dispatch; - this.handler = handlers.handler; - this.opts = dispatchOpts; - this.abort = null; - this.aborted = false; - this.retryOpts = { - retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry], - retryAfter: retryAfter ?? true, - maxTimeout: maxTimeout ?? 30 * 1e3, - // 30s, - timeout: minTimeout ?? 500, - // .5s - timeoutFactor: timeoutFactor ?? 2, - maxRetries: maxRetries ?? 5, - // What errors we should retry - methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], - // Indicates which errors to retry - statusCodes: statusCodes ?? [500, 502, 503, 504, 429], - // List of errors to retry - errorCodes: errorCodes ?? [ - "ECONNRESET", - "ECONNREFUSED", - "ENOTFOUND", - "ENETDOWN", - "ENETUNREACH", - "EHOSTDOWN", - "EHOSTUNREACH", - "EPIPE" - ] - }; - this.retryCount = 0; - this.start = 0; - this.end = null; - this.etag = null; - this.resume = null; - this.handler.onConnect((reason) => { - this.aborted = true; - if (this.abort) { - this.abort(reason); - } else { - this.reason = reason; - } - }); - } - onRequestSent() { - if (this.handler.onRequestSent) { - this.handler.onRequestSent(); - } - } - onUpgrade(statusCode, headers, socket) { - if (this.handler.onUpgrade) { - this.handler.onUpgrade(statusCode, headers, socket); - } - } - onConnect(abort) { - if (this.aborted) { - abort(this.reason); - } else { - this.abort = abort; - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) - return this.handler.onBodySent(chunk); - } - static [kRetryHandlerDefaultRetry](err, { state, opts }, cb) { - const { statusCode, code, headers } = err; - const { method, retryOptions } = opts; - const { - maxRetries, - timeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; - let { counter, currentTimeout } = state; - currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; - if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { - cb(err); - return; - } - if (Array.isArray(methods) && !methods.includes(method)) { - cb(err); - return; - } - if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { - cb(err); - return; - } - if (counter > maxRetries) { - cb(err); - return; - } - let retryAfterHeader = headers != null && headers["retry-after"]; - if (retryAfterHeader) { - retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; - } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); - state.currentTimeout = retryTimeout; - setTimeout(() => cb(null), retryTimeout); - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = parseHeaders(rawHeaders); - this.retryCount += 1; - if (statusCode >= 300) { - this.abort( - new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.resume != null) { - this.resume = null; - if (statusCode !== 206) { - return true; - } - const contentRange = parseRangeHeader(headers["content-range"]); - if (!contentRange) { - this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.etag != null && this.etag !== headers.etag) { - this.abort( - new RequestRetryError("ETag mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - const { start, size, end = size } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); - this.resume = resume; - return true; - } - if (this.end == null) { - if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); - if (range == null) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const { start, size, end = size } = range; - assert( - start != null && Number.isFinite(start) && this.start !== start, - "content-range mismatch" - ); - assert(Number.isFinite(start)); - assert( - end != null && Number.isFinite(end) && this.end !== end, - "invalid content-length" - ); - this.start = start; - this.end = end; - } - if (this.end == null) { - const contentLength = headers["content-length"]; - this.end = contentLength != null ? Number(contentLength) : null; - } - assert(Number.isFinite(this.start)); - assert( - this.end == null || Number.isFinite(this.end), - "invalid content-length" - ); - this.resume = resume; - this.etag = headers.etag != null ? headers.etag : null; - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const err = new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }); - this.abort(err); - return false; - } - onData(chunk) { - this.start += chunk.length; - return this.handler.onData(chunk); - } - onComplete(rawTrailers) { - this.retryCount = 0; - return this.handler.onComplete(rawTrailers); - } - onError(err) { - if (this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err); - } - this.retryOpts.retry( - err, - { - state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, - opts: { retryOptions: this.retryOpts, ...this.opts } - }, - onRetry.bind(this) - ); - function onRetry(err2) { - if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err2); - } - if (this.start !== 0) { - this.opts = { - ...this.opts, - headers: { - ...this.opts.headers, - range: `bytes=${this.start}-${this.end ?? ""}` - } - }; - } - try { - this.dispatch(this.opts, this); - } catch (err3) { - this.handler.onError(err3); - } - } - } - }; - module2.exports = RetryHandler; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/global.js -var require_global2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/global.js"(exports2, module2) { - "use strict"; - var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors(); - var Agent = require_agent(); - if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); - } - function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); - } - Object.defineProperty(globalThis, globalDispatcher, { - value: agent, - writable: true, - enumerable: false, - configurable: false - }); - } - function getGlobalDispatcher() { - return globalThis[globalDispatcher]; - } - module2.exports = { - setGlobalDispatcher, - getGlobalDispatcher - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/handler/DecoratorHandler.js -var require_DecoratorHandler = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) { - "use strict"; - module2.exports = class DecoratorHandler { - constructor(handler) { - this.handler = handler; - } - onConnect(...args) { - return this.handler.onConnect(...args); - } - onError(...args) { - return this.handler.onError(...args); - } - onUpgrade(...args) { - return this.handler.onUpgrade(...args); - } - onHeaders(...args) { - return this.handler.onHeaders(...args); - } - onData(...args) { - return this.handler.onData(...args); - } - onComplete(...args) { - return this.handler.onComplete(...args); - } - onBodySent(...args) { - return this.handler.onBodySent(...args); - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/headers.js -var require_headers = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/headers.js"(exports2, module2) { - "use strict"; - var { kHeadersList, kConstruct } = require_symbols(); - var { kGuard } = require_symbols2(); - var { kEnumerableProperty } = require_util(); - var { - makeIterator, - isValidHeaderName, - isValidHeaderValue - } = require_util2(); - var { webidl } = require_webidl(); - var assert = require("assert"); - var kHeadersMap = Symbol("headers map"); - var kHeadersSortedMap = Symbol("headers map sorted"); - function isHTTPWhiteSpaceCharCode(code) { - return code === 10 || code === 13 || code === 9 || code === 32; - } - function headerValueNormalize(potentialValue) { - let i = 0; - let j = potentialValue.length; - while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j - 1))) - --j; - while (j > i && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i))) - ++i; - return i === 0 && j === potentialValue.length ? potentialValue : potentialValue.substring(i, j); - } - function fill(headers, object) { - if (Array.isArray(object)) { - for (let i = 0; i < object.length; ++i) { - const header = object[i]; - if (header.length !== 2) { - throw webidl.errors.exception({ - header: "Headers constructor", - message: `expected name/value pair to be length 2, found ${header.length}.` - }); - } - appendHeader(headers, header[0], header[1]); - } - } else if (typeof object === "object" && object !== null) { - const keys = Object.keys(object); - for (let i = 0; i < keys.length; ++i) { - appendHeader(headers, keys[i], object[keys[i]]); - } - } else { - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] - }); - } - } - function appendHeader(headers, name, value) { - value = headerValueNormalize(value); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value, - type: "header value" - }); - } - if (headers[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (headers[kGuard] === "request-no-cors") { - } - return headers[kHeadersList].append(name, value); - } - var HeadersList = class { - /** @type {[string, string][]|null} */ - cookies = null; - constructor(init) { - if (init instanceof HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies === null ? null : [...init.cookies]; - } else { - this[kHeadersMap] = new Map(init); - this[kHeadersSortedMap] = null; - } - } - // https://fetch.spec.whatwg.org/#header-list-contains - contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); - } - clear() { - this[kHeadersMap].clear(); - this[kHeadersSortedMap] = null; - this.cookies = null; - } - // https://fetch.spec.whatwg.org/#concept-header-list-append - append(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - const exists = this[kHeadersMap].get(lowercaseName); - if (exists) { - const delimiter = lowercaseName === "cookie" ? "; " : ", "; - this[kHeadersMap].set(lowercaseName, { - name: exists.name, - value: `${exists.value}${delimiter}${value}` - }); - } else { - this[kHeadersMap].set(lowercaseName, { name, value }); - } - if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); - } - } - // https://fetch.spec.whatwg.org/#concept-header-list-set - set(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - if (lowercaseName === "set-cookie") { - this.cookies = [value]; - } - this[kHeadersMap].set(lowercaseName, { name, value }); - } - // https://fetch.spec.whatwg.org/#concept-header-list-delete - delete(name) { - this[kHeadersSortedMap] = null; - name = name.toLowerCase(); - if (name === "set-cookie") { - this.cookies = null; - } - this[kHeadersMap].delete(name); - } - // https://fetch.spec.whatwg.org/#concept-header-list-get - get(name) { - const value = this[kHeadersMap].get(name.toLowerCase()); - return value === void 0 ? null : value.value; - } - *[Symbol.iterator]() { - for (const [name, { value }] of this[kHeadersMap]) { - yield [name, value]; - } - } - get entries() { - const headers = {}; - if (this[kHeadersMap].size) { - for (const { name, value } of this[kHeadersMap].values()) { - headers[name] = value; - } - } - return headers; - } - }; - var Headers = class { - constructor(init = void 0) { - if (init === kConstruct) { - return; - } - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; - if (init !== void 0) { - init = webidl.converters.HeadersInit(init); - fill(this, init); - } - } - // https://fetch.spec.whatwg.org/#dom-headers-append - append(name, value) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - return appendHeader(this, name, value); - } - // https://fetch.spec.whatwg.org/#dom-headers-delete - delete(name) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", - value: name, - type: "header name" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - if (!this[kHeadersList].contains(name)) { - return; - } - this[kHeadersList].delete(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-get - get(name) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.get", - value: name, - type: "header name" - }); - } - return this[kHeadersList].get(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-has - has(name) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.has", - value: name, - type: "header name" - }); - } - return this[kHeadersList].contains(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-set - set(name, value) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value, - type: "header value" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - this[kHeadersList].set(name, value); - } - // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie - getSetCookie() { - webidl.brandCheck(this, Headers); - const list = this[kHeadersList].cookies; - if (list) { - return [...list]; - } - return []; - } - // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine - get [kHeadersSortedMap]() { - if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; - } - const headers = []; - const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; - for (let i = 0; i < names.length; ++i) { - const [name, value] = names[i]; - if (name === "set-cookie") { - for (let j = 0; j < cookies.length; ++j) { - headers.push([name, cookies[j]]); - } - } else { - assert(value !== null); - headers.push([name, value]); - } - } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; - } - keys() { - webidl.brandCheck(this, Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); - } - values() { - webidl.brandCheck(this, Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); - } - entries() { - webidl.brandCheck(this, Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key+value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); - } - /** - * @param {(value: string, key: string, self: Headers) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - [Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, Headers); - return this[kHeadersList]; - } - }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; - Object.defineProperties(Headers.prototype, { - append: kEnumerableProperty, - delete: kEnumerableProperty, - get: kEnumerableProperty, - has: kEnumerableProperty, - set: kEnumerableProperty, - getSetCookie: kEnumerableProperty, - keys: kEnumerableProperty, - values: kEnumerableProperty, - entries: kEnumerableProperty, - forEach: kEnumerableProperty, - [Symbol.iterator]: { enumerable: false }, - [Symbol.toStringTag]: { - value: "Headers", - configurable: true - } - }); - webidl.converters.HeadersInit = function(V) { - if (webidl.util.Type(V) === "Object") { - if (V[Symbol.iterator]) { - return webidl.converters["sequence<sequence<ByteString>>"](V); - } - return webidl.converters["record<ByteString, ByteString>"](V); - } - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence<sequence<ByteString>>", "record<ByteString, ByteString>"] - }); - }; - module2.exports = { - fill, - Headers, - HeadersList - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/response.js -var require_response = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/response.js"(exports2, module2) { - "use strict"; - var { Headers, HeadersList, fill } = require_headers(); - var { extractBody, cloneBody, mixinBody } = require_body(); - var util2 = require_util(); - var { kEnumerableProperty } = util2; - var { - isValidReasonPhrase, - isCancelled, - isAborted, - isBlobLike, - serializeJavascriptValueToJSONString, - isErrorLike, - isomorphicEncode - } = require_util2(); - var { - redirectStatusSet, - nullBodyStatus, - DOMException: DOMException2 - } = require_constants2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { FormData } = require_formdata(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream = globalThis.ReadableStream || require("stream/web").ReadableStream; - var textEncoder = new TextEncoder("utf-8"); - var Response = class { - // Creates network error Response. - static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - return responseObject; - } - // https://fetch.spec.whatwg.org/#dom-response-json - static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); - if (init !== null) { - init = webidl.converters.ResponseInit(init); - } - const bytes = textEncoder.encode( - serializeJavascriptValueToJSONString(data) - ); - const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); - return responseObject; - } - // Creates a redirect Response that redirects to url with status status. - static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); - url = webidl.converters.USVString(url); - status = webidl.converters["unsigned short"](status); - let parsedURL; - try { - parsedURL = new URL(url, getGlobalOrigin()); - } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); - } - if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); - } - const responseObject = new Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - responseObject[kState].status = status; - const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); - return responseObject; - } - // https://fetch.spec.whatwg.org/#dom-response - constructor(body = null, init = {}) { - if (body !== null) { - body = webidl.converters.BodyInit(body); - } - init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; - this[kState] = makeResponse({}); - this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; - let bodyWithType = null; - if (body != null) { - const [extractedBody, type] = extractBody(body); - bodyWithType = { body: extractedBody, type }; - } - initializeResponse(this, init, bodyWithType); - } - // Returns response’s type, e.g., "cors". - get type() { - webidl.brandCheck(this, Response); - return this[kState].type; - } - // Returns response’s URL, if it has one; otherwise the empty string. - get url() { - webidl.brandCheck(this, Response); - const urlList = this[kState].urlList; - const url = urlList[urlList.length - 1] ?? null; - if (url === null) { - return ""; - } - return URLSerializer(url, true); - } - // Returns whether response was obtained through a redirect. - get redirected() { - webidl.brandCheck(this, Response); - return this[kState].urlList.length > 1; - } - // Returns response’s status. - get status() { - webidl.brandCheck(this, Response); - return this[kState].status; - } - // Returns whether response’s status is an ok status. - get ok() { - webidl.brandCheck(this, Response); - return this[kState].status >= 200 && this[kState].status <= 299; - } - // Returns response’s status message. - get statusText() { - webidl.brandCheck(this, Response); - return this[kState].statusText; - } - // Returns response’s headers as Headers. - get headers() { - webidl.brandCheck(this, Response); - return this[kHeaders]; - } - get body() { - webidl.brandCheck(this, Response); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, Response); - return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); - } - // Returns a clone of response. - clone() { - webidl.brandCheck(this, Response); - if (this.bodyUsed || this.body && this.body.locked) { - throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." - }); - } - const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; - } - }; - mixinBody(Response); - Object.defineProperties(Response.prototype, { - type: kEnumerableProperty, - url: kEnumerableProperty, - status: kEnumerableProperty, - ok: kEnumerableProperty, - redirected: kEnumerableProperty, - statusText: kEnumerableProperty, - headers: kEnumerableProperty, - clone: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Response", - configurable: true - } - }); - Object.defineProperties(Response, { - json: kEnumerableProperty, - redirect: kEnumerableProperty, - error: kEnumerableProperty - }); - function cloneResponse(response) { - if (response.internalResponse) { - return filterResponse( - cloneResponse(response.internalResponse), - response.type - ); - } - const newResponse = makeResponse({ ...response, body: null }); - if (response.body != null) { - newResponse.body = cloneBody(response.body); - } - return newResponse; - } - function makeResponse(init) { - return { - aborted: false, - rangeRequested: false, - timingAllowPassed: false, - requestIncludesCredentials: false, - type: "default", - status: 200, - timingInfo: null, - cacheState: "", - statusText: "", - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), - urlList: init.urlList ? [...init.urlList] : [] - }; - } - function makeNetworkError(reason) { - const isError = isErrorLike(reason); - return makeResponse({ - type: "error", - status: 0, - error: isError ? reason : new Error(reason ? String(reason) : reason), - aborted: reason && reason.name === "AbortError" - }); - } - function makeFilteredResponse(response, state) { - state = { - internalResponse: response, - ...state - }; - return new Proxy(response, { - get(target, p) { - return p in state ? state[p] : target[p]; - }, - set(target, p, value) { - assert(!(p in state)); - target[p] = value; - return true; - } - }); - } - function filterResponse(response, type) { - if (type === "basic") { - return makeFilteredResponse(response, { - type: "basic", - headersList: response.headersList - }); - } else if (type === "cors") { - return makeFilteredResponse(response, { - type: "cors", - headersList: response.headersList - }); - } else if (type === "opaque") { - return makeFilteredResponse(response, { - type: "opaque", - urlList: Object.freeze([]), - status: 0, - statusText: "", - body: null - }); - } else if (type === "opaqueredirect") { - return makeFilteredResponse(response, { - type: "opaqueredirect", - status: 0, - statusText: "", - headersList: [], - body: null - }); - } else { - assert(false); - } - } - function makeAppropriateNetworkError(fetchParams, err = null) { - assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); - } - function initializeResponse(response, init, body) { - if (init.status !== null && (init.status < 200 || init.status > 599)) { - throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); - } - if ("statusText" in init && init.statusText != null) { - if (!isValidReasonPhrase(String(init.statusText))) { - throw new TypeError("Invalid statusText"); - } - } - if ("status" in init && init.status != null) { - response[kState].status = init.status; - } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; - } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); - } - if (body) { - if (nullBodyStatus.includes(response.status)) { - throw webidl.errors.exception({ - header: "Response constructor", - message: "Invalid response status code " + response.status - }); - } - response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); - } - } - } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); - } - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (types.isArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) { - return webidl.converters.BufferSource(V); - } - if (util2.isFormDataLike(V)) { - return webidl.converters.FormData(V, { strict: false }); - } - if (V instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V); - } - return webidl.converters.DOMString(V); - }; - webidl.converters.BodyInit = function(V) { - if (V instanceof ReadableStream) { - return webidl.converters.ReadableStream(V); - } - if (V?.[Symbol.asyncIterator]) { - return V; - } - return webidl.converters.XMLHttpRequestBodyInit(V); - }; - webidl.converters.ResponseInit = webidl.dictionaryConverter([ - { - key: "status", - converter: webidl.converters["unsigned short"], - defaultValue: 200 - }, - { - key: "statusText", - converter: webidl.converters.ByteString, - defaultValue: "" - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - } - ]); - module2.exports = { - makeNetworkError, - makeResponse, - makeAppropriateNetworkError, - filterResponse, - Response, - cloneResponse - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/request.js -var require_request2 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/request.js"(exports2, module2) { - "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers(); - var { FinalizationRegistry } = require_dispatcher_weakref()(); - var util2 = require_util(); - var { - isValidHTTPToken, - sameOrigin, - normalizeMethod, - makePolicyContainer, - normalizeMethodRecord - } = require_util2(); - var { - forbiddenMethodsSet, - corsSafeListedMethodsSet, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - requestDuplex - } = require_constants2(); - var { kEnumerableProperty } = util2; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream = globalThis.TransformStream; - var kAbortController = Symbol("abortController"); - var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => { - signal.removeEventListener("abort", abort); - }); - var Request = class { - // https://fetch.spec.whatwg.org/#dom-request - constructor(input, init = {}) { - if (input === kConstruct) { - return; - } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); - this[kRealm] = { - settingsObject: { - baseUrl: getGlobalOrigin(), - get origin() { - return this.baseUrl?.origin; - }, - policyContainer: makePolicyContainer() - } - }; - let request = null; - let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; - let signal = null; - if (typeof input === "string") { - let parsedURL; - try { - parsedURL = new URL(input, baseUrl); - } catch (err) { - throw new TypeError("Failed to parse URL from " + input, { cause: err }); - } - if (parsedURL.username || parsedURL.password) { - throw new TypeError( - "Request cannot be constructed from a URL that includes credentials: " + input - ); - } - request = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; - } else { - assert(input instanceof Request); - request = input[kState]; - signal = input[kSignal]; - } - const origin = this[kRealm].settingsObject.origin; - let window = "client"; - if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { - window = request.window; - } - if (init.window != null) { - throw new TypeError(`'window' option '${window}' must be null`); - } - if ("window" in init) { - window = "no-window"; - } - request = makeRequest({ - // URL request’s URL. - // undici implementation note: this is set as the first item in request's urlList in makeRequest - // method request’s method. - method: request.method, - // header list A copy of request’s header list. - // undici implementation note: headersList is cloned in makeRequest - headersList: request.headersList, - // unsafe-request flag Set. - unsafeRequest: request.unsafeRequest, - // client This’s relevant settings object. - client: this[kRealm].settingsObject, - // window window. - window, - // priority request’s priority. - priority: request.priority, - // origin request’s origin. The propagation of the origin is only significant for navigation requests - // being handled by a service worker. In this scenario a request can have an origin that is different - // from the current client. - origin: request.origin, - // referrer request’s referrer. - referrer: request.referrer, - // referrer policy request’s referrer policy. - referrerPolicy: request.referrerPolicy, - // mode request’s mode. - mode: request.mode, - // credentials mode request’s credentials mode. - credentials: request.credentials, - // cache mode request’s cache mode. - cache: request.cache, - // redirect mode request’s redirect mode. - redirect: request.redirect, - // integrity metadata request’s integrity metadata. - integrity: request.integrity, - // keepalive request’s keepalive. - keepalive: request.keepalive, - // reload-navigation flag request’s reload-navigation flag. - reloadNavigation: request.reloadNavigation, - // history-navigation flag request’s history-navigation flag. - historyNavigation: request.historyNavigation, - // URL list A clone of request’s URL list. - urlList: [...request.urlList] - }); - const initHasKey = Object.keys(init).length !== 0; - if (initHasKey) { - if (request.mode === "navigate") { - request.mode = "same-origin"; - } - request.reloadNavigation = false; - request.historyNavigation = false; - request.origin = "client"; - request.referrer = "client"; - request.referrerPolicy = ""; - request.url = request.urlList[request.urlList.length - 1]; - request.urlList = [request.url]; - } - if (init.referrer !== void 0) { - const referrer = init.referrer; - if (referrer === "") { - request.referrer = "no-referrer"; - } else { - let parsedReferrer; - try { - parsedReferrer = new URL(referrer, baseUrl); - } catch (err) { - throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); - } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { - request.referrer = "client"; - } else { - request.referrer = parsedReferrer; - } - } - } - if (init.referrerPolicy !== void 0) { - request.referrerPolicy = init.referrerPolicy; - } - let mode; - if (init.mode !== void 0) { - mode = init.mode; - } else { - mode = fallbackMode; - } - if (mode === "navigate") { - throw webidl.errors.exception({ - header: "Request constructor", - message: "invalid request mode navigate." - }); - } - if (mode != null) { - request.mode = mode; - } - if (init.credentials !== void 0) { - request.credentials = init.credentials; - } - if (init.cache !== void 0) { - request.cache = init.cache; - } - if (request.cache === "only-if-cached" && request.mode !== "same-origin") { - throw new TypeError( - "'only-if-cached' can be set only with 'same-origin' mode" - ); - } - if (init.redirect !== void 0) { - request.redirect = init.redirect; - } - if (init.integrity != null) { - request.integrity = String(init.integrity); - } - if (init.keepalive !== void 0) { - request.keepalive = Boolean(init.keepalive); - } - if (init.method !== void 0) { - let method = init.method; - if (!isValidHTTPToken(method)) { - throw new TypeError(`'${method}' is not a valid HTTP method.`); - } - if (forbiddenMethodsSet.has(method.toUpperCase())) { - throw new TypeError(`'${method}' HTTP method is unsupported.`); - } - method = normalizeMethodRecord[method] ?? normalizeMethod(method); - request.method = method; - } - if (init.signal !== void 0) { - signal = init.signal; - } - this[kState] = request; - const ac = new AbortController(); - this[kSignal] = ac.signal; - this[kSignal][kRealm] = this[kRealm]; - if (signal != null) { - if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { - throw new TypeError( - "Failed to construct 'Request': member signal is not of type AbortSignal." - ); - } - if (signal.aborted) { - ac.abort(signal.reason); - } else { - this[kAbortController] = ac; - const acRef = new WeakRef(ac); - const abort = function() { - const ac2 = acRef.deref(); - if (ac2 !== void 0) { - ac2.abort(this.reason); - } - }; - try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); - } - } catch { - } - util2.addAbortListener(signal, abort); - requestFinalizer.register(ac, { signal, abort }); - } - } - this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kHeadersList] = request.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; - if (mode === "no-cors") { - if (!corsSafeListedMethodsSet.has(request.method)) { - throw new TypeError( - `'${request.method} is unsupported in no-cors mode.` - ); - } - this[kHeaders][kGuard] = "request-no-cors"; - } - if (initHasKey) { - const headersList = this[kHeaders][kHeadersList]; - const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); - headersList.clear(); - if (headers instanceof HeadersList) { - for (const [key, val] of headers) { - headersList.append(key, val); - } - headersList.cookies = headers.cookies; - } else { - fillHeaders(this[kHeaders], headers); - } - } - const inputBody = input instanceof Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); - } - let initBody = null; - if (init.body != null) { - const [extractedBody, contentType] = extractBody( - init.body, - request.keepalive - ); - initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { - this[kHeaders].append("content-type", contentType); - } - } - const inputOrInitBody = initBody ?? inputBody; - if (inputOrInitBody != null && inputOrInitBody.source == null) { - if (initBody != null && init.duplex == null) { - throw new TypeError("RequestInit: duplex option is required when sending a body."); - } - if (request.mode !== "same-origin" && request.mode !== "cors") { - throw new TypeError( - 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); - } - request.useCORSPreflightFlag = true; - } - let finalBody = inputOrInitBody; - if (initBody == null && inputBody != null) { - if (util2.isDisturbed(inputBody.stream) || inputBody.stream.locked) { - throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); - } - if (!TransformStream) { - TransformStream = require("stream/web").TransformStream; - } - const identityTransform = new TransformStream(); - inputBody.stream.pipeThrough(identityTransform); - finalBody = { - source: inputBody.source, - length: inputBody.length, - stream: identityTransform.readable - }; - } - this[kState].body = finalBody; - } - // Returns request’s HTTP method, which is "GET" by default. - get method() { - webidl.brandCheck(this, Request); - return this[kState].method; - } - // Returns the URL of request as a string. - get url() { - webidl.brandCheck(this, Request); - return URLSerializer(this[kState].url); - } - // Returns a Headers object consisting of the headers associated with request. - // Note that headers added in the network layer by the user agent will not - // be accounted for in this object, e.g., the "Host" header. - get headers() { - webidl.brandCheck(this, Request); - return this[kHeaders]; - } - // Returns the kind of resource requested by request, e.g., "document" - // or "script". - get destination() { - webidl.brandCheck(this, Request); - return this[kState].destination; - } - // Returns the referrer of request. Its value can be a same-origin URL if - // explicitly set in init, the empty string to indicate no referrer, and - // "about:client" when defaulting to the global’s default. This is used - // during fetching to determine the value of the `Referer` header of the - // request being made. - get referrer() { - webidl.brandCheck(this, Request); - if (this[kState].referrer === "no-referrer") { - return ""; - } - if (this[kState].referrer === "client") { - return "about:client"; - } - return this[kState].referrer.toString(); - } - // Returns the referrer policy associated with request. - // This is used during fetching to compute the value of the request’s - // referrer. - get referrerPolicy() { - webidl.brandCheck(this, Request); - return this[kState].referrerPolicy; - } - // Returns the mode associated with request, which is a string indicating - // whether the request will use CORS, or will be restricted to same-origin - // URLs. - get mode() { - webidl.brandCheck(this, Request); - return this[kState].mode; - } - // Returns the credentials mode associated with request, - // which is a string indicating whether credentials will be sent with the - // request always, never, or only when sent to a same-origin URL. - get credentials() { - return this[kState].credentials; - } - // Returns the cache mode associated with request, - // which is a string indicating how the request will - // interact with the browser’s cache when fetching. - get cache() { - webidl.brandCheck(this, Request); - return this[kState].cache; - } - // Returns the redirect mode associated with request, - // which is a string indicating how redirects for the - // request will be handled during fetching. A request - // will follow redirects by default. - get redirect() { - webidl.brandCheck(this, Request); - return this[kState].redirect; - } - // Returns request’s subresource integrity metadata, which is a - // cryptographic hash of the resource being fetched. Its value - // consists of multiple hashes separated by whitespace. [SRI] - get integrity() { - webidl.brandCheck(this, Request); - return this[kState].integrity; - } - // Returns a boolean indicating whether or not request can outlive the - // global in which it was created. - get keepalive() { - webidl.brandCheck(this, Request); - return this[kState].keepalive; - } - // Returns a boolean indicating whether or not request is for a reload - // navigation. - get isReloadNavigation() { - webidl.brandCheck(this, Request); - return this[kState].reloadNavigation; - } - // Returns a boolean indicating whether or not request is for a history - // navigation (a.k.a. back-foward navigation). - get isHistoryNavigation() { - webidl.brandCheck(this, Request); - return this[kState].historyNavigation; - } - // Returns the signal associated with request, which is an AbortSignal - // object indicating whether or not request has been aborted, and its - // abort event handler. - get signal() { - webidl.brandCheck(this, Request); - return this[kSignal]; - } - get body() { - webidl.brandCheck(this, Request); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, Request); - return !!this[kState].body && util2.isDisturbed(this[kState].body.stream); - } - get duplex() { - webidl.brandCheck(this, Request); - return "half"; - } - // Returns a clone of request. - clone() { - webidl.brandCheck(this, Request); - if (this.bodyUsed || this.body?.locked) { - throw new TypeError("unusable"); - } - const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new Request(kConstruct); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(kConstruct); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - const ac = new AbortController(); - if (this.signal.aborted) { - ac.abort(this.signal.reason); - } else { - util2.addAbortListener( - this.signal, - () => { - ac.abort(this.signal.reason); - } - ); - } - clonedRequestObject[kSignal] = ac.signal; - return clonedRequestObject; - } - }; - mixinBody(Request); - function makeRequest(init) { - const request = { - method: "GET", - localURLsOnly: false, - unsafeRequest: false, - body: null, - client: null, - reservedClient: null, - replacesClientId: "", - window: "client", - keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", - priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", - useCORSPreflightFlag: false, - credentials: "same-origin", - useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", - reloadNavigation: false, - historyNavigation: false, - userActivation: false, - taintedOrigin: false, - redirectCount: 0, - responseTainting: "basic", - preventNoCacheCacheControlHeaderModification: false, - done: false, - timingAllowFailed: false, - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() - }; - request.url = request.urlList[0]; - return request; - } - function cloneRequest(request) { - const newRequest = makeRequest({ ...request, body: null }); - if (request.body != null) { - newRequest.body = cloneBody(request.body); - } - return newRequest; - } - Object.defineProperties(Request.prototype, { - method: kEnumerableProperty, - url: kEnumerableProperty, - headers: kEnumerableProperty, - redirect: kEnumerableProperty, - clone: kEnumerableProperty, - signal: kEnumerableProperty, - duplex: kEnumerableProperty, - destination: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - isHistoryNavigation: kEnumerableProperty, - isReloadNavigation: kEnumerableProperty, - keepalive: kEnumerableProperty, - integrity: kEnumerableProperty, - cache: kEnumerableProperty, - credentials: kEnumerableProperty, - attribute: kEnumerableProperty, - referrerPolicy: kEnumerableProperty, - referrer: kEnumerableProperty, - mode: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Request", - configurable: true - } - }); - webidl.converters.Request = webidl.interfaceConverter( - Request - ); - webidl.converters.RequestInfo = function(V) { - if (typeof V === "string") { - return webidl.converters.USVString(V); - } - if (V instanceof Request) { - return webidl.converters.Request(V); - } - return webidl.converters.USVString(V); - }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); - webidl.converters.RequestInit = webidl.dictionaryConverter([ - { - key: "method", - converter: webidl.converters.ByteString - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - }, - { - key: "body", - converter: webidl.nullableConverter( - webidl.converters.BodyInit - ) - }, - { - key: "referrer", - converter: webidl.converters.USVString - }, - { - key: "referrerPolicy", - converter: webidl.converters.DOMString, - // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy - allowedValues: referrerPolicy - }, - { - key: "mode", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#concept-request-mode - allowedValues: requestMode - }, - { - key: "credentials", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestcredentials - allowedValues: requestCredentials - }, - { - key: "cache", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestcache - allowedValues: requestCache - }, - { - key: "redirect", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestredirect - allowedValues: requestRedirect - }, - { - key: "integrity", - converter: webidl.converters.DOMString - }, - { - key: "keepalive", - converter: webidl.converters.boolean - }, - { - key: "signal", - converter: webidl.nullableConverter( - (signal) => webidl.converters.AbortSignal( - signal, - { strict: false } - ) - ) - }, - { - key: "window", - converter: webidl.converters.any - }, - { - key: "duplex", - converter: webidl.converters.DOMString, - allowedValues: requestDuplex - } - ]); - module2.exports = { Request, makeRequest }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fetch/index.js -var require_fetch = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fetch/index.js"(exports2, module2) { - "use strict"; - var { - Response, - makeNetworkError, - makeAppropriateNetworkError, - filterResponse, - makeResponse - } = require_response(); - var { Headers } = require_headers(); - var { Request, makeRequest } = require_request2(); - var zlib = require("zlib"); - var { - bytesMatch, - makePolicyContainer, - clonePolicyContainer, - requestBadPort, - TAOCheck, - appendRequestOriginHeader, - responseLocationURL, - requestCurrentURL, - setRequestReferrerPolicyOnRedirect, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - createOpaqueTimingInfo, - appendFetchMetadata, - corsCheck, - crossOriginResourcePolicyCheck, - determineRequestsReferrer, - coarsenedSharedCurrentTime, - createDeferredPromise, - isBlobLike, - sameOrigin, - isCancelled, - isAborted, - isErrorLike, - fullyReadBody, - readableStreamClose, - isomorphicEncode, - urlIsLocal, - urlIsHttpHttpsScheme, - urlHasHttpsScheme - } = require_util2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var assert = require("assert"); - var { safelyExtractBody } = require_body(); - var { - redirectStatusSet, - nullBodyStatus, - safeMethodsSet, - requestBodyHeader, - subresourceSet, - DOMException: DOMException2 - } = require_constants2(); - var { kHeadersList } = require_symbols(); - var EE = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream } = require("stream/web"); - var { getGlobalDispatcher } = require_global2(); - var { webidl } = require_webidl(); - var { STATUS_CODES } = require("http"); - var GET_OR_HEAD = ["GET", "HEAD"]; - var resolveObjectURL; - var ReadableStream = globalThis.ReadableStream; - var Fetch = class extends EE { - constructor(dispatcher) { - super(); - this.dispatcher = dispatcher; - this.connection = null; - this.dump = false; - this.state = "ongoing"; - this.setMaxListeners(21); - } - terminate(reason) { - if (this.state !== "ongoing") { - return; - } - this.state = "terminated"; - this.connection?.destroy(reason); - this.emit("terminated", reason); - } - // https://fetch.spec.whatwg.org/#fetch-controller-abort - abort(error) { - if (this.state !== "ongoing") { - return; - } - this.state = "aborted"; - if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); - } - this.serializedAbortReason = error; - this.connection?.destroy(error); - this.emit("terminated", error); - } - }; - function fetch(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p = createDeferredPromise(); - let requestObject; - try { - requestObject = new Request(input, init); - } catch (e) { - p.reject(e); - return p.promise; - } - const request = requestObject[kState]; - if (requestObject.signal.aborted) { - abortFetch(p, request, null, requestObject.signal.reason); - return p.promise; - } - const globalObject = request.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request.serviceWorkers = "none"; - } - let responseObject = null; - const relevantRealm = null; - let locallyAborted = false; - let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - abortFetch(p, request, responseObject, requestObject.signal.reason); - } - ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); - const processResponse = (response) => { - if (locallyAborted) { - return Promise.resolve(); - } - if (response.aborted) { - abortFetch(p, request, responseObject, controller.serializedAbortReason); - return Promise.resolve(); - } - if (response.type === "error") { - p.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); - } - responseObject = new Response(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p.resolve(responseObject); - }; - controller = fetching({ - request, - processResponseEndOfBody: handleFetchDone, - processResponse, - dispatcher: init.dispatcher ?? getGlobalDispatcher() - // undici - }); - return p.promise; - } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { - return; - } - if (!response.urlList?.length) { - return; - } - const originalURL = response.urlList[0]; - let timingInfo = response.timingInfo; - let cacheState = response.cacheState; - if (!urlIsHttpHttpsScheme(originalURL)) { - return; - } - if (timingInfo === null) { - return; - } - if (!response.timingAllowPassed) { - timingInfo = createOpaqueTimingInfo({ - startTime: timingInfo.startTime - }); - cacheState = ""; - } - timingInfo.endTime = coarsenedSharedCurrentTime(); - response.timingInfo = timingInfo; - markResourceTiming( - timingInfo, - originalURL, - initiatorType, - globalThis, - cacheState - ); - } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); - } - } - function abortFetch(p, request, responseObject, error) { - if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); - } - p.reject(error); - if (request.body != null && isReadable(request.body?.stream)) { - request.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - if (responseObject == null) { - return; - } - const response = responseObject[kState]; - if (response.body != null && isReadable(response.body?.stream)) { - response.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - } - function fetching({ - request, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseEndOfBody, - processResponseConsumeBody, - useParallelQueue = false, - dispatcher - // undici - }) { - let taskDestination = null; - let crossOriginIsolatedCapability = false; - if (request.client != null) { - taskDestination = request.client.globalObject; - crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; - } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); - const timingInfo = createOpaqueTimingInfo({ - startTime: currenTime - }); - const fetchParams = { - controller: new Fetch(dispatcher), - request, - timingInfo, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseConsumeBody, - processResponseEndOfBody, - taskDestination, - crossOriginIsolatedCapability - }; - assert(!request.body || request.body.stream); - if (request.window === "client") { - request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; - } - if (request.origin === "client") { - request.origin = request.client?.origin; - } - if (request.policyContainer === "client") { - if (request.client != null) { - request.policyContainer = clonePolicyContainer( - request.client.policyContainer - ); - } else { - request.policyContainer = makePolicyContainer(); - } - } - if (!request.headersList.contains("accept")) { - const value = "*/*"; - request.headersList.append("accept", value); - } - if (!request.headersList.contains("accept-language")) { - request.headersList.append("accept-language", "*"); - } - if (request.priority === null) { - } - if (subresourceSet.has(request.destination)) { - } - mainFetch(fetchParams).catch((err) => { - fetchParams.controller.terminate(err); - }); - return fetchParams.controller; - } - async function mainFetch(fetchParams, recursive = false) { - const request = fetchParams.request; - let response = null; - if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { - response = makeNetworkError("local URLs only"); - } - tryUpgradeRequestToAPotentiallyTrustworthyURL(request); - if (requestBadPort(request) === "blocked") { - response = makeNetworkError("bad port"); - } - if (request.referrerPolicy === "") { - request.referrerPolicy = request.policyContainer.referrerPolicy; - } - if (request.referrer !== "no-referrer") { - request.referrer = determineRequestsReferrer(request); - } - if (response === null) { - response = await (async () => { - const currentURL = requestCurrentURL(request); - if ( - // - request’s current URL’s origin is same origin with request’s origin, - // and request’s response tainting is "basic" - sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data" - currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" - (request.mode === "navigate" || request.mode === "websocket") - ) { - request.responseTainting = "basic"; - return await schemeFetch(fetchParams); - } - if (request.mode === "same-origin") { - return makeNetworkError('request mode cannot be "same-origin"'); - } - if (request.mode === "no-cors") { - if (request.redirect !== "follow") { - return makeNetworkError( - 'redirect mode cannot be "follow" for "no-cors" request' - ); - } - request.responseTainting = "opaque"; - return await schemeFetch(fetchParams); - } - if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); - } - request.responseTainting = "cors"; - return await httpFetch(fetchParams); - })(); - } - if (recursive) { - return response; - } - if (response.status !== 0 && !response.internalResponse) { - if (request.responseTainting === "cors") { - } - if (request.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); - } else { - assert(false); - } - } - let internalResponse = response.status === 0 ? response : response.internalResponse; - if (internalResponse.urlList.length === 0) { - internalResponse.urlList.push(...request.urlList); - } - if (!request.timingAllowFailed) { - response.timingAllowPassed = true; - } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { - response = internalResponse = makeNetworkError(); - } - if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { - internalResponse.body = null; - fetchParams.controller.dump = true; - } - if (request.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request.responseTainting === "opaque" || response.body == null) { - processBodyError(response.error); - return; - } - const processBody = (bytes) => { - if (!bytesMatch(bytes, request.integrity)) { - processBodyError("integrity mismatch"); - return; - } - response.body = safelyExtractBody(bytes)[0]; - fetchFinale(fetchParams, response); - }; - await fullyReadBody(response.body, processBody, processBodyError); - } else { - fetchFinale(fetchParams, response); - } - } - function schemeFetch(fetchParams) { - if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { - return Promise.resolve(makeAppropriateNetworkError(fetchParams)); - } - const { request } = fetchParams; - const { protocol: scheme } = requestCurrentURL(request); - switch (scheme) { - case "about:": { - return Promise.resolve(makeNetworkError("about scheme is not supported")); - } - case "blob:": { - if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; - } - const blobURLEntry = requestCurrentURL(request); - if (blobURLEntry.search.length !== 0) { - return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); - } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) { - return Promise.resolve(makeNetworkError("invalid method")); - } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type = bodyWithType[1] ?? ""; - const response = makeResponse({ - statusText: "OK", - headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type }] - ] - }); - response.body = body; - return Promise.resolve(response); - } - case "data:": { - const currentURL = requestCurrentURL(request); - const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); - } - const mimeType = serializeAMimeType(dataURLStruct.mimeType); - return Promise.resolve(makeResponse({ - statusText: "OK", - headersList: [ - ["content-type", { name: "Content-Type", value: mimeType }] - ], - body: safelyExtractBody(dataURLStruct.body)[0] - })); - } - case "file:": { - return Promise.resolve(makeNetworkError("not implemented... yet...")); - } - case "http:": - case "https:": { - return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); - } - default: { - return Promise.resolve(makeNetworkError("unknown scheme")); - } - } - } - function finalizeResponse(fetchParams, response) { - fetchParams.request.done = true; - if (fetchParams.processResponseDone != null) { - queueMicrotask(() => fetchParams.processResponseDone(response)); - } - } - function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; - response.timingInfo = createOpaqueTimingInfo({ - startTime: fetchParams.timingInfo.startTime - }); - } - const processResponseEndOfBody = () => { - fetchParams.request.done = true; - if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); - } - }; - if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); - } - if (response.body == null) { - processResponseEndOfBody(); - } else { - const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream({ - start() { - }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; - } - }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; - } - if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); - if (response.body == null) { - queueMicrotask(() => processBody(null)); - } else { - return fullyReadBody(response.body, processBody, processBodyError); - } - return Promise.resolve(); - } - } - async function httpFetch(fetchParams) { - const request = fetchParams.request; - let response = null; - let actualResponse = null; - const timingInfo = fetchParams.timingInfo; - if (request.serviceWorkers === "all") { - } - if (response === null) { - if (request.redirect === "follow") { - request.serviceWorkers = "none"; - } - actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { - return makeNetworkError("cors failure"); - } - if (TAOCheck(request, response) === "failure") { - request.timingAllowFailed = true; - } - } - if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request.origin, - request.client, - request.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); - } - if (redirectStatusSet.has(actualResponse.status)) { - if (request.redirect !== "manual") { - fetchParams.controller.connection.destroy(); - } - if (request.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request.redirect === "manual") { - response = actualResponse; - } else if (request.redirect === "follow") { - response = await httpRedirectFetch(fetchParams, response); - } else { - assert(false); - } - } - response.timingInfo = timingInfo; - return response; - } - function httpRedirectFetch(fetchParams, response) { - const request = fetchParams.request; - const actualResponse = response.internalResponse ? response.internalResponse : response; - let locationURL; - try { - locationURL = responseLocationURL( - actualResponse, - requestCurrentURL(request).hash - ); - if (locationURL == null) { - return response; - } - } catch (err) { - return Promise.resolve(makeNetworkError(err)); - } - if (!urlIsHttpHttpsScheme(locationURL)) { - return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); - } - if (request.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); - } - request.redirectCount += 1; - if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { - return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); - } - if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); - } - if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { - return Promise.resolve(makeNetworkError()); - } - if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { - request.method = "GET"; - request.body = null; - for (const headerName of requestBodyHeader) { - request.headersList.delete(headerName); - } - } - if (!sameOrigin(requestCurrentURL(request), locationURL)) { - request.headersList.delete("authorization"); - request.headersList.delete("proxy-authorization", true); - request.headersList.delete("cookie"); - request.headersList.delete("host"); - } - if (request.body != null) { - assert(request.body.source != null); - request.body = safelyExtractBody(request.body.source)[0]; - } - const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); - if (timingInfo.redirectStartTime === 0) { - timingInfo.redirectStartTime = timingInfo.startTime; - } - request.urlList.push(locationURL); - setRequestReferrerPolicyOnRedirect(request, actualResponse); - return mainFetch(fetchParams, true); - } - async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { - const request = fetchParams.request; - let httpFetchParams = null; - let httpRequest = null; - let response = null; - const httpCache = null; - const revalidatingFlag = false; - if (request.window === "no-window" && request.redirect === "error") { - httpFetchParams = fetchParams; - httpRequest = request; - } else { - httpRequest = makeRequest(request); - httpFetchParams = { ...fetchParams }; - httpFetchParams.request = httpRequest; - } - const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; - const contentLength = httpRequest.body ? httpRequest.body.length : null; - let contentLengthHeaderValue = null; - if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { - contentLengthHeaderValue = "0"; - } - if (contentLength != null) { - contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); - } - if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); - } - if (contentLength != null && httpRequest.keepalive) { - } - if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); - } - appendRequestOriginHeader(httpRequest); - appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); - } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { - httpRequest.cache = "no-store"; - } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); - } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); - } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); - } - } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); - } - if (!httpRequest.headersList.contains("accept-encoding")) { - if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); - } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); - } - } - httpRequest.headersList.delete("host"); - if (includeCredentials) { - } - if (httpCache == null) { - httpRequest.cache = "no-store"; - } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { - } - if (response == null) { - if (httpRequest.mode === "only-if-cached") { - return makeNetworkError("only if cached"); - } - const forwardResponse = await httpNetworkFetch( - httpFetchParams, - includeCredentials, - isNewConnectionFetch - ); - if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { - } - if (revalidatingFlag && forwardResponse.status === 304) { - } - if (response == null) { - response = forwardResponse; - } - } - response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { - response.rangeRequested = true; - } - response.requestIncludesCredentials = includeCredentials; - if (response.status === 407) { - if (request.window === "no-window") { - return makeNetworkError(); - } - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - return makeNetworkError("proxy authentication required"); - } - if ( - // response’s status is 421 - response.status === 421 && // isNewConnectionFetch is false - !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null - (request.body == null || request.body.source != null) - ) { - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - fetchParams.controller.connection.destroy(); - response = await httpNetworkOrCacheFetch( - fetchParams, - isAuthenticationFetch, - true - ); - } - if (isAuthenticationFetch) { - } - return response; - } - async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { - assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); - fetchParams.controller.connection = { - abort: null, - destroyed: false, - destroy(err) { - if (!this.destroyed) { - this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); - } - } - }; - const request = fetchParams.request; - let response = null; - const timingInfo = fetchParams.timingInfo; - const httpCache = null; - if (httpCache == null) { - request.cache = "no-store"; - } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request.mode === "websocket") { - } else { - } - let requestBody = null; - if (request.body == null && fetchParams.processRequestEndOfBody) { - queueMicrotask(() => fetchParams.processRequestEndOfBody()); - } else if (request.body != null) { - const processBodyChunk = async function* (bytes) { - if (isCancelled(fetchParams)) { - return; - } - yield bytes; - fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); - }; - const processEndOfBody = () => { - if (isCancelled(fetchParams)) { - return; - } - if (fetchParams.processRequestEndOfBody) { - fetchParams.processRequestEndOfBody(); - } - }; - const processBodyError = (e) => { - if (isCancelled(fetchParams)) { - return; - } - if (e.name === "AbortError") { - fetchParams.controller.abort(); - } else { - fetchParams.controller.terminate(e); - } - }; - requestBody = async function* () { - try { - for await (const bytes of request.body.stream) { - yield* processBodyChunk(bytes); - } - processEndOfBody(); - } catch (err) { - processBodyError(err); - } - }(); - } - try { - const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); - if (socket) { - response = makeResponse({ status, statusText, headersList, socket }); - } else { - const iterator = body[Symbol.asyncIterator](); - fetchParams.controller.next = () => iterator.next(); - response = makeResponse({ status, statusText, headersList }); - } - } catch (err) { - if (err.name === "AbortError") { - fetchParams.controller.connection.destroy(); - return makeAppropriateNetworkError(fetchParams, err); - } - return makeNetworkError(err); - } - const pullAlgorithm = () => { - fetchParams.controller.resume(); - }; - const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); - }; - if (!ReadableStream) { - ReadableStream = require("stream/web").ReadableStream; - } - const stream = new ReadableStream( - { - async start(controller) { - fetchParams.controller.controller = controller; - }, - async pull(controller) { - await pullAlgorithm(controller); - }, - async cancel(reason) { - await cancelAlgorithm(reason); - } - }, - { - highWaterMark: 0, - size() { - return 1; - } - } - ); - response.body = { stream }; - fetchParams.controller.on("terminated", onAborted); - fetchParams.controller.resume = async () => { - while (true) { - let bytes; - let isFailure; - try { - const { done, value } = await fetchParams.controller.next(); - if (isAborted(fetchParams)) { - break; - } - bytes = done ? void 0 : value; - } catch (err) { - if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { - bytes = void 0; - } else { - bytes = err; - isFailure = true; - } - } - if (bytes === void 0) { - readableStreamClose(fetchParams.controller.controller); - finalizeResponse(fetchParams, response); - return; - } - timingInfo.decodedBodySize += bytes?.byteLength ?? 0; - if (isFailure) { - fetchParams.controller.terminate(bytes); - return; - } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); - if (isErrored(stream)) { - fetchParams.controller.terminate(); - return; - } - if (!fetchParams.controller.controller.desiredSize) { - return; - } - } - }; - function onAborted(reason) { - if (isAborted(fetchParams)) { - response.aborted = true; - if (isReadable(stream)) { - fetchParams.controller.controller.error( - fetchParams.controller.serializedAbortReason - ); - } - } else { - if (isReadable(stream)) { - fetchParams.controller.controller.error(new TypeError("terminated", { - cause: isErrorLike(reason) ? reason : void 0 - })); - } - } - fetchParams.controller.connection.destroy(); - } - return response; - async function dispatch({ body }) { - const url = requestCurrentURL(request); - const agent = fetchParams.controller.dispatcher; - return new Promise((resolve, reject) => agent.dispatch( - { - path: url.pathname + url.search, - origin: url.origin, - method: request.method, - body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body, - headers: request.headersList.entries, - maxRedirections: 0, - upgrade: request.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } - }, - onHeaders(status, headersList, resume, statusText) { - if (status < 200) { - return; - } - let codings = []; - let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x) => x.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } - this.body = new Readable({ read: resume }); - const decoders = []; - const willFollow = request.redirect === "follow" && location && redirectStatusSet.has(status); - if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { - if (coding === "x-gzip" || coding === "gzip") { - decoders.push(zlib.createGunzip({ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - flush: zlib.constants.Z_SYNC_FLUSH, - finishFlush: zlib.constants.Z_SYNC_FLUSH - })); - } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); - } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); - } else { - decoders.length = 0; - break; - } - } - } - resolve({ - status, - statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { - }) - }); - return true; - }, - onData(chunk) { - if (fetchParams.controller.dump) { - return; - } - const bytes = chunk; - timingInfo.encodedBodySize += bytes.byteLength; - return this.body.push(bytes); - }, - onComplete() { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - fetchParams.controller.ended = true; - this.body.push(null); - }, - onError(error) { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - this.body?.destroy(error); - fetchParams.controller.terminate(error); - reject(error); - }, - onUpgrade(status, headersList, socket) { - if (status !== 101) { - return; - } - const headers = new Headers(); - for (let n = 0; n < headersList.length; n += 2) { - const key = headersList[n + 0].toString("latin1"); - const val = headersList[n + 1].toString("latin1"); - headers[kHeadersList].append(key, val); - } - resolve({ - status, - statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], - socket - }); - return true; - } - } - )); - } - } - module2.exports = { - fetch, - Fetch, - fetching, - finalizeAndReportTiming - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fileapi/symbols.js -var require_symbols3 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kState: Symbol("FileReader state"), - kResult: Symbol("FileReader result"), - kError: Symbol("FileReader error"), - kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"), - kEvents: Symbol("FileReader events"), - kAborted: Symbol("FileReader aborted") - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fileapi/progressevent.js -var require_progressevent = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var kState = Symbol("ProgressEvent state"); - var ProgressEvent = class extends Event { - constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); - super(type, eventInitDict); - this[kState] = { - lengthComputable: eventInitDict.lengthComputable, - loaded: eventInitDict.loaded, - total: eventInitDict.total - }; - } - get lengthComputable() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].lengthComputable; - } - get loaded() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].loaded; - } - get total() { - webidl.brandCheck(this, ProgressEvent); - return this[kState].total; - } - }; - webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ - { - key: "lengthComputable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "loaded", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "total", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]); - module2.exports = { - ProgressEvent - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fileapi/encoding.js -var require_encoding = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) { - "use strict"; - function getEncoding(label) { - if (!label) { - return "failure"; - } - switch (label.trim().toLowerCase()) { - case "unicode-1-1-utf-8": - case "unicode11utf8": - case "unicode20utf8": - case "utf-8": - case "utf8": - case "x-unicode20utf8": - return "UTF-8"; - case "866": - case "cp866": - case "csibm866": - case "ibm866": - return "IBM866"; - case "csisolatin2": - case "iso-8859-2": - case "iso-ir-101": - case "iso8859-2": - case "iso88592": - case "iso_8859-2": - case "iso_8859-2:1987": - case "l2": - case "latin2": - return "ISO-8859-2"; - case "csisolatin3": - case "iso-8859-3": - case "iso-ir-109": - case "iso8859-3": - case "iso88593": - case "iso_8859-3": - case "iso_8859-3:1988": - case "l3": - case "latin3": - return "ISO-8859-3"; - case "csisolatin4": - case "iso-8859-4": - case "iso-ir-110": - case "iso8859-4": - case "iso88594": - case "iso_8859-4": - case "iso_8859-4:1988": - case "l4": - case "latin4": - return "ISO-8859-4"; - case "csisolatincyrillic": - case "cyrillic": - case "iso-8859-5": - case "iso-ir-144": - case "iso8859-5": - case "iso88595": - case "iso_8859-5": - case "iso_8859-5:1988": - return "ISO-8859-5"; - case "arabic": - case "asmo-708": - case "csiso88596e": - case "csiso88596i": - case "csisolatinarabic": - case "ecma-114": - case "iso-8859-6": - case "iso-8859-6-e": - case "iso-8859-6-i": - case "iso-ir-127": - case "iso8859-6": - case "iso88596": - case "iso_8859-6": - case "iso_8859-6:1987": - return "ISO-8859-6"; - case "csisolatingreek": - case "ecma-118": - case "elot_928": - case "greek": - case "greek8": - case "iso-8859-7": - case "iso-ir-126": - case "iso8859-7": - case "iso88597": - case "iso_8859-7": - case "iso_8859-7:1987": - case "sun_eu_greek": - return "ISO-8859-7"; - case "csiso88598e": - case "csisolatinhebrew": - case "hebrew": - case "iso-8859-8": - case "iso-8859-8-e": - case "iso-ir-138": - case "iso8859-8": - case "iso88598": - case "iso_8859-8": - case "iso_8859-8:1988": - case "visual": - return "ISO-8859-8"; - case "csiso88598i": - case "iso-8859-8-i": - case "logical": - return "ISO-8859-8-I"; - case "csisolatin6": - case "iso-8859-10": - case "iso-ir-157": - case "iso8859-10": - case "iso885910": - case "l6": - case "latin6": - return "ISO-8859-10"; - case "iso-8859-13": - case "iso8859-13": - case "iso885913": - return "ISO-8859-13"; - case "iso-8859-14": - case "iso8859-14": - case "iso885914": - return "ISO-8859-14"; - case "csisolatin9": - case "iso-8859-15": - case "iso8859-15": - case "iso885915": - case "iso_8859-15": - case "l9": - return "ISO-8859-15"; - case "iso-8859-16": - return "ISO-8859-16"; - case "cskoi8r": - case "koi": - case "koi8": - case "koi8-r": - case "koi8_r": - return "KOI8-R"; - case "koi8-ru": - case "koi8-u": - return "KOI8-U"; - case "csmacintosh": - case "mac": - case "macintosh": - case "x-mac-roman": - return "macintosh"; - case "iso-8859-11": - case "iso8859-11": - case "iso885911": - case "tis-620": - case "windows-874": - return "windows-874"; - case "cp1250": - case "windows-1250": - case "x-cp1250": - return "windows-1250"; - case "cp1251": - case "windows-1251": - case "x-cp1251": - return "windows-1251"; - case "ansi_x3.4-1968": - case "ascii": - case "cp1252": - case "cp819": - case "csisolatin1": - case "ibm819": - case "iso-8859-1": - case "iso-ir-100": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "iso_8859-1:1987": - case "l1": - case "latin1": - case "us-ascii": - case "windows-1252": - case "x-cp1252": - return "windows-1252"; - case "cp1253": - case "windows-1253": - case "x-cp1253": - return "windows-1253"; - case "cp1254": - case "csisolatin5": - case "iso-8859-9": - case "iso-ir-148": - case "iso8859-9": - case "iso88599": - case "iso_8859-9": - case "iso_8859-9:1989": - case "l5": - case "latin5": - case "windows-1254": - case "x-cp1254": - return "windows-1254"; - case "cp1255": - case "windows-1255": - case "x-cp1255": - return "windows-1255"; - case "cp1256": - case "windows-1256": - case "x-cp1256": - return "windows-1256"; - case "cp1257": - case "windows-1257": - case "x-cp1257": - return "windows-1257"; - case "cp1258": - case "windows-1258": - case "x-cp1258": - return "windows-1258"; - case "x-mac-cyrillic": - case "x-mac-ukrainian": - return "x-mac-cyrillic"; - case "chinese": - case "csgb2312": - case "csiso58gb231280": - case "gb2312": - case "gb_2312": - case "gb_2312-80": - case "gbk": - case "iso-ir-58": - case "x-gbk": - return "GBK"; - case "gb18030": - return "gb18030"; - case "big5": - case "big5-hkscs": - case "cn-big5": - case "csbig5": - case "x-x-big5": - return "Big5"; - case "cseucpkdfmtjapanese": - case "euc-jp": - case "x-euc-jp": - return "EUC-JP"; - case "csiso2022jp": - case "iso-2022-jp": - return "ISO-2022-JP"; - case "csshiftjis": - case "ms932": - case "ms_kanji": - case "shift-jis": - case "shift_jis": - case "sjis": - case "windows-31j": - case "x-sjis": - return "Shift_JIS"; - case "cseuckr": - case "csksc56011987": - case "euc-kr": - case "iso-ir-149": - case "korean": - case "ks_c_5601-1987": - case "ks_c_5601-1989": - case "ksc5601": - case "ksc_5601": - case "windows-949": - return "EUC-KR"; - case "csiso2022kr": - case "hz-gb-2312": - case "iso-2022-cn": - case "iso-2022-cn-ext": - case "iso-2022-kr": - case "replacement": - return "replacement"; - case "unicodefffe": - case "utf-16be": - return "UTF-16BE"; - case "csunicode": - case "iso-10646-ucs-2": - case "ucs-2": - case "unicode": - case "unicodefeff": - case "utf-16": - case "utf-16le": - return "UTF-16LE"; - case "x-user-defined": - return "x-user-defined"; - default: - return "failure"; - } - } - module2.exports = { - getEncoding - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fileapi/util.js -var require_util4 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fileapi/util.js"(exports2, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols3(); - var { ProgressEvent } = require_progressevent(); - var { getEncoding } = require_encoding(); - var { DOMException: DOMException2 } = require_constants2(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); - var { StringDecoder } = require("string_decoder"); - var { btoa } = require("buffer"); - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - function readOperation(fr, blob, type, encodingName) { - if (fr[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); - } - fr[kState] = "loading"; - fr[kResult] = null; - fr[kError] = null; - const stream = blob.stream(); - const reader = stream.getReader(); - const bytes = []; - let chunkPromise = reader.read(); - let isFirstChunk = true; - (async () => { - while (!fr[kAborted]) { - try { - const { done, value } = await chunkPromise; - if (isFirstChunk && !fr[kAborted]) { - queueMicrotask(() => { - fireAProgressEvent("loadstart", fr); - }); - } - isFirstChunk = false; - if (!done && types.isUint8Array(value)) { - bytes.push(value); - if ((fr[kLastProgressEventFired] === void 0 || Date.now() - fr[kLastProgressEventFired] >= 50) && !fr[kAborted]) { - fr[kLastProgressEventFired] = Date.now(); - queueMicrotask(() => { - fireAProgressEvent("progress", fr); - }); - } - chunkPromise = reader.read(); - } else if (done) { - queueMicrotask(() => { - fr[kState] = "done"; - try { - const result = packageData(bytes, type, blob.type, encodingName); - if (fr[kAborted]) { - return; - } - fr[kResult] = result; - fireAProgressEvent("load", fr); - } catch (error) { - fr[kError] = error; - fireAProgressEvent("error", fr); - } - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); - } - }); - break; - } - } catch (error) { - if (fr[kAborted]) { - return; - } - queueMicrotask(() => { - fr[kState] = "done"; - fr[kError] = error; - fireAProgressEvent("error", fr); - if (fr[kState] !== "loading") { - fireAProgressEvent("loadend", fr); - } - }); - break; - } - } - })(); - } - function fireAProgressEvent(e, reader) { - const event = new ProgressEvent(e, { - bubbles: false, - cancelable: false - }); - reader.dispatchEvent(event); - } - function packageData(bytes, type, mimeType, encodingName) { - switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { - dataURL += serializeAMimeType(parsed); - } - dataURL += ";base64,"; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - dataURL += btoa(decoder.write(chunk)); - } - dataURL += btoa(decoder.end()); - return dataURL; - } - case "Text": { - let encoding = "failure"; - if (encodingName) { - encoding = getEncoding(encodingName); - } - if (encoding === "failure" && mimeType) { - const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); - } - } - if (encoding === "failure") { - encoding = "UTF-8"; - } - return decode(bytes, encoding); - } - case "ArrayBuffer": { - const sequence = combineByteSequences(bytes); - return sequence.buffer; - } - case "BinaryString": { - let binaryString = ""; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - binaryString += decoder.write(chunk); - } - binaryString += decoder.end(); - return binaryString; - } - } - } - function decode(ioQueue, encoding) { - const bytes = combineByteSequences(ioQueue); - const BOMEncoding = BOMSniffing(bytes); - let slice = 0; - if (BOMEncoding !== null) { - encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; - } - const sliced = bytes.slice(slice); - return new TextDecoder(encoding).decode(sliced); - } - function BOMSniffing(ioQueue) { - const [a, b, c] = ioQueue; - if (a === 239 && b === 187 && c === 191) { - return "UTF-8"; - } else if (a === 254 && b === 255) { - return "UTF-16BE"; - } else if (a === 255 && b === 254) { - return "UTF-16LE"; - } - return null; - } - function combineByteSequences(sequences) { - const size = sequences.reduce((a, b) => { - return a + b.byteLength; - }, 0); - let offset = 0; - return sequences.reduce((a, b) => { - a.set(b, offset); - offset += b.byteLength; - return a; - }, new Uint8Array(size)); - } - module2.exports = { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/fileapi/filereader.js -var require_filereader = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util4(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols3(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var FileReader = class extends EventTarget { - constructor() { - super(); - this[kState] = "empty"; - this[kResult] = null; - this[kError] = null; - this[kEvents] = { - loadend: null, - error: null, - abort: null, - load: null, - progress: null, - loadstart: null - }; - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer - * @param {import('buffer').Blob} blob - */ - readAsArrayBuffer(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); - } - /** - * @see https://w3c.github.io/FileAPI/#readAsBinaryString - * @param {import('buffer').Blob} blob - */ - readAsBinaryString(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); - } - /** - * @see https://w3c.github.io/FileAPI/#readAsDataText - * @param {import('buffer').Blob} blob - * @param {string?} encoding - */ - readAsText(blob, encoding = void 0) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); - blob = webidl.converters.Blob(blob, { strict: false }); - if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); - } - readOperation(this, blob, "Text", encoding); - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL - * @param {import('buffer').Blob} blob - */ - readAsDataURL(blob) { - webidl.brandCheck(this, FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-abort - */ - abort() { - if (this[kState] === "empty" || this[kState] === "done") { - this[kResult] = null; - return; - } - if (this[kState] === "loading") { - this[kState] = "done"; - this[kResult] = null; - } - this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); - } - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate - */ - get readyState() { - webidl.brandCheck(this, FileReader); - switch (this[kState]) { - case "empty": - return this.EMPTY; - case "loading": - return this.LOADING; - case "done": - return this.DONE; - } - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-result - */ - get result() { - webidl.brandCheck(this, FileReader); - return this[kResult]; - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-error - */ - get error() { - webidl.brandCheck(this, FileReader); - return this[kError]; - } - get onloadend() { - webidl.brandCheck(this, FileReader); - return this[kEvents].loadend; - } - set onloadend(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); - } - if (typeof fn === "function") { - this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); - } else { - this[kEvents].loadend = null; - } - } - get onerror() { - webidl.brandCheck(this, FileReader); - return this[kEvents].error; - } - set onerror(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); - } - if (typeof fn === "function") { - this[kEvents].error = fn; - this.addEventListener("error", fn); - } else { - this[kEvents].error = null; - } - } - get onloadstart() { - webidl.brandCheck(this, FileReader); - return this[kEvents].loadstart; - } - set onloadstart(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); - } - if (typeof fn === "function") { - this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); - } else { - this[kEvents].loadstart = null; - } - } - get onprogress() { - webidl.brandCheck(this, FileReader); - return this[kEvents].progress; - } - set onprogress(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); - } - if (typeof fn === "function") { - this[kEvents].progress = fn; - this.addEventListener("progress", fn); - } else { - this[kEvents].progress = null; - } - } - get onload() { - webidl.brandCheck(this, FileReader); - return this[kEvents].load; - } - set onload(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); - } - if (typeof fn === "function") { - this[kEvents].load = fn; - this.addEventListener("load", fn); - } else { - this[kEvents].load = null; - } - } - get onabort() { - webidl.brandCheck(this, FileReader); - return this[kEvents].abort; - } - set onabort(fn) { - webidl.brandCheck(this, FileReader); - if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); - } - if (typeof fn === "function") { - this[kEvents].abort = fn; - this.addEventListener("abort", fn); - } else { - this[kEvents].abort = null; - } - } - }; - FileReader.EMPTY = FileReader.prototype.EMPTY = 0; - FileReader.LOADING = FileReader.prototype.LOADING = 1; - FileReader.DONE = FileReader.prototype.DONE = 2; - Object.defineProperties(FileReader.prototype, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors, - readAsArrayBuffer: kEnumerableProperty, - readAsBinaryString: kEnumerableProperty, - readAsText: kEnumerableProperty, - readAsDataURL: kEnumerableProperty, - abort: kEnumerableProperty, - readyState: kEnumerableProperty, - result: kEnumerableProperty, - error: kEnumerableProperty, - onloadstart: kEnumerableProperty, - onprogress: kEnumerableProperty, - onload: kEnumerableProperty, - onabort: kEnumerableProperty, - onerror: kEnumerableProperty, - onloadend: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "FileReader", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(FileReader, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors - }); - module2.exports = { - FileReader - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cache/symbols.js -var require_symbols4 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cache/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kConstruct: require_symbols().kConstruct - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cache/util.js -var require_util5 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cache/util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); - var { isValidHeaderName } = require_util2(); - function urlEquals(A, B, excludeFragment = false) { - const serializedA = URLSerializer(A, excludeFragment); - const serializedB = URLSerializer(B, excludeFragment); - return serializedA === serializedB; - } - function fieldValues(header) { - assert(header !== null); - const values = []; - for (let value of header.split(",")) { - value = value.trim(); - if (!value.length) { - continue; - } else if (!isValidHeaderName(value)) { - continue; - } - values.push(value); - } - return values; - } - module2.exports = { - urlEquals, - fieldValues - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cache/cache.js -var require_cache = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cache/cache.js"(exports2, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { urlEquals, fieldValues: getFieldValues } = require_util5(); - var { kEnumerableProperty, isDisturbed } = require_util(); - var { kHeadersList } = require_symbols(); - var { webidl } = require_webidl(); - var { Response, cloneResponse } = require_response(); - var { Request } = require_request2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { fetching } = require_fetch(); - var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global2(); - var Cache = class { - /** - * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list - * @type {requestResponseList} - */ - #relevantRequestResponseList; - constructor() { - if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); - } - this.#relevantRequestResponseList = arguments[1]; - } - async match(request, options = {}) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - const p = await this.matchAll(request, options); - if (p.length === 0) { - return; - } - return p[0]; - } - async matchAll(request = void 0, options = {}) { - webidl.brandCheck(this, Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; - if (request !== void 0) { - if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r = new Request(request)[kState]; - } - } - const responses = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); - } - } else { - const requestResponses = this.#queryCache(r, options); - for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); - } - } - const responseList = []; - for (const response of responses) { - const responseObject = new Response(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); - } - return Object.freeze(responseList); - } - async add(request) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request = webidl.converters.RequestInfo(request); - const requests = [request]; - const responseArrayPromise = this.addAll(requests); - return await responseArrayPromise; - } - async addAll(requests) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence<RequestInfo>"](requests); - const responsePromises = []; - const requestList = []; - for (const request of requests) { - if (typeof request === "string") { - continue; - } - const r = request[kState]; - if (!urlIsHttpHttpsScheme(r.url) || r.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme when method is not GET." - }); - } - } - const fetchControllers = []; - for (const request of requests) { - const r = new Request(request)[kState]; - if (!urlIsHttpHttpsScheme(r.url)) { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme." - }); - } - r.initiator = "fetch"; - r.destination = "subresource"; - requestList.push(r); - const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r, - dispatcher: getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "Received an invalid status code or the request failed." - })); - } else if (response.headersList.contains("vary")) { - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "invalid vary field value" - })); - for (const controller of fetchControllers) { - controller.abort(); - } - return; - } - } - } - }, - processResponseEndOfBody(response) { - if (response.aborted) { - responsePromise.reject(new DOMException("aborted", "AbortError")); - return; - } - responsePromise.resolve(response); - } - })); - responsePromises.push(responsePromise.promise); - } - const p = Promise.all(responsePromises); - const responses = await p; - const operations = []; - let index = 0; - for (const response of responses) { - const operation = { - type: "put", - // 7.3.2 - request: requestList[index], - // 7.3.3 - response - // 7.3.4 - }; - operations.push(operation); - index++; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e) { - errorData = e; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(void 0); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async put(request, response) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request = webidl.converters.RequestInfo(request); - response = webidl.converters.Response(response); - let innerRequest = null; - if (request instanceof Request) { - innerRequest = request[kState]; - } else { - innerRequest = new Request(request)[kState]; - } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Expected an http/s scheme when method is not GET" - }); - } - const innerResponse = response[kState]; - if (innerResponse.status === 206) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got 206 status" - }); - } - if (innerResponse.headersList.contains("vary")) { - const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got * vary field value" - }); - } - } - } - if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Response body is locked or disturbed" - }); - } - const clonedResponse = cloneResponse(innerResponse); - const bodyReadPromise = createDeferredPromise(); - if (innerResponse.body != null) { - const stream = innerResponse.body.stream; - const reader = stream.getReader(); - readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); - } else { - bodyReadPromise.resolve(void 0); - } - const operations = []; - const operation = { - type: "put", - // 14. - request: innerRequest, - // 15. - response: clonedResponse - // 16. - }; - operations.push(operation); - const bytes = await bodyReadPromise.promise; - if (clonedResponse.body != null) { - clonedResponse.body.source = bytes; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e) { - errorData = e; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async delete(request, options = {}) { - webidl.brandCheck(this, Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; - if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return false; - } - } else { - assert(typeof request === "string"); - r = new Request(request)[kState]; - } - const operations = []; - const operation = { - type: "delete", - request: r, - options - }; - operations.push(operation); - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - let requestResponses; - try { - requestResponses = this.#batchCacheOperations(operations); - } catch (e) { - errorData = e; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(!!requestResponses?.length); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - /** - * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys - * @param {any} request - * @param {import('../../types/cache').CacheQueryOptions} options - * @returns {readonly Request[]} - */ - async keys(request = void 0, options = {}) { - webidl.brandCheck(this, Cache); - if (request !== void 0) - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r = null; - if (request !== void 0) { - if (request instanceof Request) { - r = request[kState]; - if (r.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r = new Request(request)[kState]; - } - } - const promise = createDeferredPromise(); - const requests = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - requests.push(requestResponse[0]); - } - } else { - const requestResponses = this.#queryCache(r, options); - for (const requestResponse of requestResponses) { - requests.push(requestResponse[0]); - } - } - queueMicrotask(() => { - const requestList = []; - for (const request2 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request2; - requestObject[kHeaders][kHeadersList] = request2.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request2.client; - requestList.push(requestObject); - } - promise.resolve(Object.freeze(requestList)); - }); - return promise.promise; - } - /** - * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm - * @param {CacheBatchOperation[]} operations - * @returns {requestResponseList} - */ - #batchCacheOperations(operations) { - const cache = this.#relevantRequestResponseList; - const backupCache = [...cache]; - const addedItems = []; - const resultList = []; - try { - for (const operation of operations) { - if (operation.type !== "delete" && operation.type !== "put") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: 'operation type does not match "delete" or "put"' - }); - } - if (operation.type === "delete" && operation.response != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "delete operation should not have an associated response" - }); - } - if (this.#queryCache(operation.request, operation.options, addedItems).length) { - throw new DOMException("???", "InvalidStateError"); - } - let requestResponses; - if (operation.type === "delete") { - requestResponses = this.#queryCache(operation.request, operation.options); - if (requestResponses.length === 0) { - return []; - } - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - } else if (operation.type === "put") { - if (operation.response == null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "put operation should have an associated response" - }); - } - const r = operation.request; - if (!urlIsHttpHttpsScheme(r.url)) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "expected http or https scheme" - }); - } - if (r.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "not get method" - }); - } - if (operation.options != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "options must not be defined" - }); - } - requestResponses = this.#queryCache(operation.request); - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - cache.push([operation.request, operation.response]); - addedItems.push([operation.request, operation.response]); - } - resultList.push([operation.request, operation.response]); - } - return resultList; - } catch (e) { - this.#relevantRequestResponseList.length = 0; - this.#relevantRequestResponseList = backupCache; - throw e; - } - } - /** - * @see https://w3c.github.io/ServiceWorker/#query-cache - * @param {any} requestQuery - * @param {import('../../types/cache').CacheQueryOptions} options - * @param {requestResponseList} targetStorage - * @returns {requestResponseList} - */ - #queryCache(requestQuery, options, targetStorage) { - const resultList = []; - const storage = targetStorage ?? this.#relevantRequestResponseList; - for (const requestResponse of storage) { - const [cachedRequest, cachedResponse] = requestResponse; - if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { - resultList.push(requestResponse); - } - } - return resultList; - } - /** - * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm - * @param {any} requestQuery - * @param {any} request - * @param {any | null} response - * @param {import('../../types/cache').CacheQueryOptions | undefined} options - * @returns {boolean} - */ - #requestMatchesCachedItem(requestQuery, request, response = null, options) { - const queryURL = new URL(requestQuery.url); - const cachedURL = new URL(request.url); - if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; - } - if (!urlEquals(queryURL, cachedURL, true)) { - return false; - } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { - return true; - } - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - return false; - } - const requestValue = request.headersList.get(fieldValue); - const queryValue = requestQuery.headersList.get(fieldValue); - if (requestValue !== queryValue) { - return false; - } - } - return true; - } - }; - Object.defineProperties(Cache.prototype, { - [Symbol.toStringTag]: { - value: "Cache", - configurable: true - }, - match: kEnumerableProperty, - matchAll: kEnumerableProperty, - add: kEnumerableProperty, - addAll: kEnumerableProperty, - put: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - var cacheQueryOptionConverters = [ - { - key: "ignoreSearch", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreMethod", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreVary", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); - webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ - ...cacheQueryOptionConverters, - { - key: "cacheName", - converter: webidl.converters.DOMString - } - ]); - webidl.converters.Response = webidl.interfaceConverter(Response); - webidl.converters["sequence<RequestInfo>"] = webidl.sequenceConverter( - webidl.converters.RequestInfo - ); - module2.exports = { - Cache - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cache/cachestorage.js -var require_cachestorage = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { Cache } = require_cache(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var CacheStorage = class { - /** - * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map - * @type {Map<string, import('./cache').requestResponseList} - */ - #caches = /* @__PURE__ */ new Map(); - constructor() { - if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); - } - } - async match(request, options = {}) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.MultiCacheQueryOptions(options); - if (options.cacheName != null) { - if (this.#caches.has(options.cacheName)) { - const cacheList = this.#caches.get(options.cacheName); - const cache = new Cache(kConstruct, cacheList); - return await cache.match(request, options); - } - } else { - for (const cacheList of this.#caches.values()) { - const cache = new Cache(kConstruct, cacheList); - const response = await cache.match(request, options); - if (response !== void 0) { - return response; - } - } - } - } - /** - * @see https://w3c.github.io/ServiceWorker/#cache-storage-has - * @param {string} cacheName - * @returns {Promise<boolean>} - */ - async has(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.has(cacheName); - } - /** - * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open - * @param {string} cacheName - * @returns {Promise<Cache>} - */ - async open(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); - if (this.#caches.has(cacheName)) { - const cache2 = this.#caches.get(cacheName); - return new Cache(kConstruct, cache2); - } - const cache = []; - this.#caches.set(cacheName, cache); - return new Cache(kConstruct, cache); - } - /** - * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete - * @param {string} cacheName - * @returns {Promise<boolean>} - */ - async delete(cacheName) { - webidl.brandCheck(this, CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.delete(cacheName); - } - /** - * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys - * @returns {string[]} - */ - async keys() { - webidl.brandCheck(this, CacheStorage); - const keys = this.#caches.keys(); - return [...keys]; - } - }; - Object.defineProperties(CacheStorage.prototype, { - [Symbol.toStringTag]: { - value: "CacheStorage", - configurable: true - }, - match: kEnumerableProperty, - has: kEnumerableProperty, - open: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - module2.exports = { - CacheStorage - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cookies/constants.js -var require_constants4 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cookies/constants.js"(exports2, module2) { - "use strict"; - var maxAttributeValueSize = 1024; - var maxNameValuePairSize = 4096; - module2.exports = { - maxAttributeValueSize, - maxNameValuePairSize - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cookies/util.js -var require_util6 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cookies/util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { kHeadersList } = require_symbols(); - function isCTLExcludingHtab(value) { - if (value.length === 0) { - return false; - } - for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; - } - } - } - function validateCookieName(name) { - for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { - throw new Error("Invalid cookie name"); - } - } - } - function validateCookieValue(value) { - for (const char of value) { - const code = char.charCodeAt(0); - if (code < 33 || // exclude CTLs (0-31) - code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); - } - } - } - function validateCookiePath(path2) { - for (const char of path2) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { - throw new Error("Invalid cookie path"); - } - } - } - function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); - } - } - function toIMFDate(date) { - if (typeof date === "number") { - date = new Date(date); - } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; - } - function validateCookieMaxAge(maxAge) { - if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); - } - } - function stringify(cookie) { - if (cookie.name.length === 0) { - return null; - } - validateCookieName(cookie.name); - validateCookieValue(cookie.value); - const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { - cookie.secure = true; - } - if (cookie.name.startsWith("__Host-")) { - cookie.secure = true; - cookie.domain = null; - cookie.path = "/"; - } - if (cookie.secure) { - out.push("Secure"); - } - if (cookie.httpOnly) { - out.push("HttpOnly"); - } - if (typeof cookie.maxAge === "number") { - validateCookieMaxAge(cookie.maxAge); - out.push(`Max-Age=${cookie.maxAge}`); - } - if (cookie.domain) { - validateCookieDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); - } - if (cookie.path) { - validateCookiePath(cookie.path); - out.push(`Path=${cookie.path}`); - } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { - out.push(`Expires=${toIMFDate(cookie.expires)}`); - } - if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); - } - for (const part of cookie.unparsed) { - if (!part.includes("=")) { - throw new Error("Invalid unparsed"); - } - const [key, ...value] = part.split("="); - out.push(`${key.trim()}=${value.join("=")}`); - } - return out.join("; "); - } - var kHeadersListNode; - function getHeadersList(headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList]; - } - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === "headers list" - ); - assert(kHeadersListNode, "Headers cannot be parsed"); - } - const headersList = headers[kHeadersListNode]; - assert(headersList); - return headersList; - } - module2.exports = { - isCTLExcludingHtab, - stringify, - getHeadersList - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cookies/parse.js -var require_parse = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cookies/parse.js"(exports2, module2) { - "use strict"; - var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); - var { isCTLExcludingHtab } = require_util6(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); - function parseSetCookie(header) { - if (isCTLExcludingHtab(header)) { - return null; - } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { - const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); - unparsedAttributes = header.slice(position.position); - } else { - nameValuePair = header; - } - if (!nameValuePair.includes("=")) { - value = nameValuePair; - } else { - const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); - value = nameValuePair.slice(position.position + 1); - } - name = name.trim(); - value = value.trim(); - if (name.length + value.length > maxNameValuePairSize) { - return null; - } - return { - name, - value, - ...parseUnparsedAttributes(unparsedAttributes) - }; - } - function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { - if (unparsedAttributes.length === 0) { - return cookieAttributeList; - } - assert(unparsedAttributes[0] === ";"); - unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); - unparsedAttributes = unparsedAttributes.slice(cookieAv.length); - } else { - cookieAv = unparsedAttributes; - unparsedAttributes = ""; - } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { - const position = { position: 0 }; - attributeName = collectASequenceOfCodePointsFast( - "=", - cookieAv, - position - ); - attributeValue = cookieAv.slice(position.position + 1); - } else { - attributeName = cookieAv; - } - attributeName = attributeName.trim(); - attributeValue = attributeValue.trim(); - if (attributeValue.length > maxAttributeValueSize) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { - const expiryTime = new Date(attributeValue); - cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { - const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - if (!/^\d+$/.test(attributeValue)) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const deltaSeconds = Number(attributeValue); - cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { - let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { - cookieDomain = cookieDomain.slice(1); - } - cookieDomain = cookieDomain.toLowerCase(); - cookieAttributeList.domain = cookieDomain; - } else if (attributeNameLowercase === "path") { - let cookiePath = ""; - if (attributeValue.length === 0 || attributeValue[0] !== "/") { - cookiePath = "/"; - } else { - cookiePath = attributeValue; - } - cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { - cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { - cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; - const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; - } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; - } else { - cookieAttributeList.unparsed ??= []; - cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); - } - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - module2.exports = { - parseSetCookie, - parseUnparsedAttributes - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/cookies/index.js -var require_cookies = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/cookies/index.js"(exports2, module2) { - "use strict"; - var { parseSetCookie } = require_parse(); - var { stringify, getHeadersList } = require_util6(); - var { webidl } = require_webidl(); - var { Headers } = require_headers(); - function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookie = headers.get("cookie"); - const out = {}; - if (!cookie) { - return out; - } - for (const piece of cookie.split(";")) { - const [name, ...value] = piece.split("="); - out[name.trim()] = value.join("="); - } - return out; - } - function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); - attributes = webidl.converters.DeleteCookieAttributes(attributes); - setCookie(headers, { - name, - value: "", - expires: /* @__PURE__ */ new Date(0), - ...attributes - }); - } - function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookies = getHeadersList(headers).cookies; - if (!cookies) { - return []; - } - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)); - } - function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - cookie = webidl.converters.Cookie(cookie); - const str = stringify(cookie); - if (str) { - headers.append("Set-Cookie", stringify(cookie)); - } - } - webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - } - ]); - webidl.converters.Cookie = webidl.dictionaryConverter([ - { - converter: webidl.converters.DOMString, - key: "name" - }, - { - converter: webidl.converters.DOMString, - key: "value" - }, - { - converter: webidl.nullableConverter((value) => { - if (typeof value === "number") { - return webidl.converters["unsigned long long"](value); - } - return new Date(value); - }), - key: "expires", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters["long long"]), - key: "maxAge", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "secure", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "httpOnly", - defaultValue: null - }, - { - converter: webidl.converters.USVString, - key: "sameSite", - allowedValues: ["Strict", "Lax", "None"] - }, - { - converter: webidl.sequenceConverter(webidl.converters.DOMString), - key: "unparsed", - defaultValue: [] - } - ]); - module2.exports = { - getCookies, - deleteCookie, - getSetCookies, - setCookie - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/constants.js -var require_constants5 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/constants.js"(exports2, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - var states = { - CONNECTING: 0, - OPEN: 1, - CLOSING: 2, - CLOSED: 3 - }; - var opcodes = { - CONTINUATION: 0, - TEXT: 1, - BINARY: 2, - CLOSE: 8, - PING: 9, - PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; - var parserStates = { - INFO: 0, - PAYLOADLENGTH_16: 2, - PAYLOADLENGTH_64: 3, - READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); - module2.exports = { - uid, - staticPropertyDescriptors, - states, - opcodes, - maxUnsigned16Bit, - parserStates, - emptyBuffer - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/symbols.js -var require_symbols5 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kWebSocketURL: Symbol("url"), - kReadyState: Symbol("ready state"), - kController: Symbol("controller"), - kResponse: Symbol("response"), - kBinaryType: Symbol("binary type"), - kSentClose: Symbol("sent close"), - kReceivedClose: Symbol("received close"), - kByteParser: Symbol("byte parser") - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/events.js -var require_events = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/events.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var { MessagePort } = require("worker_threads"); - var MessageEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get data() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.data; - } - get origin() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.origin; - } - get lastEventId() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.lastEventId; - } - get source() { - webidl.brandCheck(this, MessageEvent); - return this.#eventInit.source; - } - get ports() { - webidl.brandCheck(this, MessageEvent); - if (!Object.isFrozen(this.#eventInit.ports)) { - Object.freeze(this.#eventInit.ports); - } - return this.#eventInit.ports; - } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { - webidl.brandCheck(this, MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); - return new MessageEvent(type, { - bubbles, - cancelable, - data, - origin, - lastEventId, - source, - ports - }); - } - }; - var CloseEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.CloseEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get wasClean() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.wasClean; - } - get code() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.code; - } - get reason() { - webidl.brandCheck(this, CloseEvent); - return this.#eventInit.reason; - } - }; - var ErrorEvent = class extends Event { - #eventInit; - constructor(type, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); - super(type, eventInitDict); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); - this.#eventInit = eventInitDict; - } - get message() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.message; - } - get filename() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.filename; - } - get lineno() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.lineno; - } - get colno() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.colno; - } - get error() { - webidl.brandCheck(this, ErrorEvent); - return this.#eventInit.error; - } - }; - Object.defineProperties(MessageEvent.prototype, { - [Symbol.toStringTag]: { - value: "MessageEvent", - configurable: true - }, - data: kEnumerableProperty, - origin: kEnumerableProperty, - lastEventId: kEnumerableProperty, - source: kEnumerableProperty, - ports: kEnumerableProperty, - initMessageEvent: kEnumerableProperty - }); - Object.defineProperties(CloseEvent.prototype, { - [Symbol.toStringTag]: { - value: "CloseEvent", - configurable: true - }, - reason: kEnumerableProperty, - code: kEnumerableProperty, - wasClean: kEnumerableProperty - }); - Object.defineProperties(ErrorEvent.prototype, { - [Symbol.toStringTag]: { - value: "ErrorEvent", - configurable: true - }, - message: kEnumerableProperty, - filename: kEnumerableProperty, - lineno: kEnumerableProperty, - colno: kEnumerableProperty, - error: kEnumerableProperty - }); - webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence<MessagePort>"] = webidl.sequenceConverter( - webidl.converters.MessagePort - ); - var eventInit = [ - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.MessageEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "data", - converter: webidl.converters.any, - defaultValue: null - }, - { - key: "origin", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lastEventId", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "source", - // Node doesn't implement WindowProxy or ServiceWorker, so the only - // valid value for source is a MessagePort. - converter: webidl.nullableConverter(webidl.converters.MessagePort), - defaultValue: null - }, - { - key: "ports", - converter: webidl.converters["sequence<MessagePort>"], - get defaultValue() { - return []; - } - } - ]); - webidl.converters.CloseEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "wasClean", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "code", - converter: webidl.converters["unsigned short"], - defaultValue: 0 - }, - { - key: "reason", - converter: webidl.converters.USVString, - defaultValue: "" - } - ]); - webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "message", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "filename", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lineno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "colno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "error", - converter: webidl.converters.any - } - ]); - module2.exports = { - MessageEvent, - CloseEvent, - ErrorEvent - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/util.js -var require_util7 = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/util.js"(exports2, module2) { - "use strict"; - var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); - var { states, opcodes } = require_constants5(); - var { MessageEvent, ErrorEvent } = require_events(); - function isEstablished(ws) { - return ws[kReadyState] === states.OPEN; - } - function isClosing(ws) { - return ws[kReadyState] === states.CLOSING; - } - function isClosed(ws) { - return ws[kReadyState] === states.CLOSED; - } - function fireEvent(e, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e, eventInitDict); - target.dispatchEvent(event); - } - function websocketMessageReceived(ws, type, data) { - if (ws[kReadyState] !== states.OPEN) { - return; - } - let dataForEvent; - if (type === opcodes.TEXT) { - try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); - } catch { - failWebsocketConnection(ws, "Received invalid UTF-8 in text frame."); - return; - } - } else if (type === opcodes.BINARY) { - if (ws[kBinaryType] === "blob") { - dataForEvent = new Blob([data]); - } else { - dataForEvent = new Uint8Array(data).buffer; - } - } - fireEvent("message", ws, MessageEvent, { - origin: ws[kWebSocketURL].origin, - data: dataForEvent - }); - } - function isValidSubprotocol(protocol) { - if (protocol.length === 0) { - return false; - } - for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { - return false; - } - } - return true; - } - function isValidStatusCode(code) { - if (code >= 1e3 && code < 1015) { - return code !== 1004 && // reserved - code !== 1005 && // "MUST NOT be set as a status code" - code !== 1006; - } - return code >= 3e3 && code <= 4999; - } - function failWebsocketConnection(ws, reason) { - const { [kController]: controller, [kResponse]: response } = ws; - controller.abort(); - if (response?.socket && !response.socket.destroyed) { - response.socket.destroy(); - } - if (reason) { - fireEvent("error", ws, ErrorEvent, { - error: new Error(reason) - }); - } - } - module2.exports = { - isEstablished, - isClosing, - isClosed, - fireEvent, - isValidSubprotocol, - isValidStatusCode, - failWebsocketConnection, - websocketMessageReceived - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/connection.js -var require_connection = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/connection.js"(exports2, module2) { - "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants5(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose - } = require_symbols5(); - var { fireEvent, failWebsocketConnection } = require_util7(); - var { CloseEvent } = require_events(); - var { makeRequest } = require_request2(); - var { fetching } = require_fetch(); - var { Headers } = require_headers(); - var { getGlobalDispatcher } = require_global2(); - var { kHeadersList } = require_symbols(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); - var crypto; - try { - crypto = require("crypto"); - } catch { - } - function establishWebSocketConnection(url, protocols, ws, onEstablish, options) { - const requestURL = url; - requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; - const request = makeRequest({ - urlList: [requestURL], - serviceWorkers: "none", - referrer: "no-referrer", - mode: "websocket", - credentials: "include", - cache: "no-store", - redirect: "error" - }); - if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; - request.headersList = headersList; - } - const keyValue = crypto.randomBytes(16).toString("base64"); - request.headersList.append("sec-websocket-key", keyValue); - request.headersList.append("sec-websocket-version", "13"); - for (const protocol of protocols) { - request.headersList.append("sec-websocket-protocol", protocol); - } - const permessageDeflate = ""; - const controller = fetching({ - request, - useParallelQueue: true, - dispatcher: options.dispatcher ?? getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws, "Received network error or non-101 status code."); - return; - } - if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Server did not respond with sent protocols."); - return; - } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { - failWebsocketConnection(ws, 'Server did not set Upgrade header to "websocket".'); - return; - } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { - failWebsocketConnection(ws, 'Server did not set Connection header to "upgrade".'); - return; - } - const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto.createHash("sha1").update(keyValue + uid).digest("base64"); - if (secWSAccept !== digest) { - failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header."); - return; - } - const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); - if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws, "Received different permessage-deflate than the one set."); - return; - } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws, "Protocol was not set in the opening handshake."); - return; - } - response.socket.on("data", onSocketData); - response.socket.on("close", onSocketClose); - response.socket.on("error", onSocketError); - if (channels.open.hasSubscribers) { - channels.open.publish({ - address: response.socket.address(), - protocol: secProtocol, - extensions: secExtension - }); - } - onEstablish(response); - } - }); - return controller; - } - function onSocketData(chunk) { - if (!this.ws[kByteParser].write(chunk)) { - this.pause(); - } - } - function onSocketClose() { - const { ws } = this; - const wasClean = ws[kSentClose] && ws[kReceivedClose]; - let code = 1005; - let reason = ""; - const result = ws[kByteParser].closingInfo; - if (result) { - code = result.code ?? 1005; - reason = result.reason; - } else if (!ws[kSentClose]) { - code = 1006; - } - ws[kReadyState] = states.CLOSED; - fireEvent("close", ws, CloseEvent, { - wasClean, - code, - reason - }); - if (channels.close.hasSubscribers) { - channels.close.publish({ - websocket: ws, - code, - reason - }); - } - } - function onSocketError(error) { - const { ws } = this; - ws[kReadyState] = states.CLOSING; - if (channels.socketError.hasSubscribers) { - channels.socketError.publish(error); - } - this.destroy(); - } - module2.exports = { - establishWebSocketConnection - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/frame.js -var require_frame = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/frame.js"(exports2, module2) { - "use strict"; - var { maxUnsigned16Bit } = require_constants5(); - var crypto; - try { - crypto = require("crypto"); - } catch { - } - var WebsocketFrameSend = class { - /** - * @param {Buffer|undefined} data - */ - constructor(data) { - this.frameData = data; - this.maskKey = crypto.randomBytes(4); - } - createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; - if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; - } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; - if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); - } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); - } - buffer[1] |= 128; - for (let i = 0; i < bodyLength; i++) { - buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4]; - } - return buffer; - } - }; - module2.exports = { - WebsocketFrameSend - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/receiver.js -var require_receiver = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/receiver.js"(exports2, module2) { - "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants5(); - var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); - var { WebsocketFrameSend } = require_frame(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); - var ByteParser = class extends Writable { - #buffers = []; - #byteOffset = 0; - #state = parserStates.INFO; - #info = {}; - #fragments = []; - constructor(ws) { - super(); - this.ws = ws; - } - /** - * @param {Buffer} chunk - * @param {() => void} callback - */ - _write(chunk, _, callback) { - this.#buffers.push(chunk); - this.#byteOffset += chunk.length; - this.run(callback); - } - /** - * Runs whenever a new chunk is received. - * Callback is called whenever there are no more chunks buffering, - * or not enough bytes are buffered to parse. - */ - run(callback) { - while (true) { - if (this.#state === parserStates.INFO) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); - return; - } - const payloadLength = buffer[1] & 127; - if (payloadLength <= 125) { - this.#info.payloadLength = payloadLength; - this.#state = parserStates.READ_DATA; - } else if (payloadLength === 126) { - this.#state = parserStates.PAYLOADLENGTH_16; - } else if (payloadLength === 127) { - this.#state = parserStates.PAYLOADLENGTH_64; - } - if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; - } else if (this.#info.opcode === opcodes.CLOSE) { - if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; - } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); - if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); - this.ws[kResponse].socket.write( - closeFrame.createFrame(opcodes.CLOSE), - (err) => { - if (!err) { - this.ws[kSentClose] = true; - } - } - ); - } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; - } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); - if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); - if (channels.ping.hasSubscribers) { - channels.ping.publish({ - payload: body - }); - } - } - this.#state = parserStates.INFO; - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); - if (channels.pong.hasSubscribers) { - channels.pong.publish({ - payload: body - }); - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } - } else if (this.#state === parserStates.PAYLOADLENGTH_16) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.payloadLength = buffer.readUInt16BE(0); - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.PAYLOADLENGTH_64) { - if (this.#byteOffset < 8) { - return callback(); - } - const buffer = this.consume(8); - const upper = buffer.readUInt32BE(0); - if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); - return; - } - const lower = buffer.readUInt32BE(4); - this.#info.payloadLength = (upper << 8) + lower; - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.READ_DATA) { - if (this.#byteOffset < this.#info.payloadLength) { - return callback(); - } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; - } - this.#state = parserStates.INFO; - } - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - break; - } - } - } - /** - * Take n bytes from the buffered Buffers - * @param {number} n - * @returns {Buffer|null} - */ - consume(n) { - if (n > this.#byteOffset) { - return null; - } else if (n === 0) { - return emptyBuffer; - } - if (this.#buffers[0].length === n) { - this.#byteOffset -= this.#buffers[0].length; - return this.#buffers.shift(); - } - const buffer = Buffer.allocUnsafe(n); - let offset = 0; - while (offset !== n) { - const next = this.#buffers[0]; - const { length } = next; - if (length + offset === n) { - buffer.set(this.#buffers.shift(), offset); - break; - } else if (length + offset > n) { - buffer.set(next.subarray(0, n - offset), offset); - this.#buffers[0] = next.subarray(n - offset); - break; - } else { - buffer.set(this.#buffers.shift(), offset); - offset += next.length; - } - } - this.#byteOffset -= n; - return buffer; - } - parseCloseBody(onlyCode, data) { - let code; - if (data.length >= 2) { - code = data.readUInt16BE(0); - } - if (onlyCode) { - if (!isValidStatusCode(code)) { - return null; - } - return { code }; - } - let reason = data.subarray(2); - if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { - reason = reason.subarray(3); - } - if (code !== void 0 && !isValidStatusCode(code)) { - return null; - } - try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); - } catch { - return null; - } - return { code, reason }; - } - get closingInfo() { - return this.#info.closeInfo; - } - }; - module2.exports = { - ByteParser - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/lib/websocket/websocket.js -var require_websocket = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/lib/websocket/websocket.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { DOMException: DOMException2 } = require_constants2(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); - var { - kWebSocketURL, - kReadyState, - kController, - kBinaryType, - kResponse, - kSentClose, - kByteParser - } = require_symbols5(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); - var { establishWebSocketConnection } = require_connection(); - var { WebsocketFrameSend } = require_frame(); - var { ByteParser } = require_receiver(); - var { kEnumerableProperty, isBlobLike } = require_util(); - var { getGlobalDispatcher } = require_global2(); - var { types } = require("util"); - var experimentalWarned = false; - var WebSocket = class extends EventTarget { - #events = { - open: null, - error: null, - close: null, - message: null - }; - #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; - /** - * @param {string} url - * @param {string|string[]} protocols - */ - constructor(url, protocols = []) { - super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); - if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); - protocols = options.protocols; - const baseURL = getGlobalOrigin(); - let urlRecord; - try { - urlRecord = new URL(url, baseURL); - } catch (e) { - throw new DOMException2(e, "SyntaxError"); - } - if (urlRecord.protocol === "http:") { - urlRecord.protocol = "ws:"; - } else if (urlRecord.protocol === "https:") { - urlRecord.protocol = "wss:"; - } - if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { - throw new DOMException2( - `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); - } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); - } - if (typeof protocols === "string") { - protocols = [protocols]; - } - if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - this[kWebSocketURL] = new URL(urlRecord.href); - this[kController] = establishWebSocketConnection( - urlRecord, - protocols, - this, - (response) => this.#onConnectionEstablished(response), - options - ); - this[kReadyState] = WebSocket.CONNECTING; - this[kBinaryType] = "blob"; - } - /** - * @see https://websockets.spec.whatwg.org/#dom-websocket-close - * @param {number|undefined} code - * @param {string|undefined} reason - */ - close(code = void 0, reason = void 0) { - webidl.brandCheck(this, WebSocket); - if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); - } - if (reason !== void 0) { - reason = webidl.converters.USVString(reason); - } - if (code !== void 0) { - if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); - } - } - let reasonByteLength = 0; - if (reason !== void 0) { - reasonByteLength = Buffer.byteLength(reason); - if (reasonByteLength > 123) { - throw new DOMException2( - `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); - } - } - if (this[kReadyState] === WebSocket.CLOSING || this[kReadyState] === WebSocket.CLOSED) { - } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = WebSocket.CLOSING; - } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); - if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); - } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); - } else { - frame.frameData = emptyBuffer; - } - const socket = this[kResponse].socket; - socket.write(frame.createFrame(opcodes.CLOSE), (err) => { - if (!err) { - this[kSentClose] = true; - } - }); - this[kReadyState] = states.CLOSING; - } else { - this[kReadyState] = WebSocket.CLOSING; - } - } - /** - * @see https://websockets.spec.whatwg.org/#dom-websocket-send - * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data - */ - send(data) { - webidl.brandCheck(this, WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); - if (this[kReadyState] === WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); - } - if (!isEstablished(this) || isClosing(this)) { - return; - } - const socket = this[kResponse].socket; - if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (ArrayBuffer.isView(data)) { - const ab = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= ab.byteLength; - }); - } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); - data.arrayBuffer().then((ab) => { - const value = Buffer.from(ab); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); - } - } - get readyState() { - webidl.brandCheck(this, WebSocket); - return this[kReadyState]; - } - get bufferedAmount() { - webidl.brandCheck(this, WebSocket); - return this.#bufferedAmount; - } - get url() { - webidl.brandCheck(this, WebSocket); - return URLSerializer(this[kWebSocketURL]); - } - get extensions() { - webidl.brandCheck(this, WebSocket); - return this.#extensions; - } - get protocol() { - webidl.brandCheck(this, WebSocket); - return this.#protocol; - } - get onopen() { - webidl.brandCheck(this, WebSocket); - return this.#events.open; - } - set onopen(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.open) { - this.removeEventListener("open", this.#events.open); - } - if (typeof fn === "function") { - this.#events.open = fn; - this.addEventListener("open", fn); - } else { - this.#events.open = null; - } - } - get onerror() { - webidl.brandCheck(this, WebSocket); - return this.#events.error; - } - set onerror(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.error) { - this.removeEventListener("error", this.#events.error); - } - if (typeof fn === "function") { - this.#events.error = fn; - this.addEventListener("error", fn); - } else { - this.#events.error = null; - } - } - get onclose() { - webidl.brandCheck(this, WebSocket); - return this.#events.close; - } - set onclose(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.close) { - this.removeEventListener("close", this.#events.close); - } - if (typeof fn === "function") { - this.#events.close = fn; - this.addEventListener("close", fn); - } else { - this.#events.close = null; - } - } - get onmessage() { - webidl.brandCheck(this, WebSocket); - return this.#events.message; - } - set onmessage(fn) { - webidl.brandCheck(this, WebSocket); - if (this.#events.message) { - this.removeEventListener("message", this.#events.message); - } - if (typeof fn === "function") { - this.#events.message = fn; - this.addEventListener("message", fn); - } else { - this.#events.message = null; - } - } - get binaryType() { - webidl.brandCheck(this, WebSocket); - return this[kBinaryType]; - } - set binaryType(type) { - webidl.brandCheck(this, WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; - } else { - this[kBinaryType] = type; - } - } - /** - * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol - */ - #onConnectionEstablished(response) { - this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); - response.socket.ws = this; - this[kByteParser] = parser; - this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); - if (extensions !== null) { - this.#extensions = extensions; - } - const protocol = response.headersList.get("sec-websocket-protocol"); - if (protocol !== null) { - this.#protocol = protocol; - } - fireEvent("open", this); - } - }; - WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; - WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; - WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; - WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; - Object.defineProperties(WebSocket.prototype, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors, - url: kEnumerableProperty, - readyState: kEnumerableProperty, - bufferedAmount: kEnumerableProperty, - onopen: kEnumerableProperty, - onerror: kEnumerableProperty, - onclose: kEnumerableProperty, - close: kEnumerableProperty, - onmessage: kEnumerableProperty, - binaryType: kEnumerableProperty, - send: kEnumerableProperty, - extensions: kEnumerableProperty, - protocol: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "WebSocket", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(WebSocket, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors - }); - webidl.converters["sequence<DOMString>"] = webidl.sequenceConverter( - webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence<DOMString>"] = function(V) { - if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) { - return webidl.converters["sequence<DOMString>"](V); - } - return webidl.converters.DOMString(V); - }; - webidl.converters.WebSocketInit = webidl.dictionaryConverter([ - { - key: "protocols", - converter: webidl.converters["DOMString or sequence<DOMString>"], - get defaultValue() { - return []; - } - }, - { - key: "dispatcher", - converter: (V) => V, - get defaultValue() { - return getGlobalDispatcher(); - } - }, - { - key: "headers", - converter: webidl.nullableConverter(webidl.converters.HeadersInit) - } - ]); - webidl.converters["DOMString or sequence<DOMString> or WebSocketInit"] = function(V) { - if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) { - return webidl.converters.WebSocketInit(V); - } - return { protocols: webidl.converters["DOMString or sequence<DOMString>"](V) }; - }; - webidl.converters.WebSocketSendData = function(V) { - if (webidl.util.Type(V) === "Object") { - if (isBlobLike(V)) { - return webidl.converters.Blob(V, { strict: false }); - } - if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) { - return webidl.converters.BufferSource(V); - } - } - return webidl.converters.USVString(V); - }; - module2.exports = { - WebSocket - }; - } -}); - -// node_modules/@reporters/github/node_modules/undici/index.js -var require_undici = __commonJS({ - "node_modules/@reporters/github/node_modules/undici/index.js"(exports2, module2) { - "use strict"; - var Client = require_client(); - var Dispatcher = require_dispatcher(); - var errors = require_errors(); - var Pool = require_pool(); - var BalancedPool = require_balanced_pool(); - var Agent = require_agent(); - var util2 = require_util(); - var { InvalidArgumentError } = errors; - var api = require_api(); - var buildConnector = require_connect(); - var MockClient = require_mock_client(); - var MockAgent = require_mock_agent(); - var MockPool = require_mock_pool(); - var mockErrors = require_mock_errors(); - var ProxyAgent = require_proxy_agent(); - var RetryHandler = require_RetryHandler(); - var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; - try { - require("crypto"); - hasCrypto = true; - } catch { - hasCrypto = false; - } - Object.assign(Dispatcher.prototype, api); - module2.exports.Dispatcher = Dispatcher; - module2.exports.Client = Client; - module2.exports.Pool = Pool; - module2.exports.BalancedPool = BalancedPool; - module2.exports.Agent = Agent; - module2.exports.ProxyAgent = ProxyAgent; - module2.exports.RetryHandler = RetryHandler; - module2.exports.DecoratorHandler = DecoratorHandler; - module2.exports.RedirectHandler = RedirectHandler; - module2.exports.createRedirectInterceptor = createRedirectInterceptor; - module2.exports.buildConnector = buildConnector; - module2.exports.errors = errors; - function makeDispatcher(fn) { - return (url, opts, handler) => { - if (typeof opts === "function") { - handler = opts; - opts = null; - } - if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) { - throw new InvalidArgumentError("invalid url"); - } - if (opts != null && typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (opts && opts.path != null) { - if (typeof opts.path !== "string") { - throw new InvalidArgumentError("invalid opts.path"); - } - let path2 = opts.path; - if (!opts.path.startsWith("/")) { - path2 = `/${path2}`; - } - url = new URL(util2.parseOrigin(url).origin + path2); - } else { - if (!opts) { - opts = typeof url === "object" ? url : {}; - } - url = util2.parseURL(url); - } - const { agent, dispatcher = getGlobalDispatcher() } = opts; - if (agent) { - throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); - } - return fn.call(dispatcher, { - ...opts, - origin: url.origin, - path: url.search ? `${url.pathname}${url.search}` : url.pathname, - method: opts.method || (opts.body ? "PUT" : "GET") - }, handler); - }; - } - module2.exports.setGlobalDispatcher = setGlobalDispatcher; - module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util2.nodeMajor > 16 || util2.nodeMajor === 16 && util2.nodeMinor >= 8) { - let fetchImpl = null; - module2.exports.fetch = async function fetch(resource) { - if (!fetchImpl) { - fetchImpl = require_fetch().fetch; - } - try { - return await fetchImpl(...arguments); - } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; - } - }; - module2.exports.Headers = require_headers().Headers; - module2.exports.Response = require_response().Response; - module2.exports.Request = require_request2().Request; - module2.exports.FormData = require_formdata().FormData; - module2.exports.File = require_file().File; - module2.exports.FileReader = require_filereader().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage(); - const { kConstruct } = require_symbols4(); - module2.exports.caches = new CacheStorage(kConstruct); - } - if (util2.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; - } - if (util2.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket(); - module2.exports.WebSocket = WebSocket; - } - module2.exports.request = makeDispatcher(api.request); - module2.exports.stream = makeDispatcher(api.stream); - module2.exports.pipeline = makeDispatcher(api.pipeline); - module2.exports.connect = makeDispatcher(api.connect); - module2.exports.upgrade = makeDispatcher(api.upgrade); - module2.exports.MockClient = MockClient; - module2.exports.MockPool = MockPool; - module2.exports.MockAgent = MockAgent; - module2.exports.mockErrors = mockErrors; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/http-client/lib/index.js -var require_lib = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/http-client/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; - var http = __importStar(require("http")); - var https = __importStar(require("https")); - var pm = __importStar(require_proxy()); - var tunnel = __importStar(require_tunnel2()); - var undici_1 = require_undici(); - var HttpCodes; - (function(HttpCodes2) { - HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; - HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; - HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; - HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; - HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; - HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; - HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; - HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; - HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; - HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; - HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes || (exports2.HttpCodes = HttpCodes = {})); - var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers || (exports2.Headers = Headers = {})); - var MediaTypes; - (function(MediaTypes2) { - MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes || (exports2.MediaTypes = MediaTypes = {})); - function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ""; - } - exports2.getProxyUrl = getProxyUrl; - var HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect - ]; - var HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout - ]; - var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; - var ExponentialBackoffCeiling = 10; - var ExponentialBackoffTimeSlice = 5; - var HttpClientError = class extends Error { - constructor(message, statusCode) { - super(message); - this.name = "HttpClientError"; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); - } - }; - exports2.HttpClientError = HttpClientError; - var HttpClientResponse = class { - constructor(message) { - this.message = message; - } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on("data", (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on("end", () => { - resolve(output.toString()); - }); - })); - }); - } - readBodyBuffer() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - const chunks = []; - this.message.on("data", (chunk) => { - chunks.push(chunk); - }); - this.message.on("end", () => { - resolve(Buffer.concat(chunks)); - }); - })); - }); - } - }; - exports2.HttpClientResponse = HttpClientResponse; - function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === "https:"; - } - exports2.isHttps = isHttps; - var HttpClient = class { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); - }); - } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("GET", requestUrl, null, additionalHeaders || {}); - }); - } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("DELETE", requestUrl, null, additionalHeaders || {}); - }); - } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("POST", requestUrl, data, additionalHeaders || {}); - }); - } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("PATCH", requestUrl, data, additionalHeaders || {}); - }); - } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("PUT", requestUrl, data, additionalHeaders || {}); - }); - } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("HEAD", requestUrl, null, additionalHeaders || {}); - }); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error("Client has already been disposed."); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } else { - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { - const redirectUrl = response.message.headers["location"]; - if (!redirectUrl) { - break; - } - const parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol === "https:" && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade) { - throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true."); - } - yield response.readBody(); - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (const header in headers) { - if (header.toLowerCase() === "authorization") { - delete headers[header]; - } - } - } - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; - } - if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { - return response; - } - numTries += 1; - if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); - } - } while (numTries < maxTries); - return response; - }); - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - function callbackForResult(err, res) { - if (err) { - reject(err); - } else if (!res) { - reject(new Error("Unknown error")); - } else { - resolve(res); - } - } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - if (typeof data === "string") { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); - } - let callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - } - const req = info.httpModule.request(info.options, (msg) => { - const res = new HttpClientResponse(msg); - handleResult(void 0, res); - }); - let socket; - req.on("socket", (sock) => { - socket = sock; - }); - req.setTimeout(this._socketTimeout || 3 * 6e4, () => { - if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on("error", function(err) { - handleResult(err); - }); - if (data && typeof data === "string") { - req.write(data, "utf8"); - } - if (data && typeof data !== "string") { - data.on("close", function() { - req.end(); - }); - data.pipe(req); - } else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - getAgentDispatcher(serverUrl) { - const parsedUrl = new URL(serverUrl); - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (!useProxy) { - return; - } - return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === "https:"; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; - info.options.path = (info.parsedUrl.pathname || "") + (info.parsedUrl.search || ""); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers["user-agent"] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); - } - } - return info; - } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (!useProxy) { - agent = this._agent; - } - if (agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === "https:"; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - if (proxyUrl && proxyUrl.hostname) { - const agentOptions = { - maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - }), { host: proxyUrl.hostname, port: proxyUrl.port }) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === "https:"; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - if (!agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - if (usingSsl && this._ignoreSslError) { - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _getProxyAgentDispatcher(parsedUrl, proxyUrl) { - let proxyAgent; - if (this._keepAlive) { - proxyAgent = this._proxyAgentDispatcher; - } - if (proxyAgent) { - return proxyAgent; - } - const usingSsl = parsedUrl.protocol === "https:"; - proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { - token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString("base64")}` - })); - this._proxyAgentDispatcher = proxyAgent; - if (usingSsl && this._ignoreSslError) { - proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { - rejectUnauthorized: false - }); - } - return proxyAgent; - } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise((resolve) => setTimeout(() => resolve(), ms)); - }); - } - _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - function dateTimeDeserializer(key, value) { - if (typeof value === "string") { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } catch (err) { - } - if (statusCode > 299) { - let msg; - if (obj && obj.message) { - msg = obj.message; - } else if (contents && contents.length > 0) { - msg = contents; - } else { - msg = `Failed request: (${statusCode})`; - } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } else { - resolve(response); - } - })); - }); - } - }; - exports2.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); - } -}); - -// node_modules/@reporters/github/node_modules/@actions/http-client/lib/auth.js -var require_auth = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/http-client/lib/auth.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; - var BasicCredentialHandler = class { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - if (!options.headers) { - throw Error("The request has no headers"); - } - options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); - } - }; - exports2.BasicCredentialHandler = BasicCredentialHandler; - var BearerCredentialHandler = class { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error("The request has no headers"); - } - options.headers["Authorization"] = `Bearer ${this.token}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); - } - }; - exports2.BearerCredentialHandler = BearerCredentialHandler; - var PersonalAccessTokenCredentialHandler = class { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error("The request has no headers"); - } - options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error("not implemented"); - }); - } - }; - exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/oidc-utils.js -var require_oidc_utils = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/oidc-utils.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.OidcClient = void 0; - var http_client_1 = require_lib(); - var auth_1 = require_auth(); - var core_1 = require_core(); - var OidcClient = class { - static createHttpClient(allowRetry = true, maxRetry = 10) { - const requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient("actions/oidc-client", [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); - } - static getRequestToken() { - const token = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; - if (!token) { - throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable"); - } - return token; - } - static getIDTokenUrl() { - const runtimeUrl = process.env["ACTIONS_ID_TOKEN_REQUEST_URL"]; - if (!runtimeUrl) { - throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"); - } - return runtimeUrl; - } - static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const httpclient = OidcClient.createHttpClient(); - const res = yield httpclient.getJson(id_token_url).catch((error) => { - throw new Error(`Failed to get ID Token. - - Error Code : ${error.statusCode} - - Error Message: ${error.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (!id_token) { - throw new Error("Response json body do not have ID Token field"); - } - return id_token; - }); - } - static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { - try { - let id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; - } - (0, core_1.debug)(`ID token url is ${id_token_url}`); - const id_token = yield OidcClient.getCall(id_token_url); - (0, core_1.setSecret)(id_token); - return id_token; - } catch (error) { - throw new Error(`Error message: ${error.message}`); - } - }); - } - }; - exports2.OidcClient = OidcClient; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/summary.js -var require_summary = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/summary.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; - var os_1 = require("os"); - var fs_1 = require("fs"); - var { access, appendFile, writeFile } = fs_1.promises; - exports2.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; - exports2.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; - var Summary = class { - constructor() { - this._buffer = ""; - } - /** - * Finds the summary file path from the environment, rejects if env var is not found or file does not exist - * Also checks r/w permissions. - * - * @returns step summary file path - */ - filePath() { - return __awaiter(this, void 0, void 0, function* () { - if (this._filePath) { - return this._filePath; - } - const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; - if (!pathFromEnv) { - throw new Error(`Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); - } - try { - yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a) { - throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); - } - this._filePath = pathFromEnv; - return this._filePath; - }); - } - /** - * Wraps content in an HTML tag, adding any HTML attributes - * - * @param {string} tag HTML tag to wrap - * @param {string | null} content content within the tag - * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add - * - * @returns {string} content wrapped in HTML element - */ - wrap(tag, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join(""); - if (!content) { - return `<${tag}${htmlAttrs}>`; - } - return `<${tag}${htmlAttrs}>${content}</${tag}>`; - } - /** - * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. - * - * @param {SummaryWriteOptions} [options] (optional) options for write operation - * - * @returns {Promise<Summary>} summary instance - */ - write(options) { - return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: "utf8" }); - return this.emptyBuffer(); - }); - } - /** - * Clears the summary buffer and wipes the summary file - * - * @returns {Summary} summary instance - */ - clear() { - return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); - } - /** - * Returns the current summary buffer as a string - * - * @returns {string} string of summary buffer - */ - stringify() { - return this._buffer; - } - /** - * If the summary buffer is empty - * - * @returns {boolen} true if the buffer is empty - */ - isEmptyBuffer() { - return this._buffer.length === 0; - } - /** - * Resets the summary buffer without writing to summary file - * - * @returns {Summary} summary instance - */ - emptyBuffer() { - this._buffer = ""; - return this; - } - /** - * Adds raw text to the summary buffer - * - * @param {string} text content to add - * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) - * - * @returns {Summary} summary instance - */ - addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; - } - /** - * Adds the operating system-specific end-of-line marker to the buffer - * - * @returns {Summary} summary instance - */ - addEOL() { - return this.addRaw(os_1.EOL); - } - /** - * Adds an HTML codeblock to the summary buffer - * - * @param {string} code content to render within fenced code block - * @param {string} lang (optional) language to syntax highlight code - * - * @returns {Summary} summary instance - */ - addCodeBlock(code, lang) { - const attrs = Object.assign({}, lang && { lang }); - const element = this.wrap("pre", this.wrap("code", code), attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML list to the summary buffer - * - * @param {string[]} items list of items to render - * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) - * - * @returns {Summary} summary instance - */ - addList(items, ordered = false) { - const tag = ordered ? "ol" : "ul"; - const listItems = items.map((item) => this.wrap("li", item)).join(""); - const element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML table to the summary buffer - * - * @param {SummaryTableCell[]} rows table rows - * - * @returns {Summary} summary instance - */ - addTable(rows) { - const tableBody = rows.map((row) => { - const cells = row.map((cell) => { - if (typeof cell === "string") { - return this.wrap("td", cell); - } - const { header, data, colspan, rowspan } = cell; - const tag = header ? "th" : "td"; - const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); - return this.wrap(tag, data, attrs); - }).join(""); - return this.wrap("tr", cells); - }).join(""); - const element = this.wrap("table", tableBody); - return this.addRaw(element).addEOL(); - } - /** - * Adds a collapsable HTML details element to the summary buffer - * - * @param {string} label text for the closed state - * @param {string} content collapsable content - * - * @returns {Summary} summary instance - */ - addDetails(label, content) { - const element = this.wrap("details", this.wrap("summary", label) + content); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML image tag to the summary buffer - * - * @param {string} src path to the image you to embed - * @param {string} alt text description of the image - * @param {SummaryImageOptions} options (optional) addition image attributes - * - * @returns {Summary} summary instance - */ - addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); - const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML section heading element - * - * @param {string} text heading text - * @param {number | string} [level=1] (optional) the heading level, default: 1 - * - * @returns {Summary} summary instance - */ - addHeading(text, level) { - const tag = `h${level}`; - const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML thematic break (<hr>) to the summary buffer - * - * @returns {Summary} summary instance - */ - addSeparator() { - const element = this.wrap("hr", null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML line break (<br>) to the summary buffer - * - * @returns {Summary} summary instance - */ - addBreak() { - const element = this.wrap("br", null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML blockquote to the summary buffer - * - * @param {string} text quote text - * @param {string} cite (optional) citation url - * - * @returns {Summary} summary instance - */ - addQuote(text, cite) { - const attrs = Object.assign({}, cite && { cite }); - const element = this.wrap("blockquote", text, attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML anchor tag to the summary buffer - * - * @param {string} text link text/content - * @param {string} href hyperlink - * - * @returns {Summary} summary instance - */ - addLink(text, href) { - const element = this.wrap("a", text, { href }); - return this.addRaw(element).addEOL(); - } - }; - var _summary = new Summary(); - exports2.markdownSummary = _summary; - exports2.summary = _summary; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/path-utils.js -var require_path_utils = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/path-utils.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; - var path2 = __importStar(require("path")); - function toPosixPath(pth) { - return pth.replace(/[\\]/g, "/"); - } - exports2.toPosixPath = toPosixPath; - function toWin32Path(pth) { - return pth.replace(/[/]/g, "\\"); - } - exports2.toWin32Path = toWin32Path; - function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path2.sep); - } - exports2.toPlatformPath = toPlatformPath; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/io/lib/io-util.js -var require_io_util = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/io/lib/io-util.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var _a; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getCmdPath = exports2.tryGetExecutablePath = exports2.isRooted = exports2.isDirectory = exports2.exists = exports2.READONLY = exports2.UV_FS_O_EXLOCK = exports2.IS_WINDOWS = exports2.unlink = exports2.symlink = exports2.stat = exports2.rmdir = exports2.rm = exports2.rename = exports2.readlink = exports2.readdir = exports2.open = exports2.mkdir = exports2.lstat = exports2.copyFile = exports2.chmod = void 0; - var fs = __importStar(require("fs")); - var path2 = __importStar(require("path")); - _a = fs.promises, exports2.chmod = _a.chmod, exports2.copyFile = _a.copyFile, exports2.lstat = _a.lstat, exports2.mkdir = _a.mkdir, exports2.open = _a.open, exports2.readdir = _a.readdir, exports2.readlink = _a.readlink, exports2.rename = _a.rename, exports2.rm = _a.rm, exports2.rmdir = _a.rmdir, exports2.stat = _a.stat, exports2.symlink = _a.symlink, exports2.unlink = _a.unlink; - exports2.IS_WINDOWS = process.platform === "win32"; - exports2.UV_FS_O_EXLOCK = 268435456; - exports2.READONLY = fs.constants.O_RDONLY; - function exists(fsPath) { - return __awaiter(this, void 0, void 0, function* () { - try { - yield exports2.stat(fsPath); - } catch (err) { - if (err.code === "ENOENT") { - return false; - } - throw err; - } - return true; - }); - } - exports2.exists = exists; - function isDirectory(fsPath, useStat = false) { - return __awaiter(this, void 0, void 0, function* () { - const stats = useStat ? yield exports2.stat(fsPath) : yield exports2.lstat(fsPath); - return stats.isDirectory(); - }); - } - exports2.isDirectory = isDirectory; - function isRooted(p) { - p = normalizeSeparators(p); - if (!p) { - throw new Error('isRooted() parameter "p" cannot be empty'); - } - if (exports2.IS_WINDOWS) { - return p.startsWith("\\") || /^[A-Z]:/i.test(p); - } - return p.startsWith("/"); - } - exports2.isRooted = isRooted; - function tryGetExecutablePath(filePath, extensions) { - return __awaiter(this, void 0, void 0, function* () { - let stats = void 0; - try { - stats = yield exports2.stat(filePath); - } catch (err) { - if (err.code !== "ENOENT") { - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); - } - } - if (stats && stats.isFile()) { - if (exports2.IS_WINDOWS) { - const upperExt = path2.extname(filePath).toUpperCase(); - if (extensions.some((validExt) => validExt.toUpperCase() === upperExt)) { - return filePath; - } - } else { - if (isUnixExecutable(stats)) { - return filePath; - } - } - } - const originalFilePath = filePath; - for (const extension of extensions) { - filePath = originalFilePath + extension; - stats = void 0; - try { - stats = yield exports2.stat(filePath); - } catch (err) { - if (err.code !== "ENOENT") { - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); - } - } - if (stats && stats.isFile()) { - if (exports2.IS_WINDOWS) { - try { - const directory = path2.dirname(filePath); - const upperName = path2.basename(filePath).toUpperCase(); - for (const actualName of yield exports2.readdir(directory)) { - if (upperName === actualName.toUpperCase()) { - filePath = path2.join(directory, actualName); - break; - } - } - } catch (err) { - console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); - } - return filePath; - } else { - if (isUnixExecutable(stats)) { - return filePath; - } - } - } - } - return ""; - }); - } - exports2.tryGetExecutablePath = tryGetExecutablePath; - function normalizeSeparators(p) { - p = p || ""; - if (exports2.IS_WINDOWS) { - p = p.replace(/\//g, "\\"); - return p.replace(/\\\\+/g, "\\"); - } - return p.replace(/\/\/+/g, "/"); - } - function isUnixExecutable(stats) { - return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); - } - function getCmdPath() { - var _a2; - return (_a2 = process.env["COMSPEC"]) !== null && _a2 !== void 0 ? _a2 : `cmd.exe`; - } - exports2.getCmdPath = getCmdPath; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/io/lib/io.js -var require_io = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/io/lib/io.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.findInPath = exports2.which = exports2.mkdirP = exports2.rmRF = exports2.mv = exports2.cp = void 0; - var assert_1 = require("assert"); - var path2 = __importStar(require("path")); - var ioUtil = __importStar(require_io_util()); - function cp(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const { force, recursive, copySourceDirectory } = readCopyOptions(options); - const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; - if (destStat && destStat.isFile() && !force) { - return; - } - const newDest = destStat && destStat.isDirectory() && copySourceDirectory ? path2.join(dest, path2.basename(source)) : dest; - if (!(yield ioUtil.exists(source))) { - throw new Error(`no such file or directory: ${source}`); - } - const sourceStat = yield ioUtil.stat(source); - if (sourceStat.isDirectory()) { - if (!recursive) { - throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); - } else { - yield cpDirRecursive(source, newDest, 0, force); - } - } else { - if (path2.relative(source, newDest) === "") { - throw new Error(`'${newDest}' and '${source}' are the same file`); - } - yield copyFile(source, newDest, force); - } - }); - } - exports2.cp = cp; - function mv(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - if (yield ioUtil.exists(dest)) { - let destExists = true; - if (yield ioUtil.isDirectory(dest)) { - dest = path2.join(dest, path2.basename(source)); - destExists = yield ioUtil.exists(dest); - } - if (destExists) { - if (options.force == null || options.force) { - yield rmRF(dest); - } else { - throw new Error("Destination already exists"); - } - } - } - yield mkdirP(path2.dirname(dest)); - yield ioUtil.rename(source, dest); - }); - } - exports2.mv = mv; - function rmRF(inputPath) { - return __awaiter(this, void 0, void 0, function* () { - if (ioUtil.IS_WINDOWS) { - if (/[*"<>|]/.test(inputPath)) { - throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); - } - } - try { - yield ioUtil.rm(inputPath, { - force: true, - maxRetries: 3, - recursive: true, - retryDelay: 300 - }); - } catch (err) { - throw new Error(`File was unable to be removed ${err}`); - } - }); - } - exports2.rmRF = rmRF; - function mkdirP(fsPath) { - return __awaiter(this, void 0, void 0, function* () { - assert_1.ok(fsPath, "a path argument must be provided"); - yield ioUtil.mkdir(fsPath, { recursive: true }); - }); - } - exports2.mkdirP = mkdirP; - function which(tool, check) { - return __awaiter(this, void 0, void 0, function* () { - if (!tool) { - throw new Error("parameter 'tool' is required"); - } - if (check) { - const result = yield which(tool, false); - if (!result) { - if (ioUtil.IS_WINDOWS) { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); - } else { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); - } - } - return result; - } - const matches = yield findInPath(tool); - if (matches && matches.length > 0) { - return matches[0]; - } - return ""; - }); - } - exports2.which = which; - function findInPath(tool) { - return __awaiter(this, void 0, void 0, function* () { - if (!tool) { - throw new Error("parameter 'tool' is required"); - } - const extensions = []; - if (ioUtil.IS_WINDOWS && process.env["PATHEXT"]) { - for (const extension of process.env["PATHEXT"].split(path2.delimiter)) { - if (extension) { - extensions.push(extension); - } - } - } - if (ioUtil.isRooted(tool)) { - const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); - if (filePath) { - return [filePath]; - } - return []; - } - if (tool.includes(path2.sep)) { - return []; - } - const directories = []; - if (process.env.PATH) { - for (const p of process.env.PATH.split(path2.delimiter)) { - if (p) { - directories.push(p); - } - } - } - const matches = []; - for (const directory of directories) { - const filePath = yield ioUtil.tryGetExecutablePath(path2.join(directory, tool), extensions); - if (filePath) { - matches.push(filePath); - } - } - return matches; - }); - } - exports2.findInPath = findInPath; - function readCopyOptions(options) { - const force = options.force == null ? true : options.force; - const recursive = Boolean(options.recursive); - const copySourceDirectory = options.copySourceDirectory == null ? true : Boolean(options.copySourceDirectory); - return { force, recursive, copySourceDirectory }; - } - function cpDirRecursive(sourceDir, destDir, currentDepth, force) { - return __awaiter(this, void 0, void 0, function* () { - if (currentDepth >= 255) - return; - currentDepth++; - yield mkdirP(destDir); - const files = yield ioUtil.readdir(sourceDir); - for (const fileName of files) { - const srcFile = `${sourceDir}/${fileName}`; - const destFile = `${destDir}/${fileName}`; - const srcFileStat = yield ioUtil.lstat(srcFile); - if (srcFileStat.isDirectory()) { - yield cpDirRecursive(srcFile, destFile, currentDepth, force); - } else { - yield copyFile(srcFile, destFile, force); - } - } - yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); - }); - } - function copyFile(srcFile, destFile, force) { - return __awaiter(this, void 0, void 0, function* () { - if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { - try { - yield ioUtil.lstat(destFile); - yield ioUtil.unlink(destFile); - } catch (e) { - if (e.code === "EPERM") { - yield ioUtil.chmod(destFile, "0666"); - yield ioUtil.unlink(destFile); - } - } - const symlinkFull = yield ioUtil.readlink(srcFile); - yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? "junction" : null); - } else if (!(yield ioUtil.exists(destFile)) || force) { - yield ioUtil.copyFile(srcFile, destFile); - } - }); - } - } -}); - -// node_modules/@reporters/github/node_modules/@actions/exec/lib/toolrunner.js -var require_toolrunner = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/exec/lib/toolrunner.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.argStringToArray = exports2.ToolRunner = void 0; - var os = __importStar(require("os")); - var events = __importStar(require("events")); - var child = __importStar(require("child_process")); - var path2 = __importStar(require("path")); - var io = __importStar(require_io()); - var ioUtil = __importStar(require_io_util()); - var timers_1 = require("timers"); - var IS_WINDOWS = process.platform === "win32"; - var ToolRunner = class extends events.EventEmitter { - constructor(toolPath, args, options) { - super(); - if (!toolPath) { - throw new Error("Parameter 'toolPath' cannot be null or empty."); - } - this.toolPath = toolPath; - this.args = args || []; - this.options = options || {}; - } - _debug(message) { - if (this.options.listeners && this.options.listeners.debug) { - this.options.listeners.debug(message); - } - } - _getCommandString(options, noPrefix) { - const toolPath = this._getSpawnFileName(); - const args = this._getSpawnArgs(options); - let cmd = noPrefix ? "" : "[command]"; - if (IS_WINDOWS) { - if (this._isCmdFile()) { - cmd += toolPath; - for (const a of args) { - cmd += ` ${a}`; - } - } else if (options.windowsVerbatimArguments) { - cmd += `"${toolPath}"`; - for (const a of args) { - cmd += ` ${a}`; - } - } else { - cmd += this._windowsQuoteCmdArg(toolPath); - for (const a of args) { - cmd += ` ${this._windowsQuoteCmdArg(a)}`; - } - } - } else { - cmd += toolPath; - for (const a of args) { - cmd += ` ${a}`; - } - } - return cmd; - } - _processLineBuffer(data, strBuffer, onLine) { - try { - let s = strBuffer + data.toString(); - let n = s.indexOf(os.EOL); - while (n > -1) { - const line = s.substring(0, n); - onLine(line); - s = s.substring(n + os.EOL.length); - n = s.indexOf(os.EOL); - } - return s; - } catch (err) { - this._debug(`error processing line. Failed with error ${err}`); - return ""; - } - } - _getSpawnFileName() { - if (IS_WINDOWS) { - if (this._isCmdFile()) { - return process.env["COMSPEC"] || "cmd.exe"; - } - } - return this.toolPath; - } - _getSpawnArgs(options) { - if (IS_WINDOWS) { - if (this._isCmdFile()) { - let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a of this.args) { - argline += " "; - argline += options.windowsVerbatimArguments ? a : this._windowsQuoteCmdArg(a); - } - argline += '"'; - return [argline]; - } - } - return this.args; - } - _endsWith(str, end) { - return str.endsWith(end); - } - _isCmdFile() { - const upperToolPath = this.toolPath.toUpperCase(); - return this._endsWith(upperToolPath, ".CMD") || this._endsWith(upperToolPath, ".BAT"); - } - _windowsQuoteCmdArg(arg) { - if (!this._isCmdFile()) { - return this._uvQuoteCmdArg(arg); - } - if (!arg) { - return '""'; - } - const cmdSpecialChars = [ - " ", - " ", - "&", - "(", - ")", - "[", - "]", - "{", - "}", - "^", - "=", - ";", - "!", - "'", - "+", - ",", - "`", - "~", - "|", - "<", - ">", - '"' - ]; - let needsQuotes = false; - for (const char of arg) { - if (cmdSpecialChars.some((x) => x === char)) { - needsQuotes = true; - break; - } - } - if (!needsQuotes) { - return arg; - } - let reverse = '"'; - let quoteHit = true; - for (let i = arg.length; i > 0; i--) { - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === "\\") { - reverse += "\\"; - } else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += '"'; - } else { - quoteHit = false; - } - } - reverse += '"'; - return reverse.split("").reverse().join(""); - } - _uvQuoteCmdArg(arg) { - if (!arg) { - return '""'; - } - if (!arg.includes(" ") && !arg.includes(" ") && !arg.includes('"')) { - return arg; - } - if (!arg.includes('"') && !arg.includes("\\")) { - return `"${arg}"`; - } - let reverse = '"'; - let quoteHit = true; - for (let i = arg.length; i > 0; i--) { - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === "\\") { - reverse += "\\"; - } else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += "\\"; - } else { - quoteHit = false; - } - } - reverse += '"'; - return reverse.split("").reverse().join(""); - } - _cloneExecOptions(options) { - options = options || {}; - const result = { - cwd: options.cwd || process.cwd(), - env: options.env || process.env, - silent: options.silent || false, - windowsVerbatimArguments: options.windowsVerbatimArguments || false, - failOnStdErr: options.failOnStdErr || false, - ignoreReturnCode: options.ignoreReturnCode || false, - delay: options.delay || 1e4 - }; - result.outStream = options.outStream || process.stdout; - result.errStream = options.errStream || process.stderr; - return result; - } - _getSpawnOptions(options, toolPath) { - options = options || {}; - const result = {}; - result.cwd = options.cwd; - result.env = options.env; - result["windowsVerbatimArguments"] = options.windowsVerbatimArguments || this._isCmdFile(); - if (options.windowsVerbatimArguments) { - result.argv0 = `"${toolPath}"`; - } - return result; - } - /** - * Exec a tool. - * Output will be streamed to the live console. - * Returns promise with return code - * - * @param tool path to tool to exec - * @param options optional exec options. See ExecOptions - * @returns number - */ - exec() { - return __awaiter(this, void 0, void 0, function* () { - if (!ioUtil.isRooted(this.toolPath) && (this.toolPath.includes("/") || IS_WINDOWS && this.toolPath.includes("\\"))) { - this.toolPath = path2.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); - } - this.toolPath = yield io.which(this.toolPath, true); - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - this._debug(`exec tool: ${this.toolPath}`); - this._debug("arguments:"); - for (const arg of this.args) { - this._debug(` ${arg}`); - } - const optionsNonNull = this._cloneExecOptions(this.options); - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); - } - const state = new ExecState(optionsNonNull, this.toolPath); - state.on("debug", (message) => { - this._debug(message); - }); - if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { - return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); - } - const fileName = this._getSpawnFileName(); - const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); - let stdbuffer = ""; - if (cp.stdout) { - cp.stdout.on("data", (data) => { - if (this.options.listeners && this.options.listeners.stdout) { - this.options.listeners.stdout(data); - } - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(data); - } - stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { - if (this.options.listeners && this.options.listeners.stdline) { - this.options.listeners.stdline(line); - } - }); - }); - } - let errbuffer = ""; - if (cp.stderr) { - cp.stderr.on("data", (data) => { - state.processStderr = true; - if (this.options.listeners && this.options.listeners.stderr) { - this.options.listeners.stderr(data); - } - if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s.write(data); - } - errbuffer = this._processLineBuffer(data, errbuffer, (line) => { - if (this.options.listeners && this.options.listeners.errline) { - this.options.listeners.errline(line); - } - }); - }); - } - cp.on("error", (err) => { - state.processError = err.message; - state.processExited = true; - state.processClosed = true; - state.CheckComplete(); - }); - cp.on("exit", (code) => { - state.processExitCode = code; - state.processExited = true; - this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); - state.CheckComplete(); - }); - cp.on("close", (code) => { - state.processExitCode = code; - state.processExited = true; - state.processClosed = true; - this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); - state.CheckComplete(); - }); - state.on("done", (error, exitCode) => { - if (stdbuffer.length > 0) { - this.emit("stdline", stdbuffer); - } - if (errbuffer.length > 0) { - this.emit("errline", errbuffer); - } - cp.removeAllListeners(); - if (error) { - reject(error); - } else { - resolve(exitCode); - } - }); - if (this.options.input) { - if (!cp.stdin) { - throw new Error("child process missing stdin"); - } - cp.stdin.end(this.options.input); - } - })); - }); - } - }; - exports2.ToolRunner = ToolRunner; - function argStringToArray(argString) { - const args = []; - let inQuotes = false; - let escaped = false; - let arg = ""; - function append(c) { - if (escaped && c !== '"') { - arg += "\\"; - } - arg += c; - escaped = false; - } - for (let i = 0; i < argString.length; i++) { - const c = argString.charAt(i); - if (c === '"') { - if (!escaped) { - inQuotes = !inQuotes; - } else { - append(c); - } - continue; - } - if (c === "\\" && escaped) { - append(c); - continue; - } - if (c === "\\" && inQuotes) { - escaped = true; - continue; - } - if (c === " " && !inQuotes) { - if (arg.length > 0) { - args.push(arg); - arg = ""; - } - continue; - } - append(c); - } - if (arg.length > 0) { - args.push(arg.trim()); - } - return args; - } - exports2.argStringToArray = argStringToArray; - var ExecState = class extends events.EventEmitter { - constructor(options, toolPath) { - super(); - this.processClosed = false; - this.processError = ""; - this.processExitCode = 0; - this.processExited = false; - this.processStderr = false; - this.delay = 1e4; - this.done = false; - this.timeout = null; - if (!toolPath) { - throw new Error("toolPath must not be empty"); - } - this.options = options; - this.toolPath = toolPath; - if (options.delay) { - this.delay = options.delay; - } - } - CheckComplete() { - if (this.done) { - return; - } - if (this.processClosed) { - this._setResult(); - } else if (this.processExited) { - this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this); - } - } - _debug(message) { - this.emit("debug", message); - } - _setResult() { - let error; - if (this.processExited) { - if (this.processError) { - error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); - } else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { - error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); - } else if (this.processStderr && this.options.failOnStdErr) { - error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); - } - } - if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; - } - this.done = true; - this.emit("done", error, this.processExitCode); - } - static HandleTimeout(state) { - if (state.done) { - return; - } - if (!state.processClosed && state.processExited) { - const message = `The STDIO streams did not close within ${state.delay / 1e3} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; - state._debug(message); - } - state._setResult(); - } - }; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/exec/lib/exec.js -var require_exec = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/exec/lib/exec.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getExecOutput = exports2.exec = void 0; - var string_decoder_1 = require("string_decoder"); - var tr = __importStar(require_toolrunner()); - function exec(commandLine, args, options) { - return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr.argStringToArray(commandLine); - if (commandArgs.length === 0) { - throw new Error(`Parameter 'commandLine' cannot be null or empty.`); - } - const toolPath = commandArgs[0]; - args = commandArgs.slice(1).concat(args || []); - const runner = new tr.ToolRunner(toolPath, args, options); - return runner.exec(); - }); - } - exports2.exec = exec; - function getExecOutput(commandLine, args, options) { - var _a, _b; - return __awaiter(this, void 0, void 0, function* () { - let stdout = ""; - let stderr = ""; - const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); - const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; - const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; - const stdErrListener = (data) => { - stderr += stderrDecoder.write(data); - if (originalStdErrListener) { - originalStdErrListener(data); - } - }; - const stdOutListener = (data) => { - stdout += stdoutDecoder.write(data); - if (originalStdoutListener) { - originalStdoutListener(data); - } - }; - const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); - const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); - stdout += stdoutDecoder.end(); - stderr += stderrDecoder.end(); - return { - exitCode, - stdout, - stderr - }; - }); - } - exports2.getExecOutput = getExecOutput; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/platform.js -var require_platform = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/platform.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getDetails = exports2.isLinux = exports2.isMacOS = exports2.isWindows = exports2.arch = exports2.platform = void 0; - var os_1 = __importDefault(require("os")); - var exec = __importStar(require_exec()); - var getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () { - const { stdout: version } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', void 0, { - silent: true - }); - const { stdout: name } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', void 0, { - silent: true - }); - return { - name: name.trim(), - version: version.trim() - }; - }); - var getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () { - var _a, _b, _c, _d; - const { stdout } = yield exec.getExecOutput("sw_vers", void 0, { - silent: true - }); - const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ""; - const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ""; - return { - name, - version - }; - }); - var getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () { - const { stdout } = yield exec.getExecOutput("lsb_release", ["-i", "-r", "-s"], { - silent: true - }); - const [name, version] = stdout.trim().split("\n"); - return { - name, - version - }; - }); - exports2.platform = os_1.default.platform(); - exports2.arch = os_1.default.arch(); - exports2.isWindows = exports2.platform === "win32"; - exports2.isMacOS = exports2.platform === "darwin"; - exports2.isLinux = exports2.platform === "linux"; - function getDetails() { - return __awaiter(this, void 0, void 0, function* () { - return Object.assign(Object.assign({}, yield exports2.isWindows ? getWindowsInfo() : exports2.isMacOS ? getMacOsInfo() : getLinuxInfo()), { - platform: exports2.platform, - arch: exports2.arch, - isWindows: exports2.isWindows, - isMacOS: exports2.isMacOS, - isLinux: exports2.isLinux - }); - }); - } - exports2.getDetails = getDetails; - } -}); - -// node_modules/@reporters/github/node_modules/@actions/core/lib/core.js -var require_core = __commonJS({ - "node_modules/@reporters/github/node_modules/@actions/core/lib/core.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m[k]; - } }; - } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.platform = exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = exports2.markdownSummary = exports2.summary = exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0; - var command_1 = require_command(); - var file_command_1 = require_file_command(); - var utils_1 = require_utils(); - var os = __importStar(require("os")); - var path2 = __importStar(require("path")); - var oidc_utils_1 = require_oidc_utils(); - var ExitCode; - (function(ExitCode2) { - ExitCode2[ExitCode2["Success"] = 0] = "Success"; - ExitCode2[ExitCode2["Failure"] = 1] = "Failure"; - })(ExitCode || (exports2.ExitCode = ExitCode = {})); - function exportVariable(name, val) { - const convertedVal = (0, utils_1.toCommandValue)(val); - process.env[name] = convertedVal; - const filePath = process.env["GITHUB_ENV"] || ""; - if (filePath) { - return (0, file_command_1.issueFileCommand)("ENV", (0, file_command_1.prepareKeyValueMessage)(name, val)); - } - (0, command_1.issueCommand)("set-env", { name }, convertedVal); - } - exports2.exportVariable = exportVariable; - function setSecret(secret) { - (0, command_1.issueCommand)("add-mask", {}, secret); - } - exports2.setSecret = setSecret; - function addPath(inputPath) { - const filePath = process.env["GITHUB_PATH"] || ""; - if (filePath) { - (0, file_command_1.issueFileCommand)("PATH", inputPath); - } else { - (0, command_1.issueCommand)("add-path", {}, inputPath); - } - process.env["PATH"] = `${inputPath}${path2.delimiter}${process.env["PATH"]}`; - } - exports2.addPath = addPath; - function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - if (options && options.trimWhitespace === false) { - return val; - } - return val.trim(); - } - exports2.getInput = getInput; - function getMultilineInput(name, options) { - const inputs = getInput(name, options).split("\n").filter((x) => x !== ""); - if (options && options.trimWhitespace === false) { - return inputs; - } - return inputs.map((input) => input.trim()); - } - exports2.getMultilineInput = getMultilineInput; - function getBooleanInput(name, options) { - const trueValue = ["true", "True", "TRUE"]; - const falseValue = ["false", "False", "FALSE"]; - const val = getInput(name, options); - if (trueValue.includes(val)) - return true; - if (falseValue.includes(val)) - return false; - throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); - } - exports2.getBooleanInput = getBooleanInput; - function setOutput(name, value) { - const filePath = process.env["GITHUB_OUTPUT"] || ""; - if (filePath) { - return (0, file_command_1.issueFileCommand)("OUTPUT", (0, file_command_1.prepareKeyValueMessage)(name, value)); - } - process.stdout.write(os.EOL); - (0, command_1.issueCommand)("set-output", { name }, (0, utils_1.toCommandValue)(value)); - } - exports2.setOutput = setOutput; - function setCommandEcho(enabled) { - (0, command_1.issue)("echo", enabled ? "on" : "off"); - } - exports2.setCommandEcho = setCommandEcho; - function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); - } - exports2.setFailed = setFailed; - function isDebug() { - return process.env["RUNNER_DEBUG"] === "1"; - } - exports2.isDebug = isDebug; - function debug(message) { - (0, command_1.issueCommand)("debug", {}, message); - } - exports2.debug = debug; - function error(message, properties = {}) { - (0, command_1.issueCommand)("error", (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); - } - exports2.error = error; - function warning(message, properties = {}) { - (0, command_1.issueCommand)("warning", (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); - } - exports2.warning = warning; - function notice(message, properties = {}) { - (0, command_1.issueCommand)("notice", (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); - } - exports2.notice = notice; - function info(message) { - process.stdout.write(message + os.EOL); - } - exports2.info = info; - function startGroup(name) { - (0, command_1.issue)("group", name); - } - exports2.startGroup = startGroup; - function endGroup() { - (0, command_1.issue)("endgroup"); - } - exports2.endGroup = endGroup; - function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } finally { - endGroup(); - } - return result; - }); - } - exports2.group = group; - function saveState(name, value) { - const filePath = process.env["GITHUB_STATE"] || ""; - if (filePath) { - return (0, file_command_1.issueFileCommand)("STATE", (0, file_command_1.prepareKeyValueMessage)(name, value)); - } - (0, command_1.issueCommand)("save-state", { name }, (0, utils_1.toCommandValue)(value)); - } - exports2.saveState = saveState; - function getState(name) { - return process.env[`STATE_${name}`] || ""; - } - exports2.getState = getState; - function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); - } - exports2.getIDToken = getIDToken; - var summary_1 = require_summary(); - Object.defineProperty(exports2, "summary", { enumerable: true, get: function() { - return summary_1.summary; - } }); - var summary_2 = require_summary(); - Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() { - return summary_2.markdownSummary; - } }); - var path_utils_1 = require_path_utils(); - Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() { - return path_utils_1.toPosixPath; - } }); - Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() { - return path_utils_1.toWin32Path; - } }); - Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() { - return path_utils_1.toPlatformPath; - } }); - exports2.platform = __importStar(require_platform()); - } -}); - -// node_modules/@reporters/github/node_modules/escape-string-regexp/index.js -var require_escape_string_regexp = __commonJS({ - "node_modules/@reporters/github/node_modules/escape-string-regexp/index.js"(exports2, module2) { - "use strict"; - var matchOperatorsRegex = /[|\\{}()[\]^$+*?.-]/g; - module2.exports = (string) => { - if (typeof string !== "string") { - throw new TypeError("Expected a string"); - } - return string.replace(matchOperatorsRegex, "\\$&"); - }; - } -}); - -// node_modules/@reporters/github/node_modules/stack-utils/index.js -var require_stack_utils = __commonJS({ - "node_modules/@reporters/github/node_modules/stack-utils/index.js"(exports2, module2) { - "use strict"; - var escapeStringRegexp = require_escape_string_regexp(); - var cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : "."; - var natives = [].concat( - require("module").builtinModules, - "bootstrap_node", - "node" - ).map((n) => new RegExp(`(?:\\((?:node:)?${n}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${n}(?:\\.js)?:\\d+:\\d+$)`)); - natives.push( - /\((?:node:)?internal\/[^:]+:\d+:\d+\)$/, - /\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/, - /\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/ - ); - var StackUtils2 = class { - constructor(opts) { - opts = { - ignoredPackages: [], - ...opts - }; - if ("internals" in opts === false) { - opts.internals = StackUtils2.nodeInternals(); - } - if ("cwd" in opts === false) { - opts.cwd = cwd; - } - this._cwd = opts.cwd.replace(/\\/g, "/"); - this._internals = [].concat( - opts.internals, - ignoredPackagesRegExp(opts.ignoredPackages) - ); - this._wrapCallSite = opts.wrapCallSite || false; - } - static nodeInternals() { - return [...natives]; - } - clean(stack2, indent = 0) { - indent = " ".repeat(indent); - if (!Array.isArray(stack2)) { - stack2 = stack2.split("\n"); - } - if (!/^\s*at /.test(stack2[0]) && /^\s*at /.test(stack2[1])) { - stack2 = stack2.slice(1); - } - let outdent = false; - let lastNonAtLine = null; - const result = []; - stack2.forEach((st) => { - st = st.replace(/\\/g, "/"); - if (this._internals.some((internal) => internal.test(st))) { - return; - } - const isAtLine = /^\s*at /.test(st); - if (outdent) { - st = st.trimEnd().replace(/^(\s+)at /, "$1"); - } else { - st = st.trim(); - if (isAtLine) { - st = st.slice(3); - } - } - st = st.replace(`${this._cwd}/`, ""); - if (st) { - if (isAtLine) { - if (lastNonAtLine) { - result.push(lastNonAtLine); - lastNonAtLine = null; - } - result.push(st); - } else { - outdent = true; - lastNonAtLine = st; - } - } - }); - return result.map((line) => `${indent}${line} -`).join(""); - } - captureString(limit, fn = this.captureString) { - if (typeof limit === "function") { - fn = limit; - limit = Infinity; - } - const { stackTraceLimit } = Error; - if (limit) { - Error.stackTraceLimit = limit; - } - const obj = {}; - Error.captureStackTrace(obj, fn); - const { stack: stack2 } = obj; - Error.stackTraceLimit = stackTraceLimit; - return this.clean(stack2); - } - capture(limit, fn = this.capture) { - if (typeof limit === "function") { - fn = limit; - limit = Infinity; - } - const { prepareStackTrace, stackTraceLimit } = Error; - Error.prepareStackTrace = (obj2, site) => { - if (this._wrapCallSite) { - return site.map(this._wrapCallSite); - } - return site; - }; - if (limit) { - Error.stackTraceLimit = limit; - } - const obj = {}; - Error.captureStackTrace(obj, fn); - const { stack: stack2 } = obj; - Object.assign(Error, { prepareStackTrace, stackTraceLimit }); - return stack2; - } - at(fn = this.at) { - const [site] = this.capture(1, fn); - if (!site) { - return {}; - } - const res = { - line: site.getLineNumber(), - column: site.getColumnNumber() - }; - setFile(res, site.getFileName(), this._cwd); - if (site.isConstructor()) { - Object.defineProperty(res, "constructor", { - value: true, - configurable: true - }); - } - if (site.isEval()) { - res.evalOrigin = site.getEvalOrigin(); - } - if (site.isNative()) { - res.native = true; - } - let typename; - try { - typename = site.getTypeName(); - } catch (_) { - } - if (typename && typename !== "Object" && typename !== "[object Object]") { - res.type = typename; - } - const fname = site.getFunctionName(); - if (fname) { - res.function = fname; - } - const meth = site.getMethodName(); - if (meth && fname !== meth) { - res.method = meth; - } - return res; - } - parseLine(line) { - const match = line && line.match(re); - if (!match) { - return null; - } - const ctor = match[1] === "new"; - let fname = match[2]; - const evalOrigin = match[3]; - const evalFile = match[4]; - const evalLine = Number(match[5]); - const evalCol = Number(match[6]); - let file = match[7]; - const lnum = match[8]; - const col = match[9]; - const native = match[10] === "native"; - const closeParen = match[11] === ")"; - let method; - const res = {}; - if (lnum) { - res.line = Number(lnum); - } - if (col) { - res.column = Number(col); - } - if (closeParen && file) { - let closes = 0; - for (let i = file.length - 1; i > 0; i--) { - if (file.charAt(i) === ")") { - closes++; - } else if (file.charAt(i) === "(" && file.charAt(i - 1) === " ") { - closes--; - if (closes === -1 && file.charAt(i - 1) === " ") { - const before = file.slice(0, i - 1); - const after = file.slice(i + 1); - file = after; - fname += ` (${before}`; - break; - } - } - } - } - if (fname) { - const methodMatch = fname.match(methodRe); - if (methodMatch) { - fname = methodMatch[1]; - method = methodMatch[2]; - } - } - setFile(res, file, this._cwd); - if (ctor) { - Object.defineProperty(res, "constructor", { - value: true, - configurable: true - }); - } - if (evalOrigin) { - res.evalOrigin = evalOrigin; - res.evalLine = evalLine; - res.evalColumn = evalCol; - res.evalFile = evalFile && evalFile.replace(/\\/g, "/"); - } - if (native) { - res.native = true; - } - if (fname) { - res.function = fname; - } - if (method && fname !== method) { - res.method = method; - } - return res; - } - }; - function setFile(result, filename, cwd2) { - if (filename) { - filename = filename.replace(/\\/g, "/"); - if (filename.startsWith(`${cwd2}/`)) { - filename = filename.slice(cwd2.length + 1); - } - result.file = filename; - } - } - function ignoredPackagesRegExp(ignoredPackages) { - if (ignoredPackages.length === 0) { - return []; - } - const packages = ignoredPackages.map((mod) => escapeStringRegexp(mod)); - return new RegExp(`[/\\\\]node_modules[/\\\\](?:${packages.join("|")})[/\\\\][^:]+:\\d+:\\d+`); - } - var re = new RegExp( - "^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$" - ); - var methodRe = /^(.*?) \[as (.*?)\]$/; - module2.exports = StackUtils2; - } -}); - -// node_modules/@reporters/github/index.js -var path = require("node:path"); -var { fileURLToPath } = require("node:url"); -var util = require("node:util"); -var { EOL } = require("node:os"); -var core = require_core(); -var StackUtils = require_stack_utils(); -var WORKSPACE = process.env.GITHUB_WORKSPACE ?? ""; -var stack = new StackUtils({ cwd: WORKSPACE, internals: StackUtils.nodeInternals() }); -var isFile = (name) => name?.startsWith(WORKSPACE); -var getRelativeFilePath = (name) => isFile(name) ? path.relative(WORKSPACE, name) : null; -function getFilePath(fileName) { - if (fileName.startsWith("file://")) { - return getRelativeFilePath(fileURLToPath(fileName)); - } - if (!path.isAbsolute(fileName)) { - return getRelativeFilePath(path.resolve(fileName) ?? ""); - } - return getRelativeFilePath(fileName); -} -var parseStack = (error, file) => { - const err = error?.code === "ERR_TEST_FAILURE" ? error?.cause : error; - const stackLines = (err?.stack ?? "").split(/\r?\n/); - const line = stackLines.find((l) => l.includes(file)) ?? stackLines[0]; - return line ? stack.parseLine(line) : null; -}; -var DIAGNOSTIC_KEYS = { - tests: "Total Tests", - suites: "Suites \u{1F4C2}", - pass: "Passed \u2705", - fail: "Failed \u274C", - cancelled: "Canceled \u{1F6AB}", - skipped: "Skipped \u23ED\uFE0F", - todo: "Todo \u{1F4DD}", - duration_ms: "Duration \u{1F550}" -}; -var DIAGNOSTIC_VALUES = { - duration_ms: (value) => `${Number(value).toFixed(3)}ms` -}; -function extractLocation(data) { - let { line, column, file } = data; - const error = data.details?.error; - file = getFilePath(file); - if (error) { - const errorLocation = parseStack(error, file); - file = getFilePath(errorLocation?.file ?? file) ?? file; - line = errorLocation?.line ?? line; - column = errorLocation?.column ?? column; - } - return { file, startLine: line, startColumn: column }; -} -module.exports = async function githubReporter(source) { - if (!process.env.GITHUB_ACTIONS) { - for await (const _ of source) - ; - return; - } - const counter = { pass: 0, fail: 0 }; - const diagnostics = []; - for await (const event of source) { - switch (event.type) { - case "test:start": - core.debug(`starting to run ${event.data.name}`); - break; - case "test:pass": - counter.pass += 1; - core.debug(`completed running ${event.data.name}`); - break; - case "test:fail": { - const error = event.data.details?.error; - if (error?.code === "ERR_TEST_FAILURE" && error?.failureType === "subtestsFailed") { - break; - } - core.error(util.inspect(error, { colors: false, breakLength: Infinity }), { - ...extractLocation(event.data), - title: event.data.name - }); - counter.fail += 1; - break; - } - case "test:diagnostic": - if (event.data.file === void 0 || event.data.line === void 0 || event.data.column === void 0) { - diagnostics.push(event.data.message); - } else { - core.notice(event.data.message, extractLocation(event.data)); - } - break; - default: - break; - } - } - const formattedDiagnostics = diagnostics.map((d) => { - const [key, ...rest] = d.split(" "); - const value = rest.join(" "); - return [ - DIAGNOSTIC_KEYS[key] ?? key, - DIAGNOSTIC_VALUES[key] ? DIAGNOSTIC_VALUES[key](value) : value - ]; - }); - core.startGroup(`Test results (${formattedDiagnostics.find(([key]) => key === DIAGNOSTIC_KEYS.pass)?.[1] ?? counter.pass} passed, ${formattedDiagnostics.find(([key]) => key === DIAGNOSTIC_KEYS.fail)?.[1] ?? counter.fail} failed)`); - core.notice(formattedDiagnostics.map((d) => d.join(": ")).join(EOL)); - core.endGroup(); - if (process.env.GITHUB_STEP_SUMMARY) { - await core.summary.addHeading("Test Results").addTable(formattedDiagnostics).write(); - } -}; -/*! Bundled license information: - -undici/lib/fetch/body.js: - (*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *) - -undici/lib/websocket/frame.js: - (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) -*/ diff --git a/tools/github_reporter/package.json b/tools/github_reporter/package.json deleted file mode 100644 index d9e5273b7ce46e..00000000000000 --- a/tools/github_reporter/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@reporters/github", - "version": "1.7.2", - "description": "A github actions reporter for `node:test`", - "type": "commonjs", - "keywords": [ - "github actions", - "node:test", - "test", - "reporter", - "reporters" - ], - "dependencies": { - "@actions/core": "^1.10.0", - "stack-utils": "^2.0.6" - }, - "files": [ - "./index.js" - ], - "scripts": { - "test": "node --test-reporter=spec --test-reporter-destination=stdout --test-reporter=./index.js --test-reporter-destination=stdout --test" - }, - "bugs": { - "url": "https://github.com/MoLow/reporters/issues" - }, - "main": "index.js", - "homepage": "https://github.com/MoLow/reporters/tree/main/packages/github", - "repository": "https://github.com/MoLow/reporters.git", - "author": "Moshe Atlow", - "license": "MIT" -} diff --git a/tools/inspector_protocol/.clang-format b/tools/inspector_protocol/.clang-format deleted file mode 100644 index fcbc9c321a5c61..00000000000000 --- a/tools/inspector_protocol/.clang-format +++ /dev/null @@ -1,36 +0,0 @@ -# Defines the Chromium style for automatic reformatting. -# http://clang.llvm.org/docs/ClangFormatStyleOptions.html -BasedOnStyle: Chromium -# This defaults to 'Auto'. Explicitly set it for a while, so that -# 'vector<vector<int> >' in existing files gets formatted to -# 'vector<vector<int>>'. ('Auto' means that clang-format will only use -# 'int>>' if the file already contains at least one such instance.) -Standard: Cpp11 - -# Make sure code like: -# IPC_BEGIN_MESSAGE_MAP() -# IPC_MESSAGE_HANDLER(WidgetHostViewHost_Update, OnUpdate) -# IPC_END_MESSAGE_MAP() -# gets correctly indented. -MacroBlockBegin: "^\ -BEGIN_MSG_MAP|\ -BEGIN_MSG_MAP_EX|\ -BEGIN_SAFE_MSG_MAP_EX|\ -CR_BEGIN_MSG_MAP_EX|\ -IPC_BEGIN_MESSAGE_MAP|\ -IPC_BEGIN_MESSAGE_MAP_WITH_PARAM|\ -IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN|\ -IPC_STRUCT_BEGIN|\ -IPC_STRUCT_BEGIN_WITH_PARENT|\ -IPC_STRUCT_TRAITS_BEGIN|\ -POLPARAMS_BEGIN|\ -PPAPI_BEGIN_MESSAGE_MAP$" -MacroBlockEnd: "^\ -CR_END_MSG_MAP|\ -END_MSG_MAP|\ -IPC_END_MESSAGE_MAP|\ -IPC_PROTOBUF_MESSAGE_TRAITS_END|\ -IPC_STRUCT_END|\ -IPC_STRUCT_TRAITS_END|\ -POLPARAMS_END|\ -PPAPI_END_MESSAGE_MAP$" diff --git a/tools/inspector_protocol/OWNERS b/tools/inspector_protocol/OWNERS deleted file mode 100644 index 8d0b6d90cb233b..00000000000000 --- a/tools/inspector_protocol/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -set noparent - -alph@chromium.org -caseq@chromium.org -dgozman@chromium.org -kozyatinskiy@chromium.org -pfeldman@chromium.org -yangguo@chromium.org diff --git a/tools/inspector_protocol/README.md b/tools/inspector_protocol/README.md index da3f93f3f3b49e..9b1e3263a86bc3 100644 --- a/tools/inspector_protocol/README.md +++ b/tools/inspector_protocol/README.md @@ -1,33 +1,6 @@ # Chromium inspector (devtools) protocol -This package contains code generators and templates for the Chromium -inspector protocol. +This directory contains scripts to update the [Chromium inspector protocol][] +to local at `deps/inspector_protocol`. -The canonical location of this package is at -https://chromium.googlesource.com/deps/inspector_protocol/ - -In the Chromium tree, it's rolled into -https://cs.chromium.org/chromium/src/third_party/inspector_protocol/ - -In the V8 tree, it's rolled into -https://cs.chromium.org/chromium/src/v8/third_party/inspector_protocol/ - -See also [Contributing to Chrome Devtools Protocol](https://docs.google.com/document/d/1c-COD2kaK__5iMM5SEx-PzNA7HFmgttcYfOHHX0HaOM/edit). - -We're working on enabling standalone builds for parts of this package for -testing and development, please feel free to ignore this for now. -But, if you're familiar with -[Chromium's development process](https://www.chromium.org/developers/contributing-code) -and have the depot_tools installed, you may use these commands -to fetch the package (and dependencies) and build and run the tests: - - fetch inspector_protocol - cd src - gn gen out/Release - ninja -C out/Release json_parser_test - out/Release/json_parser_test - -You'll probably also need to install g++, since Clang uses this to find the -standard C++ headers. E.g., - - sudo apt-get install g++-8 +[Chromium inspector protocol]: https://chromium.googlesource.com/deps/inspector_protocol/ diff --git a/tools/inspector_protocol/code_generator.py b/tools/inspector_protocol/code_generator.py deleted file mode 100755 index a6e163c6fe911f..00000000000000 --- a/tools/inspector_protocol/code_generator.py +++ /dev/null @@ -1,700 +0,0 @@ -#!/usr/bin/env python -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import os.path -import sys -import argparse -import collections -import functools -import re -import copy -try: - import json -except ImportError: - import simplejson as json - -import pdl - -try: - unicode -except NameError: - # Define unicode for Py3 - def unicode(s, *_): - return s - -# Path handling for libraries and templates -# Paths have to be normalized because Jinja uses the exact template path to -# determine the hash used in the cache filename, and we need a pre-caching step -# to be concurrency-safe. Use absolute path because __file__ is absolute if -# module is imported, and relative if executed directly. -# If paths differ between pre-caching and individual file compilation, the cache -# is regenerated, which causes a race condition and breaks concurrent build, -# since some compile processes will try to read the partially written cache. -module_path, module_filename = os.path.split(os.path.realpath(__file__)) - -def read_config(): - # pylint: disable=W0703 - def json_to_object(data, output_base): - def json_object_hook(object_dict): - items = [(k, os.path.join(output_base, v) if k == "path" else v) for (k, v) in object_dict.items()] - items = [(k, os.path.join(output_base, v) if k == "output" else v) for (k, v) in items] - keys, values = list(zip(*items)) - # 'async' is a python 3.7 keyword. Don't use namedtuple(rename=True) - # because that only renames it in python 3 but not python 2. - keys = tuple('async_' if k == 'async' else k for k in keys) - return collections.namedtuple('X', keys)(*values) - return json.loads(data, object_hook=json_object_hook) - - def init_defaults(config_tuple, path, defaults): - keys = list(config_tuple._fields) # pylint: disable=E1101 - values = [getattr(config_tuple, k) for k in keys] - for i in range(len(keys)): - if hasattr(values[i], "_fields"): - values[i] = init_defaults(values[i], path + "." + keys[i], defaults) - for optional in defaults: - if optional.find(path + ".") != 0: - continue - optional_key = optional[len(path) + 1:] - if optional_key.find(".") == -1 and optional_key not in keys: - keys.append(optional_key) - values.append(defaults[optional]) - return collections.namedtuple('X', keys)(*values) - - try: - cmdline_parser = argparse.ArgumentParser() - cmdline_parser.add_argument("--output_base", type=unicode, required=True) - cmdline_parser.add_argument("--jinja_dir", type=unicode, required=True) - cmdline_parser.add_argument("--config", type=unicode, required=True) - cmdline_parser.add_argument("--config_value", default=[], action="append") - arg_options = cmdline_parser.parse_args() - jinja_dir = arg_options.jinja_dir - output_base = arg_options.output_base - config_file = arg_options.config - config_values = arg_options.config_value - except Exception: - # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html - exc = sys.exc_info()[1] - sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc) - exit(1) - - try: - config_json_file = open(config_file, "r") - config_json_string = config_json_file.read() - config_partial = json_to_object(config_json_string, output_base) - config_json_file.close() - defaults = { - ".use_snake_file_names": False, - ".use_title_case_methods": False, - ".imported": False, - ".imported.export_macro": "", - ".imported.export_header": False, - ".imported.header": False, - ".imported.package": False, - ".imported.options": False, - ".protocol.export_macro": "", - ".protocol.export_header": False, - ".protocol.options": False, - ".protocol.file_name_prefix": "", - ".exported": False, - ".exported.export_macro": "", - ".exported.export_header": False, - ".lib": False, - ".lib.export_macro": "", - ".lib.export_header": False, - # The encoding lib consists of encoding/encoding.h and - # encoding/encoding.cc in its subdirectory, which binaries - # may link / depend on, instead of relying on the - # JINJA2 templates lib/encoding_{h,cc}.template. - # In that case, |header| identifies the include file - # and |namespace| is the namespace it's using. Usually - # inspector_protocol_encoding but for v8's copy it's - # v8_inspector_protocol_encoding. - # TODO(johannes): Migrate away from lib/encoding_{h,cc}.template - # in favor of this. - ".encoding_lib": { "header": "", "namespace": []}, - } - for key_value in config_values: - parts = key_value.split("=") - if len(parts) == 2: - defaults["." + parts[0]] = parts[1] - return (jinja_dir, config_file, init_defaults(config_partial, "", defaults)) - except Exception: - # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html - exc = sys.exc_info()[1] - sys.stderr.write("Failed to parse config file: %s\n\n" % exc) - exit(1) - - -# ---- Begin of utilities exposed to generator ---- - - -def to_title_case(name): - return name[:1].upper() + name[1:] - - -def dash_to_camelcase(word): - prefix = "" - if word[0] == "-": - prefix = "Negative" - word = word[1:] - return prefix + "".join(to_title_case(x) or "-" for x in word.split("-")) - - -def to_snake_case(name): - return re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name, sys.maxsize).lower() - - -def to_method_case(config, name): - if config.use_title_case_methods: - return to_title_case(name) - return name - - -def join_arrays(dict, keys): - result = [] - for key in keys: - if key in dict: - result += dict[key] - return result - - -def format_include(config, header, file_name=None): - if file_name is not None: - header = header + "/" + file_name + ".h" - header = "\"" + header + "\"" if header[0] not in "<\"" else header - if config.use_snake_file_names: - header = to_snake_case(header) - return header - - -def format_domain_include(config, header, file_name): - return format_include(config, header, config.protocol.file_name_prefix + file_name) - - -def to_file_name(config, file_name): - if config.use_snake_file_names: - return to_snake_case(file_name).replace(".cpp", ".cc") - return file_name - - -# ---- End of utilities exposed to generator ---- - - -def initialize_jinja_env(jinja_dir, cache_dir, config): - # pylint: disable=F0401 - sys.path.insert(1, os.path.abspath(jinja_dir)) - import jinja2 - - jinja_env = jinja2.Environment( - loader=jinja2.FileSystemLoader(module_path), - # Bytecode cache is not concurrency-safe unless pre-cached: - # if pre-cached this is read-only, but writing creates a race condition. - bytecode_cache=jinja2.FileSystemBytecodeCache(cache_dir), - keep_trailing_newline=True, # newline-terminate generated files - lstrip_blocks=True, # so can indent control flow tags - trim_blocks=True) - jinja_env.filters.update({"to_title_case": to_title_case, "dash_to_camelcase": dash_to_camelcase, "to_method_case": functools.partial(to_method_case, config)}) - jinja_env.add_extension("jinja2.ext.loopcontrols") - return jinja_env - - -def create_imported_type_definition(domain_name, type, imported_namespace): - # pylint: disable=W0622 - return { - "return_type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]), - "pass_type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]), - "to_raw_type": "%s.get()", - "to_pass_type": "std::move(%s)", - "to_rvalue": "std::move(%s)", - "type": "std::unique_ptr<%s::%s::API::%s>" % (imported_namespace, domain_name, type["id"]), - "raw_type": "%s::%s::API::%s" % (imported_namespace, domain_name, type["id"]), - "raw_pass_type": "%s::%s::API::%s*" % (imported_namespace, domain_name, type["id"]), - "raw_return_type": "%s::%s::API::%s*" % (imported_namespace, domain_name, type["id"]), - } - - -def create_user_type_definition(domain_name, type): - # pylint: disable=W0622 - return { - "return_type": "std::unique_ptr<protocol::%s::%s>" % (domain_name, type["id"]), - "pass_type": "std::unique_ptr<protocol::%s::%s>" % (domain_name, type["id"]), - "to_raw_type": "%s.get()", - "to_pass_type": "std::move(%s)", - "to_rvalue": "std::move(%s)", - "type": "std::unique_ptr<protocol::%s::%s>" % (domain_name, type["id"]), - "raw_type": "protocol::%s::%s" % (domain_name, type["id"]), - "raw_pass_type": "protocol::%s::%s*" % (domain_name, type["id"]), - "raw_return_type": "protocol::%s::%s*" % (domain_name, type["id"]), - } - - -def create_object_type_definition(): - # pylint: disable=W0622 - return { - "return_type": "std::unique_ptr<protocol::DictionaryValue>", - "pass_type": "std::unique_ptr<protocol::DictionaryValue>", - "to_raw_type": "%s.get()", - "to_pass_type": "std::move(%s)", - "to_rvalue": "std::move(%s)", - "type": "std::unique_ptr<protocol::DictionaryValue>", - "raw_type": "protocol::DictionaryValue", - "raw_pass_type": "protocol::DictionaryValue*", - "raw_return_type": "protocol::DictionaryValue*", - } - - -def create_any_type_definition(): - # pylint: disable=W0622 - return { - "return_type": "std::unique_ptr<protocol::Value>", - "pass_type": "std::unique_ptr<protocol::Value>", - "to_raw_type": "%s.get()", - "to_pass_type": "std::move(%s)", - "to_rvalue": "std::move(%s)", - "type": "std::unique_ptr<protocol::Value>", - "raw_type": "protocol::Value", - "raw_pass_type": "protocol::Value*", - "raw_return_type": "protocol::Value*", - } - - -def create_string_type_definition(): - # pylint: disable=W0622 - return { - "return_type": "String", - "pass_type": "const String&", - "to_pass_type": "%s", - "to_raw_type": "%s", - "to_rvalue": "%s", - "type": "String", - "raw_type": "String", - "raw_pass_type": "const String&", - "raw_return_type": "String", - } - - -def create_binary_type_definition(): - # pylint: disable=W0622 - return { - "return_type": "Binary", - "pass_type": "const Binary&", - "to_pass_type": "%s", - "to_raw_type": "%s", - "to_rvalue": "%s", - "type": "Binary", - "raw_type": "Binary", - "raw_pass_type": "const Binary&", - "raw_return_type": "Binary", - } - - -def create_primitive_type_definition(type): - # pylint: disable=W0622 - typedefs = { - "number": "double", - "integer": "int", - "boolean": "bool" - } - defaults = { - "number": "0", - "integer": "0", - "boolean": "false" - } - jsontypes = { - "number": "TypeDouble", - "integer": "TypeInteger", - "boolean": "TypeBoolean", - } - return { - "return_type": typedefs[type], - "pass_type": typedefs[type], - "to_pass_type": "%s", - "to_raw_type": "%s", - "to_rvalue": "%s", - "type": typedefs[type], - "raw_type": typedefs[type], - "raw_pass_type": typedefs[type], - "raw_return_type": typedefs[type], - "default_value": defaults[type] - } - - -def wrap_array_definition(type): - # pylint: disable=W0622 - return { - "return_type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], - "pass_type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], - "to_raw_type": "%s.get()", - "to_pass_type": "std::move(%s)", - "to_rvalue": "std::move(%s)", - "type": "std::unique_ptr<protocol::Array<%s>>" % type["raw_type"], - "raw_type": "protocol::Array<%s>" % type["raw_type"], - "raw_pass_type": "protocol::Array<%s>*" % type["raw_type"], - "raw_return_type": "protocol::Array<%s>*" % type["raw_type"], - "out_type": "protocol::Array<%s>&" % type["raw_type"], - } - - -class Protocol(object): - def __init__(self, config): - self.config = config - self.json_api = {"domains": []} - self.imported_domains = [] - self.exported_domains = [] - self.generate_domains = self.read_protocol_file(config.protocol.path) - - if config.protocol.options: - self.generate_domains = [rule.domain for rule in config.protocol.options] - self.exported_domains = [rule.domain for rule in config.protocol.options if hasattr(rule, "exported")] - - if config.imported: - self.imported_domains = self.read_protocol_file(config.imported.path) - if config.imported.options: - self.imported_domains = [rule.domain for rule in config.imported.options] - - self.patch_full_qualified_refs() - self.create_notification_types() - self.create_type_definitions() - self.generate_used_types() - - - def read_protocol_file(self, file_name): - input_file = open(file_name, "r") - parsed_json = pdl.loads(input_file.read(), file_name) - input_file.close() - version = parsed_json["version"]["major"] + "." + parsed_json["version"]["minor"] - domains = [] - for domain in parsed_json["domains"]: - domains.append(domain["domain"]) - domain["version"] = version - self.json_api["domains"] += parsed_json["domains"] - return domains - - - def patch_full_qualified_refs(self): - def patch_full_qualified_refs_in_domain(json, domain_name): - if isinstance(json, list): - for item in json: - patch_full_qualified_refs_in_domain(item, domain_name) - if not isinstance(json, dict): - return - for key in json: - if key == "type" and json[key] == "string": - json[key] = domain_name + ".string" - if key != "$ref": - patch_full_qualified_refs_in_domain(json[key], domain_name) - continue - if json["$ref"].find(".") == -1: - json["$ref"] = domain_name + "." + json["$ref"] - return - - for domain in self.json_api["domains"]: - patch_full_qualified_refs_in_domain(domain, domain["domain"]) - - - def all_references(self, json): - refs = set() - if isinstance(json, list): - for item in json: - refs |= self.all_references(item) - if not isinstance(json, dict): - return refs - for key in json: - if key != "$ref": - refs |= self.all_references(json[key]) - else: - refs.add(json["$ref"]) - return refs - - def generate_used_types(self): - all_refs = set() - for domain in self.json_api["domains"]: - domain_name = domain["domain"] - if "commands" in domain: - for command in domain["commands"]: - if self.generate_command(domain_name, command["name"]): - all_refs |= self.all_references(command) - if "events" in domain: - for event in domain["events"]: - if self.generate_event(domain_name, event["name"]): - all_refs |= self.all_references(event) - all_refs.add(domain_name + "." + to_title_case(event["name"]) + "Notification") - - dependencies = self.generate_type_dependencies() - queue = set(all_refs) - while len(queue): - ref = queue.pop() - if ref in dependencies: - queue |= dependencies[ref] - all_refs - all_refs |= dependencies[ref] - self.used_types = all_refs - - - def generate_type_dependencies(self): - dependencies = dict() - domains_with_types = (x for x in self.json_api["domains"] if "types" in x) - for domain in domains_with_types: - domain_name = domain["domain"] - for type in domain["types"]: - related_types = self.all_references(type) - if len(related_types): - dependencies[domain_name + "." + type["id"]] = related_types - return dependencies - - - def create_notification_types(self): - for domain in self.json_api["domains"]: - if "events" in domain: - for event in domain["events"]: - event_type = dict() - event_type["description"] = "Wrapper for notification params" - event_type["type"] = "object" - event_type["id"] = to_title_case(event["name"]) + "Notification" - if "parameters" in event: - event_type["properties"] = copy.deepcopy(event["parameters"]) - if "types" not in domain: - domain["types"] = list() - domain["types"].append(event_type) - - - def create_type_definitions(self): - imported_namespace = "::".join(self.config.imported.namespace) if self.config.imported else "" - self.type_definitions = {} - self.type_definitions["number"] = create_primitive_type_definition("number") - self.type_definitions["integer"] = create_primitive_type_definition("integer") - self.type_definitions["boolean"] = create_primitive_type_definition("boolean") - self.type_definitions["object"] = create_object_type_definition() - self.type_definitions["any"] = create_any_type_definition() - self.type_definitions["binary"] = create_binary_type_definition() - for domain in self.json_api["domains"]: - self.type_definitions[domain["domain"] + ".string"] = create_string_type_definition() - self.type_definitions[domain["domain"] + ".binary"] = create_binary_type_definition() - if not ("types" in domain): - continue - for type in domain["types"]: - type_name = domain["domain"] + "." + type["id"] - if type["type"] == "object" and domain["domain"] in self.imported_domains: - self.type_definitions[type_name] = create_imported_type_definition(domain["domain"], type, imported_namespace) - elif type["type"] == "object": - self.type_definitions[type_name] = create_user_type_definition(domain["domain"], type) - elif type["type"] == "array": - self.type_definitions[type_name] = self.resolve_type(type) - elif type["type"] == domain["domain"] + ".string": - self.type_definitions[type_name] = create_string_type_definition() - elif type["type"] == domain["domain"] + ".binary": - self.type_definitions[type_name] = create_binary_type_definition() - else: - self.type_definitions[type_name] = create_primitive_type_definition(type["type"]) - - - def check_options(self, options, domain, name, include_attr, exclude_attr, default): - for rule in options: - if rule.domain != domain: - continue - if include_attr and hasattr(rule, include_attr): - return name in getattr(rule, include_attr) - if exclude_attr and hasattr(rule, exclude_attr): - return name not in getattr(rule, exclude_attr) - return default - return False - - - # ---- Begin of methods exposed to generator - - - def type_definition(self, name): - return self.type_definitions[name] - - - def resolve_type(self, prop): - if "$ref" in prop: - return self.type_definitions[prop["$ref"]] - if prop["type"] == "array": - return wrap_array_definition(self.resolve_type(prop["items"])) - return self.type_definitions[prop["type"]] - - - def generate_command(self, domain, command): - if not self.config.protocol.options: - return domain in self.generate_domains - return self.check_options(self.config.protocol.options, domain, command, "include", "exclude", True) - - - def generate_event(self, domain, event): - if not self.config.protocol.options: - return domain in self.generate_domains - return self.check_options(self.config.protocol.options, domain, event, "include_events", "exclude_events", True) - - - def generate_type(self, domain, typename): - return domain + "." + typename in self.used_types - - - def is_async_command(self, domain, command): - if not self.config.protocol.options: - return False - return self.check_options(self.config.protocol.options, domain, command, "async_", None, False) - - - def is_exported(self, domain, name): - if not self.config.protocol.options: - return False - return self.check_options(self.config.protocol.options, domain, name, "exported", None, False) - - - def is_imported(self, domain, name): - if not self.config.imported: - return False - if not self.config.imported.options: - return domain in self.imported_domains - return self.check_options(self.config.imported.options, domain, name, "imported", None, False) - - - def is_exported_domain(self, domain): - return domain in self.exported_domains - - - def generate_disable(self, domain): - if "commands" not in domain: - return True - for command in domain["commands"]: - if command["name"] == "disable" and self.generate_command(domain["domain"], "disable"): - return False - return True - - - def is_imported_dependency(self, domain): - return domain in self.generate_domains or domain in self.imported_domains - - -def main(): - jinja_dir, config_file, config = read_config() - - protocol = Protocol(config) - - if not config.exported and len(protocol.exported_domains): - sys.stderr.write("Domains [%s] are exported, but config is missing export entry\n\n" % ", ".join(protocol.exported_domains)) - exit(1) - - if not os.path.exists(config.protocol.output): - os.mkdir(config.protocol.output) - if len(protocol.exported_domains) and not os.path.exists(config.exported.output): - os.mkdir(config.exported.output) - jinja_env = initialize_jinja_env(jinja_dir, config.protocol.output, config) - - inputs = [] - inputs.append(__file__) - inputs.append(config_file) - inputs.append(config.protocol.path) - if config.imported: - inputs.append(config.imported.path) - templates_dir = os.path.join(module_path, "templates") - inputs.append(os.path.join(templates_dir, "TypeBuilder_h.template")) - inputs.append(os.path.join(templates_dir, "TypeBuilder_cpp.template")) - inputs.append(os.path.join(templates_dir, "Exported_h.template")) - inputs.append(os.path.join(templates_dir, "Imported_h.template")) - - h_template = jinja_env.get_template("templates/TypeBuilder_h.template") - cpp_template = jinja_env.get_template("templates/TypeBuilder_cpp.template") - exported_template = jinja_env.get_template("templates/Exported_h.template") - imported_template = jinja_env.get_template("templates/Imported_h.template") - - outputs = dict() - - for domain in protocol.json_api["domains"]: - class_name = domain["domain"] - file_name = config.protocol.file_name_prefix + class_name - template_context = { - "protocol": protocol, - "config": config, - "domain": domain, - "join_arrays": join_arrays, - "format_include": functools.partial(format_include, config), - "format_domain_include": functools.partial(format_domain_include, config), - } - - if domain["domain"] in protocol.generate_domains: - outputs[os.path.join(config.protocol.output, to_file_name(config, file_name + ".h"))] = h_template.render(template_context) - outputs[os.path.join(config.protocol.output, to_file_name(config, file_name + ".cpp"))] = cpp_template.render(template_context) - if domain["domain"] in protocol.exported_domains: - outputs[os.path.join(config.exported.output, to_file_name(config, file_name + ".h"))] = exported_template.render(template_context) - if domain["domain"] in protocol.imported_domains: - outputs[os.path.join(config.protocol.output, to_file_name(config, file_name + ".h"))] = imported_template.render(template_context) - - if config.lib: - template_context = { - "config": config, - "format_include": functools.partial(format_include, config), - } - - lib_templates_dir = os.path.join(module_path, "lib") - # Note these should be sorted in the right order. - # TODO(dgozman): sort them programmatically based on commented includes. - protocol_h_templates = [ - "ErrorSupport_h.template", - "Values_h.template", - "Object_h.template", - "ValueConversions_h.template", - "Maybe_h.template", - "DispatcherBase_h.template", - "Parser_h.template", - "encoding_h.template", - ] - - protocol_cpp_templates = [ - "Protocol_cpp.template", - "ErrorSupport_cpp.template", - "Values_cpp.template", - "Object_cpp.template", - "DispatcherBase_cpp.template", - "Parser_cpp.template", - "encoding_cpp.template", - ] - - forward_h_templates = [ - "Forward_h.template", - "Allocator_h.template", - "FrontendChannel_h.template", - ] - - base_string_adapter_h_templates = [ - "base_string_adapter_h.template", - ] - - base_string_adapter_cc_templates = [ - "base_string_adapter_cc.template", - ] - - def generate_lib_file(file_name, template_files): - parts = [] - for template_file in template_files: - inputs.append(os.path.join(lib_templates_dir, template_file)) - template = jinja_env.get_template("lib/" + template_file) - parts.append(template.render(template_context)) - outputs[file_name] = "\n\n".join(parts) - - generate_lib_file(os.path.join(config.lib.output, to_file_name(config, "Forward.h")), forward_h_templates) - generate_lib_file(os.path.join(config.lib.output, to_file_name(config, "Protocol.h")), protocol_h_templates) - generate_lib_file(os.path.join(config.lib.output, to_file_name(config, "Protocol.cpp")), protocol_cpp_templates) - generate_lib_file(os.path.join(config.lib.output, to_file_name(config, "base_string_adapter.h")), base_string_adapter_h_templates) - generate_lib_file(os.path.join(config.lib.output, to_file_name(config, "base_string_adapter.cc")), base_string_adapter_cc_templates) - - # Make gyp / make generatos happy, otherwise make rebuilds world. - inputs_ts = max(map(os.path.getmtime, inputs)) - up_to_date = True - for output_file in outputs.keys(): - if not os.path.exists(output_file) or os.path.getmtime(output_file) < inputs_ts: - up_to_date = False - break - if up_to_date: - sys.exit() - - for file_name, content in outputs.items(): - out_file = open(file_name, "w") - out_file.write(content) - out_file.close() - - -main() diff --git a/tools/inspector_protocol/codereview.settings b/tools/inspector_protocol/codereview.settings deleted file mode 100644 index 6ac8580b4ccd9f..00000000000000 --- a/tools/inspector_protocol/codereview.settings +++ /dev/null @@ -1,6 +0,0 @@ -# This file is used by git-cl to get repository specific information. -CC_LIST: chromium-reviews@chromium.org -CODE_REVIEW_SERVER: codereview.chromium.org -GERRIT_HOST: True -PROJECT: inspector_protocol -VIEW_VC: https://chromium.googlesource.com/deps/inspector_protocol/+/ diff --git a/tools/inspector_protocol/concatenate_protocols.py b/tools/inspector_protocol/concatenate_protocols.py deleted file mode 100755 index e9f448efe72702..00000000000000 --- a/tools/inspector_protocol/concatenate_protocols.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import os.path -import sys - -try: - import json -except ImportError: - import simplejson as json - -import pdl - -def main(argv): - if len(argv) < 1: - sys.stderr.write("Usage: %s <protocol-1> [<protocol-2> [, <protocol-3>...]] <output-file>\n" % sys.argv[0]) - return 1 - - domains = [] - version = None - for protocol in argv[:-1]: - file_name = os.path.normpath(protocol) - if not os.path.isfile(file_name): - sys.stderr.write("Cannot find %s\n" % file_name) - return 1 - input_file = open(file_name, "r") - parsed_json = pdl.loads(input_file.read(), file_name) - domains += parsed_json["domains"] - version = parsed_json["version"] - - output_file = open(argv[-1], "w") - json.dump({"version": version, "domains": domains}, output_file, indent=4, sort_keys=False, separators=(',', ': ')) - output_file.close() - - -if __name__ == '__main__': - sys.exit(main(sys.argv[1:])) diff --git a/tools/inspector_protocol/encoding/encoding.cc b/tools/inspector_protocol/encoding/encoding.cc deleted file mode 100644 index f7e933e41afac5..00000000000000 --- a/tools/inspector_protocol/encoding/encoding.cc +++ /dev/null @@ -1,2190 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "encoding.h" - -#include <algorithm> -#include <cassert> -#include <cmath> -#include <cstring> -#include <limits> -#include <stack> - -namespace v8_inspector_protocol_encoding { -// ============================================================================= -// Status and Error codes -// ============================================================================= - -std::string Status::ToASCIIString() const { - switch (error) { - case Error::OK: - return "OK"; - case Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS: - return ToASCIIString("JSON: unprocessed input remains"); - case Error::JSON_PARSER_STACK_LIMIT_EXCEEDED: - return ToASCIIString("JSON: stack limit exceeded"); - case Error::JSON_PARSER_NO_INPUT: - return ToASCIIString("JSON: no input"); - case Error::JSON_PARSER_INVALID_TOKEN: - return ToASCIIString("JSON: invalid token"); - case Error::JSON_PARSER_INVALID_NUMBER: - return ToASCIIString("JSON: invalid number"); - case Error::JSON_PARSER_INVALID_STRING: - return ToASCIIString("JSON: invalid string"); - case Error::JSON_PARSER_UNEXPECTED_ARRAY_END: - return ToASCIIString("JSON: unexpected array end"); - case Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED: - return ToASCIIString("JSON: comma or array end expected"); - case Error::JSON_PARSER_STRING_LITERAL_EXPECTED: - return ToASCIIString("JSON: string literal expected"); - case Error::JSON_PARSER_COLON_EXPECTED: - return ToASCIIString("JSON: colon expected"); - case Error::JSON_PARSER_UNEXPECTED_MAP_END: - return ToASCIIString("JSON: unexpected map end"); - case Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED: - return ToASCIIString("JSON: comma or map end expected"); - case Error::JSON_PARSER_VALUE_EXPECTED: - return ToASCIIString("JSON: value expected"); - - case Error::CBOR_INVALID_INT32: - return ToASCIIString("CBOR: invalid int32"); - case Error::CBOR_INVALID_DOUBLE: - return ToASCIIString("CBOR: invalid double"); - case Error::CBOR_INVALID_ENVELOPE: - return ToASCIIString("CBOR: invalid envelope"); - case Error::CBOR_INVALID_STRING8: - return ToASCIIString("CBOR: invalid string8"); - case Error::CBOR_INVALID_STRING16: - return ToASCIIString("CBOR: invalid string16"); - case Error::CBOR_INVALID_BINARY: - return ToASCIIString("CBOR: invalid binary"); - case Error::CBOR_UNSUPPORTED_VALUE: - return ToASCIIString("CBOR: unsupported value"); - case Error::CBOR_NO_INPUT: - return ToASCIIString("CBOR: no input"); - case Error::CBOR_INVALID_START_BYTE: - return ToASCIIString("CBOR: invalid start byte"); - case Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE: - return ToASCIIString("CBOR: unexpected eof expected value"); - case Error::CBOR_UNEXPECTED_EOF_IN_ARRAY: - return ToASCIIString("CBOR: unexpected eof in array"); - case Error::CBOR_UNEXPECTED_EOF_IN_MAP: - return ToASCIIString("CBOR: unexpected eof in map"); - case Error::CBOR_INVALID_MAP_KEY: - return ToASCIIString("CBOR: invalid map key"); - case Error::CBOR_STACK_LIMIT_EXCEEDED: - return ToASCIIString("CBOR: stack limit exceeded"); - case Error::CBOR_TRAILING_JUNK: - return ToASCIIString("CBOR: trailing junk"); - case Error::CBOR_MAP_START_EXPECTED: - return ToASCIIString("CBOR: map start expected"); - case Error::CBOR_MAP_STOP_EXPECTED: - return ToASCIIString("CBOR: map stop expected"); - case Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED: - return ToASCIIString("CBOR: envelope size limit exceeded"); - } - // Some compilers can't figure out that we can't get here. - return "INVALID ERROR CODE"; -} - -std::string Status::ToASCIIString(const char* msg) const { - return std::string(msg) + " at position " + std::to_string(pos); -} - -namespace cbor { -namespace { -// Indicates the number of bits the "initial byte" needs to be shifted to the -// right after applying |kMajorTypeMask| to produce the major type in the -// lowermost bits. -static constexpr uint8_t kMajorTypeBitShift = 5u; -// Mask selecting the low-order 5 bits of the "initial byte", which is where -// the additional information is encoded. -static constexpr uint8_t kAdditionalInformationMask = 0x1f; -// Mask selecting the high-order 3 bits of the "initial byte", which indicates -// the major type of the encoded value. -static constexpr uint8_t kMajorTypeMask = 0xe0; -// Indicates the integer is in the following byte. -static constexpr uint8_t kAdditionalInformation1Byte = 24u; -// Indicates the integer is in the next 2 bytes. -static constexpr uint8_t kAdditionalInformation2Bytes = 25u; -// Indicates the integer is in the next 4 bytes. -static constexpr uint8_t kAdditionalInformation4Bytes = 26u; -// Indicates the integer is in the next 8 bytes. -static constexpr uint8_t kAdditionalInformation8Bytes = 27u; - -// Encodes the initial byte, consisting of the |type| in the first 3 bits -// followed by 5 bits of |additional_info|. -constexpr uint8_t EncodeInitialByte(MajorType type, uint8_t additional_info) { - return (static_cast<uint8_t>(type) << kMajorTypeBitShift) | - (additional_info & kAdditionalInformationMask); -} - -// TAG 24 indicates that what follows is a byte string which is -// encoded in CBOR format. We use this as a wrapper for -// maps and arrays, allowing us to skip them, because the -// byte string carries its size (byte length). -// https://tools.ietf.org/html/rfc7049#section-2.4.4.1 -static constexpr uint8_t kInitialByteForEnvelope = - EncodeInitialByte(MajorType::TAG, 24); -// The initial byte for a byte string with at most 2^32 bytes -// of payload. This is used for envelope encoding, even if -// the byte string is shorter. -static constexpr uint8_t kInitialByteFor32BitLengthByteString = - EncodeInitialByte(MajorType::BYTE_STRING, 26); - -// See RFC 7049 Section 2.2.1, indefinite length arrays / maps have additional -// info = 31. -static constexpr uint8_t kInitialByteIndefiniteLengthArray = - EncodeInitialByte(MajorType::ARRAY, 31); -static constexpr uint8_t kInitialByteIndefiniteLengthMap = - EncodeInitialByte(MajorType::MAP, 31); -// See RFC 7049 Section 2.3, Table 1; this is used for finishing indefinite -// length maps / arrays. -static constexpr uint8_t kStopByte = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 31); - -// See RFC 7049 Section 2.3, Table 2. -static constexpr uint8_t kEncodedTrue = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 21); -static constexpr uint8_t kEncodedFalse = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 20); -static constexpr uint8_t kEncodedNull = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 22); -static constexpr uint8_t kInitialByteForDouble = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 27); - -// See RFC 7049 Table 3 and Section 2.4.4.2. This is used as a prefix for -// arbitrary binary data encoded as BYTE_STRING. -static constexpr uint8_t kExpectedConversionToBase64Tag = - EncodeInitialByte(MajorType::TAG, 22); - -// Writes the bytes for |v| to |out|, starting with the most significant byte. -// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html -template <typename T, class C> -void WriteBytesMostSignificantByteFirst(T v, C* out) { - for (int shift_bytes = sizeof(T) - 1; shift_bytes >= 0; --shift_bytes) - out->push_back(0xff & (v >> (shift_bytes * 8))); -} - -// Extracts sizeof(T) bytes from |in| to extract a value of type T -// (e.g. uint64_t, uint32_t, ...), most significant byte first. -// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html -template <typename T> -T ReadBytesMostSignificantByteFirst(span<uint8_t> in) { - assert(in.size() >= sizeof(T)); - T result = 0; - for (size_t shift_bytes = 0; shift_bytes < sizeof(T); ++shift_bytes) - result |= T(in[sizeof(T) - 1 - shift_bytes]) << (shift_bytes * 8); - return result; -} -} // namespace - -namespace internals { -// Reads the start of a token with definitive size from |bytes|. -// |type| is the major type as specified in RFC 7049 Section 2.1. -// |value| is the payload (e.g. for MajorType::UNSIGNED) or is the size -// (e.g. for BYTE_STRING). -// If successful, returns the number of bytes read. Otherwise returns 0. -size_t ReadTokenStart(span<uint8_t> bytes, MajorType* type, uint64_t* value) { - if (bytes.empty()) - return 0; - uint8_t initial_byte = bytes[0]; - *type = MajorType((initial_byte & kMajorTypeMask) >> kMajorTypeBitShift); - - uint8_t additional_information = initial_byte & kAdditionalInformationMask; - if (additional_information < 24) { - // Values 0-23 are encoded directly into the additional info of the - // initial byte. - *value = additional_information; - return 1; - } - if (additional_information == kAdditionalInformation1Byte) { - // Values 24-255 are encoded with one initial byte, followed by the value. - if (bytes.size() < 2) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint8_t>(bytes.subspan(1)); - return 2; - } - if (additional_information == kAdditionalInformation2Bytes) { - // Values 256-65535: 1 initial byte + 2 bytes payload. - if (bytes.size() < 1 + sizeof(uint16_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint16_t>(bytes.subspan(1)); - return 3; - } - if (additional_information == kAdditionalInformation4Bytes) { - // 32 bit uint: 1 initial byte + 4 bytes payload. - if (bytes.size() < 1 + sizeof(uint32_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint32_t>(bytes.subspan(1)); - return 5; - } - if (additional_information == kAdditionalInformation8Bytes) { - // 64 bit uint: 1 initial byte + 8 bytes payload. - if (bytes.size() < 1 + sizeof(uint64_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint64_t>(bytes.subspan(1)); - return 9; - } - return 0; -} - -// Writes the start of a token with |type|. The |value| may indicate the size, -// or it may be the payload if the value is an unsigned integer. -template <typename C> -void WriteTokenStartTmpl(MajorType type, uint64_t value, C* encoded) { - if (value < 24) { - // Values 0-23 are encoded directly into the additional info of the - // initial byte. - encoded->push_back(EncodeInitialByte(type, /*additional_info=*/value)); - return; - } - if (value <= std::numeric_limits<uint8_t>::max()) { - // Values 24-255 are encoded with one initial byte, followed by the value. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation1Byte)); - encoded->push_back(value); - return; - } - if (value <= std::numeric_limits<uint16_t>::max()) { - // Values 256-65535: 1 initial byte + 2 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation2Bytes)); - WriteBytesMostSignificantByteFirst<uint16_t>(value, encoded); - return; - } - if (value <= std::numeric_limits<uint32_t>::max()) { - // 32 bit uint: 1 initial byte + 4 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation4Bytes)); - WriteBytesMostSignificantByteFirst<uint32_t>(static_cast<uint32_t>(value), - encoded); - return; - } - // 64 bit uint: 1 initial byte + 8 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation8Bytes)); - WriteBytesMostSignificantByteFirst<uint64_t>(value, encoded); -} -void WriteTokenStart(MajorType type, - uint64_t value, - std::vector<uint8_t>* encoded) { - WriteTokenStartTmpl(type, value, encoded); -} -void WriteTokenStart(MajorType type, uint64_t value, std::string* encoded) { - WriteTokenStartTmpl(type, value, encoded); -} -} // namespace internals - -// ============================================================================= -// Detecting CBOR content -// ============================================================================= - -uint8_t InitialByteForEnvelope() { - return kInitialByteForEnvelope; -} -uint8_t InitialByteFor32BitLengthByteString() { - return kInitialByteFor32BitLengthByteString; -} -bool IsCBORMessage(span<uint8_t> msg) { - return msg.size() >= 6 && msg[0] == InitialByteForEnvelope() && - msg[1] == InitialByteFor32BitLengthByteString(); -} - -// ============================================================================= -// Encoding invidiual CBOR items -// ============================================================================= - -uint8_t EncodeTrue() { - return kEncodedTrue; -} -uint8_t EncodeFalse() { - return kEncodedFalse; -} -uint8_t EncodeNull() { - return kEncodedNull; -} - -uint8_t EncodeIndefiniteLengthArrayStart() { - return kInitialByteIndefiniteLengthArray; -} - -uint8_t EncodeIndefiniteLengthMapStart() { - return kInitialByteIndefiniteLengthMap; -} - -uint8_t EncodeStop() { - return kStopByte; -} - -template <typename C> -void EncodeInt32Tmpl(int32_t value, C* out) { - if (value >= 0) { - internals::WriteTokenStart(MajorType::UNSIGNED, value, out); - } else { - uint64_t representation = static_cast<uint64_t>(-(value + 1)); - internals::WriteTokenStart(MajorType::NEGATIVE, representation, out); - } -} -void EncodeInt32(int32_t value, std::vector<uint8_t>* out) { - EncodeInt32Tmpl(value, out); -} -void EncodeInt32(int32_t value, std::string* out) { - EncodeInt32Tmpl(value, out); -} - -template <typename C> -void EncodeString16Tmpl(span<uint16_t> in, C* out) { - uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); - internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); - // When emitting UTF16 characters, we always write the least significant byte - // first; this is because it's the native representation for X86. - // TODO(johannes): Implement a more efficient thing here later, e.g. - // casting *iff* the machine has this byte order. - // The wire format for UTF16 chars will probably remain the same - // (least significant byte first) since this way we can have - // golden files, unittests, etc. that port easily and universally. - // See also: - // https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html - for (const uint16_t two_bytes : in) { - out->push_back(two_bytes); - out->push_back(two_bytes >> 8); - } -} -void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out) { - EncodeString16Tmpl(in, out); -} -void EncodeString16(span<uint16_t> in, std::string* out) { - EncodeString16Tmpl(in, out); -} - -template <typename C> -void EncodeString8Tmpl(span<uint8_t> in, C* out) { - internals::WriteTokenStart(MajorType::STRING, - static_cast<uint64_t>(in.size_bytes()), out); - out->insert(out->end(), in.begin(), in.end()); -} -void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out) { - EncodeString8Tmpl(in, out); -} -void EncodeString8(span<uint8_t> in, std::string* out) { - EncodeString8Tmpl(in, out); -} - -template <typename C> -void EncodeFromLatin1Tmpl(span<uint8_t> latin1, C* out) { - for (size_t ii = 0; ii < latin1.size(); ++ii) { - if (latin1[ii] <= 127) - continue; - // If there's at least one non-ASCII char, convert to UTF8. - std::vector<uint8_t> utf8(latin1.begin(), latin1.begin() + ii); - for (; ii < latin1.size(); ++ii) { - if (latin1[ii] <= 127) { - utf8.push_back(latin1[ii]); - } else { - // 0xC0 means it's a UTF8 sequence with 2 bytes. - utf8.push_back((latin1[ii] >> 6) | 0xc0); - utf8.push_back((latin1[ii] | 0x80) & 0xbf); - } - } - EncodeString8(SpanFrom(utf8), out); - return; - } - EncodeString8(latin1, out); -} -void EncodeFromLatin1(span<uint8_t> latin1, std::vector<uint8_t>* out) { - EncodeFromLatin1Tmpl(latin1, out); -} -void EncodeFromLatin1(span<uint8_t> latin1, std::string* out) { - EncodeFromLatin1Tmpl(latin1, out); -} - -template <typename C> -void EncodeFromUTF16Tmpl(span<uint16_t> utf16, C* out) { - // If there's at least one non-ASCII char, encode as STRING16 (UTF16). - for (uint16_t ch : utf16) { - if (ch <= 127) - continue; - EncodeString16(utf16, out); - return; - } - // It's all US-ASCII, strip out every second byte and encode as UTF8. - internals::WriteTokenStart(MajorType::STRING, - static_cast<uint64_t>(utf16.size()), out); - out->insert(out->end(), utf16.begin(), utf16.end()); -} -void EncodeFromUTF16(span<uint16_t> utf16, std::vector<uint8_t>* out) { - EncodeFromUTF16Tmpl(utf16, out); -} -void EncodeFromUTF16(span<uint16_t> utf16, std::string* out) { - EncodeFromUTF16Tmpl(utf16, out); -} - -template <typename C> -void EncodeBinaryTmpl(span<uint8_t> in, C* out) { - out->push_back(kExpectedConversionToBase64Tag); - uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); - internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); - out->insert(out->end(), in.begin(), in.end()); -} -void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out) { - EncodeBinaryTmpl(in, out); -} -void EncodeBinary(span<uint8_t> in, std::string* out) { - EncodeBinaryTmpl(in, out); -} - -// A double is encoded with a specific initial byte -// (kInitialByteForDouble) plus the 64 bits of payload for its value. -constexpr size_t kEncodedDoubleSize = 1 + sizeof(uint64_t); - -// An envelope is encoded with a specific initial byte -// (kInitialByteForEnvelope), plus the start byte for a BYTE_STRING with a 32 -// bit wide length, plus a 32 bit length for that string. -constexpr size_t kEncodedEnvelopeHeaderSize = 1 + 1 + sizeof(uint32_t); - -template <typename C> -void EncodeDoubleTmpl(double value, C* out) { - // The additional_info=27 indicates 64 bits for the double follow. - // See RFC 7049 Section 2.3, Table 1. - out->push_back(kInitialByteForDouble); - union { - double from_double; - uint64_t to_uint64; - } reinterpret; - reinterpret.from_double = value; - WriteBytesMostSignificantByteFirst<uint64_t>(reinterpret.to_uint64, out); -} -void EncodeDouble(double value, std::vector<uint8_t>* out) { - EncodeDoubleTmpl(value, out); -} -void EncodeDouble(double value, std::string* out) { - EncodeDoubleTmpl(value, out); -} - -// ============================================================================= -// cbor::EnvelopeEncoder - for wrapping submessages -// ============================================================================= - -template <typename C> -void EncodeStartTmpl(C* out, size_t* byte_size_pos) { - assert(*byte_size_pos == 0); - out->push_back(kInitialByteForEnvelope); - out->push_back(kInitialByteFor32BitLengthByteString); - *byte_size_pos = out->size(); - out->resize(out->size() + sizeof(uint32_t)); -} - -void EnvelopeEncoder::EncodeStart(std::vector<uint8_t>* out) { - EncodeStartTmpl<std::vector<uint8_t>>(out, &byte_size_pos_); -} - -void EnvelopeEncoder::EncodeStart(std::string* out) { - EncodeStartTmpl<std::string>(out, &byte_size_pos_); -} - -template <typename C> -bool EncodeStopTmpl(C* out, size_t* byte_size_pos) { - assert(*byte_size_pos != 0); - // The byte size is the size of the payload, that is, all the - // bytes that were written past the byte size position itself. - uint64_t byte_size = out->size() - (*byte_size_pos + sizeof(uint32_t)); - // We store exactly 4 bytes, so at most INT32MAX, with most significant - // byte first. - if (byte_size > std::numeric_limits<uint32_t>::max()) - return false; - for (int shift_bytes = sizeof(uint32_t) - 1; shift_bytes >= 0; - --shift_bytes) { - (*out)[(*byte_size_pos)++] = 0xff & (byte_size >> (shift_bytes * 8)); - } - return true; -} - -bool EnvelopeEncoder::EncodeStop(std::vector<uint8_t>* out) { - return EncodeStopTmpl(out, &byte_size_pos_); -} - -bool EnvelopeEncoder::EncodeStop(std::string* out) { - return EncodeStopTmpl(out, &byte_size_pos_); -} - -// ============================================================================= -// cbor::NewCBOREncoder - for encoding from a streaming parser -// ============================================================================= - -namespace { -template <typename C> -class CBOREncoder : public StreamingParserHandler { - public: - CBOREncoder(C* out, Status* status) : out_(out), status_(status) { - *status_ = Status(); - } - - void HandleMapBegin() override { - if (!status_->ok()) - return; - envelopes_.emplace_back(); - envelopes_.back().EncodeStart(out_); - out_->push_back(kInitialByteIndefiniteLengthMap); - } - - void HandleMapEnd() override { - if (!status_->ok()) - return; - out_->push_back(kStopByte); - assert(!envelopes_.empty()); - if (!envelopes_.back().EncodeStop(out_)) { - HandleError( - Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); - return; - } - envelopes_.pop_back(); - } - - void HandleArrayBegin() override { - if (!status_->ok()) - return; - envelopes_.emplace_back(); - envelopes_.back().EncodeStart(out_); - out_->push_back(kInitialByteIndefiniteLengthArray); - } - - void HandleArrayEnd() override { - if (!status_->ok()) - return; - out_->push_back(kStopByte); - assert(!envelopes_.empty()); - if (!envelopes_.back().EncodeStop(out_)) { - HandleError( - Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); - return; - } - envelopes_.pop_back(); - } - - void HandleString8(span<uint8_t> chars) override { - if (!status_->ok()) - return; - EncodeString8(chars, out_); - } - - void HandleString16(span<uint16_t> chars) override { - if (!status_->ok()) - return; - EncodeFromUTF16(chars, out_); - } - - void HandleBinary(span<uint8_t> bytes) override { - if (!status_->ok()) - return; - EncodeBinary(bytes, out_); - } - - void HandleDouble(double value) override { - if (!status_->ok()) - return; - EncodeDouble(value, out_); - } - - void HandleInt32(int32_t value) override { - if (!status_->ok()) - return; - EncodeInt32(value, out_); - } - - void HandleBool(bool value) override { - if (!status_->ok()) - return; - // See RFC 7049 Section 2.3, Table 2. - out_->push_back(value ? kEncodedTrue : kEncodedFalse); - } - - void HandleNull() override { - if (!status_->ok()) - return; - // See RFC 7049 Section 2.3, Table 2. - out_->push_back(kEncodedNull); - } - - void HandleError(Status error) override { - if (!status_->ok()) - return; - *status_ = error; - out_->clear(); - } - - private: - C* out_; - std::vector<EnvelopeEncoder> envelopes_; - Status* status_; -}; -} // namespace - -std::unique_ptr<StreamingParserHandler> NewCBOREncoder( - std::vector<uint8_t>* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new CBOREncoder<std::vector<uint8_t>>(out, status)); -} -std::unique_ptr<StreamingParserHandler> NewCBOREncoder(std::string* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new CBOREncoder<std::string>(out, status)); -} - -// ============================================================================= -// cbor::CBORTokenizer - for parsing individual CBOR items -// ============================================================================= - -CBORTokenizer::CBORTokenizer(span<uint8_t> bytes) : bytes_(bytes) { - ReadNextToken(/*enter_envelope=*/false); -} -CBORTokenizer::~CBORTokenizer() {} - -CBORTokenTag CBORTokenizer::TokenTag() const { - return token_tag_; -} - -void CBORTokenizer::Next() { - if (token_tag_ == CBORTokenTag::ERROR_VALUE || - token_tag_ == CBORTokenTag::DONE) - return; - ReadNextToken(/*enter_envelope=*/false); -} - -void CBORTokenizer::EnterEnvelope() { - assert(token_tag_ == CBORTokenTag::ENVELOPE); - ReadNextToken(/*enter_envelope=*/true); -} - -Status CBORTokenizer::Status() const { - return status_; -} - -// The following accessor functions ::GetInt32, ::GetDouble, -// ::GetString8, ::GetString16WireRep, ::GetBinary, ::GetEnvelopeContents -// assume that a particular token was recognized in ::ReadNextToken. -// That's where all the error checking is done. By design, -// the accessors (assuming the token was recognized) never produce -// an error. - -int32_t CBORTokenizer::GetInt32() const { - assert(token_tag_ == CBORTokenTag::INT32); - // The range checks happen in ::ReadNextToken(). - return static_cast<int32_t>( - token_start_type_ == MajorType::UNSIGNED - ? token_start_internal_value_ - : -static_cast<int64_t>(token_start_internal_value_) - 1); -} - -double CBORTokenizer::GetDouble() const { - assert(token_tag_ == CBORTokenTag::DOUBLE); - union { - uint64_t from_uint64; - double to_double; - } reinterpret; - reinterpret.from_uint64 = ReadBytesMostSignificantByteFirst<uint64_t>( - bytes_.subspan(status_.pos + 1)); - return reinterpret.to_double; -} - -span<uint8_t> CBORTokenizer::GetString8() const { - assert(token_tag_ == CBORTokenTag::STRING8); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetString16WireRep() const { - assert(token_tag_ == CBORTokenTag::STRING16); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetBinary() const { - assert(token_tag_ == CBORTokenTag::BINARY); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetEnvelopeContents() const { - assert(token_tag_ == CBORTokenTag::ENVELOPE); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + kEncodedEnvelopeHeaderSize, length); -} - -// All error checking happens in ::ReadNextToken, so that the accessors -// can avoid having to carry an error return value. -// -// With respect to checking the encoded lengths of strings, arrays, etc: -// On the wire, CBOR uses 1,2,4, and 8 byte unsigned integers, so -// we initially read them as uint64_t, usually into token_start_internal_value_. -// -// However, since these containers have a representation on the machine, -// we need to do corresponding size computations on the input byte array, -// output span (e.g. the payload for a string), etc., and size_t is -// machine specific (in practice either 32 bit or 64 bit). -// -// Further, we must avoid overflowing size_t. Therefore, we use this -// kMaxValidLength constant to: -// - Reject values that are larger than the architecture specific -// max size_t (differs between 32 bit and 64 bit arch). -// - Reserve at least one bit so that we can check against overflows -// when adding lengths (array / string length / etc.); we do this by -// ensuring that the inputs to an addition are <= kMaxValidLength, -// and then checking whether the sum went past it. -// -// See also -// https://chromium.googlesource.com/chromium/src/+/master/docs/security/integer-semantics.md -static const uint64_t kMaxValidLength = - std::min<uint64_t>(std::numeric_limits<uint64_t>::max() >> 2, - std::numeric_limits<size_t>::max()); - -void CBORTokenizer::ReadNextToken(bool enter_envelope) { - if (enter_envelope) { - status_.pos += kEncodedEnvelopeHeaderSize; - } else { - status_.pos = - status_.pos == Status::npos() ? 0 : status_.pos + token_byte_length_; - } - status_.error = Error::OK; - if (status_.pos >= bytes_.size()) { - token_tag_ = CBORTokenTag::DONE; - return; - } - const size_t remaining_bytes = bytes_.size() - status_.pos; - switch (bytes_[status_.pos]) { - case kStopByte: - SetToken(CBORTokenTag::STOP, 1); - return; - case kInitialByteIndefiniteLengthMap: - SetToken(CBORTokenTag::MAP_START, 1); - return; - case kInitialByteIndefiniteLengthArray: - SetToken(CBORTokenTag::ARRAY_START, 1); - return; - case kEncodedTrue: - SetToken(CBORTokenTag::TRUE_VALUE, 1); - return; - case kEncodedFalse: - SetToken(CBORTokenTag::FALSE_VALUE, 1); - return; - case kEncodedNull: - SetToken(CBORTokenTag::NULL_VALUE, 1); - return; - case kExpectedConversionToBase64Tag: { // BINARY - const size_t bytes_read = internals::ReadTokenStart( - bytes_.subspan(status_.pos + 1), &token_start_type_, - &token_start_internal_value_); - if (!bytes_read || token_start_type_ != MajorType::BYTE_STRING || - token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_BINARY); - return; - } - const uint64_t token_byte_length = token_start_internal_value_ + - /* tag before token start: */ 1 + - /* token start: */ bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_BINARY); - return; - } - SetToken(CBORTokenTag::BINARY, static_cast<size_t>(token_byte_length)); - return; - } - case kInitialByteForDouble: { // DOUBLE - if (kEncodedDoubleSize > remaining_bytes) { - SetError(Error::CBOR_INVALID_DOUBLE); - return; - } - SetToken(CBORTokenTag::DOUBLE, kEncodedDoubleSize); - return; - } - case kInitialByteForEnvelope: { // ENVELOPE - if (kEncodedEnvelopeHeaderSize > remaining_bytes) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - // The envelope must be a byte string with 32 bit length. - if (bytes_[status_.pos + 1] != kInitialByteFor32BitLengthByteString) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - // Read the length of the byte string. - token_start_internal_value_ = ReadBytesMostSignificantByteFirst<uint32_t>( - bytes_.subspan(status_.pos + 2)); - if (token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - uint64_t token_byte_length = - token_start_internal_value_ + kEncodedEnvelopeHeaderSize; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - SetToken(CBORTokenTag::ENVELOPE, static_cast<size_t>(token_byte_length)); - return; - } - default: { - const size_t bytes_read = internals::ReadTokenStart( - bytes_.subspan(status_.pos), &token_start_type_, - &token_start_internal_value_); - switch (token_start_type_) { - case MajorType::UNSIGNED: // INT32. - // INT32 is a signed int32 (int32 makes sense for the - // inspector_protocol, it's not a CBOR limitation), so we check - // against the signed max, so that the allowable values are - // 0, 1, 2, ... 2^31 - 1. - if (!bytes_read || - static_cast<int64_t>(std::numeric_limits<int32_t>::max()) < - static_cast<int64_t>(token_start_internal_value_)) { - SetError(Error::CBOR_INVALID_INT32); - return; - } - SetToken(CBORTokenTag::INT32, bytes_read); - return; - case MajorType::NEGATIVE: { // INT32. - // INT32 is a signed int32 (int32 makes sense for the - // inspector_protocol, it's not a CBOR limitation); in CBOR, the - // negative values for INT32 are represented as NEGATIVE, that is, -1 - // INT32 is represented as 1 << 5 | 0 (major type 1, additional info - // value 0). - // The represented allowed values range is -1 to -2^31. - // They are mapped into the encoded range of 0 to 2^31-1. - // We check the payload in token_start_internal_value_ against - // that range (2^31-1 is also known as - // std::numeric_limits<int32_t>::max()). - if (!bytes_read || - static_cast<int64_t>(token_start_internal_value_) > - static_cast<int64_t>(std::numeric_limits<int32_t>::max())) { - SetError(Error::CBOR_INVALID_INT32); - return; - } - SetToken(CBORTokenTag::INT32, bytes_read); - return; - } - case MajorType::STRING: { // STRING8. - if (!bytes_read || token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_STRING8); - return; - } - uint64_t token_byte_length = token_start_internal_value_ + bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_STRING8); - return; - } - SetToken(CBORTokenTag::STRING8, - static_cast<size_t>(token_byte_length)); - return; - } - case MajorType::BYTE_STRING: { // STRING16. - // Length must be divisible by 2 since UTF16 is 2 bytes per - // character, hence the &1 check. - if (!bytes_read || token_start_internal_value_ > kMaxValidLength || - token_start_internal_value_ & 1) { - SetError(Error::CBOR_INVALID_STRING16); - return; - } - uint64_t token_byte_length = token_start_internal_value_ + bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_STRING16); - return; - } - SetToken(CBORTokenTag::STRING16, - static_cast<size_t>(token_byte_length)); - return; - } - case MajorType::ARRAY: - case MajorType::MAP: - case MajorType::TAG: - case MajorType::SIMPLE_VALUE: - SetError(Error::CBOR_UNSUPPORTED_VALUE); - return; - } - } - } -} - -void CBORTokenizer::SetToken(CBORTokenTag token_tag, size_t token_byte_length) { - token_tag_ = token_tag; - token_byte_length_ = token_byte_length; -} - -void CBORTokenizer::SetError(Error error) { - token_tag_ = CBORTokenTag::ERROR_VALUE; - status_.error = error; -} - -// ============================================================================= -// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages -// ============================================================================= - -namespace { -// When parsing CBOR, we limit recursion depth for objects and arrays -// to this constant. -static constexpr int kStackLimit = 300; - -// Below are three parsing routines for CBOR, which cover enough -// to roundtrip JSON messages. -bool ParseMap(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); -bool ParseArray(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); -bool ParseValue(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); - -void ParseUTF16String(CBORTokenizer* tokenizer, StreamingParserHandler* out) { - std::vector<uint16_t> value; - span<uint8_t> rep = tokenizer->GetString16WireRep(); - for (size_t ii = 0; ii < rep.size(); ii += 2) - value.push_back((rep[ii + 1] << 8) | rep[ii]); - out->HandleString16(span<uint16_t>(value.data(), value.size())); - tokenizer->Next(); -} - -bool ParseUTF8String(CBORTokenizer* tokenizer, StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::STRING8); - out->HandleString8(tokenizer->GetString8()); - tokenizer->Next(); - return true; -} - -bool ParseValue(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - if (stack_depth > kStackLimit) { - out->HandleError( - Status{Error::CBOR_STACK_LIMIT_EXCEEDED, tokenizer->Status().pos}); - return false; - } - // Skip past the envelope to get to what's inside. - if (tokenizer->TokenTag() == CBORTokenTag::ENVELOPE) - tokenizer->EnterEnvelope(); - switch (tokenizer->TokenTag()) { - case CBORTokenTag::ERROR_VALUE: - out->HandleError(tokenizer->Status()); - return false; - case CBORTokenTag::DONE: - out->HandleError(Status{Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE, - tokenizer->Status().pos}); - return false; - case CBORTokenTag::TRUE_VALUE: - out->HandleBool(true); - tokenizer->Next(); - return true; - case CBORTokenTag::FALSE_VALUE: - out->HandleBool(false); - tokenizer->Next(); - return true; - case CBORTokenTag::NULL_VALUE: - out->HandleNull(); - tokenizer->Next(); - return true; - case CBORTokenTag::INT32: - out->HandleInt32(tokenizer->GetInt32()); - tokenizer->Next(); - return true; - case CBORTokenTag::DOUBLE: - out->HandleDouble(tokenizer->GetDouble()); - tokenizer->Next(); - return true; - case CBORTokenTag::STRING8: - return ParseUTF8String(tokenizer, out); - case CBORTokenTag::STRING16: - ParseUTF16String(tokenizer, out); - return true; - case CBORTokenTag::BINARY: { - out->HandleBinary(tokenizer->GetBinary()); - tokenizer->Next(); - return true; - } - case CBORTokenTag::MAP_START: - return ParseMap(stack_depth + 1, tokenizer, out); - case CBORTokenTag::ARRAY_START: - return ParseArray(stack_depth + 1, tokenizer, out); - default: - out->HandleError( - Status{Error::CBOR_UNSUPPORTED_VALUE, tokenizer->Status().pos}); - return false; - } -} - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -bool ParseArray(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::ARRAY_START); - tokenizer->Next(); - out->HandleArrayBegin(); - while (tokenizer->TokenTag() != CBORTokenTag::STOP) { - if (tokenizer->TokenTag() == CBORTokenTag::DONE) { - out->HandleError( - Status{Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, tokenizer->Status().pos}); - return false; - } - if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer->Status()); - return false; - } - // Parse value. - if (!ParseValue(stack_depth, tokenizer, out)) - return false; - } - out->HandleArrayEnd(); - tokenizer->Next(); - return true; -} - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -bool ParseMap(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::MAP_START); - out->HandleMapBegin(); - tokenizer->Next(); - while (tokenizer->TokenTag() != CBORTokenTag::STOP) { - if (tokenizer->TokenTag() == CBORTokenTag::DONE) { - out->HandleError( - Status{Error::CBOR_UNEXPECTED_EOF_IN_MAP, tokenizer->Status().pos}); - return false; - } - if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer->Status()); - return false; - } - // Parse key. - if (tokenizer->TokenTag() == CBORTokenTag::STRING8) { - if (!ParseUTF8String(tokenizer, out)) - return false; - } else if (tokenizer->TokenTag() == CBORTokenTag::STRING16) { - ParseUTF16String(tokenizer, out); - } else { - out->HandleError( - Status{Error::CBOR_INVALID_MAP_KEY, tokenizer->Status().pos}); - return false; - } - // Parse value. - if (!ParseValue(stack_depth, tokenizer, out)) - return false; - } - out->HandleMapEnd(); - tokenizer->Next(); - return true; -} -} // namespace - -void ParseCBOR(span<uint8_t> bytes, StreamingParserHandler* out) { - if (bytes.empty()) { - out->HandleError(Status{Error::CBOR_NO_INPUT, 0}); - return; - } - if (bytes[0] != kInitialByteForEnvelope) { - out->HandleError(Status{Error::CBOR_INVALID_START_BYTE, 0}); - return; - } - CBORTokenizer tokenizer(bytes); - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer.Status()); - return; - } - // We checked for the envelope start byte above, so the tokenizer - // must agree here, since it's not an error. - assert(tokenizer.TokenTag() == CBORTokenTag::ENVELOPE); - tokenizer.EnterEnvelope(); - if (tokenizer.TokenTag() != CBORTokenTag::MAP_START) { - out->HandleError( - Status{Error::CBOR_MAP_START_EXPECTED, tokenizer.Status().pos}); - return; - } - if (!ParseMap(/*stack_depth=*/1, &tokenizer, out)) - return; - if (tokenizer.TokenTag() == CBORTokenTag::DONE) - return; - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer.Status()); - return; - } - out->HandleError(Status{Error::CBOR_TRAILING_JUNK, tokenizer.Status().pos}); -} - -// ============================================================================= -// cbor::AppendString8EntryToMap - for limited in-place editing of messages -// ============================================================================= - -template <typename C> -Status AppendString8EntryToCBORMapTmpl(span<uint8_t> string8_key, - span<uint8_t> string8_value, - C* cbor) { - // Careful below: Don't compare (*cbor)[idx] with a uint8_t, since - // it could be a char (signed!). Instead, use bytes. - span<uint8_t> bytes(reinterpret_cast<const uint8_t*>(cbor->data()), - cbor->size()); - CBORTokenizer tokenizer(bytes); - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) - return tokenizer.Status(); - if (tokenizer.TokenTag() != CBORTokenTag::ENVELOPE) - return Status(Error::CBOR_INVALID_ENVELOPE, 0); - size_t envelope_size = tokenizer.GetEnvelopeContents().size(); - size_t old_size = cbor->size(); - if (old_size != envelope_size + kEncodedEnvelopeHeaderSize) - return Status(Error::CBOR_INVALID_ENVELOPE, 0); - if (envelope_size == 0 || - (tokenizer.GetEnvelopeContents()[0] != EncodeIndefiniteLengthMapStart())) - return Status(Error::CBOR_MAP_START_EXPECTED, kEncodedEnvelopeHeaderSize); - if (bytes[bytes.size() - 1] != EncodeStop()) - return Status(Error::CBOR_MAP_STOP_EXPECTED, cbor->size() - 1); - cbor->pop_back(); - EncodeString8(string8_key, cbor); - EncodeString8(string8_value, cbor); - cbor->push_back(EncodeStop()); - size_t new_envelope_size = envelope_size + (cbor->size() - old_size); - if (new_envelope_size > std::numeric_limits<uint32_t>::max()) - return Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, 0); - size_t size_pos = cbor->size() - new_envelope_size - sizeof(uint32_t); - uint8_t* out = reinterpret_cast<uint8_t*>(&cbor->at(size_pos)); - *(out++) = (new_envelope_size >> 24) & 0xff; - *(out++) = (new_envelope_size >> 16) & 0xff; - *(out++) = (new_envelope_size >> 8) & 0xff; - *(out) = new_envelope_size & 0xff; - return Status(); -} -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::vector<uint8_t>* cbor) { - return AppendString8EntryToCBORMapTmpl(string8_key, string8_value, cbor); -} -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::string* cbor) { - return AppendString8EntryToCBORMapTmpl(string8_key, string8_value, cbor); -} -} // namespace cbor - -namespace json { - -// ============================================================================= -// json::NewJSONEncoder - for encoding streaming parser events as JSON -// ============================================================================= - -namespace { -// Prints |value| to |out| with 4 hex digits, most significant chunk first. -template <typename C> -void PrintHex(uint16_t value, C* out) { - for (int ii = 3; ii >= 0; --ii) { - int four_bits = 0xf & (value >> (4 * ii)); - out->push_back(four_bits + ((four_bits <= 9) ? '0' : ('a' - 10))); - } -} - -// In the writer below, we maintain a stack of State instances. -// It is just enough to emit the appropriate delimiters and brackets -// in JSON. -enum class Container { - // Used for the top-level, initial state. - NONE, - // Inside a JSON object. - MAP, - // Inside a JSON array. - ARRAY -}; -class State { - public: - explicit State(Container container) : container_(container) {} - void StartElement(std::vector<uint8_t>* out) { StartElementTmpl(out); } - void StartElement(std::string* out) { StartElementTmpl(out); } - Container container() const { return container_; } - - private: - template <typename C> - void StartElementTmpl(C* out) { - assert(container_ != Container::NONE || size_ == 0); - if (size_ != 0) { - char delim = (!(size_ & 1) || container_ == Container::ARRAY) ? ',' : ':'; - out->push_back(delim); - } - ++size_; - } - - Container container_ = Container::NONE; - int size_ = 0; -}; - -constexpr char kBase64Table[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz0123456789+/"; - -template <typename C> -void Base64Encode(const span<uint8_t>& in, C* out) { - // The following three cases are based on the tables in the example - // section in https://en.wikipedia.org/wiki/Base64. We process three - // input bytes at a time, emitting 4 output bytes at a time. - size_t ii = 0; - - // While possible, process three input bytes. - for (; ii + 3 <= in.size(); ii += 3) { - uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8) | in[ii + 2]; - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); - out->push_back(kBase64Table[twentyfour_bits & 0x3f]); - } - if (ii + 2 <= in.size()) { // Process two input bytes. - uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8); - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); - out->push_back('='); // Emit padding. - return; - } - if (ii + 1 <= in.size()) { // Process a single input byte. - uint32_t twentyfour_bits = (in[ii] << 16); - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back('='); // Emit padding. - out->push_back('='); // Emit padding. - } -} - -// Implements a handler for JSON parser events to emit a JSON string. -template <typename C> -class JSONEncoder : public StreamingParserHandler { - public: - JSONEncoder(const Platform* platform, C* out, Status* status) - : platform_(platform), out_(out), status_(status) { - *status_ = Status(); - state_.emplace(Container::NONE); - } - - void HandleMapBegin() override { - if (!status_->ok()) - return; - assert(!state_.empty()); - state_.top().StartElement(out_); - state_.emplace(Container::MAP); - Emit('{'); - } - - void HandleMapEnd() override { - if (!status_->ok()) - return; - assert(state_.size() >= 2 && state_.top().container() == Container::MAP); - state_.pop(); - Emit('}'); - } - - void HandleArrayBegin() override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - state_.emplace(Container::ARRAY); - Emit('['); - } - - void HandleArrayEnd() override { - if (!status_->ok()) - return; - assert(state_.size() >= 2 && state_.top().container() == Container::ARRAY); - state_.pop(); - Emit(']'); - } - - void HandleString16(span<uint16_t> chars) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - for (const uint16_t ch : chars) { - if (ch == '"') { - Emit("\\\""); - } else if (ch == '\\') { - Emit("\\\\"); - } else if (ch == '\b') { - Emit("\\b"); - } else if (ch == '\f') { - Emit("\\f"); - } else if (ch == '\n') { - Emit("\\n"); - } else if (ch == '\r') { - Emit("\\r"); - } else if (ch == '\t') { - Emit("\\t"); - } else if (ch >= 32 && ch <= 126) { - Emit(ch); - } else { - Emit("\\u"); - PrintHex(ch, out_); - } - } - Emit('"'); - } - - void HandleString8(span<uint8_t> chars) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - for (size_t ii = 0; ii < chars.size(); ++ii) { - uint8_t c = chars[ii]; - if (c == '"') { - Emit("\\\""); - } else if (c == '\\') { - Emit("\\\\"); - } else if (c == '\b') { - Emit("\\b"); - } else if (c == '\f') { - Emit("\\f"); - } else if (c == '\n') { - Emit("\\n"); - } else if (c == '\r') { - Emit("\\r"); - } else if (c == '\t') { - Emit("\\t"); - } else if (c >= 32 && c <= 126) { - Emit(c); - } else if (c < 32) { - Emit("\\u"); - PrintHex(static_cast<uint16_t>(c), out_); - } else { - // Inspect the leading byte to figure out how long the utf8 - // byte sequence is; while doing this initialize |codepoint| - // with the first few bits. - // See table in: https://en.wikipedia.org/wiki/UTF-8 - // byte one is 110x xxxx -> 2 byte utf8 sequence - // byte one is 1110 xxxx -> 3 byte utf8 sequence - // byte one is 1111 0xxx -> 4 byte utf8 sequence - uint32_t codepoint; - int num_bytes_left; - if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence - num_bytes_left = 1; - codepoint = c & 0x1f; - } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence - num_bytes_left = 2; - codepoint = c & 0x0f; - } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence - codepoint = c & 0x07; - num_bytes_left = 3; - } else { - continue; // invalid leading byte - } - - // If we have enough bytes in our input, decode the remaining ones - // belonging to this Unicode character into |codepoint|. - if (ii + num_bytes_left > chars.size()) - continue; - while (num_bytes_left > 0) { - c = chars[++ii]; - --num_bytes_left; - // Check the next byte is a continuation byte, that is 10xx xxxx. - if ((c & 0xc0) != 0x80) - continue; - codepoint = (codepoint << 6) | (c & 0x3f); - } - - // Disallow overlong encodings for ascii characters, as these - // would include " and other characters significant to JSON - // string termination / control. - if (codepoint <= 0x7f) - continue; - // Invalid in UTF8, and can't be represented in UTF16 anyway. - if (codepoint > 0x10ffff) - continue; - - // So, now we transcode to UTF16, - // using the math described at https://en.wikipedia.org/wiki/UTF-16, - // for either one or two 16 bit characters. - if (codepoint < 0xffff) { - Emit("\\u"); - PrintHex(static_cast<uint16_t>(codepoint), out_); - continue; - } - codepoint -= 0x10000; - // high surrogate - Emit("\\u"); - PrintHex(static_cast<uint16_t>((codepoint >> 10) + 0xd800), out_); - // low surrogate - Emit("\\u"); - PrintHex(static_cast<uint16_t>((codepoint & 0x3ff) + 0xdc00), out_); - } - } - Emit('"'); - } - - void HandleBinary(span<uint8_t> bytes) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - Base64Encode(bytes, out_); - Emit('"'); - } - - void HandleDouble(double value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - // JSON cannot represent NaN or Infinity. So, for compatibility, - // we behave like the JSON object in web browsers: emit 'null'. - if (!std::isfinite(value)) { - Emit("null"); - return; - } - std::unique_ptr<char[]> str_value = platform_->DToStr(value); - - // DToStr may fail to emit a 0 before the decimal dot. E.g. this is - // the case in base::NumberToString in Chromium (which is based on - // dmg_fp). So, much like - // https://cs.chromium.org/chromium/src/base/json/json_writer.cc - // we probe for this and emit the leading 0 anyway if necessary. - const char* chars = str_value.get(); - if (chars[0] == '.') { - Emit('0'); - } else if (chars[0] == '-' && chars[1] == '.') { - Emit("-0"); - ++chars; - } - Emit(chars); - } - - void HandleInt32(int32_t value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit(std::to_string(value)); - } - - void HandleBool(bool value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit(value ? "true" : "false"); - } - - void HandleNull() override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit("null"); - } - - void HandleError(Status error) override { - assert(!error.ok()); - *status_ = error; - out_->clear(); - } - - private: - void Emit(char c) { out_->push_back(c); } - void Emit(const char* str) { - out_->insert(out_->end(), str, str + strlen(str)); - } - void Emit(const std::string& str) { - out_->insert(out_->end(), str.begin(), str.end()); - } - - const Platform* platform_; - C* out_; - Status* status_; - std::stack<State> state_; -}; -} // namespace - -std::unique_ptr<StreamingParserHandler> NewJSONEncoder( - const Platform* platform, - std::vector<uint8_t>* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new JSONEncoder<std::vector<uint8_t>>(platform, out, status)); -} -std::unique_ptr<StreamingParserHandler> NewJSONEncoder(const Platform* platform, - std::string* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new JSONEncoder<std::string>(platform, out, status)); -} - -// ============================================================================= -// json::ParseJSON - for receiving streaming parser events for JSON. -// ============================================================================= - -namespace { -const int kStackLimit = 300; - -enum Token { - ObjectBegin, - ObjectEnd, - ArrayBegin, - ArrayEnd, - StringLiteral, - Number, - BoolTrue, - BoolFalse, - NullToken, - ListSeparator, - ObjectPairSeparator, - InvalidToken, - NoInput -}; - -const char* const kNullString = "null"; -const char* const kTrueString = "true"; -const char* const kFalseString = "false"; - -template <typename Char> -class JsonParser { - public: - JsonParser(const Platform* platform, StreamingParserHandler* handler) - : platform_(platform), handler_(handler) {} - - void Parse(const Char* start, size_t length) { - start_pos_ = start; - const Char* end = start + length; - const Char* tokenEnd = nullptr; - ParseValue(start, end, &tokenEnd, 0); - if (error_) - return; - if (tokenEnd != end) { - HandleError(Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS, tokenEnd); - } - } - - private: - bool CharsToDouble(const uint16_t* chars, size_t length, double* result) { - std::string buffer; - buffer.reserve(length + 1); - for (size_t ii = 0; ii < length; ++ii) { - bool is_ascii = !(chars[ii] & ~0x7F); - if (!is_ascii) - return false; - buffer.push_back(static_cast<char>(chars[ii])); - } - return platform_->StrToD(buffer.c_str(), result); - } - - bool CharsToDouble(const uint8_t* chars, size_t length, double* result) { - std::string buffer(reinterpret_cast<const char*>(chars), length); - return platform_->StrToD(buffer.c_str(), result); - } - - static bool ParseConstToken(const Char* start, - const Char* end, - const Char** token_end, - const char* token) { - // |token| is \0 terminated, it's one of the constants at top of the file. - while (start < end && *token != '\0' && *start++ == *token++) { - } - if (*token != '\0') - return false; - *token_end = start; - return true; - } - - static bool ReadInt(const Char* start, - const Char* end, - const Char** token_end, - bool allow_leading_zeros) { - if (start == end) - return false; - bool has_leading_zero = '0' == *start; - int length = 0; - while (start < end && '0' <= *start && *start <= '9') { - ++start; - ++length; - } - if (!length) - return false; - if (!allow_leading_zeros && length > 1 && has_leading_zero) - return false; - *token_end = start; - return true; - } - - static bool ParseNumberToken(const Char* start, - const Char* end, - const Char** token_end) { - // We just grab the number here. We validate the size in DecodeNumber. - // According to RFC4627, a valid number is: [minus] int [frac] [exp] - if (start == end) - return false; - Char c = *start; - if ('-' == c) - ++start; - - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/false)) - return false; - if (start == end) { - *token_end = start; - return true; - } - - // Optional fraction part - c = *start; - if ('.' == c) { - ++start; - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) - return false; - if (start == end) { - *token_end = start; - return true; - } - c = *start; - } - - // Optional exponent part - if ('e' == c || 'E' == c) { - ++start; - if (start == end) - return false; - c = *start; - if ('-' == c || '+' == c) { - ++start; - if (start == end) - return false; - } - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) - return false; - } - - *token_end = start; - return true; - } - - static bool ReadHexDigits(const Char* start, - const Char* end, - const Char** token_end, - int digits) { - if (end - start < digits) - return false; - for (int i = 0; i < digits; ++i) { - Char c = *start++; - if (!(('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || - ('A' <= c && c <= 'F'))) - return false; - } - *token_end = start; - return true; - } - - static bool ParseStringToken(const Char* start, - const Char* end, - const Char** token_end) { - while (start < end) { - Char c = *start++; - if ('\\' == c) { - if (start == end) - return false; - c = *start++; - // Make sure the escaped char is valid. - switch (c) { - case 'x': - if (!ReadHexDigits(start, end, &start, 2)) - return false; - break; - case 'u': - if (!ReadHexDigits(start, end, &start, 4)) - return false; - break; - case '\\': - case '/': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': - case 'v': - case '"': - break; - default: - return false; - } - } else if ('"' == c) { - *token_end = start; - return true; - } - } - return false; - } - - static bool SkipComment(const Char* start, - const Char* end, - const Char** comment_end) { - if (start == end) - return false; - - if (*start != '/' || start + 1 >= end) - return false; - ++start; - - if (*start == '/') { - // Single line comment, read to newline. - for (++start; start < end; ++start) { - if (*start == '\n' || *start == '\r') { - *comment_end = start + 1; - return true; - } - } - *comment_end = end; - // Comment reaches end-of-input, which is fine. - return true; - } - - if (*start == '*') { - Char previous = '\0'; - // Block comment, read until end marker. - for (++start; start < end; previous = *start++) { - if (previous == '*' && *start == '/') { - *comment_end = start + 1; - return true; - } - } - // Block comment must close before end-of-input. - return false; - } - - return false; - } - - static bool IsSpaceOrNewLine(Char c) { - // \v = vertial tab; \f = form feed page break. - return c == ' ' || c == '\n' || c == '\v' || c == '\f' || c == '\r' || - c == '\t'; - } - - static void SkipWhitespaceAndComments(const Char* start, - const Char* end, - const Char** whitespace_end) { - while (start < end) { - if (IsSpaceOrNewLine(*start)) { - ++start; - } else if (*start == '/') { - const Char* comment_end = nullptr; - if (!SkipComment(start, end, &comment_end)) - break; - start = comment_end; - } else { - break; - } - } - *whitespace_end = start; - } - - static Token ParseToken(const Char* start, - const Char* end, - const Char** tokenStart, - const Char** token_end) { - SkipWhitespaceAndComments(start, end, tokenStart); - start = *tokenStart; - - if (start == end) - return NoInput; - - switch (*start) { - case 'n': - if (ParseConstToken(start, end, token_end, kNullString)) - return NullToken; - break; - case 't': - if (ParseConstToken(start, end, token_end, kTrueString)) - return BoolTrue; - break; - case 'f': - if (ParseConstToken(start, end, token_end, kFalseString)) - return BoolFalse; - break; - case '[': - *token_end = start + 1; - return ArrayBegin; - case ']': - *token_end = start + 1; - return ArrayEnd; - case ',': - *token_end = start + 1; - return ListSeparator; - case '{': - *token_end = start + 1; - return ObjectBegin; - case '}': - *token_end = start + 1; - return ObjectEnd; - case ':': - *token_end = start + 1; - return ObjectPairSeparator; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - if (ParseNumberToken(start, end, token_end)) - return Number; - break; - case '"': - if (ParseStringToken(start + 1, end, token_end)) - return StringLiteral; - break; - } - return InvalidToken; - } - - static int HexToInt(Char c) { - if ('0' <= c && c <= '9') - return c - '0'; - if ('A' <= c && c <= 'F') - return c - 'A' + 10; - if ('a' <= c && c <= 'f') - return c - 'a' + 10; - assert(false); // Unreachable. - return 0; - } - - static bool DecodeString(const Char* start, - const Char* end, - std::vector<uint16_t>* output) { - if (start == end) - return true; - if (start > end) - return false; - output->reserve(end - start); - while (start < end) { - uint16_t c = *start++; - // If the |Char| we're dealing with is really a byte, then - // we have utf8 here, and we need to check for multibyte characters - // and transcode them to utf16 (either one or two utf16 chars). - if (sizeof(Char) == sizeof(uint8_t) && c > 0x7f) { - // Inspect the leading byte to figure out how long the utf8 - // byte sequence is; while doing this initialize |codepoint| - // with the first few bits. - // See table in: https://en.wikipedia.org/wiki/UTF-8 - // byte one is 110x xxxx -> 2 byte utf8 sequence - // byte one is 1110 xxxx -> 3 byte utf8 sequence - // byte one is 1111 0xxx -> 4 byte utf8 sequence - uint32_t codepoint; - int num_bytes_left; - if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence - num_bytes_left = 1; - codepoint = c & 0x1f; - } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence - num_bytes_left = 2; - codepoint = c & 0x0f; - } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence - codepoint = c & 0x07; - num_bytes_left = 3; - } else { - return false; // invalid leading byte - } - - // If we have enough bytes in our inpput, decode the remaining ones - // belonging to this Unicode character into |codepoint|. - if (start + num_bytes_left > end) - return false; - while (num_bytes_left > 0) { - c = *start++; - --num_bytes_left; - // Check the next byte is a continuation byte, that is 10xx xxxx. - if ((c & 0xc0) != 0x80) - return false; - codepoint = (codepoint << 6) | (c & 0x3f); - } - - // Disallow overlong encodings for ascii characters, as these - // would include " and other characters significant to JSON - // string termination / control. - if (codepoint <= 0x7f) - return false; - // Invalid in UTF8, and can't be represented in UTF16 anyway. - if (codepoint > 0x10ffff) - return false; - - // So, now we transcode to UTF16, - // using the math described at https://en.wikipedia.org/wiki/UTF-16, - // for either one or two 16 bit characters. - if (codepoint < 0xffff) { - output->push_back(codepoint); - continue; - } - codepoint -= 0x10000; - output->push_back((codepoint >> 10) + 0xd800); // high surrogate - output->push_back((codepoint & 0x3ff) + 0xdc00); // low surrogate - continue; - } - if ('\\' != c) { - output->push_back(c); - continue; - } - if (start == end) - return false; - c = *start++; - - if (c == 'x') { - // \x is not supported. - return false; - } - - switch (c) { - case '"': - case '/': - case '\\': - break; - case 'b': - c = '\b'; - break; - case 'f': - c = '\f'; - break; - case 'n': - c = '\n'; - break; - case 'r': - c = '\r'; - break; - case 't': - c = '\t'; - break; - case 'v': - c = '\v'; - break; - case 'u': - c = (HexToInt(*start) << 12) + (HexToInt(*(start + 1)) << 8) + - (HexToInt(*(start + 2)) << 4) + HexToInt(*(start + 3)); - start += 4; - break; - default: - return false; - } - output->push_back(c); - } - return true; - } - - void ParseValue(const Char* start, - const Char* end, - const Char** value_token_end, - int depth) { - if (depth > kStackLimit) { - HandleError(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, start); - return; - } - const Char* token_start = nullptr; - const Char* token_end = nullptr; - Token token = ParseToken(start, end, &token_start, &token_end); - switch (token) { - case NoInput: - HandleError(Error::JSON_PARSER_NO_INPUT, token_start); - return; - case InvalidToken: - HandleError(Error::JSON_PARSER_INVALID_TOKEN, token_start); - return; - case NullToken: - handler_->HandleNull(); - break; - case BoolTrue: - handler_->HandleBool(true); - break; - case BoolFalse: - handler_->HandleBool(false); - break; - case Number: { - double value; - if (!CharsToDouble(token_start, token_end - token_start, &value)) { - HandleError(Error::JSON_PARSER_INVALID_NUMBER, token_start); - return; - } - if (value >= std::numeric_limits<int32_t>::min() && - value <= std::numeric_limits<int32_t>::max() && - static_cast<int32_t>(value) == value) - handler_->HandleInt32(static_cast<int32_t>(value)); - else - handler_->HandleDouble(value); - break; - } - case StringLiteral: { - std::vector<uint16_t> value; - bool ok = DecodeString(token_start + 1, token_end - 1, &value); - if (!ok) { - HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); - return; - } - handler_->HandleString16(span<uint16_t>(value.data(), value.size())); - break; - } - case ArrayBegin: { - handler_->HandleArrayBegin(); - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - while (token != ArrayEnd) { - ParseValue(start, end, &token_end, depth + 1); - if (error_) - return; - - // After a list value, we expect a comma or the end of the list. - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ListSeparator) { - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ArrayEnd) { - HandleError(Error::JSON_PARSER_UNEXPECTED_ARRAY_END, token_start); - return; - } - } else if (token != ArrayEnd) { - // Unexpected value after list value. Bail out. - HandleError(Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED, - token_start); - return; - } - } - handler_->HandleArrayEnd(); - break; - } - case ObjectBegin: { - handler_->HandleMapBegin(); - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - while (token != ObjectEnd) { - if (token != StringLiteral) { - HandleError(Error::JSON_PARSER_STRING_LITERAL_EXPECTED, - token_start); - return; - } - std::vector<uint16_t> key; - if (!DecodeString(token_start + 1, token_end - 1, &key)) { - HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); - return; - } - handler_->HandleString16(span<uint16_t>(key.data(), key.size())); - start = token_end; - - token = ParseToken(start, end, &token_start, &token_end); - if (token != ObjectPairSeparator) { - HandleError(Error::JSON_PARSER_COLON_EXPECTED, token_start); - return; - } - start = token_end; - - ParseValue(start, end, &token_end, depth + 1); - if (error_) - return; - start = token_end; - - // After a key/value pair, we expect a comma or the end of the - // object. - token = ParseToken(start, end, &token_start, &token_end); - if (token == ListSeparator) { - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ObjectEnd) { - HandleError(Error::JSON_PARSER_UNEXPECTED_MAP_END, token_start); - return; - } - } else if (token != ObjectEnd) { - // Unexpected value after last object value. Bail out. - HandleError(Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED, - token_start); - return; - } - } - handler_->HandleMapEnd(); - break; - } - - default: - // We got a token that's not a value. - HandleError(Error::JSON_PARSER_VALUE_EXPECTED, token_start); - return; - } - - SkipWhitespaceAndComments(token_end, end, value_token_end); - } - - void HandleError(Error error, const Char* pos) { - assert(error != Error::OK); - if (!error_) { - handler_->HandleError( - Status{error, static_cast<size_t>(pos - start_pos_)}); - error_ = true; - } - } - - const Char* start_pos_ = nullptr; - bool error_ = false; - const Platform* platform_; - StreamingParserHandler* handler_; -}; -} // namespace - -void ParseJSON(const Platform& platform, - span<uint8_t> chars, - StreamingParserHandler* handler) { - JsonParser<uint8_t> parser(&platform, handler); - parser.Parse(chars.data(), chars.size()); -} - -void ParseJSON(const Platform& platform, - span<uint16_t> chars, - StreamingParserHandler* handler) { - JsonParser<uint16_t> parser(&platform, handler); - parser.Parse(chars.data(), chars.size()); -} - -// ============================================================================= -// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding -// ============================================================================= -template <typename C> -Status ConvertCBORToJSONTmpl(const Platform& platform, - span<uint8_t> cbor, - C* json) { - Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&platform, json, &status); - cbor::ParseCBOR(cbor, json_writer.get()); - return status; -} - -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::vector<uint8_t>* json) { - return ConvertCBORToJSONTmpl(platform, cbor, json); -} -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::string* json) { - return ConvertCBORToJSONTmpl(platform, cbor, json); -} - -template <typename T, typename C> -Status ConvertJSONToCBORTmpl(const Platform& platform, span<T> json, C* cbor) { - Status status; - std::unique_ptr<StreamingParserHandler> encoder = - cbor::NewCBOREncoder(cbor, &status); - ParseJSON(platform, json, encoder.get()); - return status; -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::string* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::string* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::vector<uint8_t>* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::vector<uint8_t>* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -} // namespace json -} // namespace v8_inspector_protocol_encoding diff --git a/tools/inspector_protocol/encoding/encoding.h b/tools/inspector_protocol/encoding/encoding.h deleted file mode 100644 index a1bcfc4be3db4a..00000000000000 --- a/tools/inspector_protocol/encoding/encoding.h +++ /dev/null @@ -1,540 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_H_ -#define V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_H_ - -#include <algorithm> -#include <cstddef> -#include <cstdint> -#include <cstring> -#include <limits> -#include <memory> -#include <string> -#include <vector> - -namespace v8_inspector_protocol_encoding { -// This library is designed to be portable. The only allowed dependency -// are the C/C++ standard libraries, up to C++11. We support both 32 bit -// and 64 architectures. -// -// Types used below: -// uint8_t: a byte, e.g. for raw bytes or UTF8 characters -// uint16_t: two bytes, e.g. for UTF16 characters -// For input parameters: -// span<uint8_t>: pointer to bytes and length -// span<uint16_t>: pointer to UTF16 chars and length -// For output parameters: -// std::vector<uint8_t> - Owned segment of bytes / utf8 characters and length. -// std::string - Same, for compatibility, even though char is signed. - -// ============================================================================= -// span - sequence of bytes -// ============================================================================= - -// This template is similar to std::span, which will be included in C++20. -template <typename T> -class span { - public: - using index_type = size_t; - - span() : data_(nullptr), size_(0) {} - span(const T* data, index_type size) : data_(data), size_(size) {} - - const T* data() const { return data_; } - - const T* begin() const { return data_; } - const T* end() const { return data_ + size_; } - - const T& operator[](index_type idx) const { return data_[idx]; } - - span<T> subspan(index_type offset, index_type count) const { - return span(data_ + offset, count); - } - - span<T> subspan(index_type offset) const { - return span(data_ + offset, size_ - offset); - } - - bool empty() const { return size_ == 0; } - - index_type size() const { return size_; } - index_type size_bytes() const { return size_ * sizeof(T); } - - private: - const T* data_; - index_type size_; -}; - -template <typename T> -span<T> SpanFrom(const std::vector<T>& v) { - return span<T>(v.data(), v.size()); -} - -template <size_t N> -span<uint8_t> SpanFrom(const char (&str)[N]) { - return span<uint8_t>(reinterpret_cast<const uint8_t*>(str), N - 1); -} - -inline span<uint8_t> SpanFrom(const char* str) { - return str ? span<uint8_t>(reinterpret_cast<const uint8_t*>(str), strlen(str)) - : span<uint8_t>(); -} - -inline span<uint8_t> SpanFrom(const std::string& v) { - return span<uint8_t>(reinterpret_cast<const uint8_t*>(v.data()), v.size()); -} - -// Less than / equality comparison functions for sorting / searching for byte -// spans. These are similar to absl::string_view's < and == operators. -inline bool SpanLessThan(span<uint8_t> x, span<uint8_t> y) noexcept { - auto min_size = std::min(x.size(), y.size()); - const int r = min_size == 0 ? 0 : memcmp(x.data(), y.data(), min_size); - return (r < 0) || (r == 0 && x.size() < y.size()); -} - -inline bool SpanEquals(span<uint8_t> x, span<uint8_t> y) noexcept { - auto len = x.size(); - if (len != y.size()) - return false; - return x.data() == y.data() || len == 0 || - std::memcmp(x.data(), y.data(), len) == 0; -} - -// ============================================================================= -// Status and Error codes -// ============================================================================= -enum class Error { - OK = 0, - // JSON parsing errors - json_parser.{h,cc}. - JSON_PARSER_UNPROCESSED_INPUT_REMAINS = 0x01, - JSON_PARSER_STACK_LIMIT_EXCEEDED = 0x02, - JSON_PARSER_NO_INPUT = 0x03, - JSON_PARSER_INVALID_TOKEN = 0x04, - JSON_PARSER_INVALID_NUMBER = 0x05, - JSON_PARSER_INVALID_STRING = 0x06, - JSON_PARSER_UNEXPECTED_ARRAY_END = 0x07, - JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED = 0x08, - JSON_PARSER_STRING_LITERAL_EXPECTED = 0x09, - JSON_PARSER_COLON_EXPECTED = 0x0a, - JSON_PARSER_UNEXPECTED_MAP_END = 0x0b, - JSON_PARSER_COMMA_OR_MAP_END_EXPECTED = 0x0c, - JSON_PARSER_VALUE_EXPECTED = 0x0d, - - CBOR_INVALID_INT32 = 0x0e, - CBOR_INVALID_DOUBLE = 0x0f, - CBOR_INVALID_ENVELOPE = 0x10, - CBOR_INVALID_STRING8 = 0x11, - CBOR_INVALID_STRING16 = 0x12, - CBOR_INVALID_BINARY = 0x13, - CBOR_UNSUPPORTED_VALUE = 0x14, - CBOR_NO_INPUT = 0x15, - CBOR_INVALID_START_BYTE = 0x16, - CBOR_UNEXPECTED_EOF_EXPECTED_VALUE = 0x17, - CBOR_UNEXPECTED_EOF_IN_ARRAY = 0x18, - CBOR_UNEXPECTED_EOF_IN_MAP = 0x19, - CBOR_INVALID_MAP_KEY = 0x1a, - CBOR_STACK_LIMIT_EXCEEDED = 0x1b, - CBOR_TRAILING_JUNK = 0x1c, - CBOR_MAP_START_EXPECTED = 0x1d, - CBOR_MAP_STOP_EXPECTED = 0x1e, - CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED = 0x1f, -}; - -// A status value with position that can be copied. The default status -// is OK. Usually, error status values should come with a valid position. -struct Status { - static constexpr size_t npos() { return std::numeric_limits<size_t>::max(); } - - bool ok() const { return error == Error::OK; } - - Error error = Error::OK; - size_t pos = npos(); - Status(Error error, size_t pos) : error(error), pos(pos) {} - Status() = default; - - // Returns a 7 bit US-ASCII string, either "OK" or an error message - // that includes the position. - std::string ToASCIIString() const; - - private: - std::string ToASCIIString(const char* msg) const; -}; - -// Handler interface for parser events emitted by a streaming parser. -// See cbor::NewCBOREncoder, cbor::ParseCBOR, json::NewJSONEncoder, -// json::ParseJSON. -class StreamingParserHandler { - public: - virtual ~StreamingParserHandler() = default; - virtual void HandleMapBegin() = 0; - virtual void HandleMapEnd() = 0; - virtual void HandleArrayBegin() = 0; - virtual void HandleArrayEnd() = 0; - virtual void HandleString8(span<uint8_t> chars) = 0; - virtual void HandleString16(span<uint16_t> chars) = 0; - virtual void HandleBinary(span<uint8_t> bytes) = 0; - virtual void HandleDouble(double value) = 0; - virtual void HandleInt32(int32_t value) = 0; - virtual void HandleBool(bool value) = 0; - virtual void HandleNull() = 0; - - // The parser may send one error even after other events have already - // been received. Client code is reponsible to then discard the - // already processed events. - // |error| must be an eror, as in, |error.is_ok()| can't be true. - virtual void HandleError(Status error) = 0; -}; - -namespace cbor { -// The binary encoding for the inspector protocol follows the CBOR specification -// (RFC 7049). Additional constraints: -// - Only indefinite length maps and arrays are supported. -// - Maps and arrays are wrapped with an envelope, that is, a -// CBOR tag with value 24 followed by a byte string specifying -// the byte length of the enclosed map / array. The byte string -// must use a 32 bit wide length. -// - At the top level, a message must be an indefinite length map -// wrapped by an envelope. -// - Maximal size for messages is 2^32 (4 GiB). -// - For scalars, we support only the int32_t range, encoded as -// UNSIGNED/NEGATIVE (major types 0 / 1). -// - UTF16 strings, including with unbalanced surrogate pairs, are encoded -// as CBOR BYTE_STRING (major type 2). For such strings, the number of -// bytes encoded must be even. -// - UTF8 strings (major type 3) are supported. -// - 7 bit US-ASCII strings must always be encoded as UTF8 strings, never -// as UTF16 strings. -// - Arbitrary byte arrays, in the inspector protocol called 'binary', -// are encoded as BYTE_STRING (major type 2), prefixed with a byte -// indicating base64 when rendered as JSON. - -// ============================================================================= -// Detecting CBOR content -// ============================================================================= - -// The first byte for an envelope, which we use for wrapping dictionaries -// and arrays; and the byte that indicates a byte string with 32 bit length. -// These two bytes start an envelope, and thereby also any CBOR message -// produced or consumed by this protocol. See also |EnvelopeEncoder| below. -uint8_t InitialByteForEnvelope(); -uint8_t InitialByteFor32BitLengthByteString(); - -// Checks whether |msg| is a cbor message. -bool IsCBORMessage(span<uint8_t> msg); - -// ============================================================================= -// Encoding individual CBOR items -// ============================================================================= - -// Some constants for CBOR tokens that only take a single byte on the wire. -uint8_t EncodeTrue(); -uint8_t EncodeFalse(); -uint8_t EncodeNull(); -uint8_t EncodeIndefiniteLengthArrayStart(); -uint8_t EncodeIndefiniteLengthMapStart(); -uint8_t EncodeStop(); - -// Encodes |value| as |UNSIGNED| (major type 0) iff >= 0, or |NEGATIVE| -// (major type 1) iff < 0. -void EncodeInt32(int32_t value, std::vector<uint8_t>* out); -void EncodeInt32(int32_t value, std::string* out); - -// Encodes a UTF16 string as a BYTE_STRING (major type 2). Each utf16 -// character in |in| is emitted with most significant byte first, -// appending to |out|. -void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out); -void EncodeString16(span<uint16_t> in, std::string* out); - -// Encodes a UTF8 string |in| as STRING (major type 3). -void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out); -void EncodeString8(span<uint8_t> in, std::string* out); - -// Encodes the given |latin1| string as STRING8. -// If any non-ASCII character is present, it will be represented -// as a 2 byte UTF8 sequence. -void EncodeFromLatin1(span<uint8_t> latin1, std::vector<uint8_t>* out); -void EncodeFromLatin1(span<uint8_t> latin1, std::string* out); - -// Encodes the given |utf16| string as STRING8 if it's entirely US-ASCII. -// Otherwise, encodes as STRING16. -void EncodeFromUTF16(span<uint16_t> utf16, std::vector<uint8_t>* out); -void EncodeFromUTF16(span<uint16_t> utf16, std::string* out); - -// Encodes arbitrary binary data in |in| as a BYTE_STRING (major type 2) with -// definitive length, prefixed with tag 22 indicating expected conversion to -// base64 (see RFC 7049, Table 3 and Section 2.4.4.2). -void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out); -void EncodeBinary(span<uint8_t> in, std::string* out); - -// Encodes / decodes a double as Major type 7 (SIMPLE_VALUE), -// with additional info = 27, followed by 8 bytes in big endian. -void EncodeDouble(double value, std::vector<uint8_t>* out); -void EncodeDouble(double value, std::string* out); - -// ============================================================================= -// cbor::EnvelopeEncoder - for wrapping submessages -// ============================================================================= - -// An envelope indicates the byte length of a wrapped item. -// We use this for maps and array, which allows the decoder -// to skip such (nested) values whole sale. -// It's implemented as a CBOR tag (major type 6) with additional -// info = 24, followed by a byte string with a 32 bit length value; -// so the maximal structure that we can wrap is 2^32 bits long. -// See also: https://tools.ietf.org/html/rfc7049#section-2.4.4.1 -class EnvelopeEncoder { - public: - // Emits the envelope start bytes and records the position for the - // byte size in |byte_size_pos_|. Also emits empty bytes for the - // byte sisze so that encoding can continue. - void EncodeStart(std::vector<uint8_t>* out); - void EncodeStart(std::string* out); - // This records the current size in |out| at position byte_size_pos_. - // Returns true iff successful. - bool EncodeStop(std::vector<uint8_t>* out); - bool EncodeStop(std::string* out); - - private: - size_t byte_size_pos_ = 0; -}; - -// ============================================================================= -// cbor::NewCBOREncoder - for encoding from a streaming parser -// ============================================================================= - -// This can be used to convert to CBOR, by passing the return value to a parser -// that drives it. The handler will encode into |out|, and iff an error occurs -// it will set |status| to an error and clear |out|. Otherwise, |status.ok()| -// will be |true|. -std::unique_ptr<StreamingParserHandler> NewCBOREncoder( - std::vector<uint8_t>* out, - Status* status); -std::unique_ptr<StreamingParserHandler> NewCBOREncoder(std::string* out, - Status* status); - -// ============================================================================= -// cbor::CBORTokenizer - for parsing individual CBOR items -// ============================================================================= - -// Tags for the tokens within a CBOR message that CBORTokenizer understands. -// Note that this is not the same terminology as the CBOR spec (RFC 7049), -// but rather, our adaptation. For instance, we lump unsigned and signed -// major type into INT32 here (and disallow values outside the int32_t range). -enum class CBORTokenTag { - // Encountered an error in the structure of the message. Consult - // status() for details. - ERROR_VALUE, - // Booleans and NULL. - TRUE_VALUE, - FALSE_VALUE, - NULL_VALUE, - // An int32_t (signed 32 bit integer). - INT32, - // A double (64 bit floating point). - DOUBLE, - // A UTF8 string. - STRING8, - // A UTF16 string. - STRING16, - // A binary string. - BINARY, - // Starts an indefinite length map; after the map start we expect - // alternating keys and values, followed by STOP. - MAP_START, - // Starts an indefinite length array; after the array start we - // expect values, followed by STOP. - ARRAY_START, - // Ends a map or an array. - STOP, - // An envelope indicator, wrapping a map or array. - // Internally this carries the byte length of the wrapped - // map or array. While CBORTokenizer::Next() will read / skip the entire - // envelope, CBORTokenizer::EnterEnvelope() reads the tokens - // inside of it. - ENVELOPE, - // We've reached the end there is nothing else to read. - DONE, -}; - -// The major types from RFC 7049 Section 2.1. -enum class MajorType { - UNSIGNED = 0, - NEGATIVE = 1, - BYTE_STRING = 2, - STRING = 3, - ARRAY = 4, - MAP = 5, - TAG = 6, - SIMPLE_VALUE = 7 -}; - -// CBORTokenizer segments a CBOR message, presenting the tokens therein as -// numbers, strings, etc. This is not a complete CBOR parser, but makes it much -// easier to implement one (e.g. ParseCBOR, above). It can also be used to parse -// messages partially. -class CBORTokenizer { - public: - explicit CBORTokenizer(span<uint8_t> bytes); - ~CBORTokenizer(); - - // Identifies the current token that we're looking at, - // or ERROR_VALUE (in which ase ::Status() has details) - // or DONE (if we're past the last token). - CBORTokenTag TokenTag() const; - - // Advances to the next token. - void Next(); - // Can only be called if TokenTag() == CBORTokenTag::ENVELOPE. - // While Next() would skip past the entire envelope / what it's - // wrapping, EnterEnvelope positions the cursor inside of the envelope, - // letting the client explore the nested structure. - void EnterEnvelope(); - - // If TokenTag() is CBORTokenTag::ERROR_VALUE, then Status().error describes - // the error more precisely; otherwise it'll be set to Error::OK. - // In either case, Status().pos is the current position. - struct Status Status() const; - - // The following methods retrieve the token values. They can only - // be called if TokenTag() matches. - - // To be called only if ::TokenTag() == CBORTokenTag::INT32. - int32_t GetInt32() const; - - // To be called only if ::TokenTag() == CBORTokenTag::DOUBLE. - double GetDouble() const; - - // To be called only if ::TokenTag() == CBORTokenTag::STRING8. - span<uint8_t> GetString8() const; - - // Wire representation for STRING16 is low byte first (little endian). - // To be called only if ::TokenTag() == CBORTokenTag::STRING16. - span<uint8_t> GetString16WireRep() const; - - // To be called only if ::TokenTag() == CBORTokenTag::BINARY. - span<uint8_t> GetBinary() const; - - // To be called only if ::TokenTag() == CBORTokenTag::ENVELOPE. - span<uint8_t> GetEnvelopeContents() const; - - private: - void ReadNextToken(bool enter_envelope); - void SetToken(CBORTokenTag token, size_t token_byte_length); - void SetError(Error error); - - span<uint8_t> bytes_; - CBORTokenTag token_tag_; - struct Status status_; - size_t token_byte_length_; - MajorType token_start_type_; - uint64_t token_start_internal_value_; -}; - -// ============================================================================= -// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages -// ============================================================================= - -// Parses a CBOR encoded message from |bytes|, sending events to -// |out|. If an error occurs, sends |out->HandleError|, and parsing stops. -// The client is responsible for discarding the already received information in -// that case. -void ParseCBOR(span<uint8_t> bytes, StreamingParserHandler* out); - -// ============================================================================= -// cbor::AppendString8EntryToMap - for limited in-place editing of messages -// ============================================================================= - -// Modifies the |cbor| message by appending a new key/value entry at the end -// of the map. Patches up the envelope size; Status.ok() iff successful. -// If not successful, |cbor| may be corrupted after this call. -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::vector<uint8_t>* cbor); -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::string* cbor); - -namespace internals { // Exposed only for writing tests. -size_t ReadTokenStart(span<uint8_t> bytes, - cbor::MajorType* type, - uint64_t* value); - -void WriteTokenStart(cbor::MajorType type, - uint64_t value, - std::vector<uint8_t>* encoded); -void WriteTokenStart(cbor::MajorType type, - uint64_t value, - std::string* encoded); -} // namespace internals -} // namespace cbor - -namespace json { -// Client code must provide an instance. Implementation should delegate -// to whatever is appropriate. -class Platform { - public: - virtual ~Platform() = default; - // Parses |str| into |result|. Returns false iff there are - // leftover characters or parsing errors. - virtual bool StrToD(const char* str, double* result) const = 0; - - // Prints |value| in a format suitable for JSON. - virtual std::unique_ptr<char[]> DToStr(double value) const = 0; -}; - -// ============================================================================= -// json::NewJSONEncoder - for encoding streaming parser events as JSON -// ============================================================================= - -// Returns a handler object which will write ascii characters to |out|. -// |status->ok()| will be false iff the handler routine HandleError() is called. -// In that case, we'll stop emitting output. -// Except for calling the HandleError routine at any time, the client -// code must call the Handle* methods in an order in which they'd occur -// in valid JSON; otherwise we may crash (the code uses assert). -std::unique_ptr<StreamingParserHandler> NewJSONEncoder( - const Platform* platform, - std::vector<uint8_t>* out, - Status* status); -std::unique_ptr<StreamingParserHandler> NewJSONEncoder(const Platform* platform, - std::string* out, - Status* status); - -// ============================================================================= -// json::ParseJSON - for receiving streaming parser events for JSON -// ============================================================================= - -void ParseJSON(const Platform& platform, - span<uint8_t> chars, - StreamingParserHandler* handler); -void ParseJSON(const Platform& platform, - span<uint16_t> chars, - StreamingParserHandler* handler); - -// ============================================================================= -// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding -// ============================================================================= -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::string* json); -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::vector<uint8_t>* json); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::vector<uint8_t>* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::vector<uint8_t>* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::string* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::string* cbor); -} // namespace json -} // namespace v8_inspector_protocol_encoding - -#endif // V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_H_ diff --git a/tools/inspector_protocol/encoding/encoding_test_helper.h b/tools/inspector_protocol/encoding/encoding_test_helper.h deleted file mode 100644 index 84da2e72e87f5c..00000000000000 --- a/tools/inspector_protocol/encoding/encoding_test_helper.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2019 The V8 Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// This file is V8 specific, to make encoding_test.cc work. -// It is not rolled from the upstream project. - -#ifndef V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_TEST_HELPER_H_ -#define V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_TEST_HELPER_H_ - -#include <string> -#include <vector> - -#include "src/base/logging.h" -#include "src/inspector/v8-string-conversions.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace v8_inspector_protocol_encoding { - -std::string UTF16ToUTF8(span<uint16_t> in) { - return v8_inspector::UTF16ToUTF8(in.data(), in.size()); -} - -std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) { - std::basic_string<uint16_t> utf16 = v8_inspector::UTF8ToUTF16( - reinterpret_cast<const char*>(in.data()), in.size()); - return std::vector<uint16_t>(utf16.begin(), utf16.end()); -} - -} // namespace v8_inspector_protocol_encoding - -#endif // V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_TEST_HELPER_H_ diff --git a/tools/inspector_protocol/inspector_protocol.gypi b/tools/inspector_protocol/inspector_protocol.gypi deleted file mode 100644 index c11386dc05174e..00000000000000 --- a/tools/inspector_protocol/inspector_protocol.gypi +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -{ - 'variables': { - 'inspector_protocol_files': [ - 'lib/encoding_h.template', - 'lib/encoding_cpp.template', - 'lib/Allocator_h.template', - 'lib/DispatcherBase_cpp.template', - 'lib/DispatcherBase_h.template', - 'lib/ErrorSupport_cpp.template', - 'lib/ErrorSupport_h.template', - 'lib/Forward_h.template', - 'lib/FrontendChannel_h.template', - 'lib/Maybe_h.template', - 'lib/Object_cpp.template', - 'lib/Object_h.template', - 'lib/Parser_cpp.template', - 'lib/Parser_h.template', - 'lib/Protocol_cpp.template', - 'lib/ValueConversions_h.template', - 'lib/Values_cpp.template', - 'lib/Values_h.template', - 'templates/Exported_h.template', - 'templates/Imported_h.template', - 'templates/TypeBuilder_cpp.template', - 'templates/TypeBuilder_h.template', - 'code_generator.py', - ] - } -} diff --git a/tools/inspector_protocol/lib/Allocator_h.template b/tools/inspector_protocol/lib/Allocator_h.template deleted file mode 100644 index d94c4ca5b0ae99..00000000000000 --- a/tools/inspector_protocol/lib/Allocator_h.template +++ /dev/null @@ -1,23 +0,0 @@ -// This file is generated by Allocator_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_Allocator_h -#define {{"_".join(config.protocol.namespace)}}_Allocator_h - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -#define PROTOCOL_DISALLOW_COPY(ClassName) \ - private: \ - ClassName(const ClassName&) = delete; \ - ClassName& operator=(const ClassName&) = delete - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_Allocator_h) diff --git a/tools/inspector_protocol/lib/DispatcherBase_cpp.template b/tools/inspector_protocol/lib/DispatcherBase_cpp.template deleted file mode 100644 index 11843f433007fc..00000000000000 --- a/tools/inspector_protocol/lib/DispatcherBase_cpp.template +++ /dev/null @@ -1,353 +0,0 @@ -// This file is generated by DispatcherBase_cpp.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//#include "DispatcherBase.h" -//#include "Parser.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -// static -DispatchResponse DispatchResponse::OK() -{ - DispatchResponse result; - result.m_status = kSuccess; - result.m_errorCode = kParseError; - return result; -} - -// static -DispatchResponse DispatchResponse::Error(const String& error) -{ - DispatchResponse result; - result.m_status = kError; - result.m_errorCode = kServerError; - result.m_errorMessage = error; - return result; -} - -// static -DispatchResponse DispatchResponse::InternalError() -{ - DispatchResponse result; - result.m_status = kError; - result.m_errorCode = kInternalError; - result.m_errorMessage = "Internal error"; - return result; -} - -// static -DispatchResponse DispatchResponse::InvalidParams(const String& error) -{ - DispatchResponse result; - result.m_status = kError; - result.m_errorCode = kInvalidParams; - result.m_errorMessage = error; - return result; -} - -// static -DispatchResponse DispatchResponse::FallThrough() -{ - DispatchResponse result; - result.m_status = kFallThrough; - result.m_errorCode = kParseError; - return result; -} - -// static -const char DispatcherBase::kInvalidParamsString[] = "Invalid parameters"; - -DispatcherBase::WeakPtr::WeakPtr(DispatcherBase* dispatcher) : m_dispatcher(dispatcher) { } - -DispatcherBase::WeakPtr::~WeakPtr() -{ - if (m_dispatcher) - m_dispatcher->m_weakPtrs.erase(this); -} - -DispatcherBase::Callback::Callback(std::unique_ptr<DispatcherBase::WeakPtr> backendImpl, int callId, const String& method, const ProtocolMessage& message) - : m_backendImpl(std::move(backendImpl)) - , m_callId(callId) - , m_method(method) - , m_message(message) { } - -DispatcherBase::Callback::~Callback() = default; - -void DispatcherBase::Callback::dispose() -{ - m_backendImpl = nullptr; -} - -void DispatcherBase::Callback::sendIfActive(std::unique_ptr<protocol::DictionaryValue> partialMessage, const DispatchResponse& response) -{ - if (!m_backendImpl || !m_backendImpl->get()) - return; - m_backendImpl->get()->sendResponse(m_callId, response, std::move(partialMessage)); - m_backendImpl = nullptr; -} - -void DispatcherBase::Callback::fallThroughIfActive() -{ - if (!m_backendImpl || !m_backendImpl->get()) - return; - m_backendImpl->get()->channel()->fallThrough(m_callId, m_method, m_message); - m_backendImpl = nullptr; -} - -DispatcherBase::DispatcherBase(FrontendChannel* frontendChannel) - : m_frontendChannel(frontendChannel) { } - -DispatcherBase::~DispatcherBase() -{ - clearFrontend(); -} - -void DispatcherBase::sendResponse(int callId, const DispatchResponse& response, std::unique_ptr<protocol::DictionaryValue> result) -{ - if (!m_frontendChannel) - return; - if (response.status() == DispatchResponse::kError) { - reportProtocolError(callId, response.errorCode(), response.errorMessage(), nullptr); - return; - } - m_frontendChannel->sendProtocolResponse(callId, InternalResponse::createResponse(callId, std::move(result))); -} - -void DispatcherBase::sendResponse(int callId, const DispatchResponse& response) -{ - sendResponse(callId, response, DictionaryValue::create()); -} - -namespace { - -class ProtocolError : public Serializable { -public: - static std::unique_ptr<ProtocolError> createErrorResponse(int callId, DispatchResponse::ErrorCode code, const String& errorMessage, ErrorSupport* errors) - { - std::unique_ptr<ProtocolError> protocolError(new ProtocolError(code, errorMessage)); - protocolError->m_callId = callId; - protocolError->m_hasCallId = true; - if (errors && errors->hasErrors()) - protocolError->m_data = errors->errors(); - return protocolError; - } - - static std::unique_ptr<ProtocolError> createErrorNotification(DispatchResponse::ErrorCode code, const String& errorMessage) - { - return std::unique_ptr<ProtocolError>(new ProtocolError(code, errorMessage)); - } - - String serializeToJSON() override - { - return serialize()->serializeToJSON(); - } - - std::vector<uint8_t> serializeToBinary() override - { - return serialize()->serializeToBinary(); - } - - ~ProtocolError() override {} - -private: - ProtocolError(DispatchResponse::ErrorCode code, const String& errorMessage) - : m_code(code) - , m_errorMessage(errorMessage) - { - } - - std::unique_ptr<DictionaryValue> serialize() { - std::unique_ptr<protocol::DictionaryValue> error = DictionaryValue::create(); - error->setInteger("code", m_code); - error->setString("message", m_errorMessage); - if (m_data.length()) - error->setString("data", m_data); - std::unique_ptr<protocol::DictionaryValue> message = DictionaryValue::create(); - message->setObject("error", std::move(error)); - if (m_hasCallId) - message->setInteger("id", m_callId); - return message; - } - - DispatchResponse::ErrorCode m_code; - String m_errorMessage; - String m_data; - int m_callId = 0; - bool m_hasCallId = false; -}; - -} // namespace - -static void reportProtocolErrorTo(FrontendChannel* frontendChannel, int callId, DispatchResponse::ErrorCode code, const String& errorMessage, ErrorSupport* errors) -{ - if (frontendChannel) - frontendChannel->sendProtocolResponse(callId, ProtocolError::createErrorResponse(callId, code, errorMessage, errors)); -} - -static void reportProtocolErrorTo(FrontendChannel* frontendChannel, DispatchResponse::ErrorCode code, const String& errorMessage) -{ - if (frontendChannel) - frontendChannel->sendProtocolNotification(ProtocolError::createErrorNotification(code, errorMessage)); -} - -void DispatcherBase::reportProtocolError(int callId, DispatchResponse::ErrorCode code, const String& errorMessage, ErrorSupport* errors) -{ - reportProtocolErrorTo(m_frontendChannel, callId, code, errorMessage, errors); -} - -void DispatcherBase::clearFrontend() -{ - m_frontendChannel = nullptr; - for (auto& weak : m_weakPtrs) - weak->dispose(); - m_weakPtrs.clear(); -} - -std::unique_ptr<DispatcherBase::WeakPtr> DispatcherBase::weakPtr() -{ - std::unique_ptr<DispatcherBase::WeakPtr> weak(new DispatcherBase::WeakPtr(this)); - m_weakPtrs.insert(weak.get()); - return weak; -} - -UberDispatcher::UberDispatcher(FrontendChannel* frontendChannel) - : m_frontendChannel(frontendChannel) { } - -void UberDispatcher::registerBackend(const String& name, std::unique_ptr<protocol::DispatcherBase> dispatcher) -{ - m_dispatchers[name] = std::move(dispatcher); -} - -void UberDispatcher::setupRedirects(const std::unordered_map<String, String>& redirects) -{ - for (const auto& pair : redirects) - m_redirects[pair.first] = pair.second; -} - -bool UberDispatcher::parseCommand(Value* parsedMessage, int* outCallId, String* outMethod) { - if (!parsedMessage) { - reportProtocolErrorTo(m_frontendChannel, DispatchResponse::kParseError, "Message must be a valid JSON"); - return false; - } - protocol::DictionaryValue* messageObject = DictionaryValue::cast(parsedMessage); - if (!messageObject) { - reportProtocolErrorTo(m_frontendChannel, DispatchResponse::kInvalidRequest, "Message must be an object"); - return false; - } - - int callId = 0; - protocol::Value* callIdValue = messageObject->get("id"); - bool success = callIdValue && callIdValue->asInteger(&callId); - if (!success) { - reportProtocolErrorTo(m_frontendChannel, DispatchResponse::kInvalidRequest, "Message must have integer 'id' property"); - return false; - } - if (outCallId) - *outCallId = callId; - - protocol::Value* methodValue = messageObject->get("method"); - String method; - success = methodValue && methodValue->asString(&method); - if (!success) { - reportProtocolErrorTo(m_frontendChannel, callId, DispatchResponse::kInvalidRequest, "Message must have string 'method' property", nullptr); - return false; - } - if (outMethod) - *outMethod = method; - return true; -} - -protocol::DispatcherBase* UberDispatcher::findDispatcher(const String& method) { - size_t dotIndex = StringUtil::find(method, "."); - if (dotIndex == StringUtil::kNotFound) - return nullptr; - String domain = StringUtil::substring(method, 0, dotIndex); - auto it = m_dispatchers.find(domain); - if (it == m_dispatchers.end()) - return nullptr; - if (!it->second->canDispatch(method)) - return nullptr; - return it->second.get(); -} - -bool UberDispatcher::canDispatch(const String& in_method) -{ - String method = in_method; - auto redirectIt = m_redirects.find(method); - if (redirectIt != m_redirects.end()) - method = redirectIt->second; - return !!findDispatcher(method); -} - -void UberDispatcher::dispatch(int callId, const String& in_method, std::unique_ptr<Value> parsedMessage, const ProtocolMessage& rawMessage) -{ - String method = in_method; - auto redirectIt = m_redirects.find(method); - if (redirectIt != m_redirects.end()) - method = redirectIt->second; - protocol::DispatcherBase* dispatcher = findDispatcher(method); - if (!dispatcher) { - reportProtocolErrorTo(m_frontendChannel, callId, DispatchResponse::kMethodNotFound, "'" + method + "' wasn't found", nullptr); - return; - } - std::unique_ptr<protocol::DictionaryValue> messageObject = DictionaryValue::cast(std::move(parsedMessage)); - dispatcher->dispatch(callId, method, rawMessage, std::move(messageObject)); -} - -UberDispatcher::~UberDispatcher() = default; - -// static -std::unique_ptr<InternalResponse> InternalResponse::createResponse(int callId, std::unique_ptr<Serializable> params) -{ - return std::unique_ptr<InternalResponse>(new InternalResponse(callId, String(), std::move(params))); -} - -// static -std::unique_ptr<InternalResponse> InternalResponse::createNotification(const String& notification, std::unique_ptr<Serializable> params) -{ - return std::unique_ptr<InternalResponse>(new InternalResponse(0, notification, std::move(params))); -} - -String InternalResponse::serializeToJSON() -{ - std::unique_ptr<DictionaryValue> result = DictionaryValue::create(); - std::unique_ptr<Serializable> params(m_params ? std::move(m_params) : DictionaryValue::create()); - if (m_notification.length()) { - result->setString("method", m_notification); - result->setValue("params", SerializedValue::fromJSON(params->serializeToJSON())); - } else { - result->setInteger("id", m_callId); - result->setValue("result", SerializedValue::fromJSON(params->serializeToJSON())); - } - return result->serializeToJSON(); -} - -std::vector<uint8_t> InternalResponse::serializeToBinary() -{ - std::unique_ptr<DictionaryValue> result = DictionaryValue::create(); - std::unique_ptr<Serializable> params(m_params ? std::move(m_params) : DictionaryValue::create()); - if (m_notification.length()) { - result->setString("method", m_notification); - result->setValue("params", SerializedValue::fromBinary(params->serializeToBinary())); - } else { - result->setInteger("id", m_callId); - result->setValue("result", SerializedValue::fromBinary(params->serializeToBinary())); - } - return result->serializeToBinary(); -} - -InternalResponse::InternalResponse(int callId, const String& notification, std::unique_ptr<Serializable> params) - : m_callId(callId) - , m_notification(notification) - , m_params(params ? std::move(params) : nullptr) -{ -} - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/inspector_protocol/lib/DispatcherBase_h.template b/tools/inspector_protocol/lib/DispatcherBase_h.template deleted file mode 100644 index 4aa0688adb33fc..00000000000000 --- a/tools/inspector_protocol/lib/DispatcherBase_h.template +++ /dev/null @@ -1,185 +0,0 @@ -// This file is generated by DispatcherBase_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_DispatcherBase_h -#define {{"_".join(config.protocol.namespace)}}_DispatcherBase_h - -//#include "Forward.h" -//#include "ErrorSupport.h" -//#include "Values.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -class WeakPtr; - -class {{config.lib.export_macro}} DispatchResponse { -public: - enum Status { - kSuccess = 0, - kError = 1, - kFallThrough = 2, - }; - - // For historical reasons, these error codes correspond to commonly used - // XMLRPC codes (e.g. see METHOD_NOT_FOUND in - // https://github.com/python/cpython/blob/master/Lib/xmlrpc/client.py). - enum ErrorCode { - kParseError = -32700, - kInvalidRequest = -32600, - kMethodNotFound = -32601, - kInvalidParams = -32602, - kInternalError = -32603, - kServerError = -32000, - }; - - Status status() const { return m_status; } - const String& errorMessage() const { return m_errorMessage; } - ErrorCode errorCode() const { return m_errorCode; } - bool isSuccess() const { return m_status == kSuccess; } - - static DispatchResponse OK(); - static DispatchResponse Error(const String&); - static DispatchResponse InternalError(); - static DispatchResponse InvalidParams(const String&); - static DispatchResponse FallThrough(); - -private: - Status m_status; - String m_errorMessage; - ErrorCode m_errorCode; -}; - -class {{config.lib.export_macro}} DispatcherBase { - PROTOCOL_DISALLOW_COPY(DispatcherBase); -public: - static const char kInvalidParamsString[]; - class {{config.lib.export_macro}} WeakPtr { - public: - explicit WeakPtr(DispatcherBase*); - ~WeakPtr(); - DispatcherBase* get() { return m_dispatcher; } - void dispose() { m_dispatcher = nullptr; } - - private: - DispatcherBase* m_dispatcher; - }; - - class {{config.lib.export_macro}} Callback { - public: - Callback(std::unique_ptr<WeakPtr> backendImpl, int callId, const String& method, const ProtocolMessage& message); - virtual ~Callback(); - void dispose(); - - protected: - void sendIfActive(std::unique_ptr<protocol::DictionaryValue> partialMessage, const DispatchResponse& response); - void fallThroughIfActive(); - - private: - std::unique_ptr<WeakPtr> m_backendImpl; - int m_callId; - String m_method; - ProtocolMessage m_message; - }; - - explicit DispatcherBase(FrontendChannel*); - virtual ~DispatcherBase(); - - virtual bool canDispatch(const String& method) = 0; - virtual void dispatch(int callId, const String& method, const ProtocolMessage& rawMessage, std::unique_ptr<protocol::DictionaryValue> messageObject) = 0; - FrontendChannel* channel() { return m_frontendChannel; } - - void sendResponse(int callId, const DispatchResponse&, std::unique_ptr<protocol::DictionaryValue> result); - void sendResponse(int callId, const DispatchResponse&); - - void reportProtocolError(int callId, DispatchResponse::ErrorCode, const String& errorMessage, ErrorSupport* errors); - void clearFrontend(); - - std::unique_ptr<WeakPtr> weakPtr(); - -private: - FrontendChannel* m_frontendChannel; - std::unordered_set<WeakPtr*> m_weakPtrs; -}; - -class {{config.lib.export_macro}} UberDispatcher { - PROTOCOL_DISALLOW_COPY(UberDispatcher); -public: - explicit UberDispatcher(FrontendChannel*); - void registerBackend(const String& name, std::unique_ptr<protocol::DispatcherBase>); - void setupRedirects(const std::unordered_map<String, String>&); - bool parseCommand(Value* message, int* callId, String* method); - bool canDispatch(const String& method); - void dispatch(int callId, const String& method, std::unique_ptr<Value> message, const ProtocolMessage& rawMessage); - FrontendChannel* channel() { return m_frontendChannel; } - virtual ~UberDispatcher(); - -private: - protocol::DispatcherBase* findDispatcher(const String& method); - FrontendChannel* m_frontendChannel; - std::unordered_map<String, String> m_redirects; - std::unordered_map<String, std::unique_ptr<protocol::DispatcherBase>> m_dispatchers; -}; - -class InternalResponse : public Serializable { - PROTOCOL_DISALLOW_COPY(InternalResponse); -public: - static std::unique_ptr<InternalResponse> createResponse(int callId, std::unique_ptr<Serializable> params); - static std::unique_ptr<InternalResponse> createNotification(const String& notification, std::unique_ptr<Serializable> params = nullptr); - - String serializeToJSON() override; - std::vector<uint8_t> serializeToBinary() override; - - ~InternalResponse() override {} - -private: - InternalResponse(int callId, const String& notification, std::unique_ptr<Serializable> params); - - int m_callId; - String m_notification; - std::unique_ptr<Serializable> m_params; -}; - -class InternalRawNotification : public Serializable { -public: - static std::unique_ptr<InternalRawNotification> fromJSON(String notification) - { - return std::unique_ptr<InternalRawNotification>(new InternalRawNotification(std::move(notification))); - } - - static std::unique_ptr<InternalRawNotification> fromBinary(std::vector<uint8_t> notification) - { - return std::unique_ptr<InternalRawNotification>(new InternalRawNotification(std::move(notification))); - } - - ~InternalRawNotification() override {} - - String serializeToJSON() override - { - return std::move(m_jsonNotification); - } - - std::vector<uint8_t> serializeToBinary() override - { - return std::move(m_binaryNotification); - } - -private: - explicit InternalRawNotification(String notification) - : m_jsonNotification(std::move(notification)) { } - explicit InternalRawNotification(std::vector<uint8_t> notification) - : m_binaryNotification(std::move(notification)) { } - - String m_jsonNotification; - std::vector<uint8_t> m_binaryNotification; -}; - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_DispatcherBase_h) diff --git a/tools/inspector_protocol/lib/ErrorSupport_cpp.template b/tools/inspector_protocol/lib/ErrorSupport_cpp.template deleted file mode 100644 index a5c2a79bbd25c4..00000000000000 --- a/tools/inspector_protocol/lib/ErrorSupport_cpp.template +++ /dev/null @@ -1,73 +0,0 @@ -// This file is generated by ErrorSupport_cpp.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//#include "ErrorSupport.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -ErrorSupport::ErrorSupport() { } -ErrorSupport::~ErrorSupport() { } - -void ErrorSupport::setName(const char* name) -{ - setName(String(name)); -} - -void ErrorSupport::setName(const String& name) -{ - DCHECK(m_path.size()); - m_path[m_path.size() - 1] = name; -} - -void ErrorSupport::push() -{ - m_path.push_back(String()); -} - -void ErrorSupport::pop() -{ - m_path.pop_back(); -} - -void ErrorSupport::addError(const char* error) -{ - addError(String(error)); -} - -void ErrorSupport::addError(const String& error) -{ - StringBuilder builder; - for (size_t i = 0; i < m_path.size(); ++i) { - if (i) - StringUtil::builderAppend(builder, '.'); - StringUtil::builderAppend(builder, m_path[i]); - } - StringUtil::builderAppend(builder, ": "); - StringUtil::builderAppend(builder, error); - m_errors.push_back(StringUtil::builderToString(builder)); -} - -bool ErrorSupport::hasErrors() -{ - return !!m_errors.size(); -} - -String ErrorSupport::errors() -{ - StringBuilder builder; - for (size_t i = 0; i < m_errors.size(); ++i) { - if (i) - StringUtil::builderAppend(builder, "; "); - StringUtil::builderAppend(builder, m_errors[i]); - } - return StringUtil::builderToString(builder); -} - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/inspector_protocol/lib/ErrorSupport_h.template b/tools/inspector_protocol/lib/ErrorSupport_h.template deleted file mode 100644 index f317a3cfb411b5..00000000000000 --- a/tools/inspector_protocol/lib/ErrorSupport_h.template +++ /dev/null @@ -1,39 +0,0 @@ -// This file is generated by ErrorSupport_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_ErrorSupport_h -#define {{"_".join(config.protocol.namespace)}}_ErrorSupport_h - -#include {{format_include(config.protocol.package, "Forward")}} - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -class {{config.lib.export_macro}} ErrorSupport { -public: - ErrorSupport(); - ~ErrorSupport(); - - void push(); - void setName(const char*); - void setName(const String&); - void pop(); - void addError(const char*); - void addError(const String&); - bool hasErrors(); - String errors(); - -private: - std::vector<String> m_path; - std::vector<String> m_errors; -}; - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_ErrorSupport_h) diff --git a/tools/inspector_protocol/lib/FrontendChannel_h.template b/tools/inspector_protocol/lib/FrontendChannel_h.template deleted file mode 100644 index df104debadbe85..00000000000000 --- a/tools/inspector_protocol/lib/FrontendChannel_h.template +++ /dev/null @@ -1,40 +0,0 @@ -// This file is generated by FrontendChannel_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_FrontendChannel_h -#define {{"_".join(config.protocol.namespace)}}_FrontendChannel_h - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -class {{config.lib.export_macro}} Serializable { -public: - ProtocolMessage serialize(bool binary) { - if (binary) - return StringUtil::binaryToMessage(serializeToBinary()); - else - return StringUtil::jsonToMessage(serializeToJSON()); - } - virtual String serializeToJSON() = 0; - virtual std::vector<uint8_t> serializeToBinary() = 0; - virtual ~Serializable() = default; -}; - -class {{config.lib.export_macro}} FrontendChannel { -public: - virtual ~FrontendChannel() { } - virtual void sendProtocolResponse(int callId, std::unique_ptr<Serializable> message) = 0; - virtual void sendProtocolNotification(std::unique_ptr<Serializable> message) = 0; - virtual void fallThrough(int callId, const String& method, const ProtocolMessage& message) = 0; - virtual void flushProtocolNotifications() = 0; -}; - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_FrontendChannel_h) diff --git a/tools/inspector_protocol/lib/Maybe_h.template b/tools/inspector_protocol/lib/Maybe_h.template deleted file mode 100644 index 8dfee7e9d5cb72..00000000000000 --- a/tools/inspector_protocol/lib/Maybe_h.template +++ /dev/null @@ -1,77 +0,0 @@ -// This file is generated by Maybe_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_Maybe_h -#define {{"_".join(config.protocol.namespace)}}_Maybe_h - -//#include "Forward.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -namespace detail { -template<typename T> -class PtrMaybe { -public: - PtrMaybe() = default; - PtrMaybe(std::unique_ptr<T> value) : m_value(std::move(value)) { } - PtrMaybe(PtrMaybe&& other) noexcept : m_value(std::move(other.m_value)) {} - void operator=(std::unique_ptr<T> value) { m_value = std::move(value); } - T* fromJust() const { DCHECK(m_value); return m_value.get(); } - T* fromMaybe(T* defaultValue) const { return m_value ? m_value.get() : defaultValue; } - bool isJust() const { return !!m_value; } - std::unique_ptr<T> takeJust() { DCHECK(m_value); return std::move(m_value); } -private: - std::unique_ptr<T> m_value; -}; - -template<typename T> -class ValueMaybe { -public: - ValueMaybe() : m_isJust(false), m_value() { } - ValueMaybe(T value) : m_isJust(true), m_value(std::move(value)) { } - ValueMaybe(ValueMaybe&& other) noexcept - : m_isJust(other.m_isJust), - m_value(std::move(other.m_value)) {} - void operator=(T value) { m_value = value; m_isJust = true; } - const T& fromJust() const { DCHECK(m_isJust); return m_value; } - const T& fromMaybe(const T& defaultValue) const { return m_isJust ? m_value : defaultValue; } - bool isJust() const { return m_isJust; } - T takeJust() { DCHECK(m_isJust); return std::move(m_value); } -private: - bool m_isJust; - T m_value; -}; - -template <typename T> -struct MaybeTypedef { typedef PtrMaybe<T> type; }; - -template <> -struct MaybeTypedef<bool> { typedef ValueMaybe<bool> type; }; - -template <> -struct MaybeTypedef<int> { typedef ValueMaybe<int> type; }; - -template <> -struct MaybeTypedef<double> { typedef ValueMaybe<double> type; }; - -template <> -struct MaybeTypedef<String> { typedef ValueMaybe<String> type; }; - -template <> -struct MaybeTypedef<Binary> { typedef ValueMaybe<Binary> type; }; - -} // namespace detail - -template <typename T> -using Maybe = typename detail::MaybeTypedef<T>::type; - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_Maybe_h) diff --git a/tools/inspector_protocol/lib/Parser_cpp.template b/tools/inspector_protocol/lib/Parser_cpp.template deleted file mode 100644 index ea7ecc5a1a4756..00000000000000 --- a/tools/inspector_protocol/lib/Parser_cpp.template +++ /dev/null @@ -1,548 +0,0 @@ -// This file is generated by Parser_cpp.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -namespace { - -const int stackLimit = 1000; - -enum Token { - ObjectBegin, - ObjectEnd, - ArrayBegin, - ArrayEnd, - StringLiteral, - Number, - BoolTrue, - BoolFalse, - NullToken, - ListSeparator, - ObjectPairSeparator, - InvalidToken, -}; - -const char* const nullString = "null"; -const char* const trueString = "true"; -const char* const falseString = "false"; - -bool isASCII(uint16_t c) -{ - return !(c & ~0x7F); -} - -bool isSpaceOrNewLine(uint16_t c) -{ - return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); -} - -double charactersToDouble(const uint16_t* characters, size_t length, bool* ok) -{ - std::vector<char> buffer; - buffer.reserve(length + 1); - for (size_t i = 0; i < length; ++i) { - if (!isASCII(characters[i])) { - *ok = false; - return 0; - } - buffer.push_back(static_cast<char>(characters[i])); - } - buffer.push_back('\0'); - return StringUtil::toDouble(buffer.data(), length, ok); -} - -double charactersToDouble(const uint8_t* characters, size_t length, bool* ok) -{ - std::string buffer(reinterpret_cast<const char*>(characters), length); - return StringUtil::toDouble(buffer.data(), length, ok); -} - -template<typename Char> -bool parseConstToken(const Char* start, const Char* end, const Char** tokenEnd, const char* token) -{ - while (start < end && *token != '\0' && *start++ == *token++) { } - if (*token != '\0') - return false; - *tokenEnd = start; - return true; -} - -template<typename Char> -bool readInt(const Char* start, const Char* end, const Char** tokenEnd, bool canHaveLeadingZeros) -{ - if (start == end) - return false; - bool haveLeadingZero = '0' == *start; - int length = 0; - while (start < end && '0' <= *start && *start <= '9') { - ++start; - ++length; - } - if (!length) - return false; - if (!canHaveLeadingZeros && length > 1 && haveLeadingZero) - return false; - *tokenEnd = start; - return true; -} - -template<typename Char> -bool parseNumberToken(const Char* start, const Char* end, const Char** tokenEnd) -{ - // We just grab the number here. We validate the size in DecodeNumber. - // According to RFC4627, a valid number is: [minus] int [frac] [exp] - if (start == end) - return false; - Char c = *start; - if ('-' == c) - ++start; - - if (!readInt(start, end, &start, false)) - return false; - if (start == end) { - *tokenEnd = start; - return true; - } - - // Optional fraction part - c = *start; - if ('.' == c) { - ++start; - if (!readInt(start, end, &start, true)) - return false; - if (start == end) { - *tokenEnd = start; - return true; - } - c = *start; - } - - // Optional exponent part - if ('e' == c || 'E' == c) { - ++start; - if (start == end) - return false; - c = *start; - if ('-' == c || '+' == c) { - ++start; - if (start == end) - return false; - } - if (!readInt(start, end, &start, true)) - return false; - } - - *tokenEnd = start; - return true; -} - -template<typename Char> -bool readHexDigits(const Char* start, const Char* end, const Char** tokenEnd, int digits) -{ - if (end - start < digits) - return false; - for (int i = 0; i < digits; ++i) { - Char c = *start++; - if (!(('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || ('A' <= c && c <= 'F'))) - return false; - } - *tokenEnd = start; - return true; -} - -template<typename Char> -bool parseStringToken(const Char* start, const Char* end, const Char** tokenEnd) -{ - while (start < end) { - Char c = *start++; - if ('\\' == c) { - if (start == end) - return false; - c = *start++; - // Make sure the escaped char is valid. - switch (c) { - case 'x': - if (!readHexDigits(start, end, &start, 2)) - return false; - break; - case 'u': - if (!readHexDigits(start, end, &start, 4)) - return false; - break; - case '\\': - case '/': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': - case 'v': - case '"': - break; - default: - return false; - } - } else if ('"' == c) { - *tokenEnd = start; - return true; - } - } - return false; -} - -template<typename Char> -bool skipComment(const Char* start, const Char* end, const Char** commentEnd) -{ - if (start == end) - return false; - - if (*start != '/' || start + 1 >= end) - return false; - ++start; - - if (*start == '/') { - // Single line comment, read to newline. - for (++start; start < end; ++start) { - if (*start == '\n' || *start == '\r') { - *commentEnd = start + 1; - return true; - } - } - *commentEnd = end; - // Comment reaches end-of-input, which is fine. - return true; - } - - if (*start == '*') { - Char previous = '\0'; - // Block comment, read until end marker. - for (++start; start < end; previous = *start++) { - if (previous == '*' && *start == '/') { - *commentEnd = start + 1; - return true; - } - } - // Block comment must close before end-of-input. - return false; - } - - return false; -} - -template<typename Char> -void skipWhitespaceAndComments(const Char* start, const Char* end, const Char** whitespaceEnd) -{ - while (start < end) { - if (isSpaceOrNewLine(*start)) { - ++start; - } else if (*start == '/') { - const Char* commentEnd; - if (!skipComment(start, end, &commentEnd)) - break; - start = commentEnd; - } else { - break; - } - } - *whitespaceEnd = start; -} - -template<typename Char> -Token parseToken(const Char* start, const Char* end, const Char** tokenStart, const Char** tokenEnd) -{ - skipWhitespaceAndComments(start, end, tokenStart); - start = *tokenStart; - - if (start == end) - return InvalidToken; - - switch (*start) { - case 'n': - if (parseConstToken(start, end, tokenEnd, nullString)) - return NullToken; - break; - case 't': - if (parseConstToken(start, end, tokenEnd, trueString)) - return BoolTrue; - break; - case 'f': - if (parseConstToken(start, end, tokenEnd, falseString)) - return BoolFalse; - break; - case '[': - *tokenEnd = start + 1; - return ArrayBegin; - case ']': - *tokenEnd = start + 1; - return ArrayEnd; - case ',': - *tokenEnd = start + 1; - return ListSeparator; - case '{': - *tokenEnd = start + 1; - return ObjectBegin; - case '}': - *tokenEnd = start + 1; - return ObjectEnd; - case ':': - *tokenEnd = start + 1; - return ObjectPairSeparator; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - if (parseNumberToken(start, end, tokenEnd)) - return Number; - break; - case '"': - if (parseStringToken(start + 1, end, tokenEnd)) - return StringLiteral; - break; - } - return InvalidToken; -} - -template<typename Char> -int hexToInt(Char c) -{ - if ('0' <= c && c <= '9') - return c - '0'; - if ('A' <= c && c <= 'F') - return c - 'A' + 10; - if ('a' <= c && c <= 'f') - return c - 'a' + 10; - DCHECK(false); - return 0; -} - -template<typename Char> -bool decodeString(const Char* start, const Char* end, StringBuilder* output) -{ - while (start < end) { - uint16_t c = *start++; - if ('\\' != c) { - StringUtil::builderAppend(*output, c); - continue; - } - if (start == end) - return false; - c = *start++; - - if (c == 'x') { - // \x is not supported. - return false; - } - - switch (c) { - case '"': - case '/': - case '\\': - break; - case 'b': - c = '\b'; - break; - case 'f': - c = '\f'; - break; - case 'n': - c = '\n'; - break; - case 'r': - c = '\r'; - break; - case 't': - c = '\t'; - break; - case 'v': - c = '\v'; - break; - case 'u': - c = (hexToInt(*start) << 12) + - (hexToInt(*(start + 1)) << 8) + - (hexToInt(*(start + 2)) << 4) + - hexToInt(*(start + 3)); - start += 4; - break; - default: - return false; - } - StringUtil::builderAppend(*output, c); - } - return true; -} - -template<typename Char> -bool decodeString(const Char* start, const Char* end, String* output) -{ - if (start == end) { - *output = ""; - return true; - } - if (start > end) - return false; - StringBuilder buffer; - StringUtil::builderReserve(buffer, end - start); - if (!decodeString(start, end, &buffer)) - return false; - *output = StringUtil::builderToString(buffer); - return true; -} - -template<typename Char> -std::unique_ptr<Value> buildValue(const Char* start, const Char* end, const Char** valueTokenEnd, int depth) -{ - if (depth > stackLimit) - return nullptr; - - std::unique_ptr<Value> result; - const Char* tokenStart; - const Char* tokenEnd; - Token token = parseToken(start, end, &tokenStart, &tokenEnd); - switch (token) { - case InvalidToken: - return nullptr; - case NullToken: - result = Value::null(); - break; - case BoolTrue: - result = FundamentalValue::create(true); - break; - case BoolFalse: - result = FundamentalValue::create(false); - break; - case Number: { - bool ok; - double value = charactersToDouble(tokenStart, tokenEnd - tokenStart, &ok); - if (!ok) - return nullptr; - if (value >= INT_MIN && value <= INT_MAX && static_cast<int>(value) == value) - result = FundamentalValue::create(static_cast<int>(value)); - else - result = FundamentalValue::create(value); - break; - } - case StringLiteral: { - String value; - bool ok = decodeString(tokenStart + 1, tokenEnd - 1, &value); - if (!ok) - return nullptr; - result = StringValue::create(value); - break; - } - case ArrayBegin: { - std::unique_ptr<ListValue> array = ListValue::create(); - start = tokenEnd; - token = parseToken(start, end, &tokenStart, &tokenEnd); - while (token != ArrayEnd) { - std::unique_ptr<Value> arrayNode = buildValue(start, end, &tokenEnd, depth + 1); - if (!arrayNode) - return nullptr; - array->pushValue(std::move(arrayNode)); - - // After a list value, we expect a comma or the end of the list. - start = tokenEnd; - token = parseToken(start, end, &tokenStart, &tokenEnd); - if (token == ListSeparator) { - start = tokenEnd; - token = parseToken(start, end, &tokenStart, &tokenEnd); - if (token == ArrayEnd) - return nullptr; - } else if (token != ArrayEnd) { - // Unexpected value after list value. Bail out. - return nullptr; - } - } - if (token != ArrayEnd) - return nullptr; - result = std::move(array); - break; - } - case ObjectBegin: { - std::unique_ptr<DictionaryValue> object = DictionaryValue::create(); - start = tokenEnd; - token = parseToken(start, end, &tokenStart, &tokenEnd); - while (token != ObjectEnd) { - if (token != StringLiteral) - return nullptr; - String key; - if (!decodeString(tokenStart + 1, tokenEnd - 1, &key)) - return nullptr; - start = tokenEnd; - - token = parseToken(start, end, &tokenStart, &tokenEnd); - if (token != ObjectPairSeparator) - return nullptr; - start = tokenEnd; - - std::unique_ptr<Value> value = buildValue(start, end, &tokenEnd, depth + 1); - if (!value) - return nullptr; - object->setValue(key, std::move(value)); - start = tokenEnd; - - // After a key/value pair, we expect a comma or the end of the - // object. - token = parseToken(start, end, &tokenStart, &tokenEnd); - if (token == ListSeparator) { - start = tokenEnd; - token = parseToken(start, end, &tokenStart, &tokenEnd); - if (token == ObjectEnd) - return nullptr; - } else if (token != ObjectEnd) { - // Unexpected value after last object value. Bail out. - return nullptr; - } - } - if (token != ObjectEnd) - return nullptr; - result = std::move(object); - break; - } - - default: - // We got a token that's not a value. - return nullptr; - } - - skipWhitespaceAndComments(tokenEnd, end, valueTokenEnd); - return result; -} - -template<typename Char> -std::unique_ptr<Value> parseJSONInternal(const Char* start, unsigned length) -{ - const Char* end = start + length; - const Char *tokenEnd; - std::unique_ptr<Value> value = buildValue(start, end, &tokenEnd, 0); - if (!value || tokenEnd != end) - return nullptr; - return value; -} - -} // anonymous namespace - -std::unique_ptr<Value> parseJSONCharacters(const uint16_t* characters, unsigned length) -{ - return parseJSONInternal<uint16_t>(characters, length); -} - -std::unique_ptr<Value> parseJSONCharacters(const uint8_t* characters, unsigned length) -{ - return parseJSONInternal<uint8_t>(characters, length); -} - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/inspector_protocol/lib/Parser_h.template b/tools/inspector_protocol/lib/Parser_h.template deleted file mode 100644 index 1832c2e9724b4a..00000000000000 --- a/tools/inspector_protocol/lib/Parser_h.template +++ /dev/null @@ -1,24 +0,0 @@ -// This file is generated by Parser_h.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_Parser_h -#define {{"_".join(config.protocol.namespace)}}_Parser_h - -//#include "Forward.h" -//#include "Values.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -{{config.lib.export_macro}} std::unique_ptr<Value> parseJSONCharacters(const uint8_t*, unsigned); -{{config.lib.export_macro}} std::unique_ptr<Value> parseJSONCharacters(const uint16_t*, unsigned); - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_Parser_h) diff --git a/tools/inspector_protocol/lib/Values_cpp.template b/tools/inspector_protocol/lib/Values_cpp.template deleted file mode 100644 index 8b4dfc91e3b9c9..00000000000000 --- a/tools/inspector_protocol/lib/Values_cpp.template +++ /dev/null @@ -1,715 +0,0 @@ -// This file is generated by Values_cpp.template. - -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -//#include "Values.h" - -{% if config.encoding_lib.header %} -#include "{{config.encoding_lib.header}}" -{% endif %} - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -namespace { - -const char* const nullValueString = "null"; -const char* const trueValueString = "true"; -const char* const falseValueString = "false"; - -inline bool escapeChar(uint16_t c, StringBuilder* dst) -{ - switch (c) { - case '\b': StringUtil::builderAppend(*dst, "\\b"); break; - case '\f': StringUtil::builderAppend(*dst, "\\f"); break; - case '\n': StringUtil::builderAppend(*dst, "\\n"); break; - case '\r': StringUtil::builderAppend(*dst, "\\r"); break; - case '\t': StringUtil::builderAppend(*dst, "\\t"); break; - case '\\': StringUtil::builderAppend(*dst, "\\\\"); break; - case '"': StringUtil::builderAppend(*dst, "\\\""); break; - default: - return false; - } - return true; -} - -const char hexDigits[17] = "0123456789ABCDEF"; - -void appendUnsignedAsHex(uint16_t number, StringBuilder* dst) -{ - StringUtil::builderAppend(*dst, "\\u"); - for (size_t i = 0; i < 4; ++i) { - uint16_t c = hexDigits[(number & 0xF000) >> 12]; - StringUtil::builderAppend(*dst, c); - number <<= 4; - } -} - -template <typename Char> -void escapeStringForJSONInternal(const Char* str, unsigned len, - StringBuilder* dst) -{ - for (unsigned i = 0; i < len; ++i) { - Char c = str[i]; - if (escapeChar(c, dst)) - continue; - if (c < 32 || c > 126) { - appendUnsignedAsHex(c, dst); - } else { - StringUtil::builderAppend(*dst, c); - } - } -} - -// When parsing CBOR, we limit recursion depth for objects and arrays -// to this constant. -static constexpr int kStackLimitValues = 1000; - -{% if config.encoding_lib.namespace %} -using {{"::".join(config.encoding_lib.namespace)}}::Error; -using {{"::".join(config.encoding_lib.namespace)}}::Status; -using {{"::".join(config.encoding_lib.namespace)}}::span; -namespace cbor { -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::CBORTokenTag; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::CBORTokenizer; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeBinary; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeDouble; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeFalse; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeFromLatin1; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeFromUTF16; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeIndefiniteLengthArrayStart; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeIndefiniteLengthMapStart; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeInt32; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeNull; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeStop; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeString8; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EncodeTrue; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::EnvelopeEncoder; -using {{"::".join(config.encoding_lib.namespace + ['cbor'])}}::InitialByteForEnvelope; -} // namespace cbor -{% endif %} - -// Below are three parsing routines for CBOR, which cover enough -// to roundtrip JSON messages. -std::unique_ptr<DictionaryValue> parseMap(int32_t stack_depth, cbor::CBORTokenizer* tokenizer); -std::unique_ptr<ListValue> parseArray(int32_t stack_depth, cbor::CBORTokenizer* tokenizer); -std::unique_ptr<Value> parseValue(int32_t stack_depth, cbor::CBORTokenizer* tokenizer); - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -std::unique_ptr<ListValue> parseArray(int32_t stack_depth, cbor::CBORTokenizer* tokenizer) { - DCHECK(tokenizer->TokenTag() == cbor::CBORTokenTag::ARRAY_START); - tokenizer->Next(); - auto list = ListValue::create(); - while (tokenizer->TokenTag() != cbor::CBORTokenTag::STOP) { - // Error::CBOR_UNEXPECTED_EOF_IN_ARRAY - if (tokenizer->TokenTag() == cbor::CBORTokenTag::DONE) return nullptr; - if (tokenizer->TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) return nullptr; - // Parse value. - auto value = parseValue(stack_depth, tokenizer); - if (!value) return nullptr; - list->pushValue(std::move(value)); - } - tokenizer->Next(); - return list; -} - -std::unique_ptr<Value> parseValue( - int32_t stack_depth, cbor::CBORTokenizer* tokenizer) { - // Error::CBOR_STACK_LIMIT_EXCEEDED - if (stack_depth > kStackLimitValues) return nullptr; - // Skip past the envelope to get to what's inside. - if (tokenizer->TokenTag() == cbor::CBORTokenTag::ENVELOPE) - tokenizer->EnterEnvelope(); - switch (tokenizer->TokenTag()) { - case cbor::CBORTokenTag::ERROR_VALUE: - return nullptr; - case cbor::CBORTokenTag::DONE: - // Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE - return nullptr; - case cbor::CBORTokenTag::TRUE_VALUE: { - std::unique_ptr<Value> value = FundamentalValue::create(true); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::FALSE_VALUE: { - std::unique_ptr<Value> value = FundamentalValue::create(false); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::NULL_VALUE: { - std::unique_ptr<Value> value = FundamentalValue::null(); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::INT32: { - std::unique_ptr<Value> value = FundamentalValue::create(tokenizer->GetInt32()); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::DOUBLE: { - std::unique_ptr<Value> value = FundamentalValue::create(tokenizer->GetDouble()); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::STRING8: { - span<uint8_t> str = tokenizer->GetString8(); - std::unique_ptr<Value> value = - StringValue::create(StringUtil::fromUTF8(str.data(), str.size())); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::STRING16: { - span<uint8_t> wire = tokenizer->GetString16WireRep(); - DCHECK_EQ(wire.size() & 1, 0u); - std::unique_ptr<Value> value = StringValue::create(StringUtil::fromUTF16( - reinterpret_cast<const uint16_t*>(wire.data()), wire.size() / 2)); - tokenizer->Next(); - return value; - } - case cbor::CBORTokenTag::BINARY: { - span<uint8_t> payload = tokenizer->GetBinary(); - tokenizer->Next(); - return BinaryValue::create(Binary::fromSpan(payload.data(), payload.size())); - } - case cbor::CBORTokenTag::MAP_START: - return parseMap(stack_depth + 1, tokenizer); - case cbor::CBORTokenTag::ARRAY_START: - return parseArray(stack_depth + 1, tokenizer); - default: - // Error::CBOR_UNSUPPORTED_VALUE - return nullptr; - } -} - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -std::unique_ptr<DictionaryValue> parseMap( - int32_t stack_depth, cbor::CBORTokenizer* tokenizer) { - auto dict = DictionaryValue::create(); - tokenizer->Next(); - while (tokenizer->TokenTag() != cbor::CBORTokenTag::STOP) { - if (tokenizer->TokenTag() == cbor::CBORTokenTag::DONE) { - // Error::CBOR_UNEXPECTED_EOF_IN_MAP - return nullptr; - } - if (tokenizer->TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) return nullptr; - // Parse key. - String key; - if (tokenizer->TokenTag() == cbor::CBORTokenTag::STRING8) { - span<uint8_t> key_span = tokenizer->GetString8(); - key = StringUtil::fromUTF8(key_span.data(), key_span.size()); - tokenizer->Next(); - } else if (tokenizer->TokenTag() == cbor::CBORTokenTag::STRING16) { - span<uint8_t> key_span = tokenizer->GetString16WireRep(); - if (key_span.size() & 1) return nullptr; // UTF16 is 2 byte multiple. - key = StringUtil::fromUTF16( - reinterpret_cast<const uint16_t*>(key_span.data()), - key_span.size() / 2); - tokenizer->Next(); - } else { - // Error::CBOR_INVALID_MAP_KEY - return nullptr; - } - // Parse value. - auto value = parseValue(stack_depth, tokenizer); - if (!value) return nullptr; - dict->setValue(key, std::move(value)); - } - tokenizer->Next(); - return dict; -} - -} // anonymous namespace - -// static -std::unique_ptr<Value> Value::parseBinary(const uint8_t* data, size_t size) { - span<uint8_t> bytes(data, size); - - // Error::CBOR_NO_INPUT - if (bytes.empty()) return nullptr; - - // Error::CBOR_INVALID_START_BYTE - if (bytes[0] != cbor::InitialByteForEnvelope()) return nullptr; - - cbor::CBORTokenizer tokenizer(bytes); - if (tokenizer.TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) return nullptr; - - // We checked for the envelope start byte above, so the tokenizer - // must agree here, since it's not an error. - DCHECK(tokenizer.TokenTag() == cbor::CBORTokenTag::ENVELOPE); - tokenizer.EnterEnvelope(); - // Error::MAP_START_EXPECTED - if (tokenizer.TokenTag() != cbor::CBORTokenTag::MAP_START) return nullptr; - std::unique_ptr<Value> result = parseMap(/*stack_depth=*/1, &tokenizer); - if (!result) return nullptr; - if (tokenizer.TokenTag() == cbor::CBORTokenTag::DONE) return result; - if (tokenizer.TokenTag() == cbor::CBORTokenTag::ERROR_VALUE) return nullptr; - // Error::CBOR_TRAILING_JUNK - return nullptr; -} - -bool Value::asBoolean(bool*) const -{ - return false; -} - -bool Value::asDouble(double*) const -{ - return false; -} - -bool Value::asInteger(int*) const -{ - return false; -} - -bool Value::asString(String*) const -{ - return false; -} - -bool Value::asBinary(Binary*) const -{ - return false; -} - -void Value::writeJSON(StringBuilder* output) const -{ - DCHECK(m_type == TypeNull); - StringUtil::builderAppend(*output, nullValueString, 4); -} - -void Value::writeBinary(std::vector<uint8_t>* bytes) const { - DCHECK(m_type == TypeNull); - bytes->push_back(cbor::EncodeNull()); -} - -std::unique_ptr<Value> Value::clone() const -{ - return Value::null(); -} - -String Value::toJSONString() const -{ - StringBuilder result; - StringUtil::builderReserve(result, 512); - writeJSON(&result); - return StringUtil::builderToString(result); -} - -String Value::serializeToJSON() { - return toJSONString(); -} - -std::vector<uint8_t> Value::serializeToBinary() { - std::vector<uint8_t> bytes; - writeBinary(&bytes); - return bytes; -} - -bool FundamentalValue::asBoolean(bool* output) const -{ - if (type() != TypeBoolean) - return false; - *output = m_boolValue; - return true; -} - -bool FundamentalValue::asDouble(double* output) const -{ - if (type() == TypeDouble) { - *output = m_doubleValue; - return true; - } - if (type() == TypeInteger) { - *output = m_integerValue; - return true; - } - return false; -} - -bool FundamentalValue::asInteger(int* output) const -{ - if (type() != TypeInteger) - return false; - *output = m_integerValue; - return true; -} - -void FundamentalValue::writeJSON(StringBuilder* output) const -{ - DCHECK(type() == TypeBoolean || type() == TypeInteger || type() == TypeDouble); - if (type() == TypeBoolean) { - if (m_boolValue) - StringUtil::builderAppend(*output, trueValueString, 4); - else - StringUtil::builderAppend(*output, falseValueString, 5); - } else if (type() == TypeDouble) { - if (!std::isfinite(m_doubleValue)) { - StringUtil::builderAppend(*output, nullValueString, 4); - return; - } - StringUtil::builderAppend(*output, StringUtil::fromDouble(m_doubleValue)); - } else if (type() == TypeInteger) { - StringUtil::builderAppend(*output, StringUtil::fromInteger(m_integerValue)); - } -} - -void FundamentalValue::writeBinary(std::vector<uint8_t>* bytes) const { - switch (type()) { - case TypeDouble: - cbor::EncodeDouble(m_doubleValue, bytes); - return; - case TypeInteger: - cbor::EncodeInt32(m_integerValue, bytes); - return; - case TypeBoolean: - bytes->push_back(m_boolValue ? cbor::EncodeTrue() : cbor::EncodeFalse()); - return; - default: - DCHECK(false); - } -} - -std::unique_ptr<Value> FundamentalValue::clone() const -{ - switch (type()) { - case TypeDouble: return FundamentalValue::create(m_doubleValue); - case TypeInteger: return FundamentalValue::create(m_integerValue); - case TypeBoolean: return FundamentalValue::create(m_boolValue); - default: - DCHECK(false); - } - return nullptr; -} - -bool StringValue::asString(String* output) const -{ - *output = m_stringValue; - return true; -} - -void StringValue::writeJSON(StringBuilder* output) const -{ - DCHECK(type() == TypeString); - StringUtil::builderAppendQuotedString(*output, m_stringValue); -} - -namespace { -// This routine distinguishes between the current encoding for a given -// string |s|, and calls encoding routines that will -// - Ensure that all ASCII strings end up being encoded as UTF8 in -// the wire format - e.g., EncodeFromUTF16 will detect ASCII and -// do the (trivial) transcode to STRING8 on the wire, but if it's -// not ASCII it'll do STRING16. -// - Select a format that's cheap to convert to. E.g., we don't -// have LATIN1 on the wire, so we call EncodeFromLatin1 which -// transcodes to UTF8 if needed. -void EncodeString(const String& s, std::vector<uint8_t>* out) { - if (StringUtil::CharacterCount(s) == 0) { - cbor::EncodeString8(span<uint8_t>(nullptr, 0), out); // Empty string. - } else if (StringUtil::CharactersLatin1(s)) { - cbor::EncodeFromLatin1(span<uint8_t>(StringUtil::CharactersLatin1(s), - StringUtil::CharacterCount(s)), - out); - } else if (StringUtil::CharactersUTF16(s)) { - cbor::EncodeFromUTF16(span<uint16_t>(StringUtil::CharactersUTF16(s), - StringUtil::CharacterCount(s)), - out); - } else if (StringUtil::CharactersUTF8(s)) { - cbor::EncodeString8(span<uint8_t>(StringUtil::CharactersUTF8(s), - StringUtil::CharacterCount(s)), - out); - } -} -} // namespace - -void StringValue::writeBinary(std::vector<uint8_t>* bytes) const { - EncodeString(m_stringValue, bytes); -} - -std::unique_ptr<Value> StringValue::clone() const -{ - return StringValue::create(m_stringValue); -} - -bool BinaryValue::asBinary(Binary* output) const -{ - *output = m_binaryValue; - return true; -} - -void BinaryValue::writeJSON(StringBuilder* output) const -{ - DCHECK(type() == TypeBinary); - StringUtil::builderAppendQuotedString(*output, m_binaryValue.toBase64()); -} - -void BinaryValue::writeBinary(std::vector<uint8_t>* bytes) const { - cbor::EncodeBinary(span<uint8_t>(m_binaryValue.data(), - m_binaryValue.size()), bytes); -} - -std::unique_ptr<Value> BinaryValue::clone() const -{ - return BinaryValue::create(m_binaryValue); -} - -void SerializedValue::writeJSON(StringBuilder* output) const -{ - DCHECK(type() == TypeSerialized); - StringUtil::builderAppend(*output, m_serializedJSON); -} - -void SerializedValue::writeBinary(std::vector<uint8_t>* output) const -{ - DCHECK(type() == TypeSerialized); - output->insert(output->end(), m_serializedBinary.begin(), m_serializedBinary.end()); -} - -std::unique_ptr<Value> SerializedValue::clone() const -{ - return std::unique_ptr<SerializedValue>(new SerializedValue(m_serializedJSON, m_serializedBinary)); -} - -DictionaryValue::~DictionaryValue() -{ -} - -void DictionaryValue::setBoolean(const String& name, bool value) -{ - setValue(name, FundamentalValue::create(value)); -} - -void DictionaryValue::setInteger(const String& name, int value) -{ - setValue(name, FundamentalValue::create(value)); -} - -void DictionaryValue::setDouble(const String& name, double value) -{ - setValue(name, FundamentalValue::create(value)); -} - -void DictionaryValue::setString(const String& name, const String& value) -{ - setValue(name, StringValue::create(value)); -} - -void DictionaryValue::setValue(const String& name, std::unique_ptr<Value> value) -{ - set(name, value); -} - -void DictionaryValue::setObject(const String& name, std::unique_ptr<DictionaryValue> value) -{ - set(name, value); -} - -void DictionaryValue::setArray(const String& name, std::unique_ptr<ListValue> value) -{ - set(name, value); -} - -bool DictionaryValue::getBoolean(const String& name, bool* output) const -{ - protocol::Value* value = get(name); - if (!value) - return false; - return value->asBoolean(output); -} - -bool DictionaryValue::getInteger(const String& name, int* output) const -{ - Value* value = get(name); - if (!value) - return false; - return value->asInteger(output); -} - -bool DictionaryValue::getDouble(const String& name, double* output) const -{ - Value* value = get(name); - if (!value) - return false; - return value->asDouble(output); -} - -bool DictionaryValue::getString(const String& name, String* output) const -{ - protocol::Value* value = get(name); - if (!value) - return false; - return value->asString(output); -} - -DictionaryValue* DictionaryValue::getObject(const String& name) const -{ - return DictionaryValue::cast(get(name)); -} - -protocol::ListValue* DictionaryValue::getArray(const String& name) const -{ - return ListValue::cast(get(name)); -} - -protocol::Value* DictionaryValue::get(const String& name) const -{ - Dictionary::const_iterator it = m_data.find(name); - if (it == m_data.end()) - return nullptr; - return it->second.get(); -} - -DictionaryValue::Entry DictionaryValue::at(size_t index) const -{ - const String key = m_order[index]; - return std::make_pair(key, m_data.find(key)->second.get()); -} - -bool DictionaryValue::booleanProperty(const String& name, bool defaultValue) const -{ - bool result = defaultValue; - getBoolean(name, &result); - return result; -} - -int DictionaryValue::integerProperty(const String& name, int defaultValue) const -{ - int result = defaultValue; - getInteger(name, &result); - return result; -} - -double DictionaryValue::doubleProperty(const String& name, double defaultValue) const -{ - double result = defaultValue; - getDouble(name, &result); - return result; -} - -void DictionaryValue::remove(const String& name) -{ - m_data.erase(name); - m_order.erase(std::remove(m_order.begin(), m_order.end(), name), m_order.end()); -} - -void DictionaryValue::writeJSON(StringBuilder* output) const -{ - StringUtil::builderAppend(*output, '{'); - for (size_t i = 0; i < m_order.size(); ++i) { - Dictionary::const_iterator it = m_data.find(m_order[i]); - CHECK(it != m_data.end()); - if (i) - StringUtil::builderAppend(*output, ','); - StringUtil::builderAppendQuotedString(*output, it->first); - StringUtil::builderAppend(*output, ':'); - it->second->writeJSON(output); - } - StringUtil::builderAppend(*output, '}'); -} - -void DictionaryValue::writeBinary(std::vector<uint8_t>* bytes) const { - cbor::EnvelopeEncoder encoder; - encoder.EncodeStart(bytes); - bytes->push_back(cbor::EncodeIndefiniteLengthMapStart()); - for (size_t i = 0; i < m_order.size(); ++i) { - const String& key = m_order[i]; - Dictionary::const_iterator value = m_data.find(key); - DCHECK(value != m_data.cend() && value->second); - EncodeString(key, bytes); - value->second->writeBinary(bytes); - } - bytes->push_back(cbor::EncodeStop()); - encoder.EncodeStop(bytes); -} - -std::unique_ptr<Value> DictionaryValue::clone() const -{ - std::unique_ptr<DictionaryValue> result = DictionaryValue::create(); - for (size_t i = 0; i < m_order.size(); ++i) { - String key = m_order[i]; - Dictionary::const_iterator value = m_data.find(key); - DCHECK(value != m_data.cend() && value->second); - result->setValue(key, value->second->clone()); - } - return result; -} - -DictionaryValue::DictionaryValue() - : Value(TypeObject) -{ -} - -ListValue::~ListValue() -{ -} - -void ListValue::writeJSON(StringBuilder* output) const -{ - StringUtil::builderAppend(*output, '['); - bool first = true; - for (const std::unique_ptr<protocol::Value>& value : m_data) { - if (!first) - StringUtil::builderAppend(*output, ','); - value->writeJSON(output); - first = false; - } - StringUtil::builderAppend(*output, ']'); -} - -void ListValue::writeBinary(std::vector<uint8_t>* bytes) const { - cbor::EnvelopeEncoder encoder; - encoder.EncodeStart(bytes); - bytes->push_back(cbor::EncodeIndefiniteLengthArrayStart()); - for (size_t i = 0; i < m_data.size(); ++i) { - m_data[i]->writeBinary(bytes); - } - bytes->push_back(cbor::EncodeStop()); - encoder.EncodeStop(bytes); -} - -std::unique_ptr<Value> ListValue::clone() const -{ - std::unique_ptr<ListValue> result = ListValue::create(); - for (const std::unique_ptr<protocol::Value>& value : m_data) - result->pushValue(value->clone()); - return result; -} - -ListValue::ListValue() - : Value(TypeArray) -{ -} - -void ListValue::pushValue(std::unique_ptr<protocol::Value> value) -{ - DCHECK(value); - m_data.push_back(std::move(value)); -} - -protocol::Value* ListValue::at(size_t index) -{ - DCHECK_LT(index, m_data.size()); - return m_data[index].get(); -} - -void escapeLatinStringForJSON(const uint8_t* str, unsigned len, StringBuilder* dst) -{ - escapeStringForJSONInternal<uint8_t>(str, len, dst); -} - -void escapeWideStringForJSON(const uint16_t* str, unsigned len, StringBuilder* dst) -{ - escapeStringForJSONInternal<uint16_t>(str, len, dst); -} - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/inspector_protocol/lib/base_string_adapter_cc.template b/tools/inspector_protocol/lib/base_string_adapter_cc.template deleted file mode 100644 index af078b8e8ae729..00000000000000 --- a/tools/inspector_protocol/lib/base_string_adapter_cc.template +++ /dev/null @@ -1,230 +0,0 @@ -// This file is generated by DispatcherBase_cpp.template. - -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include {{format_include(config.protocol.package, "base_string_adapter")}} -#include {{format_include(config.protocol.package, "Protocol")}} - -#include <utility> -#include "base/base64.h" -#include "base/json/json_reader.h" -#include "base/memory/ptr_util.h" -#include "base/strings/string16.h" -#include "base/strings/stringprintf.h" -#include "base/strings/utf_string_conversions.h" -#include "base/values.h" - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -std::unique_ptr<protocol::Value> toProtocolValue( - const base::Value* value, int depth) { - if (!value || !depth) - return nullptr; - if (value->is_none()) - return protocol::Value::null(); - if (value->is_bool()) { - bool inner; - value->GetAsBoolean(&inner); - return protocol::FundamentalValue::create(inner); - } - if (value->is_int()) { - int inner; - value->GetAsInteger(&inner); - return protocol::FundamentalValue::create(inner); - } - if (value->is_double()) { - double inner; - value->GetAsDouble(&inner); - return protocol::FundamentalValue::create(inner); - } - if (value->is_string()) { - std::string inner; - value->GetAsString(&inner); - return protocol::StringValue::create(inner); - } - if (value->is_list()) { - const base::ListValue* list = nullptr; - value->GetAsList(&list); - std::unique_ptr<protocol::ListValue> result = protocol::ListValue::create(); - for (size_t i = 0; i < list->GetSize(); i++) { - const base::Value* item = nullptr; - list->Get(i, &item); - std::unique_ptr<protocol::Value> converted = - toProtocolValue(item, depth - 1); - if (converted) - result->pushValue(std::move(converted)); - } - return std::move(result); - } - if (value->is_dict()) { - const base::DictionaryValue* dictionary = nullptr; - value->GetAsDictionary(&dictionary); - std::unique_ptr<protocol::DictionaryValue> result = - protocol::DictionaryValue::create(); - for (base::DictionaryValue::Iterator it(*dictionary); - !it.IsAtEnd(); it.Advance()) { - std::unique_ptr<protocol::Value> converted = - toProtocolValue(&it.value(), depth - 1); - if (converted) - result->setValue(it.key(), std::move(converted)); - } - return std::move(result); - } - return nullptr; -} - -std::unique_ptr<base::Value> toBaseValue(Value* value, int depth) { - if (!value || !depth) - return nullptr; - if (value->type() == Value::TypeNull) - return std::make_unique<base::Value>(); - if (value->type() == Value::TypeBoolean) { - bool inner; - value->asBoolean(&inner); - return base::WrapUnique(new base::Value(inner)); - } - if (value->type() == Value::TypeInteger) { - int inner; - value->asInteger(&inner); - return base::WrapUnique(new base::Value(inner)); - } - if (value->type() == Value::TypeDouble) { - double inner; - value->asDouble(&inner); - return base::WrapUnique(new base::Value(inner)); - } - if (value->type() == Value::TypeString) { - std::string inner; - value->asString(&inner); - return base::WrapUnique(new base::Value(inner)); - } - if (value->type() == Value::TypeArray) { - ListValue* list = ListValue::cast(value); - std::unique_ptr<base::ListValue> result(new base::ListValue()); - for (size_t i = 0; i < list->size(); i++) { - std::unique_ptr<base::Value> converted = - toBaseValue(list->at(i), depth - 1); - if (converted) - result->Append(std::move(converted)); - } - return std::move(result); - } - if (value->type() == Value::TypeObject) { - DictionaryValue* dict = DictionaryValue::cast(value); - std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); - for (size_t i = 0; i < dict->size(); i++) { - DictionaryValue::Entry entry = dict->at(i); - std::unique_ptr<base::Value> converted = - toBaseValue(entry.second, depth - 1); - if (converted) - result->SetWithoutPathExpansion(entry.first, std::move(converted)); - } - return std::move(result); - } - return nullptr; -} - -// static -ProtocolMessage StringUtil::jsonToMessage(String message) { - return message; -} - -// static -ProtocolMessage StringUtil::binaryToMessage(std::vector<uint8_t> message) { - // TODO(pfeldman): figure out what to do with this copy. - return std::string(reinterpret_cast<const char*>(message.data()), message.size()); -} - -StringBuilder::StringBuilder() {} - -StringBuilder::~StringBuilder() {} - -void StringBuilder::append(const std::string& s) { - string_ += s; -} - -void StringBuilder::append(char c) { - string_ += c; -} - -void StringBuilder::append(const char* characters, size_t length) { - string_.append(characters, length); -} - -// static -void StringUtil::builderAppendQuotedString(StringBuilder& builder, - const String& str) { - builder.append('"'); - base::string16 str16 = base::UTF8ToUTF16(str); - escapeWideStringForJSON(reinterpret_cast<const uint16_t*>(&str16[0]), - str16.length(), &builder); - builder.append('"'); -} - -std::string StringBuilder::toString() { - return string_; -} - -void StringBuilder::reserveCapacity(size_t capacity) { - string_.reserve(capacity); -} - -// static -String StringUtil::fromUTF16(const uint16_t* data, size_t length) { - std::string utf8; - base::UTF16ToUTF8(reinterpret_cast<const base::char16*>(data), length, &utf8); - return utf8; -} - -Binary::Binary() : bytes_(new base::RefCountedBytes) {} -Binary::Binary(const Binary& binary) : bytes_(binary.bytes_) {} -Binary::Binary(scoped_refptr<base::RefCountedMemory> bytes) : bytes_(bytes) {} -Binary::~Binary() {} - -String Binary::toBase64() const { - std::string encoded; - base::Base64Encode( - base::StringPiece(reinterpret_cast<const char*>(bytes_->front()), - bytes_->size()), - &encoded); - return encoded; -} - -// static -Binary Binary::fromBase64(const String& base64, bool* success) { - std::string decoded; - *success = base::Base64Decode(base::StringPiece(base64), &decoded); - if (*success) { - return Binary::fromString(std::move(decoded)); - } - return Binary(); -} - -// static -Binary Binary::fromRefCounted(scoped_refptr<base::RefCountedMemory> memory) { - return Binary(memory); -} - -// static -Binary Binary::fromVector(std::vector<uint8_t> data) { - return Binary(base::RefCountedBytes::TakeVector(&data)); -} - -// static -Binary Binary::fromString(std::string data) { - return Binary(base::RefCountedString::TakeString(&data)); -} - -// static -Binary Binary::fromSpan(const uint8_t* data, size_t size) { - return Binary(scoped_refptr<base::RefCountedBytes>( - new base::RefCountedBytes(data, size))); -} - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/inspector_protocol/lib/base_string_adapter_h.template b/tools/inspector_protocol/lib/base_string_adapter_h.template deleted file mode 100644 index 46f9e1778b12bb..00000000000000 --- a/tools/inspector_protocol/lib/base_string_adapter_h.template +++ /dev/null @@ -1,142 +0,0 @@ -// This file is generated by Parser_h.template. - -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef {{"_".join(config.protocol.namespace)}}_BASE_STRING_ADAPTER_H -#define {{"_".join(config.protocol.namespace)}}_BASE_STRING_ADAPTER_H - -#include <memory> -#include <string> -#include <vector> - -#include "base/logging.h" -#include "base/macros.h" -#include "base/memory/ref_counted_memory.h" -#include "base/strings/string_number_conversions.h" -{% if config.lib.export_header %} -#include "{{config.lib.export_header}}" -{% endif %} - -namespace base { -class Value; -} - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -class Value; - -using String = std::string; -using ProtocolMessage = std::string; - -class {{config.lib.export_macro}} StringBuilder { - public: - StringBuilder(); - ~StringBuilder(); - void append(const String&); - void append(char); - void append(const char*, size_t); - String toString(); - void reserveCapacity(size_t); - - private: - std::string string_; -}; - -class {{config.lib.export_macro}} StringUtil { - public: - static String substring(const String& s, unsigned pos, unsigned len) { - return s.substr(pos, len); - } - static String fromInteger(int number) { return base::NumberToString(number); } - static String fromDouble(double number) { - String s = base::NumberToString(number); - if (!s.empty()) { // .123 -> 0.123; -.123 -> -0.123 for valid JSON. - if (s[0] == '.') - s.insert(/*index=*/ 0, /*count=*/ 1, /*ch=*/ '0'); - else if (s[0] == '-' && s.size() >= 2 && s[1] == '.') - s.insert(/*index=*/ 1, /*count=*/ 1, /*ch=*/ '0'); - } - return s; - } - static double toDouble(const char* s, size_t len, bool* ok) { - double v = 0.0; - *ok = base::StringToDouble(std::string(s, len), &v); - return *ok ? v : 0.0; - } - static size_t find(const String& s, const char* needle) { - return s.find(needle); - } - static size_t find(const String& s, const String& needle) { - return s.find(needle); - } - static const size_t kNotFound = static_cast<size_t>(-1); - static void builderAppend(StringBuilder& builder, const String& s) { - builder.append(s); - } - static void builderAppend(StringBuilder& builder, char c) { - builder.append(c); - } - static void builderAppend(StringBuilder& builder, const char* s, size_t len) { - builder.append(s, len); - } - static void builderAppendQuotedString(StringBuilder& builder, - const String& str); - static void builderReserve(StringBuilder& builder, unsigned capacity) { - builder.reserveCapacity(capacity); - } - static String builderToString(StringBuilder& builder) { - return builder.toString(); - } - - static ProtocolMessage jsonToMessage(String message); - static ProtocolMessage binaryToMessage(std::vector<uint8_t> message); - - static String fromUTF8(const uint8_t* data, size_t length) { - return std::string(reinterpret_cast<const char*>(data), length); - } - - static String fromUTF16(const uint16_t* data, size_t length); - - static const uint8_t* CharactersLatin1(const String& s) { return nullptr; } - static const uint8_t* CharactersUTF8(const String& s) { - return reinterpret_cast<const uint8_t*>(s.data()); - } - static const uint16_t* CharactersUTF16(const String& s) { return nullptr; } - static size_t CharacterCount(const String& s) { return s.size(); } -}; - -// A read-only sequence of uninterpreted bytes with reference-counted storage. -class {{config.lib.export_macro}} Binary { - public: - Binary(const Binary&); - Binary(); - ~Binary(); - - const uint8_t* data() const { return bytes_->front(); } - size_t size() const { return bytes_->size(); } - scoped_refptr<base::RefCountedMemory> bytes() const { return bytes_; } - - String toBase64() const; - - static Binary fromBase64(const String& base64, bool* success); - static Binary fromRefCounted(scoped_refptr<base::RefCountedMemory> memory); - static Binary fromVector(std::vector<uint8_t> data); - static Binary fromString(std::string data); - static Binary fromSpan(const uint8_t* data, size_t size); - - private: - explicit Binary(scoped_refptr<base::RefCountedMemory> bytes); - scoped_refptr<base::RefCountedMemory> bytes_; -}; - -std::unique_ptr<Value> toProtocolValue(const base::Value* value, int depth); -std::unique_ptr<base::Value> toBaseValue(Value* value, int depth); -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -#endif // !defined({{"_".join(config.protocol.namespace)}}_BASE_STRING_ADAPTER_H) diff --git a/tools/inspector_protocol/lib/encoding_cpp.template b/tools/inspector_protocol/lib/encoding_cpp.template deleted file mode 100644 index a0377d12f7dbb1..00000000000000 --- a/tools/inspector_protocol/lib/encoding_cpp.template +++ /dev/null @@ -1,2203 +0,0 @@ -{# This template is generated by gen_cbor_templates.py. #} -// Generated by lib/encoding_cpp.template. - -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -{% if config.encoding_lib.header == "" %} - -#include <algorithm> -#include <cassert> -#include <cmath> -#include <cstring> -#include <limits> -#include <stack> - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -// ===== encoding/encoding.cc ===== - -// ============================================================================= -// Status and Error codes -// ============================================================================= - -std::string Status::ToASCIIString() const { - switch (error) { - case Error::OK: - return "OK"; - case Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS: - return ToASCIIString("JSON: unprocessed input remains"); - case Error::JSON_PARSER_STACK_LIMIT_EXCEEDED: - return ToASCIIString("JSON: stack limit exceeded"); - case Error::JSON_PARSER_NO_INPUT: - return ToASCIIString("JSON: no input"); - case Error::JSON_PARSER_INVALID_TOKEN: - return ToASCIIString("JSON: invalid token"); - case Error::JSON_PARSER_INVALID_NUMBER: - return ToASCIIString("JSON: invalid number"); - case Error::JSON_PARSER_INVALID_STRING: - return ToASCIIString("JSON: invalid string"); - case Error::JSON_PARSER_UNEXPECTED_ARRAY_END: - return ToASCIIString("JSON: unexpected array end"); - case Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED: - return ToASCIIString("JSON: comma or array end expected"); - case Error::JSON_PARSER_STRING_LITERAL_EXPECTED: - return ToASCIIString("JSON: string literal expected"); - case Error::JSON_PARSER_COLON_EXPECTED: - return ToASCIIString("JSON: colon expected"); - case Error::JSON_PARSER_UNEXPECTED_MAP_END: - return ToASCIIString("JSON: unexpected map end"); - case Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED: - return ToASCIIString("JSON: comma or map end expected"); - case Error::JSON_PARSER_VALUE_EXPECTED: - return ToASCIIString("JSON: value expected"); - - case Error::CBOR_INVALID_INT32: - return ToASCIIString("CBOR: invalid int32"); - case Error::CBOR_INVALID_DOUBLE: - return ToASCIIString("CBOR: invalid double"); - case Error::CBOR_INVALID_ENVELOPE: - return ToASCIIString("CBOR: invalid envelope"); - case Error::CBOR_INVALID_STRING8: - return ToASCIIString("CBOR: invalid string8"); - case Error::CBOR_INVALID_STRING16: - return ToASCIIString("CBOR: invalid string16"); - case Error::CBOR_INVALID_BINARY: - return ToASCIIString("CBOR: invalid binary"); - case Error::CBOR_UNSUPPORTED_VALUE: - return ToASCIIString("CBOR: unsupported value"); - case Error::CBOR_NO_INPUT: - return ToASCIIString("CBOR: no input"); - case Error::CBOR_INVALID_START_BYTE: - return ToASCIIString("CBOR: invalid start byte"); - case Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE: - return ToASCIIString("CBOR: unexpected eof expected value"); - case Error::CBOR_UNEXPECTED_EOF_IN_ARRAY: - return ToASCIIString("CBOR: unexpected eof in array"); - case Error::CBOR_UNEXPECTED_EOF_IN_MAP: - return ToASCIIString("CBOR: unexpected eof in map"); - case Error::CBOR_INVALID_MAP_KEY: - return ToASCIIString("CBOR: invalid map key"); - case Error::CBOR_STACK_LIMIT_EXCEEDED: - return ToASCIIString("CBOR: stack limit exceeded"); - case Error::CBOR_TRAILING_JUNK: - return ToASCIIString("CBOR: trailing junk"); - case Error::CBOR_MAP_START_EXPECTED: - return ToASCIIString("CBOR: map start expected"); - case Error::CBOR_MAP_STOP_EXPECTED: - return ToASCIIString("CBOR: map stop expected"); - case Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED: - return ToASCIIString("CBOR: envelope size limit exceeded"); - } - // Some compilers can't figure out that we can't get here. - return "INVALID ERROR CODE"; -} - -std::string Status::ToASCIIString(const char* msg) const { - return std::string(msg) + " at position " + std::to_string(pos); -} - -namespace cbor { -namespace { -// Indicates the number of bits the "initial byte" needs to be shifted to the -// right after applying |kMajorTypeMask| to produce the major type in the -// lowermost bits. -static constexpr uint8_t kMajorTypeBitShift = 5u; -// Mask selecting the low-order 5 bits of the "initial byte", which is where -// the additional information is encoded. -static constexpr uint8_t kAdditionalInformationMask = 0x1f; -// Mask selecting the high-order 3 bits of the "initial byte", which indicates -// the major type of the encoded value. -static constexpr uint8_t kMajorTypeMask = 0xe0; -// Indicates the integer is in the following byte. -static constexpr uint8_t kAdditionalInformation1Byte = 24u; -// Indicates the integer is in the next 2 bytes. -static constexpr uint8_t kAdditionalInformation2Bytes = 25u; -// Indicates the integer is in the next 4 bytes. -static constexpr uint8_t kAdditionalInformation4Bytes = 26u; -// Indicates the integer is in the next 8 bytes. -static constexpr uint8_t kAdditionalInformation8Bytes = 27u; - -// Encodes the initial byte, consisting of the |type| in the first 3 bits -// followed by 5 bits of |additional_info|. -constexpr uint8_t EncodeInitialByte(MajorType type, uint8_t additional_info) { - return (static_cast<uint8_t>(type) << kMajorTypeBitShift) | - (additional_info & kAdditionalInformationMask); -} - -// TAG 24 indicates that what follows is a byte string which is -// encoded in CBOR format. We use this as a wrapper for -// maps and arrays, allowing us to skip them, because the -// byte string carries its size (byte length). -// https://tools.ietf.org/html/rfc7049#section-2.4.4.1 -static constexpr uint8_t kInitialByteForEnvelope = - EncodeInitialByte(MajorType::TAG, 24); -// The initial byte for a byte string with at most 2^32 bytes -// of payload. This is used for envelope encoding, even if -// the byte string is shorter. -static constexpr uint8_t kInitialByteFor32BitLengthByteString = - EncodeInitialByte(MajorType::BYTE_STRING, 26); - -// See RFC 7049 Section 2.2.1, indefinite length arrays / maps have additional -// info = 31. -static constexpr uint8_t kInitialByteIndefiniteLengthArray = - EncodeInitialByte(MajorType::ARRAY, 31); -static constexpr uint8_t kInitialByteIndefiniteLengthMap = - EncodeInitialByte(MajorType::MAP, 31); -// See RFC 7049 Section 2.3, Table 1; this is used for finishing indefinite -// length maps / arrays. -static constexpr uint8_t kStopByte = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 31); - -// See RFC 7049 Section 2.3, Table 2. -static constexpr uint8_t kEncodedTrue = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 21); -static constexpr uint8_t kEncodedFalse = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 20); -static constexpr uint8_t kEncodedNull = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 22); -static constexpr uint8_t kInitialByteForDouble = - EncodeInitialByte(MajorType::SIMPLE_VALUE, 27); - -// See RFC 7049 Table 3 and Section 2.4.4.2. This is used as a prefix for -// arbitrary binary data encoded as BYTE_STRING. -static constexpr uint8_t kExpectedConversionToBase64Tag = - EncodeInitialByte(MajorType::TAG, 22); - -// Writes the bytes for |v| to |out|, starting with the most significant byte. -// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html -template <typename T, class C> -void WriteBytesMostSignificantByteFirst(T v, C* out) { - for (int shift_bytes = sizeof(T) - 1; shift_bytes >= 0; --shift_bytes) - out->push_back(0xff & (v >> (shift_bytes * 8))); -} - -// Extracts sizeof(T) bytes from |in| to extract a value of type T -// (e.g. uint64_t, uint32_t, ...), most significant byte first. -// See also: https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html -template <typename T> -T ReadBytesMostSignificantByteFirst(span<uint8_t> in) { - assert(in.size() >= sizeof(T)); - T result = 0; - for (size_t shift_bytes = 0; shift_bytes < sizeof(T); ++shift_bytes) - result |= T(in[sizeof(T) - 1 - shift_bytes]) << (shift_bytes * 8); - return result; -} -} // namespace - -namespace internals { -// Reads the start of a token with definitive size from |bytes|. -// |type| is the major type as specified in RFC 7049 Section 2.1. -// |value| is the payload (e.g. for MajorType::UNSIGNED) or is the size -// (e.g. for BYTE_STRING). -// If successful, returns the number of bytes read. Otherwise returns 0. -size_t ReadTokenStart(span<uint8_t> bytes, MajorType* type, uint64_t* value) { - if (bytes.empty()) - return 0; - uint8_t initial_byte = bytes[0]; - *type = MajorType((initial_byte & kMajorTypeMask) >> kMajorTypeBitShift); - - uint8_t additional_information = initial_byte & kAdditionalInformationMask; - if (additional_information < 24) { - // Values 0-23 are encoded directly into the additional info of the - // initial byte. - *value = additional_information; - return 1; - } - if (additional_information == kAdditionalInformation1Byte) { - // Values 24-255 are encoded with one initial byte, followed by the value. - if (bytes.size() < 2) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint8_t>(bytes.subspan(1)); - return 2; - } - if (additional_information == kAdditionalInformation2Bytes) { - // Values 256-65535: 1 initial byte + 2 bytes payload. - if (bytes.size() < 1 + sizeof(uint16_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint16_t>(bytes.subspan(1)); - return 3; - } - if (additional_information == kAdditionalInformation4Bytes) { - // 32 bit uint: 1 initial byte + 4 bytes payload. - if (bytes.size() < 1 + sizeof(uint32_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint32_t>(bytes.subspan(1)); - return 5; - } - if (additional_information == kAdditionalInformation8Bytes) { - // 64 bit uint: 1 initial byte + 8 bytes payload. - if (bytes.size() < 1 + sizeof(uint64_t)) - return 0; - *value = ReadBytesMostSignificantByteFirst<uint64_t>(bytes.subspan(1)); - return 9; - } - return 0; -} - -// Writes the start of a token with |type|. The |value| may indicate the size, -// or it may be the payload if the value is an unsigned integer. -template <typename C> -void WriteTokenStartTmpl(MajorType type, uint64_t value, C* encoded) { - if (value < 24) { - // Values 0-23 are encoded directly into the additional info of the - // initial byte. - encoded->push_back(EncodeInitialByte(type, /*additional_info=*/value)); - return; - } - if (value <= std::numeric_limits<uint8_t>::max()) { - // Values 24-255 are encoded with one initial byte, followed by the value. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation1Byte)); - encoded->push_back(value); - return; - } - if (value <= std::numeric_limits<uint16_t>::max()) { - // Values 256-65535: 1 initial byte + 2 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation2Bytes)); - WriteBytesMostSignificantByteFirst<uint16_t>(value, encoded); - return; - } - if (value <= std::numeric_limits<uint32_t>::max()) { - // 32 bit uint: 1 initial byte + 4 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation4Bytes)); - WriteBytesMostSignificantByteFirst<uint32_t>(static_cast<uint32_t>(value), - encoded); - return; - } - // 64 bit uint: 1 initial byte + 8 bytes payload. - encoded->push_back(EncodeInitialByte(type, kAdditionalInformation8Bytes)); - WriteBytesMostSignificantByteFirst<uint64_t>(value, encoded); -} -void WriteTokenStart(MajorType type, - uint64_t value, - std::vector<uint8_t>* encoded) { - WriteTokenStartTmpl(type, value, encoded); -} -void WriteTokenStart(MajorType type, uint64_t value, std::string* encoded) { - WriteTokenStartTmpl(type, value, encoded); -} -} // namespace internals - -// ============================================================================= -// Detecting CBOR content -// ============================================================================= - -uint8_t InitialByteForEnvelope() { - return kInitialByteForEnvelope; -} -uint8_t InitialByteFor32BitLengthByteString() { - return kInitialByteFor32BitLengthByteString; -} -bool IsCBORMessage(span<uint8_t> msg) { - return msg.size() >= 6 && msg[0] == InitialByteForEnvelope() && - msg[1] == InitialByteFor32BitLengthByteString(); -} - -// ============================================================================= -// Encoding invidiual CBOR items -// ============================================================================= - -uint8_t EncodeTrue() { - return kEncodedTrue; -} -uint8_t EncodeFalse() { - return kEncodedFalse; -} -uint8_t EncodeNull() { - return kEncodedNull; -} - -uint8_t EncodeIndefiniteLengthArrayStart() { - return kInitialByteIndefiniteLengthArray; -} - -uint8_t EncodeIndefiniteLengthMapStart() { - return kInitialByteIndefiniteLengthMap; -} - -uint8_t EncodeStop() { - return kStopByte; -} - -template <typename C> -void EncodeInt32Tmpl(int32_t value, C* out) { - if (value >= 0) { - internals::WriteTokenStart(MajorType::UNSIGNED, value, out); - } else { - uint64_t representation = static_cast<uint64_t>(-(value + 1)); - internals::WriteTokenStart(MajorType::NEGATIVE, representation, out); - } -} -void EncodeInt32(int32_t value, std::vector<uint8_t>* out) { - EncodeInt32Tmpl(value, out); -} -void EncodeInt32(int32_t value, std::string* out) { - EncodeInt32Tmpl(value, out); -} - -template <typename C> -void EncodeString16Tmpl(span<uint16_t> in, C* out) { - uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); - internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); - // When emitting UTF16 characters, we always write the least significant byte - // first; this is because it's the native representation for X86. - // TODO(johannes): Implement a more efficient thing here later, e.g. - // casting *iff* the machine has this byte order. - // The wire format for UTF16 chars will probably remain the same - // (least significant byte first) since this way we can have - // golden files, unittests, etc. that port easily and universally. - // See also: - // https://commandcenter.blogspot.com/2012/04/byte-order-fallacy.html - for (const uint16_t two_bytes : in) { - out->push_back(two_bytes); - out->push_back(two_bytes >> 8); - } -} -void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out) { - EncodeString16Tmpl(in, out); -} -void EncodeString16(span<uint16_t> in, std::string* out) { - EncodeString16Tmpl(in, out); -} - -template <typename C> -void EncodeString8Tmpl(span<uint8_t> in, C* out) { - internals::WriteTokenStart(MajorType::STRING, - static_cast<uint64_t>(in.size_bytes()), out); - out->insert(out->end(), in.begin(), in.end()); -} -void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out) { - EncodeString8Tmpl(in, out); -} -void EncodeString8(span<uint8_t> in, std::string* out) { - EncodeString8Tmpl(in, out); -} - -template <typename C> -void EncodeFromLatin1Tmpl(span<uint8_t> latin1, C* out) { - for (size_t ii = 0; ii < latin1.size(); ++ii) { - if (latin1[ii] <= 127) - continue; - // If there's at least one non-ASCII char, convert to UTF8. - std::vector<uint8_t> utf8(latin1.begin(), latin1.begin() + ii); - for (; ii < latin1.size(); ++ii) { - if (latin1[ii] <= 127) { - utf8.push_back(latin1[ii]); - } else { - // 0xC0 means it's a UTF8 sequence with 2 bytes. - utf8.push_back((latin1[ii] >> 6) | 0xc0); - utf8.push_back((latin1[ii] | 0x80) & 0xbf); - } - } - EncodeString8(SpanFrom(utf8), out); - return; - } - EncodeString8(latin1, out); -} -void EncodeFromLatin1(span<uint8_t> latin1, std::vector<uint8_t>* out) { - EncodeFromLatin1Tmpl(latin1, out); -} -void EncodeFromLatin1(span<uint8_t> latin1, std::string* out) { - EncodeFromLatin1Tmpl(latin1, out); -} - -template <typename C> -void EncodeFromUTF16Tmpl(span<uint16_t> utf16, C* out) { - // If there's at least one non-ASCII char, encode as STRING16 (UTF16). - for (uint16_t ch : utf16) { - if (ch <= 127) - continue; - EncodeString16(utf16, out); - return; - } - // It's all US-ASCII, strip out every second byte and encode as UTF8. - internals::WriteTokenStart(MajorType::STRING, - static_cast<uint64_t>(utf16.size()), out); - out->insert(out->end(), utf16.begin(), utf16.end()); -} -void EncodeFromUTF16(span<uint16_t> utf16, std::vector<uint8_t>* out) { - EncodeFromUTF16Tmpl(utf16, out); -} -void EncodeFromUTF16(span<uint16_t> utf16, std::string* out) { - EncodeFromUTF16Tmpl(utf16, out); -} - -template <typename C> -void EncodeBinaryTmpl(span<uint8_t> in, C* out) { - out->push_back(kExpectedConversionToBase64Tag); - uint64_t byte_length = static_cast<uint64_t>(in.size_bytes()); - internals::WriteTokenStart(MajorType::BYTE_STRING, byte_length, out); - out->insert(out->end(), in.begin(), in.end()); -} -void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out) { - EncodeBinaryTmpl(in, out); -} -void EncodeBinary(span<uint8_t> in, std::string* out) { - EncodeBinaryTmpl(in, out); -} - -// A double is encoded with a specific initial byte -// (kInitialByteForDouble) plus the 64 bits of payload for its value. -constexpr size_t kEncodedDoubleSize = 1 + sizeof(uint64_t); - -// An envelope is encoded with a specific initial byte -// (kInitialByteForEnvelope), plus the start byte for a BYTE_STRING with a 32 -// bit wide length, plus a 32 bit length for that string. -constexpr size_t kEncodedEnvelopeHeaderSize = 1 + 1 + sizeof(uint32_t); - -template <typename C> -void EncodeDoubleTmpl(double value, C* out) { - // The additional_info=27 indicates 64 bits for the double follow. - // See RFC 7049 Section 2.3, Table 1. - out->push_back(kInitialByteForDouble); - union { - double from_double; - uint64_t to_uint64; - } reinterpret; - reinterpret.from_double = value; - WriteBytesMostSignificantByteFirst<uint64_t>(reinterpret.to_uint64, out); -} -void EncodeDouble(double value, std::vector<uint8_t>* out) { - EncodeDoubleTmpl(value, out); -} -void EncodeDouble(double value, std::string* out) { - EncodeDoubleTmpl(value, out); -} - -// ============================================================================= -// cbor::EnvelopeEncoder - for wrapping submessages -// ============================================================================= - -template <typename C> -void EncodeStartTmpl(C* out, size_t* byte_size_pos) { - assert(*byte_size_pos == 0); - out->push_back(kInitialByteForEnvelope); - out->push_back(kInitialByteFor32BitLengthByteString); - *byte_size_pos = out->size(); - out->resize(out->size() + sizeof(uint32_t)); -} - -void EnvelopeEncoder::EncodeStart(std::vector<uint8_t>* out) { - EncodeStartTmpl<std::vector<uint8_t>>(out, &byte_size_pos_); -} - -void EnvelopeEncoder::EncodeStart(std::string* out) { - EncodeStartTmpl<std::string>(out, &byte_size_pos_); -} - -template <typename C> -bool EncodeStopTmpl(C* out, size_t* byte_size_pos) { - assert(*byte_size_pos != 0); - // The byte size is the size of the payload, that is, all the - // bytes that were written past the byte size position itself. - uint64_t byte_size = out->size() - (*byte_size_pos + sizeof(uint32_t)); - // We store exactly 4 bytes, so at most INT32MAX, with most significant - // byte first. - if (byte_size > std::numeric_limits<uint32_t>::max()) - return false; - for (int shift_bytes = sizeof(uint32_t) - 1; shift_bytes >= 0; - --shift_bytes) { - (*out)[(*byte_size_pos)++] = 0xff & (byte_size >> (shift_bytes * 8)); - } - return true; -} - -bool EnvelopeEncoder::EncodeStop(std::vector<uint8_t>* out) { - return EncodeStopTmpl(out, &byte_size_pos_); -} - -bool EnvelopeEncoder::EncodeStop(std::string* out) { - return EncodeStopTmpl(out, &byte_size_pos_); -} - -// ============================================================================= -// cbor::NewCBOREncoder - for encoding from a streaming parser -// ============================================================================= - -namespace { -template <typename C> -class CBOREncoder : public StreamingParserHandler { - public: - CBOREncoder(C* out, Status* status) : out_(out), status_(status) { - *status_ = Status(); - } - - void HandleMapBegin() override { - if (!status_->ok()) - return; - envelopes_.emplace_back(); - envelopes_.back().EncodeStart(out_); - out_->push_back(kInitialByteIndefiniteLengthMap); - } - - void HandleMapEnd() override { - if (!status_->ok()) - return; - out_->push_back(kStopByte); - assert(!envelopes_.empty()); - if (!envelopes_.back().EncodeStop(out_)) { - HandleError( - Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); - return; - } - envelopes_.pop_back(); - } - - void HandleArrayBegin() override { - if (!status_->ok()) - return; - envelopes_.emplace_back(); - envelopes_.back().EncodeStart(out_); - out_->push_back(kInitialByteIndefiniteLengthArray); - } - - void HandleArrayEnd() override { - if (!status_->ok()) - return; - out_->push_back(kStopByte); - assert(!envelopes_.empty()); - if (!envelopes_.back().EncodeStop(out_)) { - HandleError( - Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, out_->size())); - return; - } - envelopes_.pop_back(); - } - - void HandleString8(span<uint8_t> chars) override { - if (!status_->ok()) - return; - EncodeString8(chars, out_); - } - - void HandleString16(span<uint16_t> chars) override { - if (!status_->ok()) - return; - EncodeFromUTF16(chars, out_); - } - - void HandleBinary(span<uint8_t> bytes) override { - if (!status_->ok()) - return; - EncodeBinary(bytes, out_); - } - - void HandleDouble(double value) override { - if (!status_->ok()) - return; - EncodeDouble(value, out_); - } - - void HandleInt32(int32_t value) override { - if (!status_->ok()) - return; - EncodeInt32(value, out_); - } - - void HandleBool(bool value) override { - if (!status_->ok()) - return; - // See RFC 7049 Section 2.3, Table 2. - out_->push_back(value ? kEncodedTrue : kEncodedFalse); - } - - void HandleNull() override { - if (!status_->ok()) - return; - // See RFC 7049 Section 2.3, Table 2. - out_->push_back(kEncodedNull); - } - - void HandleError(Status error) override { - if (!status_->ok()) - return; - *status_ = error; - out_->clear(); - } - - private: - C* out_; - std::vector<EnvelopeEncoder> envelopes_; - Status* status_; -}; -} // namespace - -std::unique_ptr<StreamingParserHandler> NewCBOREncoder( - std::vector<uint8_t>* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new CBOREncoder<std::vector<uint8_t>>(out, status)); -} -std::unique_ptr<StreamingParserHandler> NewCBOREncoder(std::string* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new CBOREncoder<std::string>(out, status)); -} - -// ============================================================================= -// cbor::CBORTokenizer - for parsing individual CBOR items -// ============================================================================= - -CBORTokenizer::CBORTokenizer(span<uint8_t> bytes) : bytes_(bytes) { - ReadNextToken(/*enter_envelope=*/false); -} -CBORTokenizer::~CBORTokenizer() {} - -CBORTokenTag CBORTokenizer::TokenTag() const { - return token_tag_; -} - -void CBORTokenizer::Next() { - if (token_tag_ == CBORTokenTag::ERROR_VALUE || - token_tag_ == CBORTokenTag::DONE) - return; - ReadNextToken(/*enter_envelope=*/false); -} - -void CBORTokenizer::EnterEnvelope() { - assert(token_tag_ == CBORTokenTag::ENVELOPE); - ReadNextToken(/*enter_envelope=*/true); -} - -Status CBORTokenizer::Status() const { - return status_; -} - -// The following accessor functions ::GetInt32, ::GetDouble, -// ::GetString8, ::GetString16WireRep, ::GetBinary, ::GetEnvelopeContents -// assume that a particular token was recognized in ::ReadNextToken. -// That's where all the error checking is done. By design, -// the accessors (assuming the token was recognized) never produce -// an error. - -int32_t CBORTokenizer::GetInt32() const { - assert(token_tag_ == CBORTokenTag::INT32); - // The range checks happen in ::ReadNextToken(). - return static_cast<int32_t>( - token_start_type_ == MajorType::UNSIGNED - ? token_start_internal_value_ - : -static_cast<int64_t>(token_start_internal_value_) - 1); -} - -double CBORTokenizer::GetDouble() const { - assert(token_tag_ == CBORTokenTag::DOUBLE); - union { - uint64_t from_uint64; - double to_double; - } reinterpret; - reinterpret.from_uint64 = ReadBytesMostSignificantByteFirst<uint64_t>( - bytes_.subspan(status_.pos + 1)); - return reinterpret.to_double; -} - -span<uint8_t> CBORTokenizer::GetString8() const { - assert(token_tag_ == CBORTokenTag::STRING8); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetString16WireRep() const { - assert(token_tag_ == CBORTokenTag::STRING16); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetBinary() const { - assert(token_tag_ == CBORTokenTag::BINARY); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + (token_byte_length_ - length), length); -} - -span<uint8_t> CBORTokenizer::GetEnvelopeContents() const { - assert(token_tag_ == CBORTokenTag::ENVELOPE); - auto length = static_cast<size_t>(token_start_internal_value_); - return bytes_.subspan(status_.pos + kEncodedEnvelopeHeaderSize, length); -} - -// All error checking happens in ::ReadNextToken, so that the accessors -// can avoid having to carry an error return value. -// -// With respect to checking the encoded lengths of strings, arrays, etc: -// On the wire, CBOR uses 1,2,4, and 8 byte unsigned integers, so -// we initially read them as uint64_t, usually into token_start_internal_value_. -// -// However, since these containers have a representation on the machine, -// we need to do corresponding size computations on the input byte array, -// output span (e.g. the payload for a string), etc., and size_t is -// machine specific (in practice either 32 bit or 64 bit). -// -// Further, we must avoid overflowing size_t. Therefore, we use this -// kMaxValidLength constant to: -// - Reject values that are larger than the architecture specific -// max size_t (differs between 32 bit and 64 bit arch). -// - Reserve at least one bit so that we can check against overflows -// when adding lengths (array / string length / etc.); we do this by -// ensuring that the inputs to an addition are <= kMaxValidLength, -// and then checking whether the sum went past it. -// -// See also -// https://chromium.googlesource.com/chromium/src/+/HEAD/docs/security/integer-semantics.md -static const uint64_t kMaxValidLength = - std::min<uint64_t>(std::numeric_limits<uint64_t>::max() >> 2, - std::numeric_limits<size_t>::max()); - -void CBORTokenizer::ReadNextToken(bool enter_envelope) { - if (enter_envelope) { - status_.pos += kEncodedEnvelopeHeaderSize; - } else { - status_.pos = - status_.pos == Status::npos() ? 0 : status_.pos + token_byte_length_; - } - status_.error = Error::OK; - if (status_.pos >= bytes_.size()) { - token_tag_ = CBORTokenTag::DONE; - return; - } - const size_t remaining_bytes = bytes_.size() - status_.pos; - switch (bytes_[status_.pos]) { - case kStopByte: - SetToken(CBORTokenTag::STOP, 1); - return; - case kInitialByteIndefiniteLengthMap: - SetToken(CBORTokenTag::MAP_START, 1); - return; - case kInitialByteIndefiniteLengthArray: - SetToken(CBORTokenTag::ARRAY_START, 1); - return; - case kEncodedTrue: - SetToken(CBORTokenTag::TRUE_VALUE, 1); - return; - case kEncodedFalse: - SetToken(CBORTokenTag::FALSE_VALUE, 1); - return; - case kEncodedNull: - SetToken(CBORTokenTag::NULL_VALUE, 1); - return; - case kExpectedConversionToBase64Tag: { // BINARY - const size_t bytes_read = internals::ReadTokenStart( - bytes_.subspan(status_.pos + 1), &token_start_type_, - &token_start_internal_value_); - if (!bytes_read || token_start_type_ != MajorType::BYTE_STRING || - token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_BINARY); - return; - } - const uint64_t token_byte_length = token_start_internal_value_ + - /* tag before token start: */ 1 + - /* token start: */ bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_BINARY); - return; - } - SetToken(CBORTokenTag::BINARY, static_cast<size_t>(token_byte_length)); - return; - } - case kInitialByteForDouble: { // DOUBLE - if (kEncodedDoubleSize > remaining_bytes) { - SetError(Error::CBOR_INVALID_DOUBLE); - return; - } - SetToken(CBORTokenTag::DOUBLE, kEncodedDoubleSize); - return; - } - case kInitialByteForEnvelope: { // ENVELOPE - if (kEncodedEnvelopeHeaderSize > remaining_bytes) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - // The envelope must be a byte string with 32 bit length. - if (bytes_[status_.pos + 1] != kInitialByteFor32BitLengthByteString) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - // Read the length of the byte string. - token_start_internal_value_ = ReadBytesMostSignificantByteFirst<uint32_t>( - bytes_.subspan(status_.pos + 2)); - if (token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - uint64_t token_byte_length = - token_start_internal_value_ + kEncodedEnvelopeHeaderSize; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_ENVELOPE); - return; - } - SetToken(CBORTokenTag::ENVELOPE, static_cast<size_t>(token_byte_length)); - return; - } - default: { - const size_t bytes_read = internals::ReadTokenStart( - bytes_.subspan(status_.pos), &token_start_type_, - &token_start_internal_value_); - switch (token_start_type_) { - case MajorType::UNSIGNED: // INT32. - // INT32 is a signed int32 (int32 makes sense for the - // inspector_protocol, it's not a CBOR limitation), so we check - // against the signed max, so that the allowable values are - // 0, 1, 2, ... 2^31 - 1. - if (!bytes_read || - static_cast<int64_t>(std::numeric_limits<int32_t>::max()) < - static_cast<int64_t>(token_start_internal_value_)) { - SetError(Error::CBOR_INVALID_INT32); - return; - } - SetToken(CBORTokenTag::INT32, bytes_read); - return; - case MajorType::NEGATIVE: { // INT32. - // INT32 is a signed int32 (int32 makes sense for the - // inspector_protocol, it's not a CBOR limitation); in CBOR, the - // negative values for INT32 are represented as NEGATIVE, that is, -1 - // INT32 is represented as 1 << 5 | 0 (major type 1, additional info - // value 0). - // The represented allowed values range is -1 to -2^31. - // They are mapped into the encoded range of 0 to 2^31-1. - // We check the payload in token_start_internal_value_ against - // that range (2^31-1 is also known as - // std::numeric_limits<int32_t>::max()). - if (!bytes_read || - static_cast<int64_t>(token_start_internal_value_) > - static_cast<int64_t>(std::numeric_limits<int32_t>::max())) { - SetError(Error::CBOR_INVALID_INT32); - return; - } - SetToken(CBORTokenTag::INT32, bytes_read); - return; - } - case MajorType::STRING: { // STRING8. - if (!bytes_read || token_start_internal_value_ > kMaxValidLength) { - SetError(Error::CBOR_INVALID_STRING8); - return; - } - uint64_t token_byte_length = token_start_internal_value_ + bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_STRING8); - return; - } - SetToken(CBORTokenTag::STRING8, - static_cast<size_t>(token_byte_length)); - return; - } - case MajorType::BYTE_STRING: { // STRING16. - // Length must be divisible by 2 since UTF16 is 2 bytes per - // character, hence the &1 check. - if (!bytes_read || token_start_internal_value_ > kMaxValidLength || - token_start_internal_value_ & 1) { - SetError(Error::CBOR_INVALID_STRING16); - return; - } - uint64_t token_byte_length = token_start_internal_value_ + bytes_read; - if (token_byte_length > remaining_bytes) { - SetError(Error::CBOR_INVALID_STRING16); - return; - } - SetToken(CBORTokenTag::STRING16, - static_cast<size_t>(token_byte_length)); - return; - } - case MajorType::ARRAY: - case MajorType::MAP: - case MajorType::TAG: - case MajorType::SIMPLE_VALUE: - SetError(Error::CBOR_UNSUPPORTED_VALUE); - return; - } - } - } -} - -void CBORTokenizer::SetToken(CBORTokenTag token_tag, size_t token_byte_length) { - token_tag_ = token_tag; - token_byte_length_ = token_byte_length; -} - -void CBORTokenizer::SetError(Error error) { - token_tag_ = CBORTokenTag::ERROR_VALUE; - status_.error = error; -} - -// ============================================================================= -// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages -// ============================================================================= - -namespace { -// When parsing CBOR, we limit recursion depth for objects and arrays -// to this constant. -static constexpr int kStackLimit = 300; - -// Below are three parsing routines for CBOR, which cover enough -// to roundtrip JSON messages. -bool ParseMap(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); -bool ParseArray(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); -bool ParseValue(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out); - -void ParseUTF16String(CBORTokenizer* tokenizer, StreamingParserHandler* out) { - std::vector<uint16_t> value; - span<uint8_t> rep = tokenizer->GetString16WireRep(); - for (size_t ii = 0; ii < rep.size(); ii += 2) - value.push_back((rep[ii + 1] << 8) | rep[ii]); - out->HandleString16(span<uint16_t>(value.data(), value.size())); - tokenizer->Next(); -} - -bool ParseUTF8String(CBORTokenizer* tokenizer, StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::STRING8); - out->HandleString8(tokenizer->GetString8()); - tokenizer->Next(); - return true; -} - -bool ParseValue(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - if (stack_depth > kStackLimit) { - out->HandleError( - Status{Error::CBOR_STACK_LIMIT_EXCEEDED, tokenizer->Status().pos}); - return false; - } - // Skip past the envelope to get to what's inside. - if (tokenizer->TokenTag() == CBORTokenTag::ENVELOPE) - tokenizer->EnterEnvelope(); - switch (tokenizer->TokenTag()) { - case CBORTokenTag::ERROR_VALUE: - out->HandleError(tokenizer->Status()); - return false; - case CBORTokenTag::DONE: - out->HandleError(Status{Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE, - tokenizer->Status().pos}); - return false; - case CBORTokenTag::TRUE_VALUE: - out->HandleBool(true); - tokenizer->Next(); - return true; - case CBORTokenTag::FALSE_VALUE: - out->HandleBool(false); - tokenizer->Next(); - return true; - case CBORTokenTag::NULL_VALUE: - out->HandleNull(); - tokenizer->Next(); - return true; - case CBORTokenTag::INT32: - out->HandleInt32(tokenizer->GetInt32()); - tokenizer->Next(); - return true; - case CBORTokenTag::DOUBLE: - out->HandleDouble(tokenizer->GetDouble()); - tokenizer->Next(); - return true; - case CBORTokenTag::STRING8: - return ParseUTF8String(tokenizer, out); - case CBORTokenTag::STRING16: - ParseUTF16String(tokenizer, out); - return true; - case CBORTokenTag::BINARY: { - out->HandleBinary(tokenizer->GetBinary()); - tokenizer->Next(); - return true; - } - case CBORTokenTag::MAP_START: - return ParseMap(stack_depth + 1, tokenizer, out); - case CBORTokenTag::ARRAY_START: - return ParseArray(stack_depth + 1, tokenizer, out); - default: - out->HandleError( - Status{Error::CBOR_UNSUPPORTED_VALUE, tokenizer->Status().pos}); - return false; - } -} - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -bool ParseArray(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::ARRAY_START); - tokenizer->Next(); - out->HandleArrayBegin(); - while (tokenizer->TokenTag() != CBORTokenTag::STOP) { - if (tokenizer->TokenTag() == CBORTokenTag::DONE) { - out->HandleError( - Status{Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, tokenizer->Status().pos}); - return false; - } - if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer->Status()); - return false; - } - // Parse value. - if (!ParseValue(stack_depth, tokenizer, out)) - return false; - } - out->HandleArrayEnd(); - tokenizer->Next(); - return true; -} - -// |bytes| must start with the indefinite length array byte, so basically, -// ParseArray may only be called after an indefinite length array has been -// detected. -bool ParseMap(int32_t stack_depth, - CBORTokenizer* tokenizer, - StreamingParserHandler* out) { - assert(tokenizer->TokenTag() == CBORTokenTag::MAP_START); - out->HandleMapBegin(); - tokenizer->Next(); - while (tokenizer->TokenTag() != CBORTokenTag::STOP) { - if (tokenizer->TokenTag() == CBORTokenTag::DONE) { - out->HandleError( - Status{Error::CBOR_UNEXPECTED_EOF_IN_MAP, tokenizer->Status().pos}); - return false; - } - if (tokenizer->TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer->Status()); - return false; - } - // Parse key. - if (tokenizer->TokenTag() == CBORTokenTag::STRING8) { - if (!ParseUTF8String(tokenizer, out)) - return false; - } else if (tokenizer->TokenTag() == CBORTokenTag::STRING16) { - ParseUTF16String(tokenizer, out); - } else { - out->HandleError( - Status{Error::CBOR_INVALID_MAP_KEY, tokenizer->Status().pos}); - return false; - } - // Parse value. - if (!ParseValue(stack_depth, tokenizer, out)) - return false; - } - out->HandleMapEnd(); - tokenizer->Next(); - return true; -} -} // namespace - -void ParseCBOR(span<uint8_t> bytes, StreamingParserHandler* out) { - if (bytes.empty()) { - out->HandleError(Status{Error::CBOR_NO_INPUT, 0}); - return; - } - if (bytes[0] != kInitialByteForEnvelope) { - out->HandleError(Status{Error::CBOR_INVALID_START_BYTE, 0}); - return; - } - CBORTokenizer tokenizer(bytes); - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer.Status()); - return; - } - // We checked for the envelope start byte above, so the tokenizer - // must agree here, since it's not an error. - assert(tokenizer.TokenTag() == CBORTokenTag::ENVELOPE); - tokenizer.EnterEnvelope(); - if (tokenizer.TokenTag() != CBORTokenTag::MAP_START) { - out->HandleError( - Status{Error::CBOR_MAP_START_EXPECTED, tokenizer.Status().pos}); - return; - } - if (!ParseMap(/*stack_depth=*/1, &tokenizer, out)) - return; - if (tokenizer.TokenTag() == CBORTokenTag::DONE) - return; - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) { - out->HandleError(tokenizer.Status()); - return; - } - out->HandleError(Status{Error::CBOR_TRAILING_JUNK, tokenizer.Status().pos}); -} - -// ============================================================================= -// cbor::AppendString8EntryToMap - for limited in-place editing of messages -// ============================================================================= - -template <typename C> -Status AppendString8EntryToCBORMapTmpl(span<uint8_t> string8_key, - span<uint8_t> string8_value, - C* cbor) { - // Careful below: Don't compare (*cbor)[idx] with a uint8_t, since - // it could be a char (signed!). Instead, use bytes. - span<uint8_t> bytes(reinterpret_cast<const uint8_t*>(cbor->data()), - cbor->size()); - CBORTokenizer tokenizer(bytes); - if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE) - return tokenizer.Status(); - if (tokenizer.TokenTag() != CBORTokenTag::ENVELOPE) - return Status(Error::CBOR_INVALID_ENVELOPE, 0); - size_t envelope_size = tokenizer.GetEnvelopeContents().size(); - size_t old_size = cbor->size(); - if (old_size != envelope_size + kEncodedEnvelopeHeaderSize) - return Status(Error::CBOR_INVALID_ENVELOPE, 0); - if (envelope_size == 0 || - (tokenizer.GetEnvelopeContents()[0] != EncodeIndefiniteLengthMapStart())) - return Status(Error::CBOR_MAP_START_EXPECTED, kEncodedEnvelopeHeaderSize); - if (bytes[bytes.size() - 1] != EncodeStop()) - return Status(Error::CBOR_MAP_STOP_EXPECTED, cbor->size() - 1); - cbor->pop_back(); - EncodeString8(string8_key, cbor); - EncodeString8(string8_value, cbor); - cbor->push_back(EncodeStop()); - size_t new_envelope_size = envelope_size + (cbor->size() - old_size); - if (new_envelope_size > std::numeric_limits<uint32_t>::max()) - return Status(Error::CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED, 0); - size_t size_pos = cbor->size() - new_envelope_size - sizeof(uint32_t); - uint8_t* out = reinterpret_cast<uint8_t*>(&cbor->at(size_pos)); - *(out++) = (new_envelope_size >> 24) & 0xff; - *(out++) = (new_envelope_size >> 16) & 0xff; - *(out++) = (new_envelope_size >> 8) & 0xff; - *(out) = new_envelope_size & 0xff; - return Status(); -} -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::vector<uint8_t>* cbor) { - return AppendString8EntryToCBORMapTmpl(string8_key, string8_value, cbor); -} -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::string* cbor) { - return AppendString8EntryToCBORMapTmpl(string8_key, string8_value, cbor); -} -} // namespace cbor - -namespace json { - -// ============================================================================= -// json::NewJSONEncoder - for encoding streaming parser events as JSON -// ============================================================================= - -namespace { -// Prints |value| to |out| with 4 hex digits, most significant chunk first. -template <typename C> -void PrintHex(uint16_t value, C* out) { - for (int ii = 3; ii >= 0; --ii) { - int four_bits = 0xf & (value >> (4 * ii)); - out->push_back(four_bits + ((four_bits <= 9) ? '0' : ('a' - 10))); - } -} - -// In the writer below, we maintain a stack of State instances. -// It is just enough to emit the appropriate delimiters and brackets -// in JSON. -enum class Container { - // Used for the top-level, initial state. - NONE, - // Inside a JSON object. - MAP, - // Inside a JSON array. - ARRAY -}; -class State { - public: - explicit State(Container container) : container_(container) {} - void StartElement(std::vector<uint8_t>* out) { StartElementTmpl(out); } - void StartElement(std::string* out) { StartElementTmpl(out); } - Container container() const { return container_; } - - private: - template <typename C> - void StartElementTmpl(C* out) { - assert(container_ != Container::NONE || size_ == 0); - if (size_ != 0) { - char delim = (!(size_ & 1) || container_ == Container::ARRAY) ? ',' : ':'; - out->push_back(delim); - } - ++size_; - } - - Container container_ = Container::NONE; - int size_ = 0; -}; - -constexpr char kBase64Table[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz0123456789+/"; - -template <typename C> -void Base64Encode(const span<uint8_t>& in, C* out) { - // The following three cases are based on the tables in the example - // section in https://en.wikipedia.org/wiki/Base64. We process three - // input bytes at a time, emitting 4 output bytes at a time. - size_t ii = 0; - - // While possible, process three input bytes. - for (; ii + 3 <= in.size(); ii += 3) { - uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8) | in[ii + 2]; - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); - out->push_back(kBase64Table[twentyfour_bits & 0x3f]); - } - if (ii + 2 <= in.size()) { // Process two input bytes. - uint32_t twentyfour_bits = (in[ii] << 16) | (in[ii + 1] << 8); - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back(kBase64Table[(twentyfour_bits >> 6) & 0x3f]); - out->push_back('='); // Emit padding. - return; - } - if (ii + 1 <= in.size()) { // Process a single input byte. - uint32_t twentyfour_bits = (in[ii] << 16); - out->push_back(kBase64Table[(twentyfour_bits >> 18)]); - out->push_back(kBase64Table[(twentyfour_bits >> 12) & 0x3f]); - out->push_back('='); // Emit padding. - out->push_back('='); // Emit padding. - } -} - -// Implements a handler for JSON parser events to emit a JSON string. -template <typename C> -class JSONEncoder : public StreamingParserHandler { - public: - JSONEncoder(const Platform* platform, C* out, Status* status) - : platform_(platform), out_(out), status_(status) { - *status_ = Status(); - state_.emplace(Container::NONE); - } - - void HandleMapBegin() override { - if (!status_->ok()) - return; - assert(!state_.empty()); - state_.top().StartElement(out_); - state_.emplace(Container::MAP); - Emit('{'); - } - - void HandleMapEnd() override { - if (!status_->ok()) - return; - assert(state_.size() >= 2 && state_.top().container() == Container::MAP); - state_.pop(); - Emit('}'); - } - - void HandleArrayBegin() override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - state_.emplace(Container::ARRAY); - Emit('['); - } - - void HandleArrayEnd() override { - if (!status_->ok()) - return; - assert(state_.size() >= 2 && state_.top().container() == Container::ARRAY); - state_.pop(); - Emit(']'); - } - - void HandleString16(span<uint16_t> chars) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - for (const uint16_t ch : chars) { - if (ch == '"') { - Emit("\\\""); - } else if (ch == '\\') { - Emit("\\\\"); - } else if (ch == '\b') { - Emit("\\b"); - } else if (ch == '\f') { - Emit("\\f"); - } else if (ch == '\n') { - Emit("\\n"); - } else if (ch == '\r') { - Emit("\\r"); - } else if (ch == '\t') { - Emit("\\t"); - } else if (ch >= 32 && ch <= 126) { - Emit(ch); - } else { - Emit("\\u"); - PrintHex(ch, out_); - } - } - Emit('"'); - } - - void HandleString8(span<uint8_t> chars) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - for (size_t ii = 0; ii < chars.size(); ++ii) { - uint8_t c = chars[ii]; - if (c == '"') { - Emit("\\\""); - } else if (c == '\\') { - Emit("\\\\"); - } else if (c == '\b') { - Emit("\\b"); - } else if (c == '\f') { - Emit("\\f"); - } else if (c == '\n') { - Emit("\\n"); - } else if (c == '\r') { - Emit("\\r"); - } else if (c == '\t') { - Emit("\\t"); - } else if (c >= 32 && c <= 126) { - Emit(c); - } else if (c < 32) { - Emit("\\u"); - PrintHex(static_cast<uint16_t>(c), out_); - } else { - // Inspect the leading byte to figure out how long the utf8 - // byte sequence is; while doing this initialize |codepoint| - // with the first few bits. - // See table in: https://en.wikipedia.org/wiki/UTF-8 - // byte one is 110x xxxx -> 2 byte utf8 sequence - // byte one is 1110 xxxx -> 3 byte utf8 sequence - // byte one is 1111 0xxx -> 4 byte utf8 sequence - uint32_t codepoint; - int num_bytes_left; - if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence - num_bytes_left = 1; - codepoint = c & 0x1f; - } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence - num_bytes_left = 2; - codepoint = c & 0x0f; - } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence - codepoint = c & 0x07; - num_bytes_left = 3; - } else { - continue; // invalid leading byte - } - - // If we have enough bytes in our input, decode the remaining ones - // belonging to this Unicode character into |codepoint|. - if (ii + num_bytes_left > chars.size()) - continue; - while (num_bytes_left > 0) { - c = chars[++ii]; - --num_bytes_left; - // Check the next byte is a continuation byte, that is 10xx xxxx. - if ((c & 0xc0) != 0x80) - continue; - codepoint = (codepoint << 6) | (c & 0x3f); - } - - // Disallow overlong encodings for ascii characters, as these - // would include " and other characters significant to JSON - // string termination / control. - if (codepoint <= 0x7f) - continue; - // Invalid in UTF8, and can't be represented in UTF16 anyway. - if (codepoint > 0x10ffff) - continue; - - // So, now we transcode to UTF16, - // using the math described at https://en.wikipedia.org/wiki/UTF-16, - // for either one or two 16 bit characters. - if (codepoint < 0xffff) { - Emit("\\u"); - PrintHex(static_cast<uint16_t>(codepoint), out_); - continue; - } - codepoint -= 0x10000; - // high surrogate - Emit("\\u"); - PrintHex(static_cast<uint16_t>((codepoint >> 10) + 0xd800), out_); - // low surrogate - Emit("\\u"); - PrintHex(static_cast<uint16_t>((codepoint & 0x3ff) + 0xdc00), out_); - } - } - Emit('"'); - } - - void HandleBinary(span<uint8_t> bytes) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit('"'); - Base64Encode(bytes, out_); - Emit('"'); - } - - void HandleDouble(double value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - // JSON cannot represent NaN or Infinity. So, for compatibility, - // we behave like the JSON object in web browsers: emit 'null'. - if (!std::isfinite(value)) { - Emit("null"); - return; - } - std::unique_ptr<char[]> str_value = platform_->DToStr(value); - - // DToStr may fail to emit a 0 before the decimal dot. E.g. this is - // the case in base::NumberToString in Chromium (which is based on - // dmg_fp). So, much like - // https://cs.chromium.org/chromium/src/base/json/json_writer.cc - // we probe for this and emit the leading 0 anyway if necessary. - const char* chars = str_value.get(); - if (chars[0] == '.') { - Emit('0'); - } else if (chars[0] == '-' && chars[1] == '.') { - Emit("-0"); - ++chars; - } - Emit(chars); - } - - void HandleInt32(int32_t value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit(std::to_string(value)); - } - - void HandleBool(bool value) override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit(value ? "true" : "false"); - } - - void HandleNull() override { - if (!status_->ok()) - return; - state_.top().StartElement(out_); - Emit("null"); - } - - void HandleError(Status error) override { - assert(!error.ok()); - *status_ = error; - out_->clear(); - } - - private: - void Emit(char c) { out_->push_back(c); } - void Emit(const char* str) { - out_->insert(out_->end(), str, str + strlen(str)); - } - void Emit(const std::string& str) { - out_->insert(out_->end(), str.begin(), str.end()); - } - - const Platform* platform_; - C* out_; - Status* status_; - std::stack<State> state_; -}; -} // namespace - -std::unique_ptr<StreamingParserHandler> NewJSONEncoder( - const Platform* platform, - std::vector<uint8_t>* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new JSONEncoder<std::vector<uint8_t>>(platform, out, status)); -} -std::unique_ptr<StreamingParserHandler> NewJSONEncoder(const Platform* platform, - std::string* out, - Status* status) { - return std::unique_ptr<StreamingParserHandler>( - new JSONEncoder<std::string>(platform, out, status)); -} - -// ============================================================================= -// json::ParseJSON - for receiving streaming parser events for JSON. -// ============================================================================= - -namespace { -const int kStackLimit = 300; - -enum Token { - ObjectBegin, - ObjectEnd, - ArrayBegin, - ArrayEnd, - StringLiteral, - Number, - BoolTrue, - BoolFalse, - NullToken, - ListSeparator, - ObjectPairSeparator, - InvalidToken, - NoInput -}; - -const char* const kNullString = "null"; -const char* const kTrueString = "true"; -const char* const kFalseString = "false"; - -template <typename Char> -class JsonParser { - public: - JsonParser(const Platform* platform, StreamingParserHandler* handler) - : platform_(platform), handler_(handler) {} - - void Parse(const Char* start, size_t length) { - start_pos_ = start; - const Char* end = start + length; - const Char* tokenEnd = nullptr; - ParseValue(start, end, &tokenEnd, 0); - if (error_) - return; - if (tokenEnd != end) { - HandleError(Error::JSON_PARSER_UNPROCESSED_INPUT_REMAINS, tokenEnd); - } - } - - private: - bool CharsToDouble(const uint16_t* chars, size_t length, double* result) { - std::string buffer; - buffer.reserve(length + 1); - for (size_t ii = 0; ii < length; ++ii) { - bool is_ascii = !(chars[ii] & ~0x7F); - if (!is_ascii) - return false; - buffer.push_back(static_cast<char>(chars[ii])); - } - return platform_->StrToD(buffer.c_str(), result); - } - - bool CharsToDouble(const uint8_t* chars, size_t length, double* result) { - std::string buffer(reinterpret_cast<const char*>(chars), length); - return platform_->StrToD(buffer.c_str(), result); - } - - static bool ParseConstToken(const Char* start, - const Char* end, - const Char** token_end, - const char* token) { - // |token| is \0 terminated, it's one of the constants at top of the file. - while (start < end && *token != '\0' && *start++ == *token++) { - } - if (*token != '\0') - return false; - *token_end = start; - return true; - } - - static bool ReadInt(const Char* start, - const Char* end, - const Char** token_end, - bool allow_leading_zeros) { - if (start == end) - return false; - bool has_leading_zero = '0' == *start; - int length = 0; - while (start < end && '0' <= *start && *start <= '9') { - ++start; - ++length; - } - if (!length) - return false; - if (!allow_leading_zeros && length > 1 && has_leading_zero) - return false; - *token_end = start; - return true; - } - - static bool ParseNumberToken(const Char* start, - const Char* end, - const Char** token_end) { - // We just grab the number here. We validate the size in DecodeNumber. - // According to RFC4627, a valid number is: [minus] int [frac] [exp] - if (start == end) - return false; - Char c = *start; - if ('-' == c) - ++start; - - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/false)) - return false; - if (start == end) { - *token_end = start; - return true; - } - - // Optional fraction part - c = *start; - if ('.' == c) { - ++start; - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) - return false; - if (start == end) { - *token_end = start; - return true; - } - c = *start; - } - - // Optional exponent part - if ('e' == c || 'E' == c) { - ++start; - if (start == end) - return false; - c = *start; - if ('-' == c || '+' == c) { - ++start; - if (start == end) - return false; - } - if (!ReadInt(start, end, &start, /*allow_leading_zeros=*/true)) - return false; - } - - *token_end = start; - return true; - } - - static bool ReadHexDigits(const Char* start, - const Char* end, - const Char** token_end, - int digits) { - if (end - start < digits) - return false; - for (int i = 0; i < digits; ++i) { - Char c = *start++; - if (!(('0' <= c && c <= '9') || ('a' <= c && c <= 'f') || - ('A' <= c && c <= 'F'))) - return false; - } - *token_end = start; - return true; - } - - static bool ParseStringToken(const Char* start, - const Char* end, - const Char** token_end) { - while (start < end) { - Char c = *start++; - if ('\\' == c) { - if (start == end) - return false; - c = *start++; - // Make sure the escaped char is valid. - switch (c) { - case 'x': - if (!ReadHexDigits(start, end, &start, 2)) - return false; - break; - case 'u': - if (!ReadHexDigits(start, end, &start, 4)) - return false; - break; - case '\\': - case '/': - case 'b': - case 'f': - case 'n': - case 'r': - case 't': - case 'v': - case '"': - break; - default: - return false; - } - } else if ('"' == c) { - *token_end = start; - return true; - } - } - return false; - } - - static bool SkipComment(const Char* start, - const Char* end, - const Char** comment_end) { - if (start == end) - return false; - - if (*start != '/' || start + 1 >= end) - return false; - ++start; - - if (*start == '/') { - // Single line comment, read to newline. - for (++start; start < end; ++start) { - if (*start == '\n' || *start == '\r') { - *comment_end = start + 1; - return true; - } - } - *comment_end = end; - // Comment reaches end-of-input, which is fine. - return true; - } - - if (*start == '*') { - Char previous = '\0'; - // Block comment, read until end marker. - for (++start; start < end; previous = *start++) { - if (previous == '*' && *start == '/') { - *comment_end = start + 1; - return true; - } - } - // Block comment must close before end-of-input. - return false; - } - - return false; - } - - static bool IsSpaceOrNewLine(Char c) { - // \v = vertial tab; \f = form feed page break. - return c == ' ' || c == '\n' || c == '\v' || c == '\f' || c == '\r' || - c == '\t'; - } - - static void SkipWhitespaceAndComments(const Char* start, - const Char* end, - const Char** whitespace_end) { - while (start < end) { - if (IsSpaceOrNewLine(*start)) { - ++start; - } else if (*start == '/') { - const Char* comment_end = nullptr; - if (!SkipComment(start, end, &comment_end)) - break; - start = comment_end; - } else { - break; - } - } - *whitespace_end = start; - } - - static Token ParseToken(const Char* start, - const Char* end, - const Char** tokenStart, - const Char** token_end) { - SkipWhitespaceAndComments(start, end, tokenStart); - start = *tokenStart; - - if (start == end) - return NoInput; - - switch (*start) { - case 'n': - if (ParseConstToken(start, end, token_end, kNullString)) - return NullToken; - break; - case 't': - if (ParseConstToken(start, end, token_end, kTrueString)) - return BoolTrue; - break; - case 'f': - if (ParseConstToken(start, end, token_end, kFalseString)) - return BoolFalse; - break; - case '[': - *token_end = start + 1; - return ArrayBegin; - case ']': - *token_end = start + 1; - return ArrayEnd; - case ',': - *token_end = start + 1; - return ListSeparator; - case '{': - *token_end = start + 1; - return ObjectBegin; - case '}': - *token_end = start + 1; - return ObjectEnd; - case ':': - *token_end = start + 1; - return ObjectPairSeparator; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - if (ParseNumberToken(start, end, token_end)) - return Number; - break; - case '"': - if (ParseStringToken(start + 1, end, token_end)) - return StringLiteral; - break; - } - return InvalidToken; - } - - static int HexToInt(Char c) { - if ('0' <= c && c <= '9') - return c - '0'; - if ('A' <= c && c <= 'F') - return c - 'A' + 10; - if ('a' <= c && c <= 'f') - return c - 'a' + 10; - assert(false); // Unreachable. - return 0; - } - - static bool DecodeString(const Char* start, - const Char* end, - std::vector<uint16_t>* output) { - if (start == end) - return true; - if (start > end) - return false; - output->reserve(end - start); - while (start < end) { - uint16_t c = *start++; - // If the |Char| we're dealing with is really a byte, then - // we have utf8 here, and we need to check for multibyte characters - // and transcode them to utf16 (either one or two utf16 chars). - if (sizeof(Char) == sizeof(uint8_t) && c > 0x7f) { - // Inspect the leading byte to figure out how long the utf8 - // byte sequence is; while doing this initialize |codepoint| - // with the first few bits. - // See table in: https://en.wikipedia.org/wiki/UTF-8 - // byte one is 110x xxxx -> 2 byte utf8 sequence - // byte one is 1110 xxxx -> 3 byte utf8 sequence - // byte one is 1111 0xxx -> 4 byte utf8 sequence - uint32_t codepoint; - int num_bytes_left; - if ((c & 0xe0) == 0xc0) { // 2 byte utf8 sequence - num_bytes_left = 1; - codepoint = c & 0x1f; - } else if ((c & 0xf0) == 0xe0) { // 3 byte utf8 sequence - num_bytes_left = 2; - codepoint = c & 0x0f; - } else if ((c & 0xf8) == 0xf0) { // 4 byte utf8 sequence - codepoint = c & 0x07; - num_bytes_left = 3; - } else { - return false; // invalid leading byte - } - - // If we have enough bytes in our inpput, decode the remaining ones - // belonging to this Unicode character into |codepoint|. - if (start + num_bytes_left > end) - return false; - while (num_bytes_left > 0) { - c = *start++; - --num_bytes_left; - // Check the next byte is a continuation byte, that is 10xx xxxx. - if ((c & 0xc0) != 0x80) - return false; - codepoint = (codepoint << 6) | (c & 0x3f); - } - - // Disallow overlong encodings for ascii characters, as these - // would include " and other characters significant to JSON - // string termination / control. - if (codepoint <= 0x7f) - return false; - // Invalid in UTF8, and can't be represented in UTF16 anyway. - if (codepoint > 0x10ffff) - return false; - - // So, now we transcode to UTF16, - // using the math described at https://en.wikipedia.org/wiki/UTF-16, - // for either one or two 16 bit characters. - if (codepoint < 0xffff) { - output->push_back(codepoint); - continue; - } - codepoint -= 0x10000; - output->push_back((codepoint >> 10) + 0xd800); // high surrogate - output->push_back((codepoint & 0x3ff) + 0xdc00); // low surrogate - continue; - } - if ('\\' != c) { - output->push_back(c); - continue; - } - if (start == end) - return false; - c = *start++; - - if (c == 'x') { - // \x is not supported. - return false; - } - - switch (c) { - case '"': - case '/': - case '\\': - break; - case 'b': - c = '\b'; - break; - case 'f': - c = '\f'; - break; - case 'n': - c = '\n'; - break; - case 'r': - c = '\r'; - break; - case 't': - c = '\t'; - break; - case 'v': - c = '\v'; - break; - case 'u': - c = (HexToInt(*start) << 12) + (HexToInt(*(start + 1)) << 8) + - (HexToInt(*(start + 2)) << 4) + HexToInt(*(start + 3)); - start += 4; - break; - default: - return false; - } - output->push_back(c); - } - return true; - } - - void ParseValue(const Char* start, - const Char* end, - const Char** value_token_end, - int depth) { - if (depth > kStackLimit) { - HandleError(Error::JSON_PARSER_STACK_LIMIT_EXCEEDED, start); - return; - } - const Char* token_start = nullptr; - const Char* token_end = nullptr; - Token token = ParseToken(start, end, &token_start, &token_end); - switch (token) { - case NoInput: - HandleError(Error::JSON_PARSER_NO_INPUT, token_start); - return; - case InvalidToken: - HandleError(Error::JSON_PARSER_INVALID_TOKEN, token_start); - return; - case NullToken: - handler_->HandleNull(); - break; - case BoolTrue: - handler_->HandleBool(true); - break; - case BoolFalse: - handler_->HandleBool(false); - break; - case Number: { - double value; - if (!CharsToDouble(token_start, token_end - token_start, &value)) { - HandleError(Error::JSON_PARSER_INVALID_NUMBER, token_start); - return; - } - if (value >= std::numeric_limits<int32_t>::min() && - value <= std::numeric_limits<int32_t>::max() && - static_cast<int32_t>(value) == value) - handler_->HandleInt32(static_cast<int32_t>(value)); - else - handler_->HandleDouble(value); - break; - } - case StringLiteral: { - std::vector<uint16_t> value; - bool ok = DecodeString(token_start + 1, token_end - 1, &value); - if (!ok) { - HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); - return; - } - handler_->HandleString16(span<uint16_t>(value.data(), value.size())); - break; - } - case ArrayBegin: { - handler_->HandleArrayBegin(); - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - while (token != ArrayEnd) { - ParseValue(start, end, &token_end, depth + 1); - if (error_) - return; - - // After a list value, we expect a comma or the end of the list. - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ListSeparator) { - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ArrayEnd) { - HandleError(Error::JSON_PARSER_UNEXPECTED_ARRAY_END, token_start); - return; - } - } else if (token != ArrayEnd) { - // Unexpected value after list value. Bail out. - HandleError(Error::JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED, - token_start); - return; - } - } - handler_->HandleArrayEnd(); - break; - } - case ObjectBegin: { - handler_->HandleMapBegin(); - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - while (token != ObjectEnd) { - if (token != StringLiteral) { - HandleError(Error::JSON_PARSER_STRING_LITERAL_EXPECTED, - token_start); - return; - } - std::vector<uint16_t> key; - if (!DecodeString(token_start + 1, token_end - 1, &key)) { - HandleError(Error::JSON_PARSER_INVALID_STRING, token_start); - return; - } - handler_->HandleString16(span<uint16_t>(key.data(), key.size())); - start = token_end; - - token = ParseToken(start, end, &token_start, &token_end); - if (token != ObjectPairSeparator) { - HandleError(Error::JSON_PARSER_COLON_EXPECTED, token_start); - return; - } - start = token_end; - - ParseValue(start, end, &token_end, depth + 1); - if (error_) - return; - start = token_end; - - // After a key/value pair, we expect a comma or the end of the - // object. - token = ParseToken(start, end, &token_start, &token_end); - if (token == ListSeparator) { - start = token_end; - token = ParseToken(start, end, &token_start, &token_end); - if (token == ObjectEnd) { - HandleError(Error::JSON_PARSER_UNEXPECTED_MAP_END, token_start); - return; - } - } else if (token != ObjectEnd) { - // Unexpected value after last object value. Bail out. - HandleError(Error::JSON_PARSER_COMMA_OR_MAP_END_EXPECTED, - token_start); - return; - } - } - handler_->HandleMapEnd(); - break; - } - - default: - // We got a token that's not a value. - HandleError(Error::JSON_PARSER_VALUE_EXPECTED, token_start); - return; - } - - SkipWhitespaceAndComments(token_end, end, value_token_end); - } - - void HandleError(Error error, const Char* pos) { - assert(error != Error::OK); - if (!error_) { - handler_->HandleError( - Status{error, static_cast<size_t>(pos - start_pos_)}); - error_ = true; - } - } - - const Char* start_pos_ = nullptr; - bool error_ = false; - const Platform* platform_; - StreamingParserHandler* handler_; -}; -} // namespace - -void ParseJSON(const Platform& platform, - span<uint8_t> chars, - StreamingParserHandler* handler) { - JsonParser<uint8_t> parser(&platform, handler); - parser.Parse(chars.data(), chars.size()); -} - -void ParseJSON(const Platform& platform, - span<uint16_t> chars, - StreamingParserHandler* handler) { - JsonParser<uint16_t> parser(&platform, handler); - parser.Parse(chars.data(), chars.size()); -} - -// ============================================================================= -// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding -// ============================================================================= -template <typename C> -Status ConvertCBORToJSONTmpl(const Platform& platform, - span<uint8_t> cbor, - C* json) { - Status status; - std::unique_ptr<StreamingParserHandler> json_writer = - NewJSONEncoder(&platform, json, &status); - cbor::ParseCBOR(cbor, json_writer.get()); - return status; -} - -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::vector<uint8_t>* json) { - return ConvertCBORToJSONTmpl(platform, cbor, json); -} -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::string* json) { - return ConvertCBORToJSONTmpl(platform, cbor, json); -} - -template <typename T, typename C> -Status ConvertJSONToCBORTmpl(const Platform& platform, span<T> json, C* cbor) { - Status status; - std::unique_ptr<StreamingParserHandler> encoder = - cbor::NewCBOREncoder(cbor, &status); - ParseJSON(platform, json, encoder.get()); - return status; -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::string* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::string* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::vector<uint8_t>* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::vector<uint8_t>* cbor) { - return ConvertJSONToCBORTmpl(platform, json, cbor); -} -} // namespace json - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} - -{% endif %} diff --git a/tools/inspector_protocol/lib/encoding_h.template b/tools/inspector_protocol/lib/encoding_h.template deleted file mode 100644 index 2601192e160543..00000000000000 --- a/tools/inspector_protocol/lib/encoding_h.template +++ /dev/null @@ -1,552 +0,0 @@ -{# This template is generated by gen_cbor_templates.py. #} -// Generated by lib/encoding_h.template. - -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -{% if config.encoding_lib.header == "" %} -#ifndef {{"_".join(config.protocol.namespace)}}_encoding_h -#define {{"_".join(config.protocol.namespace)}}_encoding_h - -#include <algorithm> -#include <cstddef> -#include <cstdint> -#include <cstring> -#include <limits> -#include <memory> -#include <string> -#include <vector> - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} - -// ===== encoding/encoding.h ===== - -// This library is designed to be portable. The only allowed dependency -// are the C/C++ standard libraries, up to C++11. We support both 32 bit -// and 64 architectures. -// -// Types used below: -// uint8_t: a byte, e.g. for raw bytes or UTF8 characters -// uint16_t: two bytes, e.g. for UTF16 characters -// For input parameters: -// span<uint8_t>: pointer to bytes and length -// span<uint16_t>: pointer to UTF16 chars and length -// For output parameters: -// std::vector<uint8_t> - Owned segment of bytes / utf8 characters and length. -// std::string - Same, for compatibility, even though char is signed. - -// ============================================================================= -// span - sequence of bytes -// ============================================================================= - -// This template is similar to std::span, which will be included in C++20. -template <typename T> -class span { - public: - using index_type = size_t; - - span() : data_(nullptr), size_(0) {} - span(const T* data, index_type size) : data_(data), size_(size) {} - - const T* data() const { return data_; } - - const T* begin() const { return data_; } - const T* end() const { return data_ + size_; } - - const T& operator[](index_type idx) const { return data_[idx]; } - - span<T> subspan(index_type offset, index_type count) const { - return span(data_ + offset, count); - } - - span<T> subspan(index_type offset) const { - return span(data_ + offset, size_ - offset); - } - - bool empty() const { return size_ == 0; } - - index_type size() const { return size_; } - index_type size_bytes() const { return size_ * sizeof(T); } - - private: - const T* data_; - index_type size_; -}; - -template <typename T> -span<T> SpanFrom(const std::vector<T>& v) { - return span<T>(v.data(), v.size()); -} - -template <size_t N> -span<uint8_t> SpanFrom(const char (&str)[N]) { - return span<uint8_t>(reinterpret_cast<const uint8_t*>(str), N - 1); -} - -inline span<uint8_t> SpanFrom(const char* str) { - return str ? span<uint8_t>(reinterpret_cast<const uint8_t*>(str), strlen(str)) - : span<uint8_t>(); -} - -inline span<uint8_t> SpanFrom(const std::string& v) { - return span<uint8_t>(reinterpret_cast<const uint8_t*>(v.data()), v.size()); -} - -// Less than / equality comparison functions for sorting / searching for byte -// spans. These are similar to absl::string_view's < and == operators. -inline bool SpanLessThan(span<uint8_t> x, span<uint8_t> y) noexcept { - auto min_size = std::min(x.size(), y.size()); - const int r = min_size == 0 ? 0 : memcmp(x.data(), y.data(), min_size); - return (r < 0) || (r == 0 && x.size() < y.size()); -} - -inline bool SpanEquals(span<uint8_t> x, span<uint8_t> y) noexcept { - auto len = x.size(); - if (len != y.size()) - return false; - return x.data() == y.data() || len == 0 || - std::memcmp(x.data(), y.data(), len) == 0; -} - -// ============================================================================= -// Status and Error codes -// ============================================================================= -enum class Error { - OK = 0, - // JSON parsing errors - json_parser.{h,cc}. - JSON_PARSER_UNPROCESSED_INPUT_REMAINS = 0x01, - JSON_PARSER_STACK_LIMIT_EXCEEDED = 0x02, - JSON_PARSER_NO_INPUT = 0x03, - JSON_PARSER_INVALID_TOKEN = 0x04, - JSON_PARSER_INVALID_NUMBER = 0x05, - JSON_PARSER_INVALID_STRING = 0x06, - JSON_PARSER_UNEXPECTED_ARRAY_END = 0x07, - JSON_PARSER_COMMA_OR_ARRAY_END_EXPECTED = 0x08, - JSON_PARSER_STRING_LITERAL_EXPECTED = 0x09, - JSON_PARSER_COLON_EXPECTED = 0x0a, - JSON_PARSER_UNEXPECTED_MAP_END = 0x0b, - JSON_PARSER_COMMA_OR_MAP_END_EXPECTED = 0x0c, - JSON_PARSER_VALUE_EXPECTED = 0x0d, - - CBOR_INVALID_INT32 = 0x0e, - CBOR_INVALID_DOUBLE = 0x0f, - CBOR_INVALID_ENVELOPE = 0x10, - CBOR_INVALID_STRING8 = 0x11, - CBOR_INVALID_STRING16 = 0x12, - CBOR_INVALID_BINARY = 0x13, - CBOR_UNSUPPORTED_VALUE = 0x14, - CBOR_NO_INPUT = 0x15, - CBOR_INVALID_START_BYTE = 0x16, - CBOR_UNEXPECTED_EOF_EXPECTED_VALUE = 0x17, - CBOR_UNEXPECTED_EOF_IN_ARRAY = 0x18, - CBOR_UNEXPECTED_EOF_IN_MAP = 0x19, - CBOR_INVALID_MAP_KEY = 0x1a, - CBOR_STACK_LIMIT_EXCEEDED = 0x1b, - CBOR_TRAILING_JUNK = 0x1c, - CBOR_MAP_START_EXPECTED = 0x1d, - CBOR_MAP_STOP_EXPECTED = 0x1e, - CBOR_ENVELOPE_SIZE_LIMIT_EXCEEDED = 0x1f, -}; - -// A status value with position that can be copied. The default status -// is OK. Usually, error status values should come with a valid position. -struct Status { - static constexpr size_t npos() { return std::numeric_limits<size_t>::max(); } - - bool ok() const { return error == Error::OK; } - - Error error = Error::OK; - size_t pos = npos(); - Status(Error error, size_t pos) : error(error), pos(pos) {} - Status() = default; - - // Returns a 7 bit US-ASCII string, either "OK" or an error message - // that includes the position. - std::string ToASCIIString() const; - - private: - std::string ToASCIIString(const char* msg) const; -}; - -// Handler interface for parser events emitted by a streaming parser. -// See cbor::NewCBOREncoder, cbor::ParseCBOR, json::NewJSONEncoder, -// json::ParseJSON. -class StreamingParserHandler { - public: - virtual ~StreamingParserHandler() = default; - virtual void HandleMapBegin() = 0; - virtual void HandleMapEnd() = 0; - virtual void HandleArrayBegin() = 0; - virtual void HandleArrayEnd() = 0; - virtual void HandleString8(span<uint8_t> chars) = 0; - virtual void HandleString16(span<uint16_t> chars) = 0; - virtual void HandleBinary(span<uint8_t> bytes) = 0; - virtual void HandleDouble(double value) = 0; - virtual void HandleInt32(int32_t value) = 0; - virtual void HandleBool(bool value) = 0; - virtual void HandleNull() = 0; - - // The parser may send one error even after other events have already - // been received. Client code is reponsible to then discard the - // already processed events. - // |error| must be an eror, as in, |error.is_ok()| can't be true. - virtual void HandleError(Status error) = 0; -}; - -namespace cbor { -// The binary encoding for the inspector protocol follows the CBOR specification -// (RFC 7049). Additional constraints: -// - Only indefinite length maps and arrays are supported. -// - Maps and arrays are wrapped with an envelope, that is, a -// CBOR tag with value 24 followed by a byte string specifying -// the byte length of the enclosed map / array. The byte string -// must use a 32 bit wide length. -// - At the top level, a message must be an indefinite length map -// wrapped by an envelope. -// - Maximal size for messages is 2^32 (4 GiB). -// - For scalars, we support only the int32_t range, encoded as -// UNSIGNED/NEGATIVE (major types 0 / 1). -// - UTF16 strings, including with unbalanced surrogate pairs, are encoded -// as CBOR BYTE_STRING (major type 2). For such strings, the number of -// bytes encoded must be even. -// - UTF8 strings (major type 3) are supported. -// - 7 bit US-ASCII strings must always be encoded as UTF8 strings, never -// as UTF16 strings. -// - Arbitrary byte arrays, in the inspector protocol called 'binary', -// are encoded as BYTE_STRING (major type 2), prefixed with a byte -// indicating base64 when rendered as JSON. - -// ============================================================================= -// Detecting CBOR content -// ============================================================================= - -// The first byte for an envelope, which we use for wrapping dictionaries -// and arrays; and the byte that indicates a byte string with 32 bit length. -// These two bytes start an envelope, and thereby also any CBOR message -// produced or consumed by this protocol. See also |EnvelopeEncoder| below. -uint8_t InitialByteForEnvelope(); -uint8_t InitialByteFor32BitLengthByteString(); - -// Checks whether |msg| is a cbor message. -bool IsCBORMessage(span<uint8_t> msg); - -// ============================================================================= -// Encoding individual CBOR items -// ============================================================================= - -// Some constants for CBOR tokens that only take a single byte on the wire. -uint8_t EncodeTrue(); -uint8_t EncodeFalse(); -uint8_t EncodeNull(); -uint8_t EncodeIndefiniteLengthArrayStart(); -uint8_t EncodeIndefiniteLengthMapStart(); -uint8_t EncodeStop(); - -// Encodes |value| as |UNSIGNED| (major type 0) iff >= 0, or |NEGATIVE| -// (major type 1) iff < 0. -void EncodeInt32(int32_t value, std::vector<uint8_t>* out); -void EncodeInt32(int32_t value, std::string* out); - -// Encodes a UTF16 string as a BYTE_STRING (major type 2). Each utf16 -// character in |in| is emitted with most significant byte first, -// appending to |out|. -void EncodeString16(span<uint16_t> in, std::vector<uint8_t>* out); -void EncodeString16(span<uint16_t> in, std::string* out); - -// Encodes a UTF8 string |in| as STRING (major type 3). -void EncodeString8(span<uint8_t> in, std::vector<uint8_t>* out); -void EncodeString8(span<uint8_t> in, std::string* out); - -// Encodes the given |latin1| string as STRING8. -// If any non-ASCII character is present, it will be represented -// as a 2 byte UTF8 sequence. -void EncodeFromLatin1(span<uint8_t> latin1, std::vector<uint8_t>* out); -void EncodeFromLatin1(span<uint8_t> latin1, std::string* out); - -// Encodes the given |utf16| string as STRING8 if it's entirely US-ASCII. -// Otherwise, encodes as STRING16. -void EncodeFromUTF16(span<uint16_t> utf16, std::vector<uint8_t>* out); -void EncodeFromUTF16(span<uint16_t> utf16, std::string* out); - -// Encodes arbitrary binary data in |in| as a BYTE_STRING (major type 2) with -// definitive length, prefixed with tag 22 indicating expected conversion to -// base64 (see RFC 7049, Table 3 and Section 2.4.4.2). -void EncodeBinary(span<uint8_t> in, std::vector<uint8_t>* out); -void EncodeBinary(span<uint8_t> in, std::string* out); - -// Encodes / decodes a double as Major type 7 (SIMPLE_VALUE), -// with additional info = 27, followed by 8 bytes in big endian. -void EncodeDouble(double value, std::vector<uint8_t>* out); -void EncodeDouble(double value, std::string* out); - -// ============================================================================= -// cbor::EnvelopeEncoder - for wrapping submessages -// ============================================================================= - -// An envelope indicates the byte length of a wrapped item. -// We use this for maps and array, which allows the decoder -// to skip such (nested) values whole sale. -// It's implemented as a CBOR tag (major type 6) with additional -// info = 24, followed by a byte string with a 32 bit length value; -// so the maximal structure that we can wrap is 2^32 bits long. -// See also: https://tools.ietf.org/html/rfc7049#section-2.4.4.1 -class EnvelopeEncoder { - public: - // Emits the envelope start bytes and records the position for the - // byte size in |byte_size_pos_|. Also emits empty bytes for the - // byte sisze so that encoding can continue. - void EncodeStart(std::vector<uint8_t>* out); - void EncodeStart(std::string* out); - // This records the current size in |out| at position byte_size_pos_. - // Returns true iff successful. - bool EncodeStop(std::vector<uint8_t>* out); - bool EncodeStop(std::string* out); - - private: - size_t byte_size_pos_ = 0; -}; - -// ============================================================================= -// cbor::NewCBOREncoder - for encoding from a streaming parser -// ============================================================================= - -// This can be used to convert to CBOR, by passing the return value to a parser -// that drives it. The handler will encode into |out|, and iff an error occurs -// it will set |status| to an error and clear |out|. Otherwise, |status.ok()| -// will be |true|. -std::unique_ptr<StreamingParserHandler> NewCBOREncoder( - std::vector<uint8_t>* out, - Status* status); -std::unique_ptr<StreamingParserHandler> NewCBOREncoder(std::string* out, - Status* status); - -// ============================================================================= -// cbor::CBORTokenizer - for parsing individual CBOR items -// ============================================================================= - -// Tags for the tokens within a CBOR message that CBORTokenizer understands. -// Note that this is not the same terminology as the CBOR spec (RFC 7049), -// but rather, our adaptation. For instance, we lump unsigned and signed -// major type into INT32 here (and disallow values outside the int32_t range). -enum class CBORTokenTag { - // Encountered an error in the structure of the message. Consult - // status() for details. - ERROR_VALUE, - // Booleans and NULL. - TRUE_VALUE, - FALSE_VALUE, - NULL_VALUE, - // An int32_t (signed 32 bit integer). - INT32, - // A double (64 bit floating point). - DOUBLE, - // A UTF8 string. - STRING8, - // A UTF16 string. - STRING16, - // A binary string. - BINARY, - // Starts an indefinite length map; after the map start we expect - // alternating keys and values, followed by STOP. - MAP_START, - // Starts an indefinite length array; after the array start we - // expect values, followed by STOP. - ARRAY_START, - // Ends a map or an array. - STOP, - // An envelope indicator, wrapping a map or array. - // Internally this carries the byte length of the wrapped - // map or array. While CBORTokenizer::Next() will read / skip the entire - // envelope, CBORTokenizer::EnterEnvelope() reads the tokens - // inside of it. - ENVELOPE, - // We've reached the end there is nothing else to read. - DONE, -}; - -// The major types from RFC 7049 Section 2.1. -enum class MajorType { - UNSIGNED = 0, - NEGATIVE = 1, - BYTE_STRING = 2, - STRING = 3, - ARRAY = 4, - MAP = 5, - TAG = 6, - SIMPLE_VALUE = 7 -}; - -// CBORTokenizer segments a CBOR message, presenting the tokens therein as -// numbers, strings, etc. This is not a complete CBOR parser, but makes it much -// easier to implement one (e.g. ParseCBOR, above). It can also be used to parse -// messages partially. -class CBORTokenizer { - public: - explicit CBORTokenizer(span<uint8_t> bytes); - ~CBORTokenizer(); - - // Identifies the current token that we're looking at, - // or ERROR_VALUE (in which ase ::Status() has details) - // or DONE (if we're past the last token). - CBORTokenTag TokenTag() const; - - // Advances to the next token. - void Next(); - // Can only be called if TokenTag() == CBORTokenTag::ENVELOPE. - // While Next() would skip past the entire envelope / what it's - // wrapping, EnterEnvelope positions the cursor inside of the envelope, - // letting the client explore the nested structure. - void EnterEnvelope(); - - // If TokenTag() is CBORTokenTag::ERROR_VALUE, then Status().error describes - // the error more precisely; otherwise it'll be set to Error::OK. - // In either case, Status().pos is the current position. - struct Status Status() const; - - // The following methods retrieve the token values. They can only - // be called if TokenTag() matches. - - // To be called only if ::TokenTag() == CBORTokenTag::INT32. - int32_t GetInt32() const; - - // To be called only if ::TokenTag() == CBORTokenTag::DOUBLE. - double GetDouble() const; - - // To be called only if ::TokenTag() == CBORTokenTag::STRING8. - span<uint8_t> GetString8() const; - - // Wire representation for STRING16 is low byte first (little endian). - // To be called only if ::TokenTag() == CBORTokenTag::STRING16. - span<uint8_t> GetString16WireRep() const; - - // To be called only if ::TokenTag() == CBORTokenTag::BINARY. - span<uint8_t> GetBinary() const; - - // To be called only if ::TokenTag() == CBORTokenTag::ENVELOPE. - span<uint8_t> GetEnvelopeContents() const; - - private: - void ReadNextToken(bool enter_envelope); - void SetToken(CBORTokenTag token, size_t token_byte_length); - void SetError(Error error); - - span<uint8_t> bytes_; - CBORTokenTag token_tag_; - struct Status status_; - size_t token_byte_length_; - MajorType token_start_type_; - uint64_t token_start_internal_value_; -}; - -// ============================================================================= -// cbor::ParseCBOR - for receiving streaming parser events for CBOR messages -// ============================================================================= - -// Parses a CBOR encoded message from |bytes|, sending events to -// |out|. If an error occurs, sends |out->HandleError|, and parsing stops. -// The client is responsible for discarding the already received information in -// that case. -void ParseCBOR(span<uint8_t> bytes, StreamingParserHandler* out); - -// ============================================================================= -// cbor::AppendString8EntryToMap - for limited in-place editing of messages -// ============================================================================= - -// Modifies the |cbor| message by appending a new key/value entry at the end -// of the map. Patches up the envelope size; Status.ok() iff successful. -// If not successful, |cbor| may be corrupted after this call. -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::vector<uint8_t>* cbor); -Status AppendString8EntryToCBORMap(span<uint8_t> string8_key, - span<uint8_t> string8_value, - std::string* cbor); - -namespace internals { // Exposed only for writing tests. -size_t ReadTokenStart(span<uint8_t> bytes, - cbor::MajorType* type, - uint64_t* value); - -void WriteTokenStart(cbor::MajorType type, - uint64_t value, - std::vector<uint8_t>* encoded); -void WriteTokenStart(cbor::MajorType type, - uint64_t value, - std::string* encoded); -} // namespace internals -} // namespace cbor - -namespace json { -// Client code must provide an instance. Implementation should delegate -// to whatever is appropriate. -class Platform { - public: - virtual ~Platform() = default; - // Parses |str| into |result|. Returns false iff there are - // leftover characters or parsing errors. - virtual bool StrToD(const char* str, double* result) const = 0; - - // Prints |value| in a format suitable for JSON. - virtual std::unique_ptr<char[]> DToStr(double value) const = 0; -}; - -// ============================================================================= -// json::NewJSONEncoder - for encoding streaming parser events as JSON -// ============================================================================= - -// Returns a handler object which will write ascii characters to |out|. -// |status->ok()| will be false iff the handler routine HandleError() is called. -// In that case, we'll stop emitting output. -// Except for calling the HandleError routine at any time, the client -// code must call the Handle* methods in an order in which they'd occur -// in valid JSON; otherwise we may crash (the code uses assert). -std::unique_ptr<StreamingParserHandler> NewJSONEncoder( - const Platform* platform, - std::vector<uint8_t>* out, - Status* status); -std::unique_ptr<StreamingParserHandler> NewJSONEncoder(const Platform* platform, - std::string* out, - Status* status); - -// ============================================================================= -// json::ParseJSON - for receiving streaming parser events for JSON -// ============================================================================= - -void ParseJSON(const Platform& platform, - span<uint8_t> chars, - StreamingParserHandler* handler); -void ParseJSON(const Platform& platform, - span<uint16_t> chars, - StreamingParserHandler* handler); - -// ============================================================================= -// json::ConvertCBORToJSON, json::ConvertJSONToCBOR - for transcoding -// ============================================================================= -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::string* json); -Status ConvertCBORToJSON(const Platform& platform, - span<uint8_t> cbor, - std::vector<uint8_t>* json); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::vector<uint8_t>* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::vector<uint8_t>* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint8_t> json, - std::string* cbor); -Status ConvertJSONToCBOR(const Platform& platform, - span<uint16_t> json, - std::string* cbor); -} // namespace json - -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} -#endif // !defined({{"_".join(config.protocol.namespace)}}_encoding_h) -{% endif %} diff --git a/tools/inspector_protocol/pdl.py b/tools/inspector_protocol/pdl.py deleted file mode 100644 index 03d11b39d636df..00000000000000 --- a/tools/inspector_protocol/pdl.py +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 2018 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -from __future__ import print_function -import collections -import json -import os.path -import re -import sys - -description = '' - - -primitiveTypes = ['integer', 'number', 'boolean', 'string', 'object', 'any', 'array', 'binary'] - - -def assignType(item, type, is_array=False, map_binary_to_string=False): - if is_array: - item['type'] = 'array' - item['items'] = collections.OrderedDict() - assignType(item['items'], type, False, map_binary_to_string) - return - - if type == 'enum': - type = 'string' - if map_binary_to_string and type == 'binary': - type = 'string' - if type in primitiveTypes: - item['type'] = type - else: - item['$ref'] = type - - -def createItem(d, experimental, deprecated, name=None): - result = collections.OrderedDict(d) - if name: - result['name'] = name - global description - if description: - result['description'] = description.strip() - if experimental: - result['experimental'] = True - if deprecated: - result['deprecated'] = True - return result - - -def parse(data, file_name, map_binary_to_string=False): - protocol = collections.OrderedDict() - protocol['version'] = collections.OrderedDict() - protocol['domains'] = [] - domain = None - item = None - subitems = None - nukeDescription = False - global description - lines = data.split('\n') - for i in range(0, len(lines)): - if nukeDescription: - description = '' - nukeDescription = False - line = lines[i] - trimLine = line.strip() - - if trimLine.startswith('#'): - if len(description): - description += '\n' - description += trimLine[2:] - continue - else: - nukeDescription = True - - if len(trimLine) == 0: - continue - - match = re.compile(r'^(experimental )?(deprecated )?domain (.*)').match(line) - if match: - domain = createItem({'domain' : match.group(3)}, match.group(1), match.group(2)) - protocol['domains'].append(domain) - continue - - match = re.compile(r'^ depends on ([^\s]+)').match(line) - if match: - if 'dependencies' not in domain: - domain['dependencies'] = [] - domain['dependencies'].append(match.group(1)) - continue - - match = re.compile(r'^ (experimental )?(deprecated )?type (.*) extends (array of )?([^\s]+)').match(line) - if match: - if 'types' not in domain: - domain['types'] = [] - item = createItem({'id': match.group(3)}, match.group(1), match.group(2)) - assignType(item, match.group(5), match.group(4), map_binary_to_string) - domain['types'].append(item) - continue - - match = re.compile(r'^ (experimental )?(deprecated )?(command|event) (.*)').match(line) - if match: - list = [] - if match.group(3) == 'command': - if 'commands' in domain: - list = domain['commands'] - else: - list = domain['commands'] = [] - else: - if 'events' in domain: - list = domain['events'] - else: - list = domain['events'] = [] - - item = createItem({}, match.group(1), match.group(2), match.group(4)) - list.append(item) - continue - - match = re.compile(r'^ (experimental )?(deprecated )?(optional )?(array of )?([^\s]+) ([^\s]+)').match(line) - if match: - param = createItem({}, match.group(1), match.group(2), match.group(6)) - if match.group(3): - param['optional'] = True - assignType(param, match.group(5), match.group(4), map_binary_to_string) - if match.group(5) == 'enum': - enumliterals = param['enum'] = [] - subitems.append(param) - continue - - match = re.compile(r'^ (parameters|returns|properties)').match(line) - if match: - subitems = item[match.group(1)] = [] - continue - - match = re.compile(r'^ enum').match(line) - if match: - enumliterals = item['enum'] = [] - continue - - match = re.compile(r'^version').match(line) - if match: - continue - - match = re.compile(r'^ major (\d+)').match(line) - if match: - protocol['version']['major'] = match.group(1) - continue - - match = re.compile(r'^ minor (\d+)').match(line) - if match: - protocol['version']['minor'] = match.group(1) - continue - - match = re.compile(r'^ redirect ([^\s]+)').match(line) - if match: - item['redirect'] = match.group(1) - continue - - match = re.compile(r'^ ( )?[^\s]+$').match(line) - if match: - # enum literal - enumliterals.append(trimLine) - continue - - print('Error in %s:%s, illegal token: \t%s' % (file_name, i, line)) - sys.exit(1) - return protocol - - -def loads(data, file_name, map_binary_to_string=False): - if file_name.endswith(".pdl"): - return parse(data, file_name, map_binary_to_string) - return json.loads(data) diff --git a/tools/inspector_protocol/roll.py b/tools/inspector_protocol/roll.py index abe636e270b7cf..474d163c30a123 100644 --- a/tools/inspector_protocol/roll.py +++ b/tools/inspector_protocol/roll.py @@ -13,28 +13,29 @@ FILES_TO_SYNC = [ - 'README.md', + 'crdtp/*', + 'lib/*', + 'templates/*', + + 'BUILD.gn', 'check_protocol_compatibility.py', 'code_generator.py', 'concatenate_protocols.py', 'convert_protocol_to_json.py', - 'encoding/encoding.h', - 'encoding/encoding.cc', - 'encoding/encoding_test.cc', 'inspector_protocol.gni', - 'inspector_protocol.gypi', - 'lib/*', + 'README.md', + 'LICENSE', 'pdl.py', - 'templates/*', ] +REVISION_LINE_PREFIX = 'Revision: ' def RunCmd(cmd): p = subprocess.Popen(cmd, stdout=subprocess.PIPE) (stdoutdata, stderrdata) = p.communicate() if p.returncode != 0: raise Exception('%s: exit status %d', str(cmd), p.returncode) - return stdoutdata + return stdoutdata.decode('utf-8') def CheckRepoIsClean(path, suffix): @@ -48,25 +49,18 @@ def CheckRepoIsClean(path, suffix): raise Exception('%s does not end with /%s' % (path, suffix)) -def CheckRepoIsNotAtMasterBranch(path): +def CheckRepoIsNotAtMainBranch(path): os.chdir(path) stdout = RunCmd(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).strip() - if stdout == 'master': - raise Exception('%s is at master branch - refusing to copy there.' % path) - - -def CheckRepoIsV8Checkout(path): - os.chdir(path) - if (RunCmd(['git', 'config', '--get', 'remote.origin.url']).strip() != - 'https://chromium.googlesource.com/v8/v8.git'): - raise Exception('%s is not a proper V8 checkout.' % path) + if stdout == 'main': + raise Exception('%s is at main branch - refusing to copy there.' % path) def CheckRepoIsInspectorProtocolCheckout(path): os.chdir(path) - if (RunCmd(['git', 'config', '--get', 'remote.origin.url']).strip() != - 'https://chromium.googlesource.com/deps/inspector_protocol.git'): - raise Exception('%s is not a proper inspector_protocol checkout.' % path) + revision = RunCmd(['git', 'config', '--get', 'remote.origin.url']).strip() + if (revision != 'https://chromium.googlesource.com/deps/inspector_protocol.git'): + raise Exception('%s is not a proper inspector_protocol checkout: %s' % (path, revision)) def FindFilesToSyncIn(path): @@ -83,6 +77,19 @@ def FilesAreEqual(path1, path2): open(path1).read() == open(path2).read()) +def ReadV8IPRevision(node_src_path): + lines = open(os.path.join(node_src_path, 'deps/v8/third_party/inspector_protocol/README.v8')).readlines() + for line in lines: + line = line.strip() + if line.startswith(REVISION_LINE_PREFIX): + return line[len(REVISION_LINE_PREFIX):] + raise Exception('No V8 inspector protocol revision found') + +def CheckoutRevision(path, revision): + os.chdir(path) + return RunCmd(['git', 'checkout', revision]) + + def GetHeadRevision(path): os.chdir(path) return RunCmd(['git', 'rev-parse', 'HEAD']) @@ -90,14 +97,14 @@ def GetHeadRevision(path): def main(argv): parser = argparse.ArgumentParser(description=( - "Rolls the inspector_protocol project (upstream) into V8's " - "third_party (downstream).")) + "Rolls the inspector_protocol project (upstream) into node's " + "deps/inspector_protocol (downstream).")) parser.add_argument("--ip_src_upstream", help="The inspector_protocol (upstream) tree.", default="~/ip/src") - parser.add_argument("--v8_src_downstream", - help="The V8 src tree.", - default="~/v8/v8") + parser.add_argument("--node_src_downstream", + help="The nodejs/node src tree.", + default="~/nodejs/node") parser.add_argument('--force', dest='force', action='store_true', help=("Whether to carry out the modifications " "in the destination tree.")) @@ -106,17 +113,22 @@ def main(argv): args = parser.parse_args(argv) upstream = os.path.normpath(os.path.expanduser(args.ip_src_upstream)) downstream = os.path.normpath(os.path.expanduser( - args.v8_src_downstream)) + args.node_src_downstream)) CheckRepoIsClean(upstream, '/src') - CheckRepoIsClean(downstream, '/v8') + CheckRepoIsClean(downstream, '/node') CheckRepoIsInspectorProtocolCheckout(upstream) - CheckRepoIsV8Checkout(downstream) - # Check that the destination Git repo isn't at the master branch - it's - # generally a bad idea to check into the master branch, so we catch this + # Check that the destination Git repo isn't at the main branch - it's + # generally a bad idea to check into the main branch, so we catch this # common pilot error here early. - CheckRepoIsNotAtMasterBranch(downstream) + CheckRepoIsNotAtMainBranch(downstream) + + # Read V8's inspector_protocol revision + v8_ip_revision = ReadV8IPRevision(downstream) + print('Checking out %s into %s ...' % (upstream, v8_ip_revision)) + CheckoutRevision(upstream, v8_ip_revision) + src_dir = upstream - dest_dir = os.path.join(downstream, 'third_party/inspector_protocol') + dest_dir = os.path.join(downstream, 'deps/inspector_protocol') print('Rolling %s into %s ...' % (src_dir, dest_dir)) src_files = set(FindFilesToSyncIn(src_dir)) dest_files = set(FindFilesToSyncIn(dest_dir)) @@ -137,22 +149,16 @@ def main(argv): print('You said --force ... as you wish, modifying the destination.') for f in to_add + to_copy: contents = open(os.path.join(src_dir, f)).read() - contents = contents.replace( - 'INSPECTOR_PROTOCOL_ENCODING_ENCODING_H_', - 'V8_INSPECTOR_PROTOCOL_ENCODING_ENCODING_H_') - contents = contents.replace( - 'namespace inspector_protocol_encoding', - 'namespace v8_inspector_protocol_encoding') open(os.path.join(dest_dir, f), 'w').write(contents) shutil.copymode(os.path.join(src_dir, f), os.path.join(dest_dir, f)) for f in to_delete: os.unlink(os.path.join(dest_dir, f)) head_revision = GetHeadRevision(upstream) - lines = open(os.path.join(dest_dir, 'README.v8')).readlines() - f = open(os.path.join(dest_dir, 'README.v8'), 'w') + lines = open(os.path.join(dest_dir, 'README.node')).readlines() + f = open(os.path.join(dest_dir, 'README.node'), 'w') for line in lines: - if line.startswith('Revision: '): - f.write('Revision: %s' % head_revision) + if line.startswith(REVISION_LINE_PREFIX): + f.write(f'{REVISION_LINE_PREFIX}{head_revision}') else: f.write(line) f.close() diff --git a/tools/inspector_protocol/templates/TypeBuilder_cpp.template b/tools/inspector_protocol/templates/TypeBuilder_cpp.template deleted file mode 100644 index 982e2c61b8e916..00000000000000 --- a/tools/inspector_protocol/templates/TypeBuilder_cpp.template +++ /dev/null @@ -1,417 +0,0 @@ -// This file is generated by TypeBuilder_cpp.template. - -// Copyright (c) 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include {{format_domain_include(config.protocol.package, domain.domain)}} - -#include {{format_include(config.protocol.package, "Protocol")}} - -{% for namespace in config.protocol.namespace %} -namespace {{namespace}} { -{% endfor %} -namespace {{domain.domain}} { - -// ------------- Enum values from types. - -const char Metainfo::domainName[] = "{{domain.domain}}"; -const char Metainfo::commandPrefix[] = "{{domain.domain}}."; -const char Metainfo::version[] = "{{domain.version}}"; - {% for type in domain.types %} - {% if not protocol.generate_type(domain.domain, type.id) %}{% continue %} {% endif %} - {% if "enum" in type %} - -namespace {{type.id}}Enum { - {% for literal in type.enum %} -const char {{ literal | dash_to_camelcase}}[] = "{{literal}}"; - {% endfor %} -} // namespace {{type.id}}Enum - {% if protocol.is_exported(domain.domain, type.id) %} - -namespace API { -namespace {{type.id}}Enum { - {% for literal in type.enum %} -const char* {{ literal | dash_to_camelcase}} = "{{literal}}"; - {% endfor %} -} // namespace {{type.id}}Enum -} // namespace API - {% endif %} - {% endif %} - {% for property in type.properties %} - {% if "enum" in property %} - - {% for literal in property.enum %} -const char* {{type.id}}::{{property.name | to_title_case}}Enum::{{literal | dash_to_camelcase}} = "{{literal}}"; - {% endfor %} - {% endif %} - {% endfor %} - {% if not (type.type == "object") or not ("properties" in type) %}{% continue %}{% endif %} - -std::unique_ptr<{{type.id}}> {{type.id}}::fromValue(protocol::Value* value, ErrorSupport* errors) -{ - if (!value || value->type() != protocol::Value::TypeObject) { - errors->addError("object expected"); - return nullptr; - } - - std::unique_ptr<{{type.id}}> result(new {{type.id}}()); - protocol::DictionaryValue* object = DictionaryValue::cast(value); - errors->push(); - {% for property in type.properties %} - protocol::Value* {{property.name}}Value = object->get("{{property.name}}"); - {% if property.optional %} - if ({{property.name}}Value) { - errors->setName("{{property.name}}"); - result->m_{{property.name}} = ValueConversions<{{protocol.resolve_type(property).raw_type}}>::fromValue({{property.name}}Value, errors); - } - {% else %} - errors->setName("{{property.name}}"); - result->m_{{property.name}} = ValueConversions<{{protocol.resolve_type(property).raw_type}}>::fromValue({{property.name}}Value, errors); - {% endif %} - {% endfor %} - errors->pop(); - if (errors->hasErrors()) - return nullptr; - return result; -} - -std::unique_ptr<protocol::DictionaryValue> {{type.id}}::toValue() const -{ - std::unique_ptr<protocol::DictionaryValue> result = DictionaryValue::create(); - {% for property in type.properties %} - {% set property_type = protocol.resolve_type(property) %} - {% set property_field = "m_" + property.name %} - {% if property.optional %} - if ({{property_field}}.isJust()) - result->setValue("{{property.name}}", ValueConversions<{{property_type.raw_type}}>::toValue({{property_field}}.fromJust())); - {% else %} - result->setValue("{{property.name}}", ValueConversions<{{property_type.raw_type}}>::toValue({{property_type.to_raw_type % property_field}})); - {% endif %} - {% endfor %} - return result; -} - -std::unique_ptr<{{type.id}}> {{type.id}}::clone() const -{ - ErrorSupport errors; - return fromValue(toValue().get(), &errors); -} - {% if protocol.is_exported(domain.domain, type.id) %} - -{{config.exported.string_out}} {{type.id}}::toJSONString() const -{ - String json = toValue()->serializeToJSON(); - return {{config.exported.to_string_out % "json"}}; -} - -void {{type.id}}::writeBinary(std::vector<uint8_t>* out) const -{ - toValue()->writeBinary(out); -} - -// static -std::unique_ptr<API::{{type.id}}> API::{{type.id}}::fromJSONString(const {{config.exported.string_in}}& json) -{ - ErrorSupport errors; - std::unique_ptr<Value> value = StringUtil::parseJSON(json); - if (!value) - return nullptr; - return protocol::{{domain.domain}}::{{type.id}}::fromValue(value.get(), &errors); -} - -// static -std::unique_ptr<API::{{type.id}}> API::{{type.id}}::fromBinary(const uint8_t* data, size_t length) -{ - ErrorSupport errors; - std::unique_ptr<Value> value = Value::parseBinary(data, length); - if (!value) - return nullptr; - return protocol::{{domain.domain}}::{{type.id}}::fromValue(value.get(), &errors); -} - - {% endif %} - {% endfor %} - -// ------------- Enum values from params. - - {% for command in join_arrays(domain, ["commands", "events"]) %} - {% for param in join_arrays(command, ["parameters", "returns"]) %} - {% if "enum" in param %} - -namespace {{command.name | to_title_case}} { -namespace {{param.name | to_title_case}}Enum { - {% for literal in param.enum %} -const char* {{ literal | to_title_case}} = "{{literal}}"; - {% endfor %} -} // namespace {{param.name | to_title_case}}Enum -} // namespace {{command.name | to_title_case }} - {% if protocol.is_exported(domain.domain, command.name + "." + param.name) %} - -namespace API { -namespace {{command.name | to_title_case}} { -namespace {{param.name | to_title_case}}Enum { - {% for literal in param.enum %} -const char* {{ literal | to_title_case}} = "{{literal}}"; - {% endfor %} -} // namespace {{param.name | to_title_case}}Enum -} // namespace {{command.name | to_title_case }} -} // namespace API - {% endif %} - {% endif %} - {% endfor %} - {% endfor %} - -// ------------- Frontend notifications. - {% for event in domain.events %} - {% if not protocol.generate_event(domain.domain, event.name) %}{% continue %}{% endif %} - -void Frontend::{{event.name | to_method_case}}( - {%- for parameter in event.parameters %} - {% if "optional" in parameter -%} - Maybe<{{protocol.resolve_type(parameter).raw_type}}> - {%- else -%} - {{protocol.resolve_type(parameter).pass_type}} - {%- endif %} {{parameter.name}}{%- if not loop.last -%}, {% endif -%} - {% endfor -%}) -{ - if (!m_frontendChannel) - return; - {% if event.parameters %} - std::unique_ptr<{{event.name | to_title_case}}Notification> messageData = {{event.name | to_title_case}}Notification::{{"create" | to_method_case}}() - {% for parameter in event.parameters %} - {% if not "optional" in parameter %} - .{{"set" | to_method_case}}{{parameter.name | to_title_case}}({{protocol.resolve_type(parameter).to_pass_type % parameter.name}}) - {% endif %} - {% endfor %} - .{{ "build" | to_method_case }}(); - {% for parameter in event.parameters %} - {% if "optional" in parameter %} - if ({{parameter.name}}.isJust()) - messageData->{{"set" | to_method_case}}{{parameter.name | to_title_case}}(std::move({{parameter.name}}).takeJust()); - {% endif %} - {% endfor %} - m_frontendChannel->sendProtocolNotification(InternalResponse::createNotification("{{domain.domain}}.{{event.name}}", std::move(messageData))); - {% else %} - m_frontendChannel->sendProtocolNotification(InternalResponse::createNotification("{{domain.domain}}.{{event.name}}")); - {% endif %} -} - {% endfor %} - -void Frontend::flush() -{ - m_frontendChannel->flushProtocolNotifications(); -} - -void Frontend::sendRawJSONNotification(String notification) -{ - m_frontendChannel->sendProtocolNotification(InternalRawNotification::fromJSON(std::move(notification))); -} - -void Frontend::sendRawCBORNotification(std::vector<uint8_t> notification) -{ - m_frontendChannel->sendProtocolNotification(InternalRawNotification::fromBinary(std::move(notification))); -} - -// --------------------- Dispatcher. - -class DispatcherImpl : public protocol::DispatcherBase { -public: - DispatcherImpl(FrontendChannel* frontendChannel, Backend* backend) - : DispatcherBase(frontendChannel) - , m_backend(backend) { - {% for command in domain.commands %} - {% if "redirect" in command %} - m_redirects["{{domain.domain}}.{{command.name}}"] = "{{command.redirect}}.{{command.name}}"; - {% continue %} - {% endif %} - {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} - m_dispatchMap["{{domain.domain}}.{{command.name}}"] = &DispatcherImpl::{{command.name}}; - {% endfor %} - } - ~DispatcherImpl() override { } - bool canDispatch(const String& method) override; - void dispatch(int callId, const String& method, const ProtocolMessage& message, std::unique_ptr<protocol::DictionaryValue> messageObject) override; - std::unordered_map<String, String>& redirects() { return m_redirects; } - -protected: - using CallHandler = void (DispatcherImpl::*)(int callId, const String& method, const ProtocolMessage& message, std::unique_ptr<DictionaryValue> messageObject, ErrorSupport* errors); - using DispatchMap = std::unordered_map<String, CallHandler>; - DispatchMap m_dispatchMap; - std::unordered_map<String, String> m_redirects; - - {% for command in domain.commands %} - {% if "redirect" in command %}{% continue %}{% endif %} - {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} - void {{command.name}}(int callId, const String& method, const ProtocolMessage& message, std::unique_ptr<DictionaryValue> requestMessageObject, ErrorSupport*); - {% endfor %} - - Backend* m_backend; -}; - -bool DispatcherImpl::canDispatch(const String& method) { - return m_dispatchMap.find(method) != m_dispatchMap.end(); -} - -void DispatcherImpl::dispatch(int callId, const String& method, const ProtocolMessage& message, std::unique_ptr<protocol::DictionaryValue> messageObject) -{ - std::unordered_map<String, CallHandler>::iterator it = m_dispatchMap.find(method); - DCHECK(it != m_dispatchMap.end()); - protocol::ErrorSupport errors; - (this->*(it->second))(callId, method, message, std::move(messageObject), &errors); -} - - {% for command in domain.commands %} - {% set command_name_title = command.name | to_title_case %} - {% if "redirect" in command %}{% continue %}{% endif %} - {% if not protocol.generate_command(domain.domain, command.name) %}{% continue %}{% endif %} - {% if protocol.is_async_command(domain.domain, command.name) %} - -class {{command_name_title}}CallbackImpl : public Backend::{{command_name_title}}Callback, public DispatcherBase::Callback { -public: - {{command_name_title}}CallbackImpl(std::unique_ptr<DispatcherBase::WeakPtr> backendImpl, int callId, const String& method, const ProtocolMessage& message) - : DispatcherBase::Callback(std::move(backendImpl), callId, method, message) { } - - void sendSuccess( - {%- for parameter in command.returns -%} - {%- if "optional" in parameter -%} - Maybe<{{protocol.resolve_type(parameter).raw_type}}> {{parameter.name}} - {%- else -%} - {{protocol.resolve_type(parameter).pass_type}} {{parameter.name}} - {%- endif -%} - {%- if not loop.last -%}, {% endif -%} - {%- endfor -%}) override - { - std::unique_ptr<protocol::DictionaryValue> resultObject = DictionaryValue::create(); - {% for parameter in command.returns %} - {% if "optional" in parameter %} - if ({{parameter.name}}.isJust()) - resultObject->setValue("{{parameter.name}}", ValueConversions<{{protocol.resolve_type(parameter).raw_type}}>::toValue({{parameter.name}}.fromJust())); - {% else %} - resultObject->setValue("{{parameter.name}}", ValueConversions<{{protocol.resolve_type(parameter).raw_type}}>::toValue({{protocol.resolve_type(parameter).to_raw_type % parameter.name}})); - {% endif %} - {% endfor %} - sendIfActive(std::move(resultObject), DispatchResponse::OK()); - } - - void fallThrough() override - { - fallThroughIfActive(); - } - - void sendFailure(const DispatchResponse& response) override - { - DCHECK(response.status() == DispatchResponse::kError); - sendIfActive(nullptr, response); - } -}; - {% endif %} - -void DispatcherImpl::{{command.name}}(int callId, const String& method, const ProtocolMessage& message, std::unique_ptr<DictionaryValue> requestMessageObject, ErrorSupport* errors) -{ - {% if "parameters" in command %} - // Prepare input parameters. - protocol::DictionaryValue* object = DictionaryValue::cast(requestMessageObject->get("params")); - errors->push(); - {% for parameter in command.parameters %} - {% set parameter_type = protocol.resolve_type(parameter) %} - protocol::Value* {{parameter.name}}Value = object ? object->get("{{parameter.name}}") : nullptr; - {% if parameter.optional %} - Maybe<{{parameter_type.raw_type}}> in_{{parameter.name}}; - if ({{parameter.name}}Value) { - errors->setName("{{parameter.name}}"); - in_{{parameter.name}} = ValueConversions<{{parameter_type.raw_type}}>::fromValue({{parameter.name}}Value, errors); - } - {% else %} - errors->setName("{{parameter.name}}"); - {{parameter_type.type}} in_{{parameter.name}} = ValueConversions<{{parameter_type.raw_type}}>::fromValue({{parameter.name}}Value, errors); - {% endif %} - {% endfor %} - errors->pop(); - if (errors->hasErrors()) { - reportProtocolError(callId, DispatchResponse::kInvalidParams, kInvalidParamsString, errors); - return; - } - {% endif %} - {% if "returns" in command and not protocol.is_async_command(domain.domain, command.name) %} - // Declare output parameters. - {% for parameter in command.returns %} - {% if "optional" in parameter %} - Maybe<{{protocol.resolve_type(parameter).raw_type}}> out_{{parameter.name}}; - {% else %} - {{protocol.resolve_type(parameter).type}} out_{{parameter.name}}; - {% endif %} - {% endfor %} - {% endif %} - - {% if not protocol.is_async_command(domain.domain, command.name) %} - std::unique_ptr<DispatcherBase::WeakPtr> weak = weakPtr(); - DispatchResponse response = m_backend->{{command.name | to_method_case}}( - {%- for parameter in command.parameters -%} - {%- if not loop.first -%}, {% endif -%} - {%- if "optional" in parameter -%} - std::move(in_{{parameter.name}}) - {%- else -%} - {{protocol.resolve_type(parameter).to_pass_type % ("in_" + parameter.name)}} - {%- endif -%} - {%- endfor %} - {%- if "returns" in command %} - {%- for parameter in command.returns -%} - {%- if not loop.first or command.parameters -%}, {% endif -%} - &out_{{parameter.name}} - {%- endfor %} - {% endif %}); - if (response.status() == DispatchResponse::kFallThrough) { - channel()->fallThrough(callId, method, message); - return; - } - {% if "returns" in command %} - std::unique_ptr<protocol::DictionaryValue> result = DictionaryValue::create(); - if (response.status() == DispatchResponse::kSuccess) { - {% for parameter in command.returns %} - {% if "optional" in parameter %} - if (out_{{parameter.name}}.isJust()) - result->setValue("{{parameter.name}}", ValueConversions<{{protocol.resolve_type(parameter).raw_type}}>::toValue(out_{{parameter.name}}.fromJust())); - {% else %} - result->setValue("{{parameter.name}}", ValueConversions<{{protocol.resolve_type(parameter).raw_type}}>::toValue({{protocol.resolve_type(parameter).to_raw_type % ("out_" + parameter.name)}})); - {% endif %} - {% endfor %} - } - if (weak->get()) - weak->get()->sendResponse(callId, response, std::move(result)); - {% else %} - if (weak->get()) - weak->get()->sendResponse(callId, response); - {% endif %} - return; - {% else %} - std::unique_ptr<DispatcherBase::WeakPtr> weak = weakPtr(); - std::unique_ptr<{{command_name_title}}CallbackImpl> callback(new {{command.name | to_title_case}}CallbackImpl(weakPtr(), callId, method, message)); - m_backend->{{command.name | to_method_case}}( - {%- for property in command.parameters -%} - {%- if not loop.first -%}, {% endif -%} - {%- if "optional" in property -%} - std::move(in_{{property.name}}) - {%- else -%} - {{protocol.resolve_type(property).to_pass_type % ("in_" + property.name)}} - {%- endif -%} - {%- endfor -%} - {%- if command.parameters -%}, {% endif -%} - std::move(callback)); - return; - {% endif %} -} - {% endfor %} - -// static -void Dispatcher::wire(UberDispatcher* uber, Backend* backend) -{ - std::unique_ptr<DispatcherImpl> dispatcher(new DispatcherImpl(uber->channel(), backend)); - uber->setupRedirects(dispatcher->redirects()); - uber->registerBackend("{{domain.domain}}", std::move(dispatcher)); -} - -} // {{domain.domain}} -{% for namespace in config.protocol.namespace %} -} // namespace {{namespace}} -{% endfor %} diff --git a/tools/snapshot/README.md b/tools/snapshot/README.md index 3ae6547a0a2a2d..d61c2306e3516f 100644 --- a/tools/snapshot/README.md +++ b/tools/snapshot/README.md @@ -8,9 +8,46 @@ instead of executing code to bootstrap, it can deserialize the context from an embedded snapshot, which readily contains the result of the bootstrap, so that Node.js can start up faster. -Currently only the main context of the main Node.js instance supports snapshot -deserialization, and the snapshot does not yet cover the entire bootstrap -process. Work is being done to expand the support. +The built-in snapshot consists of the following snapshots: + +## Isolate snapshot + +Which is used whenever a `v8::Isolate` is created using the data returned by +`node::SnapshotBuilder::GetEmbeddedSnapshotData`. + +## Context snapshots + +Which are used when a `v8::Context` is created from a `v8::Isolate` deserialized +from the snapshot. There are four context snapshots in the snapshot blob. + +1. The default context snapshot, used for contexts created by + `v8::Context::New()`, it only contains V8 built-ins, matching the + layout of the isolate snapshot. +1. The vm context snapshot, which can be deserialized using + `v8::Context::FromSnapshot(isolate, node::SnapshotData::kNodeVMContextIndex, ...)`. + It captures initializations specific to vm contexts done by + `node::contextify::ContextifyContext::CreateV8Context()`. +1. The base context snapshot, which can be deserialized using + `v8::Context::FromSnapshot(isolate, node::SnapshotData::kNodeBaseContextIndex, ...)`. + It currently captures initializations done by `node::NewContext()` + but is intended to include more as a basis for worker thread + contexts. +1. The main context snapshot, which can be deserialized using + `v8::Context::FromSnapshot(isolate, node::SnapshotData::kNodeMainContextIndex, ...)`. + This is the snapshot for the main context on the main thread, and + captures initializations done by `node::CommonEnvironmentSetup::CreateForSnapshotting()`, + most notably `node::CreateEnvironment()`, which runs the following scripts via + `node::Realm::RunBootstrapping()` for the main context as a principal realm, + so that at runtime, these scripts do not need to be run. Instead only the context + initialized by them is deserialized at runtime. + 1. `internal/bootstrap/realm` + 2. `internal/bootstrap/node` + 3. `internal/bootstrap/web/exposed-wildcard` + 4. `internal/bootstrap/web/exposed-window-or-worker` + 5. `internal/bootstrap/switches/is_main_thread` + 6. `internal/bootstrap/switches/does_own_process_state` + +For more information about these contexts, see the comment in `src/node_context_data.h`. ## How it's built and used @@ -39,3 +76,22 @@ For debugging, Node.js can be built without Node.js's own snapshot if `--without-node-snapshot` is passed to `configure`. A Node.js executable with Node.js snapshot embedded can also be launched without deserializing from it if the command line argument `--no-node-snapshot` is passed. + +### When `node_mksnapshot` crashes.. + +Due to this two-phase building process, sometimes when there is an issue +in the code, the build may crash early at executing `node_mksnapshot` instead of crashing +at executing the final executable `node`. If the crash can be reproduced when running +the `node` executable built with `--without-node-snapshot`, it means the crash likely +has nothing to do with snapshots, and only shows up in `node_mksnapshot` because it's +the first Node.js executable being run. + +If the crash comes from a `mksnapshot` executable (notice that it doesn't have the `node_` +prefix), that comes from V8's own snapshot building process, not the one in Node.js, and the +fix likely needs to be in V8 or the build configurations of V8. + +If it `node_mksnapshot` crashes with an error message containing +something like `Unknown external reference 0x107769200`, see +[Registering binding functions used in bootstrap][] on how to fix it. + +[Registering binding functions used in bootstrap]: ../../src/README.md#registering-binding-functions-used-in-bootstrap diff --git a/tools/test.py b/tools/test.py index a6037608d52459..fb9ba3c73e9960 100755 --- a/tools/test.py +++ b/tools/test.py @@ -317,7 +317,7 @@ def HasRun(self, output): class ActionsAnnotationProgressIndicator(DotsProgressIndicator): def AboutToRun(self, case): case.additional_flags = case.additional_flags.copy() if hasattr(case, 'additional_flags') else [] - case.additional_flags.append('--test-reporter=./tools/github_reporter/index.js') + case.additional_flags.append('--test-reporter=./test/common/test-error-reporter.js') case.additional_flags.append('--test-reporter-destination=stdout') def GetAnnotationInfo(self, test, output): diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp index 88c1297b9a09ec..9ccab9214a650c 100644 --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp @@ -1230,6 +1230,11 @@ '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc', ], }], + ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux")', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc', + ], + }], ], }], ],